From 53b496546df5a358a81188b8a51d000b532e7b7b Mon Sep 17 00:00:00 2001
From: Alexandre Iooss <erdnaxe@crans.org>
Date: Sun, 9 Aug 2020 18:51:20 +0200
Subject: [PATCH] Add django-bootstrap-datepicker-plus and django-colorfield,
 move statics

---
 .gitignore                                    |     1 +
 note_kfet/settings/base.py                    |     2 +
 .../favicon/android-chrome-192x192.png        |   Bin
 .../favicon/android-chrome-512x512.png        |   Bin
 .../static}/favicon/apple-touch-icon.png      |   Bin
 .../static}/favicon/browserconfig.xml         |     0
 .../static}/favicon/favicon-16x16.png         |   Bin
 .../static}/favicon/favicon-32x32.png         |   Bin
 .../static}/favicon/favicon.ico               |   Bin
 .../static}/favicon/mstile-150x150.png        |   Bin
 .../static}/favicon/safari-pinned-tab.svg     |     0
 .../static}/favicon/site.webmanifest          |     0
 {static => note_kfet/static}/img/Finalist.png |   Bin
 .../static}/img/Kataclist.png                 |   Bin
 .../static}/img/Listorique.png                |   Bin
 .../static}/img/Monopolist.png                |   Bin
 .../static}/img/Saperlistpopette.png          |   Bin
 .../static}/img/Satellist.png                 |   Bin
 {static => note_kfet/static}/js/alias.js      |     0
 .../static}/js/autocomplete_model.js          |     0
 {static => note_kfet/static}/js/base.js       |     0
 {static => note_kfet/static}/js/consos.js     |     0
 .../static}/js/dynamic-formset.js             |     0
 {static => note_kfet/static}/js/transfer.js   |     0
 requirements/base.txt                         |     2 +
 static/admin/css/autocomplete.css             |   260 -
 static/admin/css/base.css                     |   987 --
 static/admin/css/changelists.css              |   344 -
 static/admin/css/dashboard.css                |    27 -
 static/admin/css/fonts.css                    |    20 -
 static/admin/css/forms.css                    |   532 -
 static/admin/css/login.css                    |    79 -
 static/admin/css/responsive.css               |   992 --
 static/admin/css/responsive_rtl.css           |    84 -
 static/admin/css/rtl.css                      |   269 -
 .../css/vendor/select2/LICENSE-SELECT2.md     |    21 -
 static/admin/css/vendor/select2/select2.css   |   484 -
 .../admin/css/vendor/select2/select2.min.css  |     1 -
 static/admin/css/widgets.css                  |   565 -
 static/admin/fonts/LICENSE.txt                |   202 -
 static/admin/fonts/README.txt                 |     3 -
 static/admin/fonts/Roboto-Bold-webfont.woff   |   Bin 86184 -> 0 bytes
 static/admin/fonts/Roboto-Light-webfont.woff  |   Bin 85692 -> 0 bytes
 .../admin/fonts/Roboto-Regular-webfont.woff   |   Bin 85876 -> 0 bytes
 static/admin/img/LICENSE                      |    20 -
 static/admin/img/README.txt                   |     7 -
 static/admin/img/calendar-icons.svg           |    14 -
 static/admin/img/gis/move_vertex_off.svg      |     1 -
 static/admin/img/gis/move_vertex_on.svg       |     1 -
 static/admin/img/icon-addlink.svg             |     3 -
 static/admin/img/icon-alert.svg               |     3 -
 static/admin/img/icon-calendar.svg            |     9 -
 static/admin/img/icon-changelink.svg          |     3 -
 static/admin/img/icon-clock.svg               |     9 -
 static/admin/img/icon-deletelink.svg          |     3 -
 static/admin/img/icon-no.svg                  |     3 -
 static/admin/img/icon-unknown-alt.svg         |     3 -
 static/admin/img/icon-unknown.svg             |     3 -
 static/admin/img/icon-viewlink.svg            |     3 -
 static/admin/img/icon-yes.svg                 |     3 -
 static/admin/img/inline-delete.svg            |     3 -
 static/admin/img/search.svg                   |     3 -
 static/admin/img/selector-icons.svg           |    34 -
 static/admin/img/sorting-icons.svg            |    19 -
 static/admin/img/tooltag-add.svg              |     3 -
 static/admin/img/tooltag-arrowright.svg       |     3 -
 static/admin/js/SelectBox.js                  |   144 -
 static/admin/js/SelectFilter2.js              |   246 -
 static/admin/js/actions.js                    |   153 -
 static/admin/js/actions.min.js                |     7 -
 static/admin/js/admin/DateTimeShortcuts.js    |   423 -
 static/admin/js/admin/RelatedObjectLookups.js |   181 -
 static/admin/js/autocomplete.js               |    37 -
 static/admin/js/calendar.js                   |   208 -
 static/admin/js/cancel.js                     |    13 -
 static/admin/js/change_form.js                |    20 -
 static/admin/js/collapse.js                   |    55 -
 static/admin/js/collapse.min.js               |     3 -
 static/admin/js/core.js                       |   212 -
 static/admin/js/inlines.js                    |   298 -
 static/admin/js/inlines.min.js                |    13 -
 static/admin/js/jquery.init.js                |     8 -
 static/admin/js/popup_response.js             |    16 -
 static/admin/js/prepopulate.js                |    42 -
 static/admin/js/prepopulate.min.js            |     1 -
 static/admin/js/prepopulate_init.js           |    10 -
 static/admin/js/timeparse.js                  |   106 -
 static/admin/js/urlify.js                     |   195 -
 static/admin/js/vendor/jquery/LICENSE.txt     |    20 -
 static/admin/js/vendor/jquery/jquery.js       | 10872 ----------------
 static/admin/js/vendor/jquery/jquery.min.js   |     2 -
 static/admin/js/vendor/select2/LICENSE.md     |    21 -
 static/admin/js/vendor/select2/i18n/ar.js     |     3 -
 static/admin/js/vendor/select2/i18n/az.js     |     3 -
 static/admin/js/vendor/select2/i18n/bg.js     |     3 -
 static/admin/js/vendor/select2/i18n/ca.js     |     3 -
 static/admin/js/vendor/select2/i18n/cs.js     |     3 -
 static/admin/js/vendor/select2/i18n/da.js     |     3 -
 static/admin/js/vendor/select2/i18n/de.js     |     3 -
 static/admin/js/vendor/select2/i18n/el.js     |     3 -
 static/admin/js/vendor/select2/i18n/en.js     |     3 -
 static/admin/js/vendor/select2/i18n/es.js     |     3 -
 static/admin/js/vendor/select2/i18n/et.js     |     3 -
 static/admin/js/vendor/select2/i18n/eu.js     |     3 -
 static/admin/js/vendor/select2/i18n/fa.js     |     3 -
 static/admin/js/vendor/select2/i18n/fi.js     |     3 -
 static/admin/js/vendor/select2/i18n/fr.js     |     3 -
 static/admin/js/vendor/select2/i18n/gl.js     |     3 -
 static/admin/js/vendor/select2/i18n/he.js     |     3 -
 static/admin/js/vendor/select2/i18n/hi.js     |     3 -
 static/admin/js/vendor/select2/i18n/hr.js     |     3 -
 static/admin/js/vendor/select2/i18n/hu.js     |     3 -
 static/admin/js/vendor/select2/i18n/id.js     |     3 -
 static/admin/js/vendor/select2/i18n/is.js     |     3 -
 static/admin/js/vendor/select2/i18n/it.js     |     3 -
 static/admin/js/vendor/select2/i18n/ja.js     |     3 -
 static/admin/js/vendor/select2/i18n/km.js     |     3 -
 static/admin/js/vendor/select2/i18n/ko.js     |     3 -
 static/admin/js/vendor/select2/i18n/lt.js     |     3 -
 static/admin/js/vendor/select2/i18n/lv.js     |     3 -
 static/admin/js/vendor/select2/i18n/mk.js     |     3 -
 static/admin/js/vendor/select2/i18n/ms.js     |     3 -
 static/admin/js/vendor/select2/i18n/nb.js     |     3 -
 static/admin/js/vendor/select2/i18n/nl.js     |     3 -
 static/admin/js/vendor/select2/i18n/pl.js     |     3 -
 static/admin/js/vendor/select2/i18n/pt-BR.js  |     3 -
 static/admin/js/vendor/select2/i18n/pt.js     |     3 -
 static/admin/js/vendor/select2/i18n/ro.js     |     3 -
 static/admin/js/vendor/select2/i18n/ru.js     |     3 -
 static/admin/js/vendor/select2/i18n/sk.js     |     3 -
 .../admin/js/vendor/select2/i18n/sr-Cyrl.js   |     3 -
 static/admin/js/vendor/select2/i18n/sr.js     |     3 -
 static/admin/js/vendor/select2/i18n/sv.js     |     3 -
 static/admin/js/vendor/select2/i18n/th.js     |     3 -
 static/admin/js/vendor/select2/i18n/tr.js     |     3 -
 static/admin/js/vendor/select2/i18n/uk.js     |     3 -
 static/admin/js/vendor/select2/i18n/vi.js     |     3 -
 static/admin/js/vendor/select2/i18n/zh-CN.js  |     3 -
 static/admin/js/vendor/select2/i18n/zh-TW.js  |     3 -
 .../admin/js/vendor/select2/select2.full.js   |  6436 ---------
 .../js/vendor/select2/select2.full.min.js     |     3 -
 static/admin/js/vendor/xregexp/LICENSE.txt    |    21 -
 static/admin/js/vendor/xregexp/xregexp.js     |  2308 ----
 static/admin/js/vendor/xregexp/xregexp.min.js |    18 -
 .../autocomplete_light/autocomplete.init.js   |   162 -
 static/autocomplete_light/forward.js          |   191 -
 static/autocomplete_light/jquery.init.js      |    36 -
 .../autocomplete_light/jquery.post-setup.js   |     7 -
 static/autocomplete_light/select2.css         |    14 -
 static/autocomplete_light/select2.js          |   122 -
 .../css/datepicker-widget.css                 |   121 -
 .../js/datepicker-widget.js                   |    55 -
 static/colorfield/colorfield.js               |    12 -
 static/colorfield/jscolor/jscolor.js          |  1855 ---
 static/colorfield/jscolor/jscolor.min.js      |     1 -
 static/debug_toolbar/css/print.css            |     3 -
 static/debug_toolbar/css/toolbar.css          |   646 -
 static/debug_toolbar/img/ajax-loader.gif      |   Bin 404 -> 0 bytes
 static/debug_toolbar/img/back.png             |   Bin 574 -> 0 bytes
 static/debug_toolbar/img/back_hover.png       |   Bin 613 -> 0 bytes
 static/debug_toolbar/img/close.png            |   Bin 498 -> 0 bytes
 static/debug_toolbar/img/close_hover.png      |   Bin 706 -> 0 bytes
 static/debug_toolbar/img/djdt_vertical.png    |   Bin 882 -> 0 bytes
 static/debug_toolbar/img/indicator.png        |   Bin 436 -> 0 bytes
 static/debug_toolbar/js/redirect.js           |     1 -
 static/debug_toolbar/js/toolbar.js            |   324 -
 static/debug_toolbar/js/toolbar.timer.js      |    52 -
 static/django_tables2/bootstrap.css           |     8 -
 .../themes/paleblue/css/screen.css            |   127 -
 .../themes/paleblue/img/arrow-active-down.png |   Bin 216 -> 0 bytes
 .../themes/paleblue/img/arrow-active-up.png   |   Bin 202 -> 0 bytes
 .../paleblue/img/arrow-inactive-down.png      |   Bin 246 -> 0 bytes
 .../themes/paleblue/img/arrow-inactive-up.png |   Bin 210 -> 0 bytes
 .../themes/paleblue/img/false.gif             |   Bin 176 -> 0 bytes
 .../themes/paleblue/img/header-bg.png         |   Bin 130 -> 0 bytes
 .../themes/paleblue/img/missing.png           |   Bin 509 -> 0 bytes
 .../themes/paleblue/img/pagination-bg.gif     |   Bin 273 -> 0 bytes
 .../themes/paleblue/img/true.gif              |   Bin 299 -> 0 bytes
 .../polymorphic/css/polymorphic_inlines.css   |    34 -
 static/polymorphic/js/polymorphic_inlines.js  |   338 -
 .../css/bootstrap-theme.min.css               |    11 -
 .../rest_framework/css/bootstrap-tweaks.css   |   233 -
 static/rest_framework/css/bootstrap.min.css   |     6 -
 static/rest_framework/css/default.css         |    82 -
 .../rest_framework/css/font-awesome-4.0.3.css |  1338 --
 static/rest_framework/css/prettify.css        |    30 -
 static/rest_framework/docs/css/base.css       |   352 -
 static/rest_framework/docs/css/highlight.css  |   125 -
 .../docs/css/jquery.json-view.min.css         |    11 -
 static/rest_framework/docs/img/favicon.ico    |   Bin 5430 -> 0 bytes
 static/rest_framework/docs/img/grid.png       |   Bin 1458 -> 0 bytes
 static/rest_framework/docs/js/api.js          |   321 -
 .../rest_framework/docs/js/highlight.pack.js  |     2 -
 .../docs/js/jquery.json-view.min.js           |     7 -
 .../fonts/fontawesome-webfont.eot             |   Bin 38205 -> 0 bytes
 .../fonts/fontawesome-webfont.svg             |   414 -
 .../fonts/fontawesome-webfont.ttf             |   Bin 80652 -> 0 bytes
 .../fonts/fontawesome-webfont.woff            |   Bin 44432 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.eot    |   Bin 20127 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.svg    |   288 -
 .../fonts/glyphicons-halflings-regular.ttf    |   Bin 45404 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff   |   Bin 23424 -> 0 bytes
 .../fonts/glyphicons-halflings-regular.woff2  |   Bin 18028 -> 0 bytes
 .../img/glyphicons-halflings-white.png        |   Bin 8777 -> 0 bytes
 .../img/glyphicons-halflings.png              |   Bin 12762 -> 0 bytes
 static/rest_framework/img/grid.png            |   Bin 1458 -> 0 bytes
 static/rest_framework/js/ajax-form.js         |   127 -
 static/rest_framework/js/bootstrap.min.js     |     7 -
 static/rest_framework/js/coreapi-0.1.1.js     |  2043 ---
 static/rest_framework/js/csrf.js              |    52 -
 static/rest_framework/js/default.js           |    47 -
 static/rest_framework/js/jquery-3.3.1.min.js  |     2 -
 static/rest_framework/js/prettify-min.js      |    28 -
 213 files changed, 5 insertions(+), 36891 deletions(-)
 rename {static => note_kfet/static}/favicon/android-chrome-192x192.png (100%)
 rename {static => note_kfet/static}/favicon/android-chrome-512x512.png (100%)
 rename {static => note_kfet/static}/favicon/apple-touch-icon.png (100%)
 rename {static => note_kfet/static}/favicon/browserconfig.xml (100%)
 rename {static => note_kfet/static}/favicon/favicon-16x16.png (100%)
 rename {static => note_kfet/static}/favicon/favicon-32x32.png (100%)
 rename {static => note_kfet/static}/favicon/favicon.ico (100%)
 rename {static => note_kfet/static}/favicon/mstile-150x150.png (100%)
 rename {static => note_kfet/static}/favicon/safari-pinned-tab.svg (100%)
 rename {static => note_kfet/static}/favicon/site.webmanifest (100%)
 rename {static => note_kfet/static}/img/Finalist.png (100%)
 rename {static => note_kfet/static}/img/Kataclist.png (100%)
 rename {static => note_kfet/static}/img/Listorique.png (100%)
 rename {static => note_kfet/static}/img/Monopolist.png (100%)
 rename {static => note_kfet/static}/img/Saperlistpopette.png (100%)
 rename {static => note_kfet/static}/img/Satellist.png (100%)
 rename {static => note_kfet/static}/js/alias.js (100%)
 rename {static => note_kfet/static}/js/autocomplete_model.js (100%)
 rename {static => note_kfet/static}/js/base.js (100%)
 rename {static => note_kfet/static}/js/consos.js (100%)
 rename {static => note_kfet/static}/js/dynamic-formset.js (100%)
 rename {static => note_kfet/static}/js/transfer.js (100%)
 delete mode 100644 static/admin/css/autocomplete.css
 delete mode 100644 static/admin/css/base.css
 delete mode 100644 static/admin/css/changelists.css
 delete mode 100644 static/admin/css/dashboard.css
 delete mode 100644 static/admin/css/fonts.css
 delete mode 100644 static/admin/css/forms.css
 delete mode 100644 static/admin/css/login.css
 delete mode 100644 static/admin/css/responsive.css
 delete mode 100644 static/admin/css/responsive_rtl.css
 delete mode 100644 static/admin/css/rtl.css
 delete mode 100644 static/admin/css/vendor/select2/LICENSE-SELECT2.md
 delete mode 100644 static/admin/css/vendor/select2/select2.css
 delete mode 100644 static/admin/css/vendor/select2/select2.min.css
 delete mode 100644 static/admin/css/widgets.css
 delete mode 100644 static/admin/fonts/LICENSE.txt
 delete mode 100644 static/admin/fonts/README.txt
 delete mode 100644 static/admin/fonts/Roboto-Bold-webfont.woff
 delete mode 100644 static/admin/fonts/Roboto-Light-webfont.woff
 delete mode 100644 static/admin/fonts/Roboto-Regular-webfont.woff
 delete mode 100644 static/admin/img/LICENSE
 delete mode 100644 static/admin/img/README.txt
 delete mode 100644 static/admin/img/calendar-icons.svg
 delete mode 100644 static/admin/img/gis/move_vertex_off.svg
 delete mode 100644 static/admin/img/gis/move_vertex_on.svg
 delete mode 100644 static/admin/img/icon-addlink.svg
 delete mode 100644 static/admin/img/icon-alert.svg
 delete mode 100644 static/admin/img/icon-calendar.svg
 delete mode 100644 static/admin/img/icon-changelink.svg
 delete mode 100644 static/admin/img/icon-clock.svg
 delete mode 100644 static/admin/img/icon-deletelink.svg
 delete mode 100644 static/admin/img/icon-no.svg
 delete mode 100644 static/admin/img/icon-unknown-alt.svg
 delete mode 100644 static/admin/img/icon-unknown.svg
 delete mode 100644 static/admin/img/icon-viewlink.svg
 delete mode 100644 static/admin/img/icon-yes.svg
 delete mode 100644 static/admin/img/inline-delete.svg
 delete mode 100644 static/admin/img/search.svg
 delete mode 100644 static/admin/img/selector-icons.svg
 delete mode 100644 static/admin/img/sorting-icons.svg
 delete mode 100644 static/admin/img/tooltag-add.svg
 delete mode 100644 static/admin/img/tooltag-arrowright.svg
 delete mode 100644 static/admin/js/SelectBox.js
 delete mode 100644 static/admin/js/SelectFilter2.js
 delete mode 100644 static/admin/js/actions.js
 delete mode 100644 static/admin/js/actions.min.js
 delete mode 100644 static/admin/js/admin/DateTimeShortcuts.js
 delete mode 100644 static/admin/js/admin/RelatedObjectLookups.js
 delete mode 100644 static/admin/js/autocomplete.js
 delete mode 100644 static/admin/js/calendar.js
 delete mode 100644 static/admin/js/cancel.js
 delete mode 100644 static/admin/js/change_form.js
 delete mode 100644 static/admin/js/collapse.js
 delete mode 100644 static/admin/js/collapse.min.js
 delete mode 100644 static/admin/js/core.js
 delete mode 100644 static/admin/js/inlines.js
 delete mode 100644 static/admin/js/inlines.min.js
 delete mode 100644 static/admin/js/jquery.init.js
 delete mode 100644 static/admin/js/popup_response.js
 delete mode 100644 static/admin/js/prepopulate.js
 delete mode 100644 static/admin/js/prepopulate.min.js
 delete mode 100644 static/admin/js/prepopulate_init.js
 delete mode 100644 static/admin/js/timeparse.js
 delete mode 100644 static/admin/js/urlify.js
 delete mode 100644 static/admin/js/vendor/jquery/LICENSE.txt
 delete mode 100644 static/admin/js/vendor/jquery/jquery.js
 delete mode 100644 static/admin/js/vendor/jquery/jquery.min.js
 delete mode 100644 static/admin/js/vendor/select2/LICENSE.md
 delete mode 100644 static/admin/js/vendor/select2/i18n/ar.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/az.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/bg.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ca.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/cs.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/da.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/de.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/el.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/en.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/es.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/et.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/eu.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/fa.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/fi.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/fr.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/gl.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/he.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/hi.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/hr.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/hu.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/id.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/is.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/it.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ja.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/km.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ko.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/lt.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/lv.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/mk.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ms.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/nb.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/nl.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/pl.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/pt-BR.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/pt.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ro.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/ru.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/sk.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/sr-Cyrl.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/sr.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/sv.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/th.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/tr.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/uk.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/vi.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/zh-CN.js
 delete mode 100644 static/admin/js/vendor/select2/i18n/zh-TW.js
 delete mode 100644 static/admin/js/vendor/select2/select2.full.js
 delete mode 100644 static/admin/js/vendor/select2/select2.full.min.js
 delete mode 100644 static/admin/js/vendor/xregexp/LICENSE.txt
 delete mode 100644 static/admin/js/vendor/xregexp/xregexp.js
 delete mode 100644 static/admin/js/vendor/xregexp/xregexp.min.js
 delete mode 100644 static/autocomplete_light/autocomplete.init.js
 delete mode 100644 static/autocomplete_light/forward.js
 delete mode 100644 static/autocomplete_light/jquery.init.js
 delete mode 100644 static/autocomplete_light/jquery.post-setup.js
 delete mode 100644 static/autocomplete_light/select2.css
 delete mode 100644 static/autocomplete_light/select2.js
 delete mode 100644 static/bootstrap_datepicker_plus/css/datepicker-widget.css
 delete mode 100644 static/bootstrap_datepicker_plus/js/datepicker-widget.js
 delete mode 100644 static/colorfield/colorfield.js
 delete mode 100755 static/colorfield/jscolor/jscolor.js
 delete mode 100755 static/colorfield/jscolor/jscolor.min.js
 delete mode 100644 static/debug_toolbar/css/print.css
 delete mode 100644 static/debug_toolbar/css/toolbar.css
 delete mode 100644 static/debug_toolbar/img/ajax-loader.gif
 delete mode 100644 static/debug_toolbar/img/back.png
 delete mode 100644 static/debug_toolbar/img/back_hover.png
 delete mode 100644 static/debug_toolbar/img/close.png
 delete mode 100644 static/debug_toolbar/img/close_hover.png
 delete mode 100644 static/debug_toolbar/img/djdt_vertical.png
 delete mode 100644 static/debug_toolbar/img/indicator.png
 delete mode 100644 static/debug_toolbar/js/redirect.js
 delete mode 100644 static/debug_toolbar/js/toolbar.js
 delete mode 100644 static/debug_toolbar/js/toolbar.timer.js
 delete mode 100644 static/django_tables2/bootstrap.css
 delete mode 100644 static/django_tables2/themes/paleblue/css/screen.css
 delete mode 100644 static/django_tables2/themes/paleblue/img/arrow-active-down.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/arrow-active-up.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/arrow-inactive-down.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/arrow-inactive-up.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/false.gif
 delete mode 100644 static/django_tables2/themes/paleblue/img/header-bg.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/missing.png
 delete mode 100644 static/django_tables2/themes/paleblue/img/pagination-bg.gif
 delete mode 100644 static/django_tables2/themes/paleblue/img/true.gif
 delete mode 100644 static/polymorphic/css/polymorphic_inlines.css
 delete mode 100644 static/polymorphic/js/polymorphic_inlines.js
 delete mode 100644 static/rest_framework/css/bootstrap-theme.min.css
 delete mode 100644 static/rest_framework/css/bootstrap-tweaks.css
 delete mode 100644 static/rest_framework/css/bootstrap.min.css
 delete mode 100644 static/rest_framework/css/default.css
 delete mode 100644 static/rest_framework/css/font-awesome-4.0.3.css
 delete mode 100644 static/rest_framework/css/prettify.css
 delete mode 100644 static/rest_framework/docs/css/base.css
 delete mode 100644 static/rest_framework/docs/css/highlight.css
 delete mode 100644 static/rest_framework/docs/css/jquery.json-view.min.css
 delete mode 100644 static/rest_framework/docs/img/favicon.ico
 delete mode 100644 static/rest_framework/docs/img/grid.png
 delete mode 100644 static/rest_framework/docs/js/api.js
 delete mode 100644 static/rest_framework/docs/js/highlight.pack.js
 delete mode 100644 static/rest_framework/docs/js/jquery.json-view.min.js
 delete mode 100644 static/rest_framework/fonts/fontawesome-webfont.eot
 delete mode 100644 static/rest_framework/fonts/fontawesome-webfont.svg
 delete mode 100644 static/rest_framework/fonts/fontawesome-webfont.ttf
 delete mode 100644 static/rest_framework/fonts/fontawesome-webfont.woff
 delete mode 100644 static/rest_framework/fonts/glyphicons-halflings-regular.eot
 delete mode 100644 static/rest_framework/fonts/glyphicons-halflings-regular.svg
 delete mode 100644 static/rest_framework/fonts/glyphicons-halflings-regular.ttf
 delete mode 100644 static/rest_framework/fonts/glyphicons-halflings-regular.woff
 delete mode 100644 static/rest_framework/fonts/glyphicons-halflings-regular.woff2
 delete mode 100644 static/rest_framework/img/glyphicons-halflings-white.png
 delete mode 100644 static/rest_framework/img/glyphicons-halflings.png
 delete mode 100644 static/rest_framework/img/grid.png
 delete mode 100644 static/rest_framework/js/ajax-form.js
 delete mode 100644 static/rest_framework/js/bootstrap.min.js
 delete mode 100644 static/rest_framework/js/coreapi-0.1.1.js
 delete mode 100644 static/rest_framework/js/csrf.js
 delete mode 100644 static/rest_framework/js/default.js
 delete mode 100644 static/rest_framework/js/jquery-3.3.1.min.js
 delete mode 100644 static/rest_framework/js/prettify-min.js

diff --git a/.gitignore b/.gitignore
index d3b62d5a..8f97c7c6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,7 @@ secrets.py
 map.json
 *.log
 backups/
+static/
 media/
 
 # Virtualenv
diff --git a/note_kfet/settings/base.py b/note_kfet/settings/base.py
index a3ce54e7..809cd91c 100644
--- a/note_kfet/settings/base.py
+++ b/note_kfet/settings/base.py
@@ -32,6 +32,8 @@ INSTALLED_APPS = [
     'polymorphic',
     'crispy_forms',
     'django_tables2',
+    'bootstrap_datepicker_plus',
+    'colorfield',
 
     # Django contrib
     'django.contrib.admin',
diff --git a/static/favicon/android-chrome-192x192.png b/note_kfet/static/favicon/android-chrome-192x192.png
similarity index 100%
rename from static/favicon/android-chrome-192x192.png
rename to note_kfet/static/favicon/android-chrome-192x192.png
diff --git a/static/favicon/android-chrome-512x512.png b/note_kfet/static/favicon/android-chrome-512x512.png
similarity index 100%
rename from static/favicon/android-chrome-512x512.png
rename to note_kfet/static/favicon/android-chrome-512x512.png
diff --git a/static/favicon/apple-touch-icon.png b/note_kfet/static/favicon/apple-touch-icon.png
similarity index 100%
rename from static/favicon/apple-touch-icon.png
rename to note_kfet/static/favicon/apple-touch-icon.png
diff --git a/static/favicon/browserconfig.xml b/note_kfet/static/favicon/browserconfig.xml
similarity index 100%
rename from static/favicon/browserconfig.xml
rename to note_kfet/static/favicon/browserconfig.xml
diff --git a/static/favicon/favicon-16x16.png b/note_kfet/static/favicon/favicon-16x16.png
similarity index 100%
rename from static/favicon/favicon-16x16.png
rename to note_kfet/static/favicon/favicon-16x16.png
diff --git a/static/favicon/favicon-32x32.png b/note_kfet/static/favicon/favicon-32x32.png
similarity index 100%
rename from static/favicon/favicon-32x32.png
rename to note_kfet/static/favicon/favicon-32x32.png
diff --git a/static/favicon/favicon.ico b/note_kfet/static/favicon/favicon.ico
similarity index 100%
rename from static/favicon/favicon.ico
rename to note_kfet/static/favicon/favicon.ico
diff --git a/static/favicon/mstile-150x150.png b/note_kfet/static/favicon/mstile-150x150.png
similarity index 100%
rename from static/favicon/mstile-150x150.png
rename to note_kfet/static/favicon/mstile-150x150.png
diff --git a/static/favicon/safari-pinned-tab.svg b/note_kfet/static/favicon/safari-pinned-tab.svg
similarity index 100%
rename from static/favicon/safari-pinned-tab.svg
rename to note_kfet/static/favicon/safari-pinned-tab.svg
diff --git a/static/favicon/site.webmanifest b/note_kfet/static/favicon/site.webmanifest
similarity index 100%
rename from static/favicon/site.webmanifest
rename to note_kfet/static/favicon/site.webmanifest
diff --git a/static/img/Finalist.png b/note_kfet/static/img/Finalist.png
similarity index 100%
rename from static/img/Finalist.png
rename to note_kfet/static/img/Finalist.png
diff --git a/static/img/Kataclist.png b/note_kfet/static/img/Kataclist.png
similarity index 100%
rename from static/img/Kataclist.png
rename to note_kfet/static/img/Kataclist.png
diff --git a/static/img/Listorique.png b/note_kfet/static/img/Listorique.png
similarity index 100%
rename from static/img/Listorique.png
rename to note_kfet/static/img/Listorique.png
diff --git a/static/img/Monopolist.png b/note_kfet/static/img/Monopolist.png
similarity index 100%
rename from static/img/Monopolist.png
rename to note_kfet/static/img/Monopolist.png
diff --git a/static/img/Saperlistpopette.png b/note_kfet/static/img/Saperlistpopette.png
similarity index 100%
rename from static/img/Saperlistpopette.png
rename to note_kfet/static/img/Saperlistpopette.png
diff --git a/static/img/Satellist.png b/note_kfet/static/img/Satellist.png
similarity index 100%
rename from static/img/Satellist.png
rename to note_kfet/static/img/Satellist.png
diff --git a/static/js/alias.js b/note_kfet/static/js/alias.js
similarity index 100%
rename from static/js/alias.js
rename to note_kfet/static/js/alias.js
diff --git a/static/js/autocomplete_model.js b/note_kfet/static/js/autocomplete_model.js
similarity index 100%
rename from static/js/autocomplete_model.js
rename to note_kfet/static/js/autocomplete_model.js
diff --git a/static/js/base.js b/note_kfet/static/js/base.js
similarity index 100%
rename from static/js/base.js
rename to note_kfet/static/js/base.js
diff --git a/static/js/consos.js b/note_kfet/static/js/consos.js
similarity index 100%
rename from static/js/consos.js
rename to note_kfet/static/js/consos.js
diff --git a/static/js/dynamic-formset.js b/note_kfet/static/js/dynamic-formset.js
similarity index 100%
rename from static/js/dynamic-formset.js
rename to note_kfet/static/js/dynamic-formset.js
diff --git a/static/js/transfer.js b/note_kfet/static/js/transfer.js
similarity index 100%
rename from static/js/transfer.js
rename to note_kfet/static/js/transfer.js
diff --git a/requirements/base.txt b/requirements/base.txt
index 3181c493..b614fdae 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -26,3 +26,5 @@ sqlparse==0.3.0
 djangorestframework==3.9.0
 django-rest-polymorphic==0.1.8
 urllib3==1.25.3
+django-bootstrap-datepicker-plus==3.0.5
+django-colorfield==0.3.2
diff --git a/static/admin/css/autocomplete.css b/static/admin/css/autocomplete.css
deleted file mode 100644
index 3ef95d15..00000000
--- a/static/admin/css/autocomplete.css
+++ /dev/null
@@ -1,260 +0,0 @@
-select.admin-autocomplete {
-    width: 20em;
-}
-
-.select2-container--admin-autocomplete.select2-container {
-    min-height: 30px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single,
-.select2-container--admin-autocomplete .select2-selection--multiple {
-    min-height: 30px;
-    padding: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection {
-    border-color: #999;
-    min-height: 30px;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--single,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--single {
-    padding: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection.select2-selection--multiple,
-.select2-container--admin-autocomplete.select2-container--open .select2-selection.select2-selection--multiple {
-    padding: 0;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single {
-    background-color: #fff;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered {
-    color: #444;
-    line-height: 30px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__clear {
-    cursor: pointer;
-    float: right;
-    font-weight: bold;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__placeholder {
-    color: #999;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow {
-    height: 26px;
-    position: absolute;
-    top: 1px;
-    right: 1px;
-    width: 20px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--single .select2-selection__arrow b {
-    border-color: #888 transparent transparent transparent;
-    border-style: solid;
-    border-width: 5px 4px 0 4px;
-    height: 0;
-    left: 50%;
-    margin-left: -4px;
-    margin-top: -2px;
-    position: absolute;
-    top: 50%;
-    width: 0;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__clear {
-    float: left;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--single .select2-selection__arrow {
-    left: 1px;
-    right: auto;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single {
-    background-color: #eee;
-    cursor: default;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--single .select2-selection__clear {
-    display: none;
-}
-
-.select2-container--admin-autocomplete.select2-container--open .select2-selection--single .select2-selection__arrow b {
-    border-color: transparent transparent #888 transparent;
-    border-width: 0 4px 5px 4px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple {
-    background-color: white;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    cursor: text;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered {
-    box-sizing: border-box;
-    list-style: none;
-    margin: 0;
-    padding: 0 5px;
-    width: 100%;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__rendered li {
-    list-style: none;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__placeholder {
-    color: #999;
-    margin-top: 5px;
-    float: left;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear {
-    cursor: pointer;
-    float: right;
-    font-weight: bold;
-    margin: 5px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice {
-    background-color: #e4e4e4;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    cursor: default;
-    float: left;
-    margin-right: 5px;
-    margin-top: 5px;
-    padding: 0 5px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove {
-    color: #999;
-    cursor: pointer;
-    display: inline-block;
-    font-weight: bold;
-    margin-right: 2px;
-}
-
-.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover {
-    color: #333;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-search--inline {
-    float: right;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
-    margin-left: 5px;
-    margin-right: auto;
-}
-
-.select2-container--admin-autocomplete[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
-    margin-left: 2px;
-    margin-right: auto;
-}
-
-.select2-container--admin-autocomplete.select2-container--focus .select2-selection--multiple {
-    border: solid #999 1px;
-    outline: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple {
-    background-color: #eee;
-    cursor: default;
-}
-
-.select2-container--admin-autocomplete.select2-container--disabled .select2-selection__choice__remove {
-    display: none;
-}
-
-.select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--above .select2-selection--multiple {
-    border-top-left-radius: 0;
-    border-top-right-radius: 0;
-}
-
-.select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--single, .select2-container--admin-autocomplete.select2-container--open.select2-container--below .select2-selection--multiple {
-    border-bottom-left-radius: 0;
-    border-bottom-right-radius: 0;
-}
-
-.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field {
-    border: 1px solid #ccc;
-}
-
-.select2-container--admin-autocomplete .select2-search--inline .select2-search__field {
-    background: transparent;
-    border: none;
-    outline: 0;
-    box-shadow: none;
-    -webkit-appearance: textfield;
-}
-
-.select2-container--admin-autocomplete .select2-results > .select2-results__options {
-    max-height: 200px;
-    overflow-y: auto;
-}
-
-.select2-container--admin-autocomplete .select2-results__option[role=group] {
-    padding: 0;
-}
-
-.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] {
-    color: #999;
-}
-
-.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] {
-    background-color: #ddd;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option {
-    padding-left: 1em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__group {
-    padding-left: 0;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -1em;
-    padding-left: 2em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -2em;
-    padding-left: 3em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -3em;
-    padding-left: 4em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -4em;
-    padding-left: 5em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -5em;
-    padding-left: 6em;
-}
-
-.select2-container--admin-autocomplete .select2-results__option--highlighted[aria-selected] {
-    background-color: #79aec8;
-    color: white;
-}
-
-.select2-container--admin-autocomplete .select2-results__group {
-    cursor: default;
-    display: block;
-    padding: 6px;
-}
diff --git a/static/admin/css/base.css b/static/admin/css/base.css
deleted file mode 100644
index fd011a3f..00000000
--- a/static/admin/css/base.css
+++ /dev/null
@@ -1,987 +0,0 @@
-/*
-    DJANGO Admin styles
-*/
-
-@import url(fonts.css);
-
-body {
-    margin: 0;
-    padding: 0;
-    font-size: 14px;
-    font-family: "Roboto","Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
-    color: #333;
-    background: #fff;
-}
-
-/* LINKS */
-
-a:link, a:visited {
-    color: #447e9b;
-    text-decoration: none;
-}
-
-a:focus, a:hover {
-    color: #036;
-}
-
-a:focus {
-    text-decoration: underline;
-}
-
-a img {
-    border: none;
-}
-
-a.section:link, a.section:visited {
-    color: #fff;
-    text-decoration: none;
-}
-
-a.section:focus, a.section:hover {
-    text-decoration: underline;
-}
-
-/* GLOBAL DEFAULTS */
-
-p, ol, ul, dl {
-    margin: .2em 0 .8em 0;
-}
-
-p {
-    padding: 0;
-    line-height: 140%;
-}
-
-h1,h2,h3,h4,h5 {
-    font-weight: bold;
-}
-
-h1 {
-    margin: 0 0 20px;
-    font-weight: 300;
-    font-size: 20px;
-    color: #666;
-}
-
-h2 {
-    font-size: 16px;
-    margin: 1em 0 .5em 0;
-}
-
-h2.subhead {
-    font-weight: normal;
-    margin-top: 0;
-}
-
-h3 {
-    font-size: 14px;
-    margin: .8em 0 .3em 0;
-    color: #666;
-    font-weight: bold;
-}
-
-h4 {
-    font-size: 12px;
-    margin: 1em 0 .8em 0;
-    padding-bottom: 3px;
-}
-
-h5 {
-    font-size: 10px;
-    margin: 1.5em 0 .5em 0;
-    color: #666;
-    text-transform: uppercase;
-    letter-spacing: 1px;
-}
-
-ul li {
-    list-style-type: square;
-    padding: 1px 0;
-}
-
-li ul {
-    margin-bottom: 0;
-}
-
-li, dt, dd {
-    font-size: 13px;
-    line-height: 20px;
-}
-
-dt {
-    font-weight: bold;
-    margin-top: 4px;
-}
-
-dd {
-    margin-left: 0;
-}
-
-form {
-    margin: 0;
-    padding: 0;
-}
-
-fieldset {
-    margin: 0;
-    padding: 0;
-    border: none;
-    border-top: 1px solid #eee;
-}
-
-blockquote {
-    font-size: 11px;
-    color: #777;
-    margin-left: 2px;
-    padding-left: 10px;
-    border-left: 5px solid #ddd;
-}
-
-code, pre {
-    font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
-    color: #666;
-    font-size: 12px;
-}
-
-pre.literal-block {
-    margin: 10px;
-    background: #eee;
-    padding: 6px 8px;
-}
-
-code strong {
-    color: #930;
-}
-
-hr {
-    clear: both;
-    color: #eee;
-    background-color: #eee;
-    height: 1px;
-    border: none;
-    margin: 0;
-    padding: 0;
-    font-size: 1px;
-    line-height: 1px;
-}
-
-/* TEXT STYLES & MODIFIERS */
-
-.small {
-    font-size: 11px;
-}
-
-.tiny {
-    font-size: 10px;
-}
-
-p.tiny {
-    margin-top: -2px;
-}
-
-.mini {
-    font-size: 10px;
-}
-
-p.mini {
-    margin-top: -3px;
-}
-
-.help, p.help, form p.help, div.help, form div.help, div.help li {
-    font-size: 11px;
-    color: #999;
-}
-
-div.help ul {
-     margin-bottom: 0;
-}
-
-.help-tooltip {
-    cursor: help;
-}
-
-p img, h1 img, h2 img, h3 img, h4 img, td img {
-    vertical-align: middle;
-}
-
-.quiet, a.quiet:link, a.quiet:visited {
-    color: #999;
-    font-weight: normal;
-}
-
-.float-right {
-    float: right;
-}
-
-.float-left {
-    float: left;
-}
-
-.clear {
-    clear: both;
-}
-
-.align-left {
-    text-align: left;
-}
-
-.align-right {
-    text-align: right;
-}
-
-.example {
-    margin: 10px 0;
-    padding: 5px 10px;
-    background: #efefef;
-}
-
-.nowrap {
-    white-space: nowrap;
-}
-
-/* TABLES */
-
-table {
-    border-collapse: collapse;
-    border-color: #ccc;
-}
-
-td, th {
-    font-size: 13px;
-    line-height: 16px;
-    border-bottom: 1px solid #eee;
-    vertical-align: top;
-    padding: 8px;
-    font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif;
-}
-
-th {
-    font-weight: 600;
-    text-align: left;
-}
-
-thead th,
-tfoot td {
-    color: #666;
-    padding: 5px 10px;
-    font-size: 11px;
-    background: #fff;
-    border: none;
-    border-top: 1px solid #eee;
-    border-bottom: 1px solid #eee;
-}
-
-tfoot td {
-    border-bottom: none;
-    border-top: 1px solid #eee;
-}
-
-thead th.required {
-    color: #000;
-}
-
-tr.alt {
-    background: #f6f6f6;
-}
-
-.row1 {
-    background: #fff;
-}
-
-.row2 {
-    background: #f9f9f9;
-}
-
-/* SORTABLE TABLES */
-
-thead th {
-    padding: 5px 10px;
-    line-height: normal;
-    text-transform: uppercase;
-    background: #f6f6f6;
-}
-
-thead th a:link, thead th a:visited {
-    color: #666;
-}
-
-thead th.sorted {
-    background: #eee;
-}
-
-thead th.sorted .text {
-    padding-right: 42px;
-}
-
-table thead th .text span {
-    padding: 8px 10px;
-    display: block;
-}
-
-table thead th .text a {
-    display: block;
-    cursor: pointer;
-    padding: 8px 10px;
-}
-
-table thead th .text a:focus, table thead th .text a:hover {
-    background: #eee;
-}
-
-thead th.sorted a.sortremove {
-    visibility: hidden;
-}
-
-table thead th.sorted:hover a.sortremove {
-    visibility: visible;
-}
-
-table thead th.sorted .sortoptions {
-    display: block;
-    padding: 9px 5px 0 5px;
-    float: right;
-    text-align: right;
-}
-
-table thead th.sorted .sortpriority {
-    font-size: .8em;
-    min-width: 12px;
-    text-align: center;
-    vertical-align: 3px;
-    margin-left: 2px;
-    margin-right: 2px;
-}
-
-table thead th.sorted .sortoptions a {
-    position: relative;
-    width: 14px;
-    height: 14px;
-    display: inline-block;
-    background: url(../img/sorting-icons.svg) 0 0 no-repeat;
-    background-size: 14px auto;
-}
-
-table thead th.sorted .sortoptions a.sortremove {
-    background-position: 0 0;
-}
-
-table thead th.sorted .sortoptions a.sortremove:after {
-    content: '\\';
-    position: absolute;
-    top: -6px;
-    left: 3px;
-    font-weight: 200;
-    font-size: 18px;
-    color: #999;
-}
-
-table thead th.sorted .sortoptions a.sortremove:focus:after,
-table thead th.sorted .sortoptions a.sortremove:hover:after {
-    color: #447e9b;
-}
-
-table thead th.sorted .sortoptions a.sortremove:focus,
-table thead th.sorted .sortoptions a.sortremove:hover {
-    background-position: 0 -14px;
-}
-
-table thead th.sorted .sortoptions a.ascending {
-    background-position: 0 -28px;
-}
-
-table thead th.sorted .sortoptions a.ascending:focus,
-table thead th.sorted .sortoptions a.ascending:hover {
-    background-position: 0 -42px;
-}
-
-table thead th.sorted .sortoptions a.descending {
-    top: 1px;
-    background-position: 0 -56px;
-}
-
-table thead th.sorted .sortoptions a.descending:focus,
-table thead th.sorted .sortoptions a.descending:hover {
-    background-position: 0 -70px;
-}
-
-/* FORM DEFAULTS */
-
-input, textarea, select, .form-row p, form .button {
-    margin: 2px 0;
-    padding: 2px 3px;
-    vertical-align: middle;
-    font-family: "Roboto", "Lucida Grande", Verdana, Arial, sans-serif;
-    font-weight: normal;
-    font-size: 13px;
-}
-.form-row div.help {
-    padding: 2px 3px;
-}
-
-textarea {
-    vertical-align: top;
-}
-
-input[type=text], input[type=password], input[type=email], input[type=url],
-input[type=number], input[type=tel], textarea, select, .vTextField {
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    padding: 5px 6px;
-    margin-top: 0;
-}
-
-input[type=text]:focus, input[type=password]:focus, input[type=email]:focus,
-input[type=url]:focus, input[type=number]:focus, input[type=tel]:focus,
-textarea:focus, select:focus, .vTextField:focus {
-    border-color: #999;
-}
-
-select {
-    height: 30px;
-}
-
-select[multiple] {
-    /* Allow HTML size attribute to override the height in the rule above. */
-    height: auto;
-    min-height: 150px;
-}
-
-/* FORM BUTTONS */
-
-.button, input[type=submit], input[type=button], .submit-row input, a.button {
-    background: #79aec8;
-    padding: 10px 15px;
-    border: none;
-    border-radius: 4px;
-    color: #fff;
-    cursor: pointer;
-}
-
-a.button {
-    padding: 4px 5px;
-}
-
-.button:active, input[type=submit]:active, input[type=button]:active,
-.button:focus, input[type=submit]:focus, input[type=button]:focus,
-.button:hover, input[type=submit]:hover, input[type=button]:hover {
-    background: #609ab6;
-}
-
-.button[disabled], input[type=submit][disabled], input[type=button][disabled] {
-    opacity: 0.4;
-}
-
-.button.default, input[type=submit].default, .submit-row input.default {
-    float: right;
-    border: none;
-    font-weight: 400;
-    background: #417690;
-}
-
-.button.default:active, input[type=submit].default:active,
-.button.default:focus, input[type=submit].default:focus,
-.button.default:hover, input[type=submit].default:hover {
-    background: #205067;
-}
-
-.button[disabled].default,
-input[type=submit][disabled].default,
-input[type=button][disabled].default {
-    opacity: 0.4;
-}
-
-
-/* MODULES */
-
-.module {
-    border: none;
-    margin-bottom: 30px;
-    background: #fff;
-}
-
-.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
-    padding-left: 10px;
-    padding-right: 10px;
-}
-
-.module blockquote {
-    margin-left: 12px;
-}
-
-.module ul, .module ol {
-    margin-left: 1.5em;
-}
-
-.module h3 {
-    margin-top: .6em;
-}
-
-.module h2, .module caption, .inline-group h2 {
-    margin: 0;
-    padding: 8px;
-    font-weight: 400;
-    font-size: 13px;
-    text-align: left;
-    background: #79aec8;
-    color: #fff;
-}
-
-.module caption,
-.inline-group h2 {
-    font-size: 12px;
-    letter-spacing: 0.5px;
-    text-transform: uppercase;
-}
-
-.module table {
-    border-collapse: collapse;
-}
-
-/* MESSAGES & ERRORS */
-
-ul.messagelist {
-    padding: 0;
-    margin: 0;
-}
-
-ul.messagelist li {
-    display: block;
-    font-weight: 400;
-    font-size: 13px;
-    padding: 10px 10px 10px 65px;
-    margin: 0 0 10px 0;
-    background: #dfd url(../img/icon-yes.svg) 40px 12px no-repeat;
-    background-size: 16px auto;
-    color: #333;
-}
-
-ul.messagelist li.warning {
-    background: #ffc url(../img/icon-alert.svg) 40px 14px no-repeat;
-    background-size: 14px auto;
-}
-
-ul.messagelist li.error {
-    background: #ffefef url(../img/icon-no.svg) 40px 12px no-repeat;
-    background-size: 16px auto;
-}
-
-.errornote {
-    font-size: 14px;
-    font-weight: 700;
-    display: block;
-    padding: 10px 12px;
-    margin: 0 0 10px 0;
-    color: #ba2121;
-    border: 1px solid #ba2121;
-    border-radius: 4px;
-    background-color: #fff;
-    background-position: 5px 12px;
-}
-
-ul.errorlist {
-    margin: 0 0 4px;
-    padding: 0;
-    color: #ba2121;
-    background: #fff;
-}
-
-ul.errorlist li {
-    font-size: 13px;
-    display: block;
-    margin-bottom: 4px;
-}
-
-ul.errorlist li:first-child {
-    margin-top: 0;
-}
-
-ul.errorlist li a {
-    color: inherit;
-    text-decoration: underline;
-}
-
-td ul.errorlist {
-    margin: 0;
-    padding: 0;
-}
-
-td ul.errorlist li {
-    margin: 0;
-}
-
-.form-row.errors {
-    margin: 0;
-    border: none;
-    border-bottom: 1px solid #eee;
-    background: none;
-}
-
-.form-row.errors ul.errorlist li {
-    padding-left: 0;
-}
-
-.errors input, .errors select, .errors textarea {
-    border: 1px solid #ba2121;
-}
-
-div.system-message {
-    background: #ffc;
-    margin: 10px;
-    padding: 6px 8px;
-    font-size: .8em;
-}
-
-div.system-message p.system-message-title {
-    padding: 4px 5px 4px 25px;
-    margin: 0;
-    color: #c11;
-    background: #ffefef url(../img/icon-no.svg) 5px 5px no-repeat;
-}
-
-.description {
-    font-size: 12px;
-    padding: 5px 0 0 12px;
-}
-
-/* BREADCRUMBS */
-
-div.breadcrumbs {
-    background: #79aec8;
-    padding: 10px 40px;
-    border: none;
-    font-size: 14px;
-    color: #c4dce8;
-    text-align: left;
-}
-
-div.breadcrumbs a {
-    color: #fff;
-}
-
-div.breadcrumbs a:focus, div.breadcrumbs a:hover {
-    color: #c4dce8;
-}
-
-/* ACTION ICONS */
-
-.viewlink, .inlineviewlink {
-    padding-left: 16px;
-    background: url(../img/icon-viewlink.svg) 0 1px no-repeat;
-}
-
-.addlink {
-    padding-left: 16px;
-    background: url(../img/icon-addlink.svg) 0 1px no-repeat;
-}
-
-.changelink, .inlinechangelink {
-    padding-left: 16px;
-    background: url(../img/icon-changelink.svg) 0 1px no-repeat;
-}
-
-.deletelink {
-    padding-left: 16px;
-    background: url(../img/icon-deletelink.svg) 0 1px no-repeat;
-}
-
-a.deletelink:link, a.deletelink:visited {
-    color: #CC3434;
-}
-
-a.deletelink:focus, a.deletelink:hover {
-    color: #993333;
-    text-decoration: none;
-}
-
-/* OBJECT TOOLS */
-
-.object-tools {
-    font-size: 10px;
-    font-weight: bold;
-    padding-left: 0;
-    float: right;
-    position: relative;
-    margin-top: -48px;
-}
-
-.form-row .object-tools {
-    margin-top: 5px;
-    margin-bottom: 5px;
-    float: none;
-    height: 2em;
-    padding-left: 3.5em;
-}
-
-.object-tools li {
-    display: block;
-    float: left;
-    margin-left: 5px;
-    height: 16px;
-}
-
-.object-tools a {
-    border-radius: 15px;
-}
-
-.object-tools a:link, .object-tools a:visited {
-    display: block;
-    float: left;
-    padding: 3px 12px;
-    background: #999;
-    font-weight: 400;
-    font-size: 11px;
-    text-transform: uppercase;
-    letter-spacing: 0.5px;
-    color: #fff;
-}
-
-.object-tools a:focus, .object-tools a:hover {
-    background-color: #417690;
-}
-
-.object-tools a:focus{
-    text-decoration: none;
-}
-
-.object-tools a.viewsitelink, .object-tools a.golink,.object-tools a.addlink {
-    background-repeat: no-repeat;
-    background-position: right 7px center;
-    padding-right: 26px;
-}
-
-.object-tools a.viewsitelink, .object-tools a.golink {
-    background-image: url(../img/tooltag-arrowright.svg);
-}
-
-.object-tools a.addlink {
-    background-image: url(../img/tooltag-add.svg);
-}
-
-/* OBJECT HISTORY */
-
-table#change-history {
-    width: 100%;
-}
-
-table#change-history tbody th {
-    width: 16em;
-}
-
-/* PAGE STRUCTURE */
-
-#container {
-    position: relative;
-    width: 100%;
-    min-width: 980px;
-    padding: 0;
-}
-
-#content {
-    padding: 20px 40px;
-}
-
-.dashboard #content {
-    width: 600px;
-}
-
-#content-main {
-    float: left;
-    width: 100%;
-}
-
-#content-related {
-    float: right;
-    width: 260px;
-    position: relative;
-    margin-right: -300px;
-}
-
-#footer {
-    clear: both;
-    padding: 10px;
-}
-
-/* COLUMN TYPES */
-
-.colMS {
-    margin-right: 300px;
-}
-
-.colSM {
-    margin-left: 300px;
-}
-
-.colSM #content-related {
-    float: left;
-    margin-right: 0;
-    margin-left: -300px;
-}
-
-.colSM #content-main {
-    float: right;
-}
-
-.popup .colM {
-    width: auto;
-}
-
-/* HEADER */
-
-#header {
-    width: auto;
-    height: auto;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    padding: 10px 40px;
-    background: #417690;
-    color: #ffc;
-    overflow: hidden;
-}
-
-#header a:link, #header a:visited {
-    color: #fff;
-}
-
-#header a:focus , #header a:hover {
-    text-decoration: underline;
-}
-
-#branding {
-    float: left;
-}
-
-#branding h1 {
-    padding: 0;
-    margin: 0 20px 0 0;
-    font-weight: 300;
-    font-size: 24px;
-    color: #f5dd5d;
-}
-
-#branding h1, #branding h1 a:link, #branding h1 a:visited {
-    color: #f5dd5d;
-}
-
-#branding h2 {
-    padding: 0 10px;
-    font-size: 14px;
-    margin: -8px 0 8px 0;
-    font-weight: normal;
-    color: #ffc;
-}
-
-#branding a:hover {
-    text-decoration: none;
-}
-
-#user-tools {
-    float: right;
-    padding: 0;
-    margin: 0 0 0 20px;
-    font-weight: 300;
-    font-size: 11px;
-    letter-spacing: 0.5px;
-    text-transform: uppercase;
-    text-align: right;
-}
-
-#user-tools a {
-    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
-}
-
-#user-tools a:focus, #user-tools a:hover {
-    text-decoration: none;
-    border-bottom-color: #79aec8;
-    color: #79aec8;
-}
-
-/* SIDEBAR */
-
-#content-related {
-    background: #f8f8f8;
-}
-
-#content-related .module {
-    background: none;
-}
-
-#content-related h3 {
-    font-size: 14px;
-    color: #666;
-    padding: 0 16px;
-    margin: 0 0 16px;
-}
-
-#content-related h4 {
-    font-size: 13px;
-}
-
-#content-related p {
-    padding-left: 16px;
-    padding-right: 16px;
-}
-
-#content-related .actionlist {
-    padding: 0;
-    margin: 16px;
-}
-
-#content-related .actionlist li {
-    line-height: 1.2;
-    margin-bottom: 10px;
-    padding-left: 18px;
-}
-
-#content-related .module h2 {
-    background: none;
-    padding: 16px;
-    margin-bottom: 16px;
-    border-bottom: 1px solid #eaeaea;
-    font-size: 18px;
-    color: #333;
-}
-
-.delete-confirmation form input[type="submit"] {
-    background: #ba2121;
-    border-radius: 4px;
-    padding: 10px 15px;
-    color: #fff;
-}
-
-.delete-confirmation form input[type="submit"]:active,
-.delete-confirmation form input[type="submit"]:focus,
-.delete-confirmation form input[type="submit"]:hover {
-    background: #a41515;
-}
-
-.delete-confirmation form .cancel-link {
-    display: inline-block;
-    vertical-align: middle;
-    height: 15px;
-    line-height: 15px;
-    background: #ddd;
-    border-radius: 4px;
-    padding: 10px 15px;
-    color: #333;
-    margin: 0 0 0 10px;
-}
-
-.delete-confirmation form .cancel-link:active,
-.delete-confirmation form .cancel-link:focus,
-.delete-confirmation form .cancel-link:hover {
-    background: #ccc;
-}
-
-/* POPUP */
-.popup #content {
-    padding: 20px;
-}
-
-.popup #container {
-    min-width: 0;
-}
-
-.popup #header {
-    padding: 10px 20px;
-}
diff --git a/static/admin/css/changelists.css b/static/admin/css/changelists.css
deleted file mode 100644
index 17690a34..00000000
--- a/static/admin/css/changelists.css
+++ /dev/null
@@ -1,344 +0,0 @@
-/* CHANGELISTS */
-
-#changelist {
-    position: relative;
-    width: 100%;
-}
-
-#changelist table {
-    width: 100%;
-}
-
-.change-list .hiddenfields { display:none; }
-
-.change-list .filtered table {
-    border-right: none;
-}
-
-.change-list .filtered {
-    min-height: 400px;
-}
-
-.change-list .filtered .results, .change-list .filtered .paginator,
-.filtered #toolbar, .filtered div.xfull {
-    margin-right: 280px;
-    width: auto;
-}
-
-.change-list .filtered table tbody th {
-    padding-right: 1em;
-}
-
-#changelist-form .results {
-  overflow-x: auto;
-}
-
-#changelist .toplinks {
-    border-bottom: 1px solid #ddd;
-}
-
-#changelist .paginator {
-    color: #666;
-    border-bottom: 1px solid #eee;
-    background: #fff;
-    overflow: hidden;
-}
-
-/* CHANGELIST TABLES */
-
-#changelist table thead th {
-    padding: 0;
-    white-space: nowrap;
-    vertical-align: middle;
-}
-
-#changelist table thead th.action-checkbox-column {
-    width: 1.5em;
-    text-align: center;
-}
-
-#changelist table tbody td.action-checkbox {
-    text-align: center;
-}
-
-#changelist table tfoot {
-    color: #666;
-}
-
-/* TOOLBAR */
-
-#changelist #toolbar {
-    padding: 8px 10px;
-    margin-bottom: 15px;
-    border-top: 1px solid #eee;
-    border-bottom: 1px solid #eee;
-    background: #f8f8f8;
-    color: #666;
-}
-
-#changelist #toolbar form input {
-    border-radius: 4px;
-    font-size: 14px;
-    padding: 5px;
-    color: #333;
-}
-
-#changelist #toolbar form #searchbar {
-    height: 19px;
-    border: 1px solid #ccc;
-    padding: 2px 5px;
-    margin: 0;
-    vertical-align: top;
-    font-size: 13px;
-}
-
-#changelist #toolbar form #searchbar:focus {
-    border-color: #999;
-}
-
-#changelist #toolbar form input[type="submit"] {
-    border: 1px solid #ccc;
-    padding: 2px 10px;
-    margin: 0;
-    vertical-align: middle;
-    background: #fff;
-    box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
-    cursor: pointer;
-    color: #333;
-}
-
-#changelist #toolbar form input[type="submit"]:focus,
-#changelist #toolbar form input[type="submit"]:hover {
-    border-color: #999;
-}
-
-#changelist #changelist-search img {
-    vertical-align: middle;
-    margin-right: 4px;
-}
-
-/* FILTER COLUMN */
-
-#changelist-filter {
-    position: absolute;
-    top: 0;
-    right: 0;
-    z-index: 1000;
-    width: 240px;
-    background: #f8f8f8;
-    border-left: none;
-    margin: 0;
-}
-
-#changelist-filter h2 {
-    font-size: 14px;
-    text-transform: uppercase;
-    letter-spacing: 0.5px;
-    padding: 5px 15px;
-    margin-bottom: 12px;
-    border-bottom: none;
-}
-
-#changelist-filter h3 {
-    font-weight: 400;
-    font-size: 14px;
-    padding: 0 15px;
-    margin-bottom: 10px;
-}
-
-#changelist-filter ul {
-    margin: 5px 0;
-    padding: 0 15px 15px;
-    border-bottom: 1px solid #eaeaea;
-}
-
-#changelist-filter ul:last-child {
-    border-bottom: none;
-    padding-bottom: none;
-}
-
-#changelist-filter li {
-    list-style-type: none;
-    margin-left: 0;
-    padding-left: 0;
-}
-
-#changelist-filter a {
-    display: block;
-    color: #999;
-    text-overflow: ellipsis;
-    overflow-x: hidden;
-}
-
-#changelist-filter li.selected {
-    border-left: 5px solid #eaeaea;
-    padding-left: 10px;
-    margin-left: -15px;
-}
-
-#changelist-filter li.selected a {
-    color: #5b80b2;
-}
-
-#changelist-filter a:focus, #changelist-filter a:hover,
-#changelist-filter li.selected a:focus,
-#changelist-filter li.selected a:hover {
-    color: #036;
-}
-
-/* DATE DRILLDOWN */
-
-.change-list ul.toplinks {
-    display: block;
-    float: left;
-    padding: 0;
-    margin: 0;
-    width: 100%;
-}
-
-.change-list ul.toplinks li {
-    padding: 3px 6px;
-    font-weight: bold;
-    list-style-type: none;
-    display: inline-block;
-}
-
-.change-list ul.toplinks .date-back a {
-    color: #999;
-}
-
-.change-list ul.toplinks .date-back a:focus,
-.change-list ul.toplinks .date-back a:hover {
-    color: #036;
-}
-
-/* PAGINATOR */
-
-.paginator {
-    font-size: 13px;
-    padding-top: 10px;
-    padding-bottom: 10px;
-    line-height: 22px;
-    margin: 0;
-    border-top: 1px solid #ddd;
-}
-
-.paginator a:link, .paginator a:visited {
-    padding: 2px 6px;
-    background: #79aec8;
-    text-decoration: none;
-    color: #fff;
-}
-
-.paginator a.showall {
-    padding: 0;
-    border: none;
-    background: none;
-    color: #5b80b2;
-}
-
-.paginator a.showall:focus, .paginator a.showall:hover {
-    background: none;
-    color: #036;
-}
-
-.paginator .end {
-    margin-right: 6px;
-}
-
-.paginator .this-page {
-    padding: 2px 6px;
-    font-weight: bold;
-    font-size: 13px;
-    vertical-align: top;
-}
-
-.paginator a:focus, .paginator a:hover {
-    color: white;
-    background: #036;
-}
-
-/* ACTIONS */
-
-.filtered .actions {
-    margin-right: 280px;
-    border-right: none;
-}
-
-#changelist table input {
-    margin: 0;
-    vertical-align: baseline;
-}
-
-#changelist table tbody tr.selected {
-    background-color: #FFFFCC;
-}
-
-#changelist .actions {
-    padding: 10px;
-    background: #fff;
-    border-top: none;
-    border-bottom: none;
-    line-height: 24px;
-    color: #999;
-}
-
-#changelist .actions.selected {
-    background: #fffccf;
-    border-top: 1px solid #fffee8;
-    border-bottom: 1px solid #edecd6;
-}
-
-#changelist .actions span.all,
-#changelist .actions span.action-counter,
-#changelist .actions span.clear,
-#changelist .actions span.question {
-    font-size: 13px;
-    margin: 0 0.5em;
-    display: none;
-}
-
-#changelist .actions:last-child {
-    border-bottom: none;
-}
-
-#changelist .actions select {
-    vertical-align: top;
-    height: 24px;
-    background: none;
-    color: #000;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    font-size: 14px;
-    padding: 0 0 0 4px;
-    margin: 0;
-    margin-left: 10px;
-}
-
-#changelist .actions select:focus {
-    border-color: #999;
-}
-
-#changelist .actions label {
-    display: inline-block;
-    vertical-align: middle;
-    font-size: 13px;
-}
-
-#changelist .actions .button {
-    font-size: 13px;
-    border: 1px solid #ccc;
-    border-radius: 4px;
-    background: #fff;
-    box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset;
-    cursor: pointer;
-    height: 24px;
-    line-height: 1;
-    padding: 4px 8px;
-    margin: 0;
-    color: #333;
-}
-
-#changelist .actions .button:focus, #changelist .actions .button:hover {
-    border-color: #999;
-}
diff --git a/static/admin/css/dashboard.css b/static/admin/css/dashboard.css
deleted file mode 100644
index 1560c7b4..00000000
--- a/static/admin/css/dashboard.css
+++ /dev/null
@@ -1,27 +0,0 @@
-/* DASHBOARD */
-
-.dashboard .module table th {
-    width: 100%;
-}
-
-.dashboard .module table td {
-    white-space: nowrap;
-}
-
-.dashboard .module table td a {
-    display: block;
-    padding-right: .6em;
-}
-
-/* RECENT ACTIONS MODULE */
-
-.module ul.actionlist {
-    margin-left: 0;
-}
-
-ul.actionlist li {
-    list-style-type: none;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    -o-text-overflow: ellipsis;
-}
diff --git a/static/admin/css/fonts.css b/static/admin/css/fonts.css
deleted file mode 100644
index c837e017..00000000
--- a/static/admin/css/fonts.css
+++ /dev/null
@@ -1,20 +0,0 @@
-@font-face {
-    font-family: 'Roboto';
-    src: url('../fonts/Roboto-Bold-webfont.woff');
-    font-weight: 700;
-    font-style: normal;
-}
-
-@font-face {
-    font-family: 'Roboto';
-    src: url('../fonts/Roboto-Regular-webfont.woff');
-    font-weight: 400;
-    font-style: normal;
-}
-
-@font-face {
-    font-family: 'Roboto';
-    src: url('../fonts/Roboto-Light-webfont.woff');
-    font-weight: 300;
-    font-style: normal;
-}
diff --git a/static/admin/css/forms.css b/static/admin/css/forms.css
deleted file mode 100644
index 62a093f9..00000000
--- a/static/admin/css/forms.css
+++ /dev/null
@@ -1,532 +0,0 @@
-@import url('widgets.css');
-
-/* FORM ROWS */
-
-.form-row {
-    overflow: hidden;
-    padding: 10px;
-    font-size: 13px;
-    border-bottom: 1px solid #eee;
-}
-
-.form-row img, .form-row input {
-    vertical-align: middle;
-}
-
-.form-row label input[type="checkbox"] {
-    margin-top: 0;
-    vertical-align: 0;
-}
-
-form .form-row p {
-    padding-left: 0;
-}
-
-.hidden {
-    display: none;
-}
-
-/* FORM LABELS */
-
-label {
-    font-weight: normal;
-    color: #666;
-    font-size: 13px;
-}
-
-.required label, label.required {
-    font-weight: bold;
-    color: #333;
-}
-
-/* RADIO BUTTONS */
-
-form ul.radiolist li {
-    list-style-type: none;
-}
-
-form ul.radiolist label {
-    float: none;
-    display: inline;
-}
-
-form ul.radiolist input[type="radio"] {
-    margin: -2px 4px 0 0;
-    padding: 0;
-}
-
-form ul.inline {
-    margin-left: 0;
-    padding: 0;
-}
-
-form ul.inline li {
-    float: left;
-    padding-right: 7px;
-}
-
-/* ALIGNED FIELDSETS */
-
-.aligned label {
-    display: block;
-    padding: 4px 10px 0 0;
-    float: left;
-    width: 160px;
-    word-wrap: break-word;
-    line-height: 1;
-}
-
-.aligned label:not(.vCheckboxLabel):after {
-    content: '';
-    display: inline-block;
-    vertical-align: middle;
-    height: 26px;
-}
-
-.aligned label + p, .aligned label + div.help, .aligned label + div.readonly {
-    padding: 6px 0;
-    margin-top: 0;
-    margin-bottom: 0;
-    margin-left: 170px;
-}
-
-.aligned ul label {
-    display: inline;
-    float: none;
-    width: auto;
-}
-
-.aligned .form-row input {
-    margin-bottom: 0;
-}
-
-.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField {
-    width: 350px;
-}
-
-form .aligned ul {
-    margin-left: 160px;
-    padding-left: 10px;
-}
-
-form .aligned ul.radiolist {
-    display: inline-block;
-    margin: 0;
-    padding: 0;
-}
-
-form .aligned p.help,
-form .aligned div.help {
-    clear: left;
-    margin-top: 0;
-    margin-left: 160px;
-    padding-left: 10px;
-}
-
-form .aligned label + p.help,
-form .aligned label + div.help {
-    margin-left: 0;
-    padding-left: 0;
-}
-
-form .aligned p.help:last-child,
-form .aligned div.help:last-child {
-    margin-bottom: 0;
-    padding-bottom: 0;
-}
-
-form .aligned input + p.help,
-form .aligned textarea + p.help,
-form .aligned select + p.help,
-form .aligned input + div.help,
-form .aligned textarea + div.help,
-form .aligned select + div.help {
-    margin-left: 160px;
-    padding-left: 10px;
-}
-
-form .aligned ul li {
-    list-style: none;
-}
-
-form .aligned table p {
-    margin-left: 0;
-    padding-left: 0;
-}
-
-.aligned .vCheckboxLabel {
-    float: none;
-    width: auto;
-    display: inline-block;
-    vertical-align: -3px;
-    padding: 0 0 5px 5px;
-}
-
-.aligned .vCheckboxLabel + p.help,
-.aligned .vCheckboxLabel + div.help {
-    margin-top: -4px;
-}
-
-.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField {
-    width: 610px;
-}
-
-.checkbox-row p.help,
-.checkbox-row div.help {
-    margin-left: 0;
-    padding-left: 0;
-}
-
-fieldset .fieldBox {
-    float: left;
-    margin-right: 20px;
-}
-
-/* WIDE FIELDSETS */
-
-.wide label {
-    width: 200px;
-}
-
-form .wide p,
-form .wide input + p.help,
-form .wide input + div.help {
-    margin-left: 200px;
-}
-
-form .wide p.help,
-form .wide div.help {
-    padding-left: 38px;
-}
-
-form div.help ul {
-    padding-left: 0;
-    margin-left: 0;
-}
-
-.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField {
-    width: 450px;
-}
-
-/* COLLAPSED FIELDSETS */
-
-fieldset.collapsed * {
-    display: none;
-}
-
-fieldset.collapsed h2, fieldset.collapsed {
-    display: block;
-}
-
-fieldset.collapsed {
-    border: 1px solid #eee;
-    border-radius: 4px;
-    overflow: hidden;
-}
-
-fieldset.collapsed h2 {
-    background: #f8f8f8;
-    color: #666;
-}
-
-fieldset .collapse-toggle {
-    color: #fff;
-}
-
-fieldset.collapsed .collapse-toggle {
-    background: transparent;
-    display: inline;
-    color: #447e9b;
-}
-
-/* MONOSPACE TEXTAREAS */
-
-fieldset.monospace textarea {
-    font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
-}
-
-/* SUBMIT ROW */
-
-.submit-row {
-    padding: 12px 14px;
-    margin: 0 0 20px;
-    background: #f8f8f8;
-    border: 1px solid #eee;
-    border-radius: 4px;
-    text-align: right;
-    overflow: hidden;
-}
-
-body.popup .submit-row {
-    overflow: auto;
-}
-
-.submit-row input {
-    height: 35px;
-    line-height: 15px;
-    margin: 0 0 0 5px;
-}
-
-.submit-row input.default {
-    margin: 0 0 0 8px;
-    text-transform: uppercase;
-}
-
-.submit-row p {
-    margin: 0.3em;
-}
-
-.submit-row p.deletelink-box {
-    float: left;
-    margin: 0;
-}
-
-.submit-row a.deletelink {
-    display: block;
-    background: #ba2121;
-    border-radius: 4px;
-    padding: 10px 15px;
-    height: 15px;
-    line-height: 15px;
-    color: #fff;
-}
-
-.submit-row a.closelink {
-    display: inline-block;
-    background: #bbbbbb;
-    border-radius: 4px;
-    padding: 10px 15px;
-    height: 15px;
-    line-height: 15px;
-    margin: 0 0 0 5px;
-    color: #fff;
-}
-
-.submit-row a.deletelink:focus,
-.submit-row a.deletelink:hover,
-.submit-row a.deletelink:active {
-    background: #a41515;
-}
-
-.submit-row a.closelink:focus,
-.submit-row a.closelink:hover,
-.submit-row a.closelink:active {
-    background: #aaaaaa;
-}
-
-/* CUSTOM FORM FIELDS */
-
-.vSelectMultipleField {
-    vertical-align: top;
-}
-
-.vCheckboxField {
-    border: none;
-}
-
-.vDateField, .vTimeField {
-    margin-right: 2px;
-    margin-bottom: 4px;
-}
-
-.vDateField {
-    min-width: 6.85em;
-}
-
-.vTimeField {
-    min-width: 4.7em;
-}
-
-.vURLField {
-    width: 30em;
-}
-
-.vLargeTextField, .vXMLLargeTextField {
-    width: 48em;
-}
-
-.flatpages-flatpage #id_content {
-    height: 40.2em;
-}
-
-.module table .vPositiveSmallIntegerField {
-    width: 2.2em;
-}
-
-.vTextField, .vUUIDField {
-    width: 20em;
-}
-
-.vIntegerField {
-    width: 5em;
-}
-
-.vBigIntegerField {
-    width: 10em;
-}
-
-.vForeignKeyRawIdAdminField {
-    width: 5em;
-}
-
-/* INLINES */
-
-.inline-group {
-    padding: 0;
-    margin: 0 0 30px;
-}
-
-.inline-group thead th {
-    padding: 8px 10px;
-}
-
-.inline-group .aligned label {
-    width: 160px;
-}
-
-.inline-related {
-    position: relative;
-}
-
-.inline-related h3 {
-    margin: 0;
-    color: #666;
-    padding: 5px;
-    font-size: 13px;
-    background: #f8f8f8;
-    border-top: 1px solid #eee;
-    border-bottom: 1px solid #eee;
-}
-
-.inline-related h3 span.delete {
-    float: right;
-}
-
-.inline-related h3 span.delete label {
-    margin-left: 2px;
-    font-size: 11px;
-}
-
-.inline-related fieldset {
-    margin: 0;
-    background: #fff;
-    border: none;
-    width: 100%;
-}
-
-.inline-related fieldset.module h3 {
-    margin: 0;
-    padding: 2px 5px 3px 5px;
-    font-size: 11px;
-    text-align: left;
-    font-weight: bold;
-    background: #bcd;
-    color: #fff;
-}
-
-.inline-group .tabular fieldset.module {
-    border: none;
-}
-
-.inline-related.tabular fieldset.module table {
-    width: 100%;
-}
-
-.last-related fieldset {
-    border: none;
-}
-
-.inline-group .tabular tr.has_original td {
-    padding-top: 2em;
-}
-
-.inline-group .tabular tr td.original {
-    padding: 2px 0 0 0;
-    width: 0;
-    _position: relative;
-}
-
-.inline-group .tabular th.original {
-    width: 0px;
-    padding: 0;
-}
-
-.inline-group .tabular td.original p {
-    position: absolute;
-    left: 0;
-    height: 1.1em;
-    padding: 2px 9px;
-    overflow: hidden;
-    font-size: 9px;
-    font-weight: bold;
-    color: #666;
-    _width: 700px;
-}
-
-.inline-group ul.tools {
-    padding: 0;
-    margin: 0;
-    list-style: none;
-}
-
-.inline-group ul.tools li {
-    display: inline;
-    padding: 0 5px;
-}
-
-.inline-group div.add-row,
-.inline-group .tabular tr.add-row td {
-    color: #666;
-    background: #f8f8f8;
-    padding: 8px 10px;
-    border-bottom: 1px solid #eee;
-}
-
-.inline-group .tabular tr.add-row td {
-    padding: 8px 10px;
-    border-bottom: 1px solid #eee;
-}
-
-.inline-group ul.tools a.add,
-.inline-group div.add-row a,
-.inline-group .tabular tr.add-row td a {
-    background: url(../img/icon-addlink.svg) 0 1px no-repeat;
-    padding-left: 16px;
-    font-size: 12px;
-}
-
-.empty-form {
-    display: none;
-}
-
-/* RELATED FIELD ADD ONE / LOOKUP */
-
-.add-another, .related-lookup {
-    margin-left: 5px;
-    display: inline-block;
-    vertical-align: middle;
-    background-repeat: no-repeat;
-    background-size: 14px;
-}
-
-.add-another {
-    width: 16px;
-    height: 16px;
-    background-image: url(../img/icon-addlink.svg);
-}
-
-.related-lookup {
-    width: 16px;
-    height: 16px;
-    background-image: url(../img/search.svg);
-}
-
-form .related-widget-wrapper ul {
-    display: inline-block;
-    margin-left: 0;
-    padding-left: 0;
-}
-
-.clearable-file-input input {
-    margin-top: 0;
-}
diff --git a/static/admin/css/login.css b/static/admin/css/login.css
deleted file mode 100644
index 2ec241c2..00000000
--- a/static/admin/css/login.css
+++ /dev/null
@@ -1,79 +0,0 @@
-/* LOGIN FORM */
-
-body.login {
-    background: #f8f8f8;
-}
-
-.login #header {
-    height: auto;
-    padding: 15px 16px;
-    justify-content: center;
-}
-
-.login #header h1 {
-    font-size: 18px;
-}
-
-.login #header h1 a {
-    color: #fff;
-}
-
-.login #content {
-    padding: 20px 20px 0;
-}
-
-.login #container {
-    background: #fff;
-    border: 1px solid #eaeaea;
-    border-radius: 4px;
-    overflow: hidden;
-    width: 28em;
-    min-width: 300px;
-    margin: 100px auto;
-}
-
-.login #content-main {
-    width: 100%;
-}
-
-.login .form-row {
-    padding: 4px 0;
-    float: left;
-    width: 100%;
-    border-bottom: none;
-}
-
-.login .form-row label {
-    padding-right: 0.5em;
-    line-height: 2em;
-    font-size: 1em;
-    clear: both;
-    color: #333;
-}
-
-.login .form-row #id_username, .login .form-row #id_password {
-    clear: both;
-    padding: 8px;
-    width: 100%;
-    -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-            box-sizing: border-box;
-}
-
-.login span.help {
-    font-size: 10px;
-    display: block;
-}
-
-.login .submit-row {
-    clear: both;
-    padding: 1em 0 0 9.4em;
-    margin: 0;
-    border: none;
-    background: none;
-    text-align: left;
-}
-
-.login .password-reset-link {
-    text-align: center;
-}
diff --git a/static/admin/css/responsive.css b/static/admin/css/responsive.css
deleted file mode 100644
index 5b0d1ec3..00000000
--- a/static/admin/css/responsive.css
+++ /dev/null
@@ -1,992 +0,0 @@
-/* Tablets */
-
-input[type="submit"], button {
-    -webkit-appearance: none;
-    appearance: none;
-}
-
-@media (max-width: 1024px) {
-    /* Basic */
-
-    html {
-        -webkit-text-size-adjust: 100%;
-    }
-
-    td, th {
-        padding: 10px;
-        font-size: 14px;
-    }
-
-    .small {
-        font-size: 12px;
-    }
-
-    /* Layout */
-
-    #container {
-        min-width: 0;
-    }
-
-    #content {
-        padding: 20px 30px 30px;
-    }
-
-    div.breadcrumbs {
-        padding: 10px 30px;
-    }
-
-    /* Header */
-
-    #header {
-        flex-direction: column;
-        padding: 15px 30px;
-        justify-content: flex-start;
-    }
-
-    #branding h1 {
-        margin: 0 0 8px;
-        font-size: 20px;
-        line-height: 1.2;
-    }
-
-    #user-tools {
-        margin: 0;
-        font-weight: 400;
-        line-height: 1.85;
-        text-align: left;
-    }
-
-    #user-tools a {
-        display: inline-block;
-        line-height: 1.4;
-    }
-
-    /* Dashboard */
-
-    .dashboard #content {
-        width: auto;
-    }
-
-    #content-related {
-        margin-right: -290px;
-    }
-
-    .colSM #content-related {
-        margin-left: -290px;
-    }
-
-    .colMS {
-        margin-right: 290px;
-    }
-
-    .colSM {
-        margin-left: 290px;
-    }
-
-    .dashboard .module table td a {
-        padding-right: 0;
-    }
-
-    td .changelink, td .addlink {
-        font-size: 13px;
-    }
-
-    /* Changelist */
-
-    #changelist #toolbar {
-        border: none;
-        padding: 15px;
-    }
-
-    #changelist-search > div {
-        display: -webkit-flex;
-        display: flex;
-        -webkit-flex-wrap: wrap;
-        flex-wrap: wrap;
-        max-width: 480px;
-    }
-
-    #changelist-search label {
-        line-height: 22px;
-    }
-
-    #changelist #toolbar form #searchbar {
-        -webkit-flex: 1 0 auto;
-        flex: 1 0 auto;
-        width: 0;
-        height: 22px;
-        margin: 0 10px 0 6px;
-    }
-
-    #changelist-search .quiet {
-        width: 100%;
-        margin: 5px 0 0 25px;
-    }
-
-    #changelist .actions {
-        display: flex;
-        flex-wrap: wrap;
-        padding: 15px 0;
-    }
-
-    #changelist .actions.selected {
-        border: none;
-    }
-
-    #changelist .actions label {
-        display: flex;
-    }
-
-    #changelist .actions select {
-        background: #fff;
-    }
-
-    #changelist .actions .button {
-        min-width: 48px;
-        margin: 0 10px;
-    }
-
-    #changelist .actions span.all,
-    #changelist .actions span.clear,
-    #changelist .actions span.question,
-    #changelist .actions span.action-counter {
-        font-size: 11px;
-        margin: 0 10px 0 0;
-    }
-
-    #changelist-filter {
-        width: 200px;
-    }
-
-    .change-list .filtered .results,
-    .change-list .filtered .paginator,
-    .filtered #toolbar,
-    .filtered .actions,
-    .filtered div.xfull {
-        margin-right: 230px;
-    }
-
-    #changelist .paginator {
-        border-top-color: #eee;
-    }
-
-    #changelist .results + .paginator {
-        border-top: none;
-    }
-
-    /* Forms */
-
-    label {
-        font-size: 14px;
-    }
-
-    .form-row input[type=text],
-    .form-row input[type=password],
-    .form-row input[type=email],
-    .form-row input[type=url],
-    .form-row input[type=tel],
-    .form-row input[type=number],
-    .form-row textarea,
-    .form-row select,
-    .form-row .vTextField {
-        box-sizing: border-box;
-        margin: 0;
-        padding: 6px 8px;
-        min-height: 36px;
-        font-size: 14px;
-    }
-
-    .form-row select {
-        height: 36px;
-    }
-
-    .form-row select[multiple] {
-        height: auto;
-        min-height: 0;
-    }
-
-    fieldset .fieldBox {
-        float: none;
-        margin: 0 -10px;
-        padding: 0 10px;
-    }
-
-    fieldset .fieldBox + .fieldBox {
-        margin-top: 10px;
-        padding-top: 10px;
-        border-top: 1px solid #eee;
-    }
-
-    textarea {
-        max-width: 518px;
-        max-height: 120px;
-    }
-
-    .aligned label {
-        padding-top: 6px;
-    }
-
-    .aligned .add-another,
-    .aligned .related-lookup,
-    .aligned .datetimeshortcuts,
-    .aligned .related-lookup + strong {
-        align-self: center;
-        margin-left: 15px;
-    }
-
-    form .aligned ul.radiolist {
-        margin-left: 2px;
-    }
-
-    /* Related widget */
-
-    .related-widget-wrapper {
-        float: none;
-    }
-
-    .related-widget-wrapper-link + .selector {
-        max-width: calc(100% - 30px);
-        margin-right: 15px;
-    }
-
-    select + .related-widget-wrapper-link,
-    .related-widget-wrapper-link + .related-widget-wrapper-link {
-        margin-left: 10px;
-    }
-
-    /* Selector */
-
-    .selector {
-        display: flex;
-        width: 100%;
-    }
-
-    .selector .selector-filter {
-        display: flex;
-        align-items: center;
-    }
-
-    .selector .selector-filter label {
-        margin: 0 8px 0 0;
-    }
-
-    .selector .selector-filter input {
-        width: auto;
-        min-height: 0;
-        flex: 1 1;
-    }
-
-    .selector-available, .selector-chosen {
-        width: auto;
-        flex: 1 1;
-        display: flex;
-        flex-direction: column;
-    }
-
-    .selector select {
-        width: 100%;
-        flex: 1 0 auto;
-        margin-bottom: 5px;
-    }
-
-    .selector ul.selector-chooser {
-        width: 26px;
-        height: 52px;
-        padding: 2px 0;
-        margin: auto 15px;
-        border-radius: 20px;
-        transform: translateY(-10px);
-    }
-
-    .selector-add, .selector-remove {
-        width: 20px;
-        height: 20px;
-        background-size: 20px auto;
-    }
-
-    .selector-add {
-        background-position: 0 -120px;
-    }
-
-    .selector-remove {
-        background-position: 0 -80px;
-    }
-
-    a.selector-chooseall, a.selector-clearall {
-        align-self: center;
-    }
-
-    .stacked {
-        flex-direction: column;
-        max-width: 480px;
-    }
-
-    .stacked > * {
-        flex: 0 1 auto;
-    }
-
-    .stacked select {
-        margin-bottom: 0;
-    }
-
-    .stacked .selector-available, .stacked .selector-chosen {
-        width: auto;
-    }
-
-    .stacked ul.selector-chooser {
-        width: 52px;
-        height: 26px;
-        padding: 0 2px;
-        margin: 15px auto;
-        transform: none;
-    }
-
-    .stacked .selector-chooser li {
-        padding: 3px;
-    }
-
-    .stacked .selector-add, .stacked .selector-remove {
-        background-size: 20px auto;
-    }
-
-    .stacked .selector-add {
-        background-position: 0 -40px;
-    }
-
-    .stacked .active.selector-add {
-        background-position: 0 -60px;
-    }
-
-    .stacked .selector-remove {
-        background-position: 0 0;
-    }
-
-    .stacked .active.selector-remove {
-        background-position: 0 -20px;
-    }
-
-    .help-tooltip, .selector .help-icon {
-        display: none;
-    }
-
-    form .form-row p.datetime {
-        width: 100%;
-    }
-
-    .datetime input {
-        width: 50%;
-        max-width: 120px;
-    }
-
-    .datetime span {
-        font-size: 13px;
-    }
-
-    .datetime .timezonewarning {
-        display: block;
-        font-size: 11px;
-        color: #999;
-    }
-
-    .datetimeshortcuts {
-        color: #ccc;
-    }
-
-    .inline-group {
-        overflow: auto;
-    }
-
-    /* Messages */
-
-    ul.messagelist li {
-        padding-left: 55px;
-        background-position: 30px 12px;
-    }
-
-    ul.messagelist li.error {
-        background-position: 30px 12px;
-    }
-
-    ul.messagelist li.warning {
-        background-position: 30px 14px;
-    }
-
-    /* Login */
-
-    .login #header {
-        padding: 15px 20px;
-    }
-
-    .login #branding h1 {
-        margin: 0;
-    }
-
-    /* GIS */
-
-    div.olMap {
-        max-width: calc(100vw - 30px);
-        max-height: 300px;
-    }
-
-    .olMap + .clear_features {
-        display: block;
-        margin-top: 10px;
-    }
-
-    /* Docs */
-
-    .module table.xfull {
-        width: 100%;
-    }
-
-    pre.literal-block {
-        overflow: auto;
-    }
-}
-
-/* Mobile */
-
-@media (max-width: 767px) {
-    /* Layout */
-
-    #header, #content, #footer {
-        padding: 15px;
-    }
-
-    #footer:empty {
-        padding: 0;
-    }
-
-    div.breadcrumbs {
-        padding: 10px 15px;
-    }
-
-    /* Dashboard */
-
-    .colMS, .colSM {
-        margin: 0;
-    }
-
-    #content-related, .colSM #content-related {
-        width: 100%;
-        margin: 0;
-    }
-
-    #content-related .module {
-        margin-bottom: 0;
-    }
-
-    #content-related .module h2 {
-        padding: 10px 15px;
-        font-size: 16px;
-    }
-
-    /* Changelist */
-
-    #changelist {
-        display: flex;
-        flex-direction: column;
-    }
-
-    #changelist #toolbar {
-        order: 1;
-        padding: 10px;
-    }
-
-    #changelist .xfull {
-        order: 2;
-    }
-
-    #changelist-form {
-        order: 3;
-    }
-
-    #changelist-filter {
-        order: 4;
-    }
-
-    #changelist .actions label {
-        flex: 1 1;
-    }
-
-    #changelist .actions select {
-        flex: 1 0;
-        width: 100%;
-    }
-
-    #changelist .actions span {
-        flex: 1 0 100%;
-    }
-
-    .change-list .filtered .results, .change-list .filtered .paginator,
-    .filtered #toolbar, .filtered .actions, .filtered div.xfull {
-        margin-right: 0;
-    }
-
-    #changelist-filter {
-        position: static;
-        width: auto;
-        margin-top: 30px;
-    }
-
-    .object-tools {
-        float: none;
-        margin: 0 0 15px;
-        padding: 0;
-        overflow: hidden;
-    }
-
-    .object-tools li {
-        height: auto;
-        margin-left: 0;
-    }
-
-    .object-tools li + li {
-        margin-left: 15px;
-    }
-
-    /* Forms */
-
-    .form-row {
-        padding: 15px 0;
-    }
-
-    .aligned .form-row,
-    .aligned .form-row > div {
-        display: flex;
-        flex-wrap: wrap;
-        max-width: 100vw;
-    }
-
-    .aligned .form-row > div {
-        width: calc(100vw - 30px);
-    }
-
-    textarea {
-        max-width: none;
-    }
-
-    .vURLField {
-        width: auto;
-    }
-
-    fieldset .fieldBox + .fieldBox {
-        margin-top: 15px;
-        padding-top: 15px;
-    }
-
-    fieldset.collapsed .form-row {
-        display: none;
-    }
-
-    .aligned label {
-        width: 100%;
-        padding: 0 0 10px;
-    }
-
-    .aligned label:after {
-        max-height: 0;
-    }
-
-    .aligned .form-row input,
-    .aligned .form-row select,
-    .aligned .form-row textarea {
-        flex: 1 1 auto;
-        max-width: 100%;
-    }
-
-    .aligned .checkbox-row {
-        align-items: center;
-    }
-
-    .aligned .checkbox-row input {
-        flex: 0 1 auto;
-        margin: 0;
-    }
-
-    .aligned .vCheckboxLabel {
-        flex: 1 0;
-        padding: 1px 0 0 5px;
-    }
-
-    .aligned label + p,
-    .aligned label + div.help,
-    .aligned label + div.readonly {
-        padding: 0;
-        margin-left: 0;
-    }
-
-    .aligned p.file-upload {
-        margin-left: 0;
-        font-size: 13px;
-    }
-
-    span.clearable-file-input {
-        margin-left: 15px;
-    }
-
-    span.clearable-file-input label {
-        font-size: 13px;
-        padding-bottom: 0;
-    }
-
-    .aligned .timezonewarning {
-        flex: 1 0 100%;
-        margin-top: 5px;
-    }
-
-    form .aligned .form-row div.help {
-        width: 100%;
-        margin: 5px 0 0;
-        padding: 0;
-    }
-
-    form .aligned ul {
-        margin-left: 0;
-        padding-left: 0;
-    }
-
-    form .aligned ul.radiolist {
-        margin-right: 15px;
-        margin-bottom: -3px;
-    }
-
-    form .aligned ul.radiolist li + li {
-        margin-top: 5px;
-    }
-
-    /* Related widget */
-
-    .related-widget-wrapper {
-        width: 100%;
-        display: flex;
-        align-items: flex-start;
-    }
-
-    .related-widget-wrapper .selector {
-        order: 1;
-    }
-
-    .related-widget-wrapper > a {
-        order: 2;
-    }
-
-    .related-widget-wrapper .radiolist ~ a {
-        align-self: flex-end;
-    }
-
-    .related-widget-wrapper > select ~ a {
-        align-self: center;
-    }
-
-    select + .related-widget-wrapper-link,
-    .related-widget-wrapper-link + .related-widget-wrapper-link {
-        margin-left: 15px;
-    }
-
-    /* Selector */
-
-    .selector {
-        flex-direction: column;
-    }
-
-    .selector > * {
-        float: none;
-    }
-
-    .selector-available, .selector-chosen {
-        margin-bottom: 0;
-        flex: 1 1 auto;
-    }
-
-    .selector select {
-        max-height: 96px;
-    }
-
-    .selector ul.selector-chooser {
-        display: block;
-        float: none;
-        width: 52px;
-        height: 26px;
-        padding: 0 2px;
-        margin: 15px auto 20px;
-        transform: none;
-    }
-
-    .selector ul.selector-chooser li {
-        float: left;
-    }
-
-    .selector-remove {
-        background-position: 0 0;
-    }
-
-    .selector-add  {
-        background-position: 0 -40px;
-    }
-
-    /* Inlines */
-
-    .inline-group[data-inline-type="stacked"] .inline-related {
-        border: 2px solid #eee;
-        border-radius: 4px;
-        margin-top: 15px;
-        overflow: auto;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related > * {
-        box-sizing: border-box;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related + .inline-related {
-        margin-top: 30px;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related .module {
-        padding: 0 10px;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:last-child {
-        border-bottom: none;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related h3 {
-        padding: 10px;
-        border-top-width: 0;
-        border-bottom-width: 2px;
-        display: flex;
-        flex-wrap: wrap;
-        align-items: center;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related h3 .inline_label {
-        margin-right: auto;
-    }
-
-    .inline-group[data-inline-type="stacked"] .inline-related h3 span.delete {
-        float: none;
-        flex: 1 1 100%;
-        margin-top: 5px;
-    }
-
-    .inline-group[data-inline-type="stacked"] .aligned .form-row > div:not([class]) {
-        width: 100%;
-    }
-
-    .inline-group[data-inline-type="stacked"] .aligned label {
-        width: 100%;
-    }
-
-    .inline-group[data-inline-type="stacked"] div.add-row {
-        margin-top: 15px;
-        border: 1px solid #eee;
-        border-radius: 4px;
-    }
-
-    .inline-group div.add-row,
-    .inline-group .tabular tr.add-row td {
-        padding: 0;
-    }
-
-    .inline-group div.add-row a,
-    .inline-group .tabular tr.add-row td a {
-        display: block;
-        padding: 8px 10px 8px 26px;
-        background-position: 8px 9px;
-    }
-
-    /* Submit row */
-
-    .submit-row {
-        padding: 10px 10px 0;
-        margin: 0 0 15px;
-        display: flex;
-        flex-direction: column;
-    }
-
-    .submit-row > * {
-        width: 100%;
-    }
-
-    .submit-row input, .submit-row input.default, .submit-row a, .submit-row a.closelink {
-        float: none;
-        margin: 0 0 10px;
-        text-align: center;
-    }
-
-    .submit-row a.closelink {
-        padding: 10px 0;
-    }
-
-    .submit-row p.deletelink-box {
-        order: 4;
-    }
-
-    /* Messages */
-
-    ul.messagelist li {
-        padding-left: 40px;
-        background-position: 15px 12px;
-    }
-
-    ul.messagelist li.error {
-        background-position: 15px 12px;
-    }
-
-    ul.messagelist li.warning {
-        background-position: 15px 14px;
-    }
-
-    /* Paginator */
-
-    .paginator .this-page, .paginator a:link, .paginator a:visited {
-        padding: 4px 10px;
-    }
-
-    /* Login */
-
-    body.login {
-        padding: 0 15px;
-    }
-
-    .login #container {
-        width: auto;
-        max-width: 480px;
-        margin: 50px auto;
-    }
-
-    .login #header,
-    .login #content {
-        padding: 15px;
-    }
-
-    .login #content-main {
-        float: none;
-    }
-
-    .login .form-row {
-        padding: 0;
-    }
-
-    .login .form-row + .form-row {
-        margin-top: 15px;
-    }
-
-    .login .form-row label {
-        display: block;
-        margin: 0 0 5px;
-        padding: 0;
-        line-height: 1.2;
-    }
-
-    .login .submit-row {
-        padding: 15px 0 0;
-    }
-
-    .login br, .login .submit-row label {
-        display: none;
-    }
-
-    .login .submit-row input {
-        margin: 0;
-        text-transform: uppercase;
-    }
-
-    .errornote {
-        margin: 0 0 20px;
-        padding: 8px 12px;
-        font-size: 13px;
-    }
-
-    /* Calendar and clock */
-
-    .calendarbox, .clockbox {
-        position: fixed !important;
-        top: 50% !important;
-        left: 50% !important;
-        transform: translate(-50%, -50%);
-        margin: 0;
-        border: none;
-        overflow: visible;
-    }
-
-    .calendarbox:before, .clockbox:before {
-        content: '';
-        position: fixed;
-        top: 50%;
-        left: 50%;
-        width: 100vw;
-        height: 100vh;
-        background: rgba(0, 0, 0, 0.75);
-        transform: translate(-50%, -50%);
-    }
-
-    .calendarbox > *, .clockbox > * {
-        position: relative;
-        z-index: 1;
-    }
-
-    .calendarbox > div:first-child {
-        z-index: 2;
-    }
-
-    .calendarbox .calendar, .clockbox h2 {
-        border-radius: 4px 4px 0 0;
-        overflow: hidden;
-    }
-
-    .calendarbox .calendar-cancel, .clockbox .calendar-cancel {
-        border-radius: 0 0 4px 4px;
-        overflow: hidden;
-    }
-
-    .calendar-shortcuts {
-        padding: 10px 0;
-        font-size: 12px;
-        line-height: 12px;
-    }
-
-    .calendar-shortcuts a {
-        margin: 0 4px;
-    }
-
-    .timelist a {
-        background: #fff;
-        padding: 4px;
-    }
-
-    .calendar-cancel {
-        padding: 8px 10px;
-    }
-
-    .clockbox h2 {
-        padding: 8px 15px;
-    }
-
-    .calendar caption {
-        padding: 10px;
-    }
-
-    .calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
-        z-index: 1;
-        top: 10px;
-    }
-
-    /* History */
-
-    table#change-history tbody th, table#change-history tbody td {
-        font-size: 13px;
-        word-break: break-word;
-    }
-
-    table#change-history tbody th {
-        width: auto;
-    }
-
-    /* Docs */
-
-    table.model tbody th, table.model tbody td {
-        font-size: 13px;
-        word-break: break-word;
-    }
-}
diff --git a/static/admin/css/responsive_rtl.css b/static/admin/css/responsive_rtl.css
deleted file mode 100644
index f999cb12..00000000
--- a/static/admin/css/responsive_rtl.css
+++ /dev/null
@@ -1,84 +0,0 @@
-/* TABLETS */
-
-@media (max-width: 1024px) {
-    [dir="rtl"] .colMS {
-        margin-right: 0;
-    }
-
-    [dir="rtl"] #user-tools {
-        text-align: right;
-    }
-
-    [dir="rtl"] #changelist .actions label {
-        padding-left: 10px;
-        padding-right: 0;
-    }
-
-    [dir="rtl"] #changelist .actions select {
-        margin-left: 0;
-        margin-right: 15px;
-    }
-
-    [dir="rtl"] .change-list .filtered .results,
-    [dir="rtl"] .change-list .filtered .paginator,
-    [dir="rtl"] .filtered #toolbar,
-    [dir="rtl"] .filtered div.xfull,
-    [dir="rtl"] .filtered .actions {
-        margin-right: 0;
-        margin-left: 230px;
-    }
-
-    [dir="rtl"] .inline-group ul.tools a.add,
-    [dir="rtl"] .inline-group div.add-row a,
-    [dir="rtl"] .inline-group .tabular tr.add-row td a {
-        padding: 8px 26px 8px 10px;
-        background-position: calc(100% - 8px) 9px;
-    }
-
-    [dir="rtl"] .related-widget-wrapper-link + .selector {
-        margin-right: 0;
-        margin-left: 15px;
-    }
-
-    [dir="rtl"] .selector .selector-filter label {
-        margin-right: 0;
-        margin-left: 8px;
-    }
-
-    [dir="rtl"] .object-tools li {
-        float: right;
-    }
-
-    [dir="rtl"] .object-tools li + li {
-        margin-left: 0;
-        margin-right: 15px;
-    }
-
-    [dir="rtl"] .dashboard .module table td a {
-        padding-left: 0;
-        padding-right: 16px;
-    }
-}
-
-/* MOBILE */
-
-@media (max-width: 767px) {
-    [dir="rtl"] .change-list .filtered .results,
-    [dir="rtl"] .change-list .filtered .paginator,
-    [dir="rtl"] .filtered #toolbar,
-    [dir="rtl"] .filtered div.xfull,
-    [dir="rtl"] .filtered .actions {
-        margin-left: 0;
-    }
-
-    [dir="rtl"] .aligned .add-another,
-    [dir="rtl"] .aligned .related-lookup,
-    [dir="rtl"] .aligned .datetimeshortcuts {
-        margin-left: 0;
-        margin-right: 15px;
-    }
-
-    [dir="rtl"] .aligned ul {
-        margin-right: 0;
-    }
-}
diff --git a/static/admin/css/rtl.css b/static/admin/css/rtl.css
deleted file mode 100644
index b9e26bfe..00000000
--- a/static/admin/css/rtl.css
+++ /dev/null
@@ -1,269 +0,0 @@
-body {
-    direction: rtl;
-}
-
-/* LOGIN */
-
-.login .form-row {
-    float: right;
-}
-
-.login .form-row label {
-    float: right;
-    padding-left: 0.5em;
-    padding-right: 0;
-    text-align: left;
-}
-
-.login .submit-row {
-    clear: both;
-    padding: 1em 9.4em 0 0;
-}
-
-/* GLOBAL */
-
-th {
-    text-align: right;
-}
-
-.module h2, .module caption {
-    text-align: right;
-}
-
-.module ul, .module ol {
-    margin-left: 0;
-    margin-right: 1.5em;
-}
-
-.viewlink, .addlink, .changelink {
-    padding-left: 0;
-    padding-right: 16px;
-    background-position: 100% 1px;
-}
-
-.deletelink {
-    padding-left: 0;
-    padding-right: 16px;
-    background-position: 100% 1px;
-}
-
-.object-tools {
-    float: left;
-}
-
-thead th:first-child,
-tfoot td:first-child {
-    border-left: none;
-}
-
-/* LAYOUT */
-
-#user-tools {
-    right: auto;
-    left: 0;
-    text-align: left;
-}
-
-div.breadcrumbs {
-    text-align: right;
-}
-
-#content-main {
-    float: right;
-}
-
-#content-related {
-    float: left;
-    margin-left: -300px;
-    margin-right: auto;
-}
-
-.colMS {
-    margin-left: 300px;
-    margin-right: 0;
-}
-
-/* SORTABLE TABLES */
-
-table thead th.sorted .sortoptions {
-   float: left;
-}
-
-thead th.sorted .text {
-    padding-right: 0;
-    padding-left: 42px;
-}
-
-/* dashboard styles */
-
-.dashboard .module table td a {
-    padding-left: .6em;
-    padding-right: 16px;
-}
-
-/* changelists styles */
-
-.change-list .filtered table {
-    border-left: none;
-    border-right: 0px none;
-}
-
-#changelist-filter {
-    right: auto;
-    left: 0;
-    border-left: none;
-    border-right: none;
-}
-
-.change-list .filtered .results, .change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull {
-    margin-right: 0;
-    margin-left: 280px;
-}
-
-#changelist-filter li.selected {
-    border-left: none;
-    padding-left: 10px;
-    margin-left: 0;
-    border-right: 5px solid #eaeaea;
-    padding-right: 10px;
-    margin-right: -15px;
-}
-
-.filtered .actions {
-    margin-left: 280px;
-    margin-right: 0;
-}
-
-#changelist table tbody td:first-child, #changelist table tbody th:first-child {
-    border-right: none;
-    border-left: none;
-}
-
-/* FORMS */
-
-.aligned label {
-    padding: 0 0 3px 1em;
-    float: right;
-}
-
-.submit-row {
-    text-align: left
-}
-
-.submit-row p.deletelink-box {
-    float: right;
-}
-
-.submit-row input.default {
-    margin-left: 0;
-}
-
-.vDateField, .vTimeField {
-    margin-left: 2px;
-}
-
-.aligned .form-row input {
-    margin-left: 5px;
-}
-
-form .aligned p.help, form .aligned div.help {
-    clear: right;
-}
-
-form .aligned ul {
-    margin-right: 163px;
-    margin-left: 0;
-}
-
-form ul.inline li {
-    float: right;
-    padding-right: 0;
-    padding-left: 7px;
-}
-
-input[type=submit].default, .submit-row input.default {
-    float: left;
-}
-
-fieldset .fieldBox {
-    float: right;
-    margin-left: 20px;
-    margin-right: 0;
-}
-
-.errorlist li {
-    background-position: 100% 12px;
-    padding: 0;
-}
-
-.errornote {
-    background-position: 100% 12px;
-    padding: 10px 12px;
-}
-
-/* WIDGETS */
-
-.calendarnav-previous {
-    top: 0;
-    left: auto;
-    right: 10px;
-}
-
-.calendarnav-next {
-    top: 0;
-    right: auto;
-    left: 10px;
-}
-
-.calendar caption, .calendarbox h2 {
-    text-align: center;
-}
-
-.selector {
-    float: right;
-}
-
-.selector .selector-filter {
-    text-align: right;
-}
-
-.inline-deletelink {
-    float: left;
-}
-
-form .form-row p.datetime {
-    overflow: hidden;
-}
-
-.related-widget-wrapper {
-    float: right;
-}
-
-/* MISC */
-
-.inline-related h2, .inline-group h2 {
-    text-align: right
-}
-
-.inline-related h3 span.delete {
-    padding-right: 20px;
-    padding-left: inherit;
-    left: 10px;
-    right: inherit;
-    float:left;
-}
-
-.inline-related h3 span.delete label {
-    margin-left: inherit;
-    margin-right: 2px;
-}
-
-/* IE7 specific bug fixes */
-
-div.colM {
-    position: relative;
-}
-
-.submit-row input {
-    float: left;
-}
diff --git a/static/admin/css/vendor/select2/LICENSE-SELECT2.md b/static/admin/css/vendor/select2/LICENSE-SELECT2.md
deleted file mode 100644
index 86c7c291..00000000
--- a/static/admin/css/vendor/select2/LICENSE-SELECT2.md
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2012-2015 Kevin Brown, Igor Vaynberg, and Select2 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/static/admin/css/vendor/select2/select2.css b/static/admin/css/vendor/select2/select2.css
deleted file mode 100644
index 447b2b86..00000000
--- a/static/admin/css/vendor/select2/select2.css
+++ /dev/null
@@ -1,484 +0,0 @@
-.select2-container {
-  box-sizing: border-box;
-  display: inline-block;
-  margin: 0;
-  position: relative;
-  vertical-align: middle; }
-  .select2-container .select2-selection--single {
-    box-sizing: border-box;
-    cursor: pointer;
-    display: block;
-    height: 28px;
-    user-select: none;
-    -webkit-user-select: none; }
-    .select2-container .select2-selection--single .select2-selection__rendered {
-      display: block;
-      padding-left: 8px;
-      padding-right: 20px;
-      overflow: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap; }
-    .select2-container .select2-selection--single .select2-selection__clear {
-      position: relative; }
-  .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
-    padding-right: 8px;
-    padding-left: 20px; }
-  .select2-container .select2-selection--multiple {
-    box-sizing: border-box;
-    cursor: pointer;
-    display: block;
-    min-height: 32px;
-    user-select: none;
-    -webkit-user-select: none; }
-    .select2-container .select2-selection--multiple .select2-selection__rendered {
-      display: inline-block;
-      overflow: hidden;
-      padding-left: 8px;
-      text-overflow: ellipsis;
-      white-space: nowrap; }
-  .select2-container .select2-search--inline {
-    float: left; }
-    .select2-container .select2-search--inline .select2-search__field {
-      box-sizing: border-box;
-      border: none;
-      font-size: 100%;
-      margin-top: 5px;
-      padding: 0; }
-      .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
-        -webkit-appearance: none; }
-
-.select2-dropdown {
-  background-color: white;
-  border: 1px solid #aaa;
-  border-radius: 4px;
-  box-sizing: border-box;
-  display: block;
-  position: absolute;
-  left: -100000px;
-  width: 100%;
-  z-index: 1051; }
-
-.select2-results {
-  display: block; }
-
-.select2-results__options {
-  list-style: none;
-  margin: 0;
-  padding: 0; }
-
-.select2-results__option {
-  padding: 6px;
-  user-select: none;
-  -webkit-user-select: none; }
-  .select2-results__option[aria-selected] {
-    cursor: pointer; }
-
-.select2-container--open .select2-dropdown {
-  left: 0; }
-
-.select2-container--open .select2-dropdown--above {
-  border-bottom: none;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0; }
-
-.select2-container--open .select2-dropdown--below {
-  border-top: none;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0; }
-
-.select2-search--dropdown {
-  display: block;
-  padding: 4px; }
-  .select2-search--dropdown .select2-search__field {
-    padding: 4px;
-    width: 100%;
-    box-sizing: border-box; }
-    .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
-      -webkit-appearance: none; }
-  .select2-search--dropdown.select2-search--hide {
-    display: none; }
-
-.select2-close-mask {
-  border: 0;
-  margin: 0;
-  padding: 0;
-  display: block;
-  position: fixed;
-  left: 0;
-  top: 0;
-  min-height: 100%;
-  min-width: 100%;
-  height: auto;
-  width: auto;
-  opacity: 0;
-  z-index: 99;
-  background-color: #fff;
-  filter: alpha(opacity=0); }
-
-.select2-hidden-accessible {
-  border: 0 !important;
-  clip: rect(0 0 0 0) !important;
-  height: 1px !important;
-  margin: -1px !important;
-  overflow: hidden !important;
-  padding: 0 !important;
-  position: absolute !important;
-  width: 1px !important; }
-
-.select2-container--default .select2-selection--single {
-  background-color: #fff;
-  border: 1px solid #aaa;
-  border-radius: 4px; }
-  .select2-container--default .select2-selection--single .select2-selection__rendered {
-    color: #444;
-    line-height: 28px; }
-  .select2-container--default .select2-selection--single .select2-selection__clear {
-    cursor: pointer;
-    float: right;
-    font-weight: bold; }
-  .select2-container--default .select2-selection--single .select2-selection__placeholder {
-    color: #999; }
-  .select2-container--default .select2-selection--single .select2-selection__arrow {
-    height: 26px;
-    position: absolute;
-    top: 1px;
-    right: 1px;
-    width: 20px; }
-    .select2-container--default .select2-selection--single .select2-selection__arrow b {
-      border-color: #888 transparent transparent transparent;
-      border-style: solid;
-      border-width: 5px 4px 0 4px;
-      height: 0;
-      left: 50%;
-      margin-left: -4px;
-      margin-top: -2px;
-      position: absolute;
-      top: 50%;
-      width: 0; }
-
-.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
-  float: left; }
-
-.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
-  left: 1px;
-  right: auto; }
-
-.select2-container--default.select2-container--disabled .select2-selection--single {
-  background-color: #eee;
-  cursor: default; }
-  .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
-    display: none; }
-
-.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
-  border-color: transparent transparent #888 transparent;
-  border-width: 0 4px 5px 4px; }
-
-.select2-container--default .select2-selection--multiple {
-  background-color: white;
-  border: 1px solid #aaa;
-  border-radius: 4px;
-  cursor: text; }
-  .select2-container--default .select2-selection--multiple .select2-selection__rendered {
-    box-sizing: border-box;
-    list-style: none;
-    margin: 0;
-    padding: 0 5px;
-    width: 100%; }
-    .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
-      list-style: none; }
-  .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
-    color: #999;
-    margin-top: 5px;
-    float: left; }
-  .select2-container--default .select2-selection--multiple .select2-selection__clear {
-    cursor: pointer;
-    float: right;
-    font-weight: bold;
-    margin-top: 5px;
-    margin-right: 10px; }
-  .select2-container--default .select2-selection--multiple .select2-selection__choice {
-    background-color: #e4e4e4;
-    border: 1px solid #aaa;
-    border-radius: 4px;
-    cursor: default;
-    float: left;
-    margin-right: 5px;
-    margin-top: 5px;
-    padding: 0 5px; }
-  .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
-    color: #999;
-    cursor: pointer;
-    display: inline-block;
-    font-weight: bold;
-    margin-right: 2px; }
-    .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
-      color: #333; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
-  float: right; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
-  margin-left: 5px;
-  margin-right: auto; }
-
-.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
-  margin-left: 2px;
-  margin-right: auto; }
-
-.select2-container--default.select2-container--focus .select2-selection--multiple {
-  border: solid black 1px;
-  outline: 0; }
-
-.select2-container--default.select2-container--disabled .select2-selection--multiple {
-  background-color: #eee;
-  cursor: default; }
-
-.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
-  display: none; }
-
-.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0; }
-
-.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0; }
-
-.select2-container--default .select2-search--dropdown .select2-search__field {
-  border: 1px solid #aaa; }
-
-.select2-container--default .select2-search--inline .select2-search__field {
-  background: transparent;
-  border: none;
-  outline: 0;
-  box-shadow: none;
-  -webkit-appearance: textfield; }
-
-.select2-container--default .select2-results > .select2-results__options {
-  max-height: 200px;
-  overflow-y: auto; }
-
-.select2-container--default .select2-results__option[role=group] {
-  padding: 0; }
-
-.select2-container--default .select2-results__option[aria-disabled=true] {
-  color: #999; }
-
-.select2-container--default .select2-results__option[aria-selected=true] {
-  background-color: #ddd; }
-
-.select2-container--default .select2-results__option .select2-results__option {
-  padding-left: 1em; }
-  .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
-    padding-left: 0; }
-  .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
-    margin-left: -1em;
-    padding-left: 2em; }
-    .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-      margin-left: -2em;
-      padding-left: 3em; }
-      .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-        margin-left: -3em;
-        padding-left: 4em; }
-        .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-          margin-left: -4em;
-          padding-left: 5em; }
-          .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
-            margin-left: -5em;
-            padding-left: 6em; }
-
-.select2-container--default .select2-results__option--highlighted[aria-selected] {
-  background-color: #5897fb;
-  color: white; }
-
-.select2-container--default .select2-results__group {
-  cursor: default;
-  display: block;
-  padding: 6px; }
-
-.select2-container--classic .select2-selection--single {
-  background-color: #f7f7f7;
-  border: 1px solid #aaa;
-  border-radius: 4px;
-  outline: 0;
-  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
-  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
-  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
-  .select2-container--classic .select2-selection--single:focus {
-    border: 1px solid #5897fb; }
-  .select2-container--classic .select2-selection--single .select2-selection__rendered {
-    color: #444;
-    line-height: 28px; }
-  .select2-container--classic .select2-selection--single .select2-selection__clear {
-    cursor: pointer;
-    float: right;
-    font-weight: bold;
-    margin-right: 10px; }
-  .select2-container--classic .select2-selection--single .select2-selection__placeholder {
-    color: #999; }
-  .select2-container--classic .select2-selection--single .select2-selection__arrow {
-    background-color: #ddd;
-    border: none;
-    border-left: 1px solid #aaa;
-    border-top-right-radius: 4px;
-    border-bottom-right-radius: 4px;
-    height: 26px;
-    position: absolute;
-    top: 1px;
-    right: 1px;
-    width: 20px;
-    background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
-    background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
-    background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
-    background-repeat: repeat-x;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
-    .select2-container--classic .select2-selection--single .select2-selection__arrow b {
-      border-color: #888 transparent transparent transparent;
-      border-style: solid;
-      border-width: 5px 4px 0 4px;
-      height: 0;
-      left: 50%;
-      margin-left: -4px;
-      margin-top: -2px;
-      position: absolute;
-      top: 50%;
-      width: 0; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
-  float: left; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
-  border: none;
-  border-right: 1px solid #aaa;
-  border-radius: 0;
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-  left: 1px;
-  right: auto; }
-
-.select2-container--classic.select2-container--open .select2-selection--single {
-  border: 1px solid #5897fb; }
-  .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
-    background: transparent;
-    border: none; }
-    .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
-      border-color: transparent transparent #888 transparent;
-      border-width: 0 4px 5px 4px; }
-
-.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
-  border-top: none;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
-  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
-  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
-
-.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
-  border-bottom: none;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0;
-  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
-  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
-  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
-
-.select2-container--classic .select2-selection--multiple {
-  background-color: white;
-  border: 1px solid #aaa;
-  border-radius: 4px;
-  cursor: text;
-  outline: 0; }
-  .select2-container--classic .select2-selection--multiple:focus {
-    border: 1px solid #5897fb; }
-  .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
-    list-style: none;
-    margin: 0;
-    padding: 0 5px; }
-  .select2-container--classic .select2-selection--multiple .select2-selection__clear {
-    display: none; }
-  .select2-container--classic .select2-selection--multiple .select2-selection__choice {
-    background-color: #e4e4e4;
-    border: 1px solid #aaa;
-    border-radius: 4px;
-    cursor: default;
-    float: left;
-    margin-right: 5px;
-    margin-top: 5px;
-    padding: 0 5px; }
-  .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
-    color: #888;
-    cursor: pointer;
-    display: inline-block;
-    font-weight: bold;
-    margin-right: 2px; }
-    .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
-      color: #555; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
-  float: right; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
-  margin-left: 5px;
-  margin-right: auto; }
-
-.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
-  margin-left: 2px;
-  margin-right: auto; }
-
-.select2-container--classic.select2-container--open .select2-selection--multiple {
-  border: 1px solid #5897fb; }
-
-.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
-  border-top: none;
-  border-top-left-radius: 0;
-  border-top-right-radius: 0; }
-
-.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
-  border-bottom: none;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0; }
-
-.select2-container--classic .select2-search--dropdown .select2-search__field {
-  border: 1px solid #aaa;
-  outline: 0; }
-
-.select2-container--classic .select2-search--inline .select2-search__field {
-  outline: 0;
-  box-shadow: none; }
-
-.select2-container--classic .select2-dropdown {
-  background-color: white;
-  border: 1px solid transparent; }
-
-.select2-container--classic .select2-dropdown--above {
-  border-bottom: none; }
-
-.select2-container--classic .select2-dropdown--below {
-  border-top: none; }
-
-.select2-container--classic .select2-results > .select2-results__options {
-  max-height: 200px;
-  overflow-y: auto; }
-
-.select2-container--classic .select2-results__option[role=group] {
-  padding: 0; }
-
-.select2-container--classic .select2-results__option[aria-disabled=true] {
-  color: grey; }
-
-.select2-container--classic .select2-results__option--highlighted[aria-selected] {
-  background-color: #3875d7;
-  color: white; }
-
-.select2-container--classic .select2-results__group {
-  cursor: default;
-  display: block;
-  padding: 6px; }
-
-.select2-container--classic.select2-container--open .select2-dropdown {
-  border-color: #5897fb; }
diff --git a/static/admin/css/vendor/select2/select2.min.css b/static/admin/css/vendor/select2/select2.min.css
deleted file mode 100644
index 76de04d9..00000000
--- a/static/admin/css/vendor/select2/select2.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
diff --git a/static/admin/css/widgets.css b/static/admin/css/widgets.css
deleted file mode 100644
index d3bd67ac..00000000
--- a/static/admin/css/widgets.css
+++ /dev/null
@@ -1,565 +0,0 @@
-/* SELECTOR (FILTER INTERFACE) */
-
-.selector {
-    width: 800px;
-    float: left;
-}
-
-.selector select {
-    width: 380px;
-    height: 17.2em;
-}
-
-.selector-available, .selector-chosen {
-    float: left;
-    width: 380px;
-    text-align: center;
-    margin-bottom: 5px;
-}
-
-.selector-chosen select {
-    border-top: none;
-}
-
-.selector-available h2, .selector-chosen h2 {
-    border: 1px solid #ccc;
-    border-radius: 4px 4px 0 0;
-}
-
-.selector-chosen h2 {
-    background: #79aec8;
-    color: #fff;
-}
-
-.selector .selector-available h2 {
-    background: #f8f8f8;
-    color: #666;
-}
-
-.selector .selector-filter {
-    background: white;
-    border: 1px solid #ccc;
-    border-width: 0 1px;
-    padding: 8px;
-    color: #999;
-    font-size: 10px;
-    margin: 0;
-    text-align: left;
-}
-
-.selector .selector-filter label,
-.inline-group .aligned .selector .selector-filter label {
-    float: left;
-    margin: 7px 0 0;
-    width: 18px;
-    height: 18px;
-    padding: 0;
-    overflow: hidden;
-    line-height: 1;
-}
-
-.selector .selector-available input {
-    width: 320px;
-    margin-left: 8px;
-}
-
-.selector ul.selector-chooser {
-    float: left;
-    width: 22px;
-    background-color: #eee;
-    border-radius: 10px;
-    margin: 10em 5px 0 5px;
-    padding: 0;
-}
-
-.selector-chooser li {
-    margin: 0;
-    padding: 3px;
-    list-style-type: none;
-}
-
-.selector select {
-    padding: 0 10px;
-    margin: 0 0 10px;
-    border-radius: 0 0 4px 4px;
-}
-
-.selector-add, .selector-remove {
-    width: 16px;
-    height: 16px;
-    display: block;
-    text-indent: -3000px;
-    overflow: hidden;
-    cursor: default;
-    opacity: 0.3;
-}
-
-.active.selector-add, .active.selector-remove {
-    opacity: 1;
-}
-
-.active.selector-add:hover, .active.selector-remove:hover {
-    cursor: pointer;
-}
-
-.selector-add {
-    background: url(../img/selector-icons.svg) 0 -96px no-repeat;
-}
-
-.active.selector-add:focus, .active.selector-add:hover {
-    background-position: 0 -112px;
-}
-
-.selector-remove {
-    background: url(../img/selector-icons.svg) 0 -64px no-repeat;
-}
-
-.active.selector-remove:focus, .active.selector-remove:hover {
-    background-position: 0 -80px;
-}
-
-a.selector-chooseall, a.selector-clearall {
-    display: inline-block;
-    height: 16px;
-    text-align: left;
-    margin: 1px auto 3px;
-    overflow: hidden;
-    font-weight: bold;
-    line-height: 16px;
-    color: #666;
-    text-decoration: none;
-    opacity: 0.3;
-}
-
-a.active.selector-chooseall:focus, a.active.selector-clearall:focus,
-a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
-    color: #447e9b;
-}
-
-a.active.selector-chooseall, a.active.selector-clearall {
-    opacity: 1;
-}
-
-a.active.selector-chooseall:hover, a.active.selector-clearall:hover {
-    cursor: pointer;
-}
-
-a.selector-chooseall {
-    padding: 0 18px 0 0;
-    background: url(../img/selector-icons.svg) right -160px no-repeat;
-    cursor: default;
-}
-
-a.active.selector-chooseall:focus, a.active.selector-chooseall:hover {
-    background-position: 100% -176px;
-}
-
-a.selector-clearall {
-    padding: 0 0 0 18px;
-    background: url(../img/selector-icons.svg) 0 -128px no-repeat;
-    cursor: default;
-}
-
-a.active.selector-clearall:focus, a.active.selector-clearall:hover {
-    background-position: 0 -144px;
-}
-
-/* STACKED SELECTORS */
-
-.stacked {
-    float: left;
-    width: 490px;
-}
-
-.stacked select {
-    width: 480px;
-    height: 10.1em;
-}
-
-.stacked .selector-available, .stacked .selector-chosen {
-    width: 480px;
-}
-
-.stacked .selector-available {
-    margin-bottom: 0;
-}
-
-.stacked .selector-available input {
-    width: 422px;
-}
-
-.stacked ul.selector-chooser {
-    height: 22px;
-    width: 50px;
-    margin: 0 0 10px 40%;
-    background-color: #eee;
-    border-radius: 10px;
-}
-
-.stacked .selector-chooser li {
-    float: left;
-    padding: 3px 3px 3px 5px;
-}
-
-.stacked .selector-chooseall, .stacked .selector-clearall {
-    display: none;
-}
-
-.stacked .selector-add {
-    background: url(../img/selector-icons.svg) 0 -32px no-repeat;
-    cursor: default;
-}
-
-.stacked .active.selector-add {
-    background-position: 0 -48px;
-    cursor: pointer;
-}
-
-.stacked .selector-remove {
-    background: url(../img/selector-icons.svg) 0 0 no-repeat;
-    cursor: default;
-}
-
-.stacked .active.selector-remove {
-    background-position: 0 -16px;
-    cursor: pointer;
-}
-
-.selector .help-icon {
-    background: url(../img/icon-unknown.svg) 0 0 no-repeat;
-    display: inline-block;
-    vertical-align: middle;
-    margin: -2px 0 0 2px;
-    width: 13px;
-    height: 13px;
-}
-
-.selector .selector-chosen .help-icon {
-    background: url(../img/icon-unknown-alt.svg) 0 0 no-repeat;
-}
-
-.selector .search-label-icon {
-    background: url(../img/search.svg) 0 0 no-repeat;
-    display: inline-block;
-    height: 18px;
-    width: 18px;
-}
-
-/* DATE AND TIME */
-
-p.datetime {
-    line-height: 20px;
-    margin: 0;
-    padding: 0;
-    color: #666;
-    font-weight: bold;
-}
-
-.datetime span {
-    white-space: nowrap;
-    font-weight: normal;
-    font-size: 11px;
-    color: #ccc;
-}
-
-.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField {
-    min-width: 0;
-    margin-left: 5px;
-    margin-bottom: 4px;
-}
-
-table p.datetime {
-    font-size: 11px;
-    margin-left: 0;
-    padding-left: 0;
-}
-
-.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon {
-    position: relative;
-    display: inline-block;
-    vertical-align: middle;
-    height: 16px;
-    width: 16px;
-    overflow: hidden;
-}
-
-.datetimeshortcuts .clock-icon {
-    background: url(../img/icon-clock.svg) 0 0 no-repeat;
-}
-
-.datetimeshortcuts a:focus .clock-icon,
-.datetimeshortcuts a:hover .clock-icon {
-    background-position: 0 -16px;
-}
-
-.datetimeshortcuts .date-icon {
-    background: url(../img/icon-calendar.svg) 0 0 no-repeat;
-    top: -1px;
-}
-
-.datetimeshortcuts a:focus .date-icon,
-.datetimeshortcuts a:hover .date-icon {
-    background-position: 0 -16px;
-}
-
-.timezonewarning {
-    font-size: 11px;
-    color: #999;
-}
-
-/* URL */
-
-p.url {
-    line-height: 20px;
-    margin: 0;
-    padding: 0;
-    color: #666;
-    font-size: 11px;
-    font-weight: bold;
-}
-
-.url a {
-    font-weight: normal;
-}
-
-/* FILE UPLOADS */
-
-p.file-upload {
-    line-height: 20px;
-    margin: 0;
-    padding: 0;
-    color: #666;
-    font-size: 11px;
-    font-weight: bold;
-}
-
-.aligned p.file-upload {
-    margin-left: 170px;
-}
-
-.file-upload a {
-    font-weight: normal;
-}
-
-.file-upload .deletelink {
-    margin-left: 5px;
-}
-
-span.clearable-file-input label {
-    color: #333;
-    font-size: 11px;
-    display: inline;
-    float: none;
-}
-
-/* CALENDARS & CLOCKS */
-
-.calendarbox, .clockbox {
-    margin: 5px auto;
-    font-size: 12px;
-    width: 19em;
-    text-align: center;
-    background: white;
-    border: 1px solid #ddd;
-    border-radius: 4px;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
-    overflow: hidden;
-    position: relative;
-}
-
-.clockbox {
-    width: auto;
-}
-
-.calendar {
-    margin: 0;
-    padding: 0;
-}
-
-.calendar table {
-    margin: 0;
-    padding: 0;
-    border-collapse: collapse;
-    background: white;
-    width: 100%;
-}
-
-.calendar caption, .calendarbox h2 {
-    margin: 0;
-    text-align: center;
-    border-top: none;
-    background: #f5dd5d;
-    font-weight: 700;
-    font-size: 12px;
-    color: #333;
-}
-
-.calendar th {
-    padding: 8px 5px;
-    background: #f8f8f8;
-    border-bottom: 1px solid #ddd;
-    font-weight: 400;
-    font-size: 12px;
-    text-align: center;
-    color: #666;
-}
-
-.calendar td {
-    font-weight: 400;
-    font-size: 12px;
-    text-align: center;
-    padding: 0;
-    border-top: 1px solid #eee;
-    border-bottom: none;
-}
-
-.calendar td.selected a {
-    background: #79aec8;
-    color: #fff;
-}
-
-.calendar td.nonday {
-    background: #f8f8f8;
-}
-
-.calendar td.today a {
-    font-weight: 700;
-}
-
-.calendar td a, .timelist a {
-    display: block;
-    font-weight: 400;
-    padding: 6px;
-    text-decoration: none;
-    color: #444;
-}
-
-.calendar td a:focus, .timelist a:focus,
-.calendar td a:hover, .timelist a:hover {
-    background: #79aec8;
-    color: white;
-}
-
-.calendar td a:active, .timelist a:active {
-    background: #417690;
-    color: white;
-}
-
-.calendarnav {
-    font-size: 10px;
-    text-align: center;
-    color: #ccc;
-    margin: 0;
-    padding: 1px 3px;
-}
-
-.calendarnav a:link, #calendarnav a:visited,
-#calendarnav a:focus, #calendarnav a:hover {
-    color: #999;
-}
-
-.calendar-shortcuts {
-    background: white;
-    font-size: 11px;
-    line-height: 11px;
-    border-top: 1px solid #eee;
-    padding: 8px 0;
-    color: #ccc;
-}
-
-.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
-    display: block;
-    position: absolute;
-    top: 8px;
-    width: 15px;
-    height: 15px;
-    text-indent: -9999px;
-    padding: 0;
-}
-
-.calendarnav-previous {
-    left: 10px;
-    background: url(../img/calendar-icons.svg) 0 0 no-repeat;
-}
-
-.calendarbox .calendarnav-previous:focus,
-.calendarbox .calendarnav-previous:hover {
-    background-position: 0 -15px;
-}
-
-.calendarnav-next {
-    right: 10px;
-    background: url(../img/calendar-icons.svg) 0 -30px no-repeat;
-}
-
-.calendarbox .calendarnav-next:focus,
-.calendarbox .calendarnav-next:hover {
-    background-position: 0 -45px;
-}
-
-.calendar-cancel {
-    margin: 0;
-    padding: 4px 0;
-    font-size: 12px;
-    background: #eee;
-    border-top: 1px solid #ddd;
-    color: #333;
-}
-
-.calendar-cancel:focus, .calendar-cancel:hover {
-    background: #ddd;
-}
-
-.calendar-cancel a {
-    color: black;
-    display: block;
-}
-
-ul.timelist, .timelist li {
-    list-style-type: none;
-    margin: 0;
-    padding: 0;
-}
-
-.timelist a {
-    padding: 2px;
-}
-
-/* EDIT INLINE */
-
-.inline-deletelink {
-    float: right;
-    text-indent: -9999px;
-    background: url(../img/inline-delete.svg) 0 0 no-repeat;
-    width: 16px;
-    height: 16px;
-    border: 0px none;
-}
-
-.inline-deletelink:focus, .inline-deletelink:hover {
-    cursor: pointer;
-}
-
-/* RELATED WIDGET WRAPPER */
-.related-widget-wrapper {
-    float: left;       /* display properly in form rows with multiple fields */
-    overflow: hidden;  /* clear floated contents */
-}
-
-.related-widget-wrapper-link {
-    opacity: 0.3;
-}
-
-.related-widget-wrapper-link:link {
-    opacity: .8;
-}
-
-.related-widget-wrapper-link:link:focus,
-.related-widget-wrapper-link:link:hover {
-    opacity: 1;
-}
-
-select + .related-widget-wrapper-link,
-.related-widget-wrapper-link + .related-widget-wrapper-link {
-    margin-left: 7px;
-}
diff --git a/static/admin/fonts/LICENSE.txt b/static/admin/fonts/LICENSE.txt
deleted file mode 100644
index 75b52484..00000000
--- a/static/admin/fonts/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/static/admin/fonts/README.txt b/static/admin/fonts/README.txt
deleted file mode 100644
index b247bef3..00000000
--- a/static/admin/fonts/README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Roboto webfont source: https://www.google.com/fonts/specimen/Roboto
-WOFF files extracted using https://github.com/majodev/google-webfonts-helper
-Weights used in this project: Light (300), Regular (400), Bold (700)
diff --git a/static/admin/fonts/Roboto-Bold-webfont.woff b/static/admin/fonts/Roboto-Bold-webfont.woff
deleted file mode 100644
index 6e0f56267035c2321ca6b590adcfc0fc93b7dc51..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 86184
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
I3*a(Q$S^tF@Bjb+

diff --git a/static/admin/fonts/Roboto-Light-webfont.woff b/static/admin/fonts/Roboto-Light-webfont.woff
deleted file mode 100644
index b9e99185c8300c786fa77a0490fefdd26ab2e99e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85692
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

diff --git a/static/admin/fonts/Roboto-Regular-webfont.woff b/static/admin/fonts/Roboto-Regular-webfont.woff
deleted file mode 100644
index 96c1986f01459bc3b7ca8e18fc06785e5e35dc45..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 85876
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
YL6htZCcLmfC1Z!aXXnWeQyf*20Ac;`*Z=?k

diff --git a/static/admin/img/LICENSE b/static/admin/img/LICENSE
deleted file mode 100644
index a4faaa1d..00000000
--- a/static/admin/img/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014 Code Charm Ltd
-
-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/static/admin/img/README.txt b/static/admin/img/README.txt
deleted file mode 100644
index 4eb2e492..00000000
--- a/static/admin/img/README.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-All icons are taken from Font Awesome (http://fontawesome.io/) project.
-The Font Awesome font is licensed under the SIL OFL 1.1:
-- https://scripts.sil.org/OFL
-
-SVG icons source: https://github.com/encharm/Font-Awesome-SVG-PNG
-Font-Awesome-SVG-PNG is licensed under the MIT license (see file license
-in current folder).
diff --git a/static/admin/img/calendar-icons.svg b/static/admin/img/calendar-icons.svg
deleted file mode 100644
index dbf21c39..00000000
--- a/static/admin/img/calendar-icons.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-<svg width="15" height="60" viewBox="0 0 1792 7168" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-    <g id="previous">
-      <path d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="next">
-      <path d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-  </defs>
-  <use xlink:href="#previous" x="0" y="0" fill="#333333" />
-  <use xlink:href="#previous" x="0" y="1792" fill="#000000" />
-  <use xlink:href="#next" x="0" y="3584" fill="#333333" />
-  <use xlink:href="#next" x="0" y="5376" fill="#000000" />
-</svg>
diff --git a/static/admin/img/gis/move_vertex_off.svg b/static/admin/img/gis/move_vertex_off.svg
deleted file mode 100644
index 228854f3..00000000
--- a/static/admin/img/gis/move_vertex_off.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#EBECE6" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9C9C9" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg>
\ No newline at end of file
diff --git a/static/admin/img/gis/move_vertex_on.svg b/static/admin/img/gis/move_vertex_on.svg
deleted file mode 100644
index 96b87fdd..00000000
--- a/static/admin/img/gis/move_vertex_on.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg width="24" height="22" viewBox="0 0 847 779" xmlns="http://www.w3.org/2000/svg"><g><path fill="#F1C02A" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120z"/><path fill="#9E9E93" d="M120 1h607c66 0 120 54 120 120v536c0 66-54 120-120 120h-607c-66 0-120-54-120-120v-536c0-66 54-120 120-120zm607 25h-607c-26 0-50 11-67 28-17 18-28 41-28 67v536c0 27 11 50 28 68 17 17 41 27 67 27h607c26 0 49-10 67-27 17-18 28-41 28-68v-536c0-26-11-49-28-67-18-17-41-28-67-28z"/><path stroke="#A9A8A4" stroke-width="20" d="M706 295l-68 281"/><path stroke="#E47474" stroke-width="20" d="M316 648l390-353M141 435l175 213"/><path stroke="#C9A741" stroke-width="20" d="M319 151l-178 284M706 295l-387-144"/><g fill="#040405"><path d="M319 111c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40zM141 395c22 0 40 18 40 40s-18 40-40 40c-23 0-41-18-41-40s18-40 41-40zM316 608c22 0 40 18 40 40 0 23-18 41-40 41s-40-18-40-41c0-22 18-40 40-40zM706 254c22 0 40 18 40 41 0 22-18 40-40 40s-40-18-40-40c0-23 18-41 40-41zM638 536c22 0 40 18 40 40s-18 40-40 40-40-18-40-40 18-40 40-40z"/></g></g></svg>
\ No newline at end of file
diff --git a/static/admin/img/icon-addlink.svg b/static/admin/img/icon-addlink.svg
deleted file mode 100644
index e004fb16..00000000
--- a/static/admin/img/icon-addlink.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#70bf2b" d="M1600 796v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/>
-</svg>
diff --git a/static/admin/img/icon-alert.svg b/static/admin/img/icon-alert.svg
deleted file mode 100644
index e51ea83f..00000000
--- a/static/admin/img/icon-alert.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#efb80b" d="M1024 1375v-190q0-14-9.5-23.5t-22.5-9.5h-192q-13 0-22.5 9.5t-9.5 23.5v190q0 14 9.5 23.5t22.5 9.5h192q13 0 22.5-9.5t9.5-23.5zm-2-374l18-459q0-12-10-19-13-11-24-11h-220q-11 0-24 11-10 7-10 21l17 457q0 10 10 16.5t24 6.5h185q14 0 23.5-6.5t10.5-16.5zm-14-934l768 1408q35 63-2 126-17 29-46.5 46t-63.5 17h-1536q-34 0-63.5-17t-46.5-46q-37-63-2-126l768-1408q17-31 47-49t65-18 65 18 47 49z"/>
-</svg>
diff --git a/static/admin/img/icon-calendar.svg b/static/admin/img/icon-calendar.svg
deleted file mode 100644
index 97910a99..00000000
--- a/static/admin/img/icon-calendar.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-    <g id="icon">
-      <path d="M192 1664h288v-288h-288v288zm352 0h320v-288h-320v288zm-352-352h288v-320h-288v320zm352 0h320v-320h-320v320zm-352-384h288v-288h-288v288zm736 736h320v-288h-320v288zm-384-736h320v-288h-320v288zm768 736h288v-288h-288v288zm-384-352h320v-320h-320v320zm-352-864v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm736 864h288v-320h-288v320zm-384-384h320v-288h-320v288zm384 0h288v-288h-288v288zm32-480v-288q0-13-9.5-22.5t-22.5-9.5h-64q-13 0-22.5 9.5t-9.5 22.5v288q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5-9.5t9.5-22.5zm384-64v1280q0 52-38 90t-90 38h-1408q-52 0-90-38t-38-90v-1280q0-52 38-90t90-38h128v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h384v-96q0-66 47-113t113-47h64q66 0 113 47t47 113v96h128q52 0 90 38t38 90z"/>
-    </g>
-  </defs>
-  <use xlink:href="#icon" x="0" y="0" fill="#447e9b" />
-  <use xlink:href="#icon" x="0" y="1792" fill="#003366" />
-</svg>
diff --git a/static/admin/img/icon-changelink.svg b/static/admin/img/icon-changelink.svg
deleted file mode 100644
index bbb137aa..00000000
--- a/static/admin/img/icon-changelink.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#efb80b" d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z"/>
-</svg>
diff --git a/static/admin/img/icon-clock.svg b/static/admin/img/icon-clock.svg
deleted file mode 100644
index bf9985d3..00000000
--- a/static/admin/img/icon-clock.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<svg width="16" height="32" viewBox="0 0 1792 3584" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-    <g id="icon">
-      <path d="M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-  </defs>
-  <use xlink:href="#icon" x="0" y="0" fill="#447e9b" />
-  <use xlink:href="#icon" x="0" y="1792" fill="#003366" />
-</svg>
diff --git a/static/admin/img/icon-deletelink.svg b/static/admin/img/icon-deletelink.svg
deleted file mode 100644
index 4059b155..00000000
--- a/static/admin/img/icon-deletelink.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="14" height="14" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#dd4646" d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/>
-</svg>
diff --git a/static/admin/img/icon-no.svg b/static/admin/img/icon-no.svg
deleted file mode 100644
index 2e0d3832..00000000
--- a/static/admin/img/icon-no.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#dd4646" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-</svg>
diff --git a/static/admin/img/icon-unknown-alt.svg b/static/admin/img/icon-unknown-alt.svg
deleted file mode 100644
index 1c6b99fc..00000000
--- a/static/admin/img/icon-unknown-alt.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#ffffff" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-</svg>
diff --git a/static/admin/img/icon-unknown.svg b/static/admin/img/icon-unknown.svg
deleted file mode 100644
index 50b4f972..00000000
--- a/static/admin/img/icon-unknown.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#666666" d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-</svg>
diff --git a/static/admin/img/icon-viewlink.svg b/static/admin/img/icon-viewlink.svg
deleted file mode 100644
index a1ca1d3f..00000000
--- a/static/admin/img/icon-viewlink.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#2b70bf" d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z"/>
-</svg>
diff --git a/static/admin/img/icon-yes.svg b/static/admin/img/icon-yes.svg
deleted file mode 100644
index 5883d877..00000000
--- a/static/admin/img/icon-yes.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#70bf2b" d="M1412 734q0-28-18-46l-91-90q-19-19-45-19t-45 19l-408 407-226-226q-19-19-45-19t-45 19l-91 90q-18 18-18 46 0 27 18 45l362 362q19 19 45 19 27 0 46-19l543-543q18-18 18-45zm252 162q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-</svg>
diff --git a/static/admin/img/inline-delete.svg b/static/admin/img/inline-delete.svg
deleted file mode 100644
index 17d1ad67..00000000
--- a/static/admin/img/inline-delete.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#999999" d="M1277 1122q0-26-19-45l-181-181 181-181q19-19 19-45 0-27-19-46l-90-90q-19-19-46-19-26 0-45 19l-181 181-181-181q-19-19-45-19-27 0-46 19l-90 90q-19 19-19 46 0 26 19 45l181 181-181 181q-19 19-19 45 0 27 19 46l90 90q19 19 46 19 26 0 45-19l181-181 181 181q19 19 45 19 27 0 46-19l90-90q19-19 19-46zm387-226q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-</svg>
diff --git a/static/admin/img/search.svg b/static/admin/img/search.svg
deleted file mode 100644
index c8c69b2a..00000000
--- a/static/admin/img/search.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="15" height="15" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#555555" d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/>
-</svg>
diff --git a/static/admin/img/selector-icons.svg b/static/admin/img/selector-icons.svg
deleted file mode 100644
index 926b8e21..00000000
--- a/static/admin/img/selector-icons.svg
+++ /dev/null
@@ -1,34 +0,0 @@
-<svg width="16" height="192" viewBox="0 0 1792 21504" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-    <g id="up">
-      <path d="M1412 895q0-27-18-45l-362-362-91-91q-18-18-45-18t-45 18l-91 91-362 362q-18 18-18 45t18 45l91 91q18 18 45 18t45-18l189-189v502q0 26 19 45t45 19h128q26 0 45-19t19-45v-502l189 189q19 19 45 19t45-19l91-91q18-18 18-45zm252 1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="down">
-      <path d="M1412 897q0-27-18-45l-91-91q-18-18-45-18t-45 18l-189 189v-502q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v502l-189-189q-19-19-45-19t-45 19l-91 91q-18 18-18 45t18 45l362 362 91 91q18 18 45 18t45-18l91-91 362-362q18-18 18-45zm252-1q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="left">
-      <path d="M1408 960v-128q0-26-19-45t-45-19h-502l189-189q19-19 19-45t-19-45l-91-91q-18-18-45-18t-45 18l-362 362-91 91q-18 18-18 45t18 45l91 91 362 362q18 18 45 18t45-18l91-91q18-18 18-45t-18-45l-189-189h502q26 0 45-19t19-45zm256-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="right">
-      <path d="M1413 896q0-27-18-45l-91-91-362-362q-18-18-45-18t-45 18l-91 91q-18 18-18 45t18 45l189 189h-502q-26 0-45 19t-19 45v128q0 26 19 45t45 19h502l-189 189q-19 19-19 45t19 45l91 91q18 18 45 18t45-18l362-362 91-91q18-18 18-45zm251 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="clearall">
-      <path transform="translate(336, 336) scale(0.75)" d="M1037 1395l102-102q19-19 19-45t-19-45l-307-307 307-307q19-19 19-45t-19-45l-102-102q-19-19-45-19t-45 19l-454 454q-19 19-19 45t19 45l454 454q19 19 45 19t45-19zm627-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-    <g id="chooseall">
-      <path transform="translate(336, 336) scale(0.75)" d="M845 1395l454-454q19-19 19-45t-19-45l-454-454q-19-19-45-19t-45 19l-102 102q-19 19-19 45t19 45l307 307-307 307q-19 19-19 45t19 45l102 102q19 19 45 19t45-19zm819-499q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/>
-    </g>
-  </defs>
-  <use xlink:href="#up" x="0" y="0" fill="#666666" />
-  <use xlink:href="#up" x="0" y="1792" fill="#447e9b" />
-  <use xlink:href="#down" x="0" y="3584" fill="#666666" />
-  <use xlink:href="#down" x="0" y="5376" fill="#447e9b" />
-  <use xlink:href="#left" x="0" y="7168" fill="#666666" />
-  <use xlink:href="#left" x="0" y="8960" fill="#447e9b" />
-  <use xlink:href="#right" x="0" y="10752" fill="#666666" />
-  <use xlink:href="#right" x="0" y="12544" fill="#447e9b" />
-  <use xlink:href="#clearall" x="0" y="14336" fill="#666666" />
-  <use xlink:href="#clearall" x="0" y="16128" fill="#447e9b" />
-  <use xlink:href="#chooseall" x="0" y="17920" fill="#666666" />
-  <use xlink:href="#chooseall" x="0" y="19712" fill="#447e9b" />
-</svg>
diff --git a/static/admin/img/sorting-icons.svg b/static/admin/img/sorting-icons.svg
deleted file mode 100644
index 7c31ec91..00000000
--- a/static/admin/img/sorting-icons.svg
+++ /dev/null
@@ -1,19 +0,0 @@
-<svg width="14" height="84" viewBox="0 0 1792 10752" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <defs>
-    <g id="sort">
-      <path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/>
-    </g>
-    <g id="ascending">
-      <path d="M1408 1216q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/>
-    </g>
-    <g id="descending">
-      <path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/>
-    </g>
-  </defs>
-  <use xlink:href="#sort" x="0" y="0" fill="#999999" />
-  <use xlink:href="#sort" x="0" y="1792" fill="#447e9b" />
-  <use xlink:href="#ascending" x="0" y="3584" fill="#999999" />
-  <use xlink:href="#ascending" x="0" y="5376" fill="#447e9b" />
-  <use xlink:href="#descending" x="0" y="7168" fill="#999999" />
-  <use xlink:href="#descending" x="0" y="8960" fill="#447e9b" />
-</svg>
diff --git a/static/admin/img/tooltag-add.svg b/static/admin/img/tooltag-add.svg
deleted file mode 100644
index 1ca64ae5..00000000
--- a/static/admin/img/tooltag-add.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#ffffff" d="M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z"/>
-</svg>
diff --git a/static/admin/img/tooltag-arrowright.svg b/static/admin/img/tooltag-arrowright.svg
deleted file mode 100644
index b664d619..00000000
--- a/static/admin/img/tooltag-arrowright.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-<svg width="13" height="13" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg">
-  <path fill="#ffffff" d="M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z"/>
-</svg>
diff --git a/static/admin/js/SelectBox.js b/static/admin/js/SelectBox.js
deleted file mode 100644
index 2073f03d..00000000
--- a/static/admin/js/SelectBox.js
+++ /dev/null
@@ -1,144 +0,0 @@
-(function($) {
-    'use strict';
-    var SelectBox = {
-        cache: {},
-        init: function(id) {
-            var box = document.getElementById(id);
-            var node;
-            SelectBox.cache[id] = [];
-            var cache = SelectBox.cache[id];
-            var boxOptions = box.options;
-            var boxOptionsLength = boxOptions.length;
-            for (var i = 0, j = boxOptionsLength; i < j; i++) {
-                node = boxOptions[i];
-                cache.push({value: node.value, text: node.text, displayed: 1});
-            }
-        },
-        redisplay: function(id) {
-            // Repopulate HTML select box from cache
-            var box = document.getElementById(id);
-            var node;
-            $(box).empty(); // clear all options
-            var new_options = box.outerHTML.slice(0, -9); // grab just the opening tag
-            var cache = SelectBox.cache[id];
-            for (var i = 0, j = cache.length; i < j; i++) {
-                node = cache[i];
-                if (node.displayed) {
-                    var new_option = new Option(node.text, node.value, false, false);
-                    // Shows a tooltip when hovering over the option
-                    new_option.setAttribute("title", node.text);
-                    new_options += new_option.outerHTML;
-                }
-            }
-            new_options += '</select>';
-            box.outerHTML = new_options;
-        },
-        filter: function(id, text) {
-            // Redisplay the HTML select box, displaying only the choices containing ALL
-            // the words in text. (It's an AND search.)
-            var tokens = text.toLowerCase().split(/\s+/);
-            var node, token;
-            var cache = SelectBox.cache[id];
-            for (var i = 0, j = cache.length; i < j; i++) {
-                node = cache[i];
-                node.displayed = 1;
-                var node_text = node.text.toLowerCase();
-                var numTokens = tokens.length;
-                for (var k = 0; k < numTokens; k++) {
-                    token = tokens[k];
-                    if (node_text.indexOf(token) === -1) {
-                        node.displayed = 0;
-                        break; // Once the first token isn't found we're done
-                    }
-                }
-            }
-            SelectBox.redisplay(id);
-        },
-        delete_from_cache: function(id, value) {
-            var node, delete_index = null;
-            var cache = SelectBox.cache[id];
-            for (var i = 0, j = cache.length; i < j; i++) {
-                node = cache[i];
-                if (node.value === value) {
-                    delete_index = i;
-                    break;
-                }
-            }
-            cache.splice(delete_index, 1);
-        },
-        add_to_cache: function(id, option) {
-            SelectBox.cache[id].push({value: option.value, text: option.text, displayed: 1});
-        },
-        cache_contains: function(id, value) {
-            // Check if an item is contained in the cache
-            var node;
-            var cache = SelectBox.cache[id];
-            for (var i = 0, j = cache.length; i < j; i++) {
-                node = cache[i];
-                if (node.value === value) {
-                    return true;
-                }
-            }
-            return false;
-        },
-        move: function(from, to) {
-            var from_box = document.getElementById(from);
-            var option;
-            var boxOptions = from_box.options;
-            var boxOptionsLength = boxOptions.length;
-            for (var i = 0, j = boxOptionsLength; i < j; i++) {
-                option = boxOptions[i];
-                var option_value = option.value;
-                if (option.selected && SelectBox.cache_contains(from, option_value)) {
-                    SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1});
-                    SelectBox.delete_from_cache(from, option_value);
-                }
-            }
-            SelectBox.redisplay(from);
-            SelectBox.redisplay(to);
-        },
-        move_all: function(from, to) {
-            var from_box = document.getElementById(from);
-            var option;
-            var boxOptions = from_box.options;
-            var boxOptionsLength = boxOptions.length;
-            for (var i = 0, j = boxOptionsLength; i < j; i++) {
-                option = boxOptions[i];
-                var option_value = option.value;
-                if (SelectBox.cache_contains(from, option_value)) {
-                    SelectBox.add_to_cache(to, {value: option_value, text: option.text, displayed: 1});
-                    SelectBox.delete_from_cache(from, option_value);
-                }
-            }
-            SelectBox.redisplay(from);
-            SelectBox.redisplay(to);
-        },
-        sort: function(id) {
-            SelectBox.cache[id].sort(function(a, b) {
-                a = a.text.toLowerCase();
-                b = b.text.toLowerCase();
-                try {
-                    if (a > b) {
-                        return 1;
-                    }
-                    if (a < b) {
-                        return -1;
-                    }
-                }
-                catch (e) {
-                    // silently fail on IE 'unknown' exception
-                }
-                return 0;
-            } );
-        },
-        select_all: function(id) {
-            var box = document.getElementById(id);
-            var boxOptions = box.options;
-            var boxOptionsLength = boxOptions.length;
-            for (var i = 0; i < boxOptionsLength; i++) {
-                boxOptions[i].selected = 'selected';
-            }
-        }
-    };
-    window.SelectBox = SelectBox;
-})(django.jQuery);
diff --git a/static/admin/js/SelectFilter2.js b/static/admin/js/SelectFilter2.js
deleted file mode 100644
index 4221778b..00000000
--- a/static/admin/js/SelectFilter2.js
+++ /dev/null
@@ -1,246 +0,0 @@
-/*global SelectBox, gettext, interpolate, quickElement, SelectFilter*/
-/*
-SelectFilter2 - Turns a multiple-select box into a filter interface.
-
-Requires jQuery, core.js, and SelectBox.js.
-*/
-(function($) {
-    'use strict';
-    function findForm(node) {
-        // returns the node of the form containing the given node
-        if (node.tagName.toLowerCase() !== 'form') {
-            return findForm(node.parentNode);
-        }
-        return node;
-    }
-
-    window.SelectFilter = {
-        init: function(field_id, field_name, is_stacked) {
-            if (field_id.match(/__prefix__/)) {
-                // Don't initialize on empty forms.
-                return;
-            }
-            var from_box = document.getElementById(field_id);
-            from_box.id += '_from'; // change its ID
-            from_box.className = 'filtered';
-
-            var ps = from_box.parentNode.getElementsByTagName('p');
-            for (var i = 0; i < ps.length; i++) {
-                if (ps[i].className.indexOf("info") !== -1) {
-                    // Remove <p class="info">, because it just gets in the way.
-                    from_box.parentNode.removeChild(ps[i]);
-                } else if (ps[i].className.indexOf("help") !== -1) {
-                    // Move help text up to the top so it isn't below the select
-                    // boxes or wrapped off on the side to the right of the add
-                    // button:
-                    from_box.parentNode.insertBefore(ps[i], from_box.parentNode.firstChild);
-                }
-            }
-
-            // <div class="selector"> or <div class="selector stacked">
-            var selector_div = quickElement('div', from_box.parentNode);
-            selector_div.className = is_stacked ? 'selector stacked' : 'selector';
-
-            // <div class="selector-available">
-            var selector_available = quickElement('div', selector_div);
-            selector_available.className = 'selector-available';
-            var title_available = quickElement('h2', selector_available, interpolate(gettext('Available %s') + ' ', [field_name]));
-            quickElement(
-                'span', title_available, '',
-                'class', 'help help-tooltip help-icon',
-                'title', interpolate(
-                    gettext(
-                        'This is the list of available %s. You may choose some by ' +
-                        'selecting them in the box below and then clicking the ' +
-                        '"Choose" arrow between the two boxes.'
-                    ),
-                    [field_name]
-                )
-            );
-
-            var filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter');
-            filter_p.className = 'selector-filter';
-
-            var search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input');
-
-            quickElement(
-                'span', search_filter_label, '',
-                'class', 'help-tooltip search-label-icon',
-                'title', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name])
-            );
-
-            filter_p.appendChild(document.createTextNode(' '));
-
-            var filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter"));
-            filter_input.id = field_id + '_input';
-
-            selector_available.appendChild(from_box);
-            var choose_all = quickElement('a', selector_available, gettext('Choose all'), 'title', interpolate(gettext('Click to choose all %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_add_all_link');
-            choose_all.className = 'selector-chooseall';
-
-            // <ul class="selector-chooser">
-            var selector_chooser = quickElement('ul', selector_div);
-            selector_chooser.className = 'selector-chooser';
-            var add_link = quickElement('a', quickElement('li', selector_chooser), gettext('Choose'), 'title', gettext('Choose'), 'href', '#', 'id', field_id + '_add_link');
-            add_link.className = 'selector-add';
-            var remove_link = quickElement('a', quickElement('li', selector_chooser), gettext('Remove'), 'title', gettext('Remove'), 'href', '#', 'id', field_id + '_remove_link');
-            remove_link.className = 'selector-remove';
-
-            // <div class="selector-chosen">
-            var selector_chosen = quickElement('div', selector_div);
-            selector_chosen.className = 'selector-chosen';
-            var title_chosen = quickElement('h2', selector_chosen, interpolate(gettext('Chosen %s') + ' ', [field_name]));
-            quickElement(
-                'span', title_chosen, '',
-                'class', 'help help-tooltip help-icon',
-                'title', interpolate(
-                    gettext(
-                        'This is the list of chosen %s. You may remove some by ' +
-                        'selecting them in the box below and then clicking the ' +
-                        '"Remove" arrow between the two boxes.'
-                    ),
-                    [field_name]
-                )
-            );
-
-            var to_box = quickElement('select', selector_chosen, '', 'id', field_id + '_to', 'multiple', 'multiple', 'size', from_box.size, 'name', from_box.getAttribute('name'));
-            to_box.className = 'filtered';
-            var clear_all = quickElement('a', selector_chosen, gettext('Remove all'), 'title', interpolate(gettext('Click to remove all chosen %s at once.'), [field_name]), 'href', '#', 'id', field_id + '_remove_all_link');
-            clear_all.className = 'selector-clearall';
-
-            from_box.setAttribute('name', from_box.getAttribute('name') + '_old');
-
-            // Set up the JavaScript event handlers for the select box filter interface
-            var move_selection = function(e, elem, move_func, from, to) {
-                if (elem.className.indexOf('active') !== -1) {
-                    move_func(from, to);
-                    SelectFilter.refresh_icons(field_id);
-                }
-                e.preventDefault();
-            };
-            choose_all.addEventListener('click', function(e) {
-                move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to');
-            });
-            add_link.addEventListener('click', function(e) {
-                move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to');
-            });
-            remove_link.addEventListener('click', function(e) {
-                move_selection(e, this, SelectBox.move, field_id + '_to', field_id + '_from');
-            });
-            clear_all.addEventListener('click', function(e) {
-                move_selection(e, this, SelectBox.move_all, field_id + '_to', field_id + '_from');
-            });
-            filter_input.addEventListener('keypress', function(e) {
-                SelectFilter.filter_key_press(e, field_id);
-            });
-            filter_input.addEventListener('keyup', function(e) {
-                SelectFilter.filter_key_up(e, field_id);
-            });
-            filter_input.addEventListener('keydown', function(e) {
-                SelectFilter.filter_key_down(e, field_id);
-            });
-            selector_div.addEventListener('change', function(e) {
-                if (e.target.tagName === 'SELECT') {
-                    SelectFilter.refresh_icons(field_id);
-                }
-            });
-            selector_div.addEventListener('dblclick', function(e) {
-                if (e.target.tagName === 'OPTION') {
-                    if (e.target.closest('select').id === field_id + '_to') {
-                        SelectBox.move(field_id + '_to', field_id + '_from');
-                    } else {
-                        SelectBox.move(field_id + '_from', field_id + '_to');
-                    }
-                    SelectFilter.refresh_icons(field_id);
-                }
-            });
-            findForm(from_box).addEventListener('submit', function() {
-                SelectBox.select_all(field_id + '_to');
-            });
-            SelectBox.init(field_id + '_from');
-            SelectBox.init(field_id + '_to');
-            // Move selected from_box options to to_box
-            SelectBox.move(field_id + '_from', field_id + '_to');
-
-            if (!is_stacked) {
-                // In horizontal mode, give the same height to the two boxes.
-                var j_from_box = $('#' + field_id + '_from');
-                var j_to_box = $('#' + field_id + '_to');
-                j_to_box.height($(filter_p).outerHeight() + j_from_box.outerHeight());
-            }
-
-            // Initial icon refresh
-            SelectFilter.refresh_icons(field_id);
-        },
-        any_selected: function(field) {
-            var any_selected = false;
-            try {
-                // Temporarily add the required attribute and check validity.
-                // This is much faster in WebKit browsers than the fallback.
-                field.attr('required', 'required');
-                any_selected = field.is(':valid');
-                field.removeAttr('required');
-            } catch (e) {
-                // Browsers that don't support :valid (IE < 10)
-                any_selected = field.find('option:selected').length > 0;
-            }
-            return any_selected;
-        },
-        refresh_icons: function(field_id) {
-            var from = $('#' + field_id + '_from');
-            var to = $('#' + field_id + '_to');
-            // Active if at least one item is selected
-            $('#' + field_id + '_add_link').toggleClass('active', SelectFilter.any_selected(from));
-            $('#' + field_id + '_remove_link').toggleClass('active', SelectFilter.any_selected(to));
-            // Active if the corresponding box isn't empty
-            $('#' + field_id + '_add_all_link').toggleClass('active', from.find('option').length > 0);
-            $('#' + field_id + '_remove_all_link').toggleClass('active', to.find('option').length > 0);
-        },
-        filter_key_press: function(event, field_id) {
-            var from = document.getElementById(field_id + '_from');
-            // don't submit form if user pressed Enter
-            if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) {
-                from.selectedIndex = 0;
-                SelectBox.move(field_id + '_from', field_id + '_to');
-                from.selectedIndex = 0;
-                event.preventDefault();
-                return false;
-            }
-        },
-        filter_key_up: function(event, field_id) {
-            var from = document.getElementById(field_id + '_from');
-            var temp = from.selectedIndex;
-            SelectBox.filter(field_id + '_from', document.getElementById(field_id + '_input').value);
-            from.selectedIndex = temp;
-            return true;
-        },
-        filter_key_down: function(event, field_id) {
-            var from = document.getElementById(field_id + '_from');
-            // right arrow -- move across
-            if ((event.which && event.which === 39) || (event.keyCode && event.keyCode === 39)) {
-                var old_index = from.selectedIndex;
-                SelectBox.move(field_id + '_from', field_id + '_to');
-                from.selectedIndex = (old_index === from.length) ? from.length - 1 : old_index;
-                return false;
-            }
-            // down arrow -- wrap around
-            if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) {
-                from.selectedIndex = (from.length === from.selectedIndex + 1) ? 0 : from.selectedIndex + 1;
-            }
-            // up arrow -- wrap around
-            if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) {
-                from.selectedIndex = (from.selectedIndex === 0) ? from.length - 1 : from.selectedIndex - 1;
-            }
-            return true;
-        }
-    };
-
-    window.addEventListener('load', function(e) {
-        $('select.selectfilter, select.selectfilterstacked').each(function() {
-            var $el = $(this),
-                data = $el.data();
-            SelectFilter.init($el.attr('id'), data.fieldName, parseInt(data.isStacked, 10));
-        });
-    });
-
-})(django.jQuery);
diff --git a/static/admin/js/actions.js b/static/admin/js/actions.js
deleted file mode 100644
index 27c60a6e..00000000
--- a/static/admin/js/actions.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/*global gettext, interpolate, ngettext*/
-(function($) {
-    'use strict';
-    var lastChecked;
-
-    $.fn.actions = function(opts) {
-        var options = $.extend({}, $.fn.actions.defaults, opts);
-        var actionCheckboxes = $(this);
-        var list_editable_changed = false;
-        var showQuestion = function() {
-                $(options.acrossClears).hide();
-                $(options.acrossQuestions).show();
-                $(options.allContainer).hide();
-            },
-            showClear = function() {
-                $(options.acrossClears).show();
-                $(options.acrossQuestions).hide();
-                $(options.actionContainer).toggleClass(options.selectedClass);
-                $(options.allContainer).show();
-                $(options.counterContainer).hide();
-            },
-            reset = function() {
-                $(options.acrossClears).hide();
-                $(options.acrossQuestions).hide();
-                $(options.allContainer).hide();
-                $(options.counterContainer).show();
-            },
-            clearAcross = function() {
-                reset();
-                $(options.acrossInput).val(0);
-                $(options.actionContainer).removeClass(options.selectedClass);
-            },
-            checker = function(checked) {
-                if (checked) {
-                    showQuestion();
-                } else {
-                    reset();
-                }
-                $(actionCheckboxes).prop("checked", checked)
-                    .parent().parent().toggleClass(options.selectedClass, checked);
-            },
-            updateCounter = function() {
-                var sel = $(actionCheckboxes).filter(":checked").length;
-                // data-actions-icnt is defined in the generated HTML
-                // and contains the total amount of objects in the queryset
-                var actions_icnt = $('.action-counter').data('actionsIcnt');
-                $(options.counterContainer).html(interpolate(
-                    ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), {
-                        sel: sel,
-                        cnt: actions_icnt
-                    }, true));
-                $(options.allToggle).prop("checked", function() {
-                    var value;
-                    if (sel === actionCheckboxes.length) {
-                        value = true;
-                        showQuestion();
-                    } else {
-                        value = false;
-                        clearAcross();
-                    }
-                    return value;
-                });
-            };
-        // Show counter by default
-        $(options.counterContainer).show();
-        // Check state of checkboxes and reinit state if needed
-        $(this).filter(":checked").each(function(i) {
-            $(this).parent().parent().toggleClass(options.selectedClass);
-            updateCounter();
-            if ($(options.acrossInput).val() === 1) {
-                showClear();
-            }
-        });
-        $(options.allToggle).show().on('click', function() {
-            checker($(this).prop("checked"));
-            updateCounter();
-        });
-        $("a", options.acrossQuestions).on('click', function(event) {
-            event.preventDefault();
-            $(options.acrossInput).val(1);
-            showClear();
-        });
-        $("a", options.acrossClears).on('click', function(event) {
-            event.preventDefault();
-            $(options.allToggle).prop("checked", false);
-            clearAcross();
-            checker(0);
-            updateCounter();
-        });
-        lastChecked = null;
-        $(actionCheckboxes).on('click', function(event) {
-            if (!event) { event = window.event; }
-            var target = event.target ? event.target : event.srcElement;
-            if (lastChecked && $.data(lastChecked) !== $.data(target) && event.shiftKey === true) {
-                var inrange = false;
-                $(lastChecked).prop("checked", target.checked)
-                    .parent().parent().toggleClass(options.selectedClass, target.checked);
-                $(actionCheckboxes).each(function() {
-                    if ($.data(this) === $.data(lastChecked) || $.data(this) === $.data(target)) {
-                        inrange = (inrange) ? false : true;
-                    }
-                    if (inrange) {
-                        $(this).prop("checked", target.checked)
-                            .parent().parent().toggleClass(options.selectedClass, target.checked);
-                    }
-                });
-            }
-            $(target).parent().parent().toggleClass(options.selectedClass, target.checked);
-            lastChecked = target;
-            updateCounter();
-        });
-        $('form#changelist-form table#result_list tr').on('change', 'td:gt(0) :input', function() {
-            list_editable_changed = true;
-        });
-        $('form#changelist-form button[name="index"]').on('click', function(event) {
-            if (list_editable_changed) {
-                return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."));
-            }
-        });
-        $('form#changelist-form input[name="_save"]').on('click', function(event) {
-            var action_changed = false;
-            $('select option:selected', options.actionContainer).each(function() {
-                if ($(this).val()) {
-                    action_changed = true;
-                }
-            });
-            if (action_changed) {
-                if (list_editable_changed) {
-                    return confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action."));
-                } else {
-                    return confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."));
-                }
-            }
-        });
-    };
-    /* Setup plugin defaults */
-    $.fn.actions.defaults = {
-        actionContainer: "div.actions",
-        counterContainer: "span.action-counter",
-        allContainer: "div.actions span.all",
-        acrossInput: "div.actions input.select-across",
-        acrossQuestions: "div.actions span.question",
-        acrossClears: "div.actions span.clear",
-        allToggle: "#action-toggle",
-        selectedClass: "selected"
-    };
-    $(document).ready(function() {
-        var $actionsEls = $('tr input.action-select');
-        if ($actionsEls.length > 0) {
-            $actionsEls.actions();
-        }
-    });
-})(django.jQuery);
diff --git a/static/admin/js/actions.min.js b/static/admin/js/actions.min.js
deleted file mode 100644
index 31e83c1f..00000000
--- a/static/admin/js/actions.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-(function(a){var f;a.fn.actions=function(e){var b=a.extend({},a.fn.actions.defaults,e),g=a(this),k=!1,l=function(){a(b.acrossClears).hide();a(b.acrossQuestions).show();a(b.allContainer).hide()},m=function(){a(b.acrossClears).show();a(b.acrossQuestions).hide();a(b.actionContainer).toggleClass(b.selectedClass);a(b.allContainer).show();a(b.counterContainer).hide()},n=function(){a(b.acrossClears).hide();a(b.acrossQuestions).hide();a(b.allContainer).hide();a(b.counterContainer).show()},p=function(){n();
-a(b.acrossInput).val(0);a(b.actionContainer).removeClass(b.selectedClass)},q=function(c){c?l():n();a(g).prop("checked",c).parent().parent().toggleClass(b.selectedClass,c)},h=function(){var c=a(g).filter(":checked").length,d=a(".action-counter").data("actionsIcnt");a(b.counterContainer).html(interpolate(ngettext("%(sel)s of %(cnt)s selected","%(sel)s of %(cnt)s selected",c),{sel:c,cnt:d},!0));a(b.allToggle).prop("checked",function(){if(c===g.length){var a=!0;l()}else a=!1,p();return a})};a(b.counterContainer).show();
-a(this).filter(":checked").each(function(c){a(this).parent().parent().toggleClass(b.selectedClass);h();1===a(b.acrossInput).val()&&m()});a(b.allToggle).show().on("click",function(){q(a(this).prop("checked"));h()});a("a",b.acrossQuestions).on("click",function(c){c.preventDefault();a(b.acrossInput).val(1);m()});a("a",b.acrossClears).on("click",function(c){c.preventDefault();a(b.allToggle).prop("checked",!1);p();q(0);h()});f=null;a(g).on("click",function(c){c||(c=window.event);var d=c.target?c.target:
-c.srcElement;if(f&&a.data(f)!==a.data(d)&&!0===c.shiftKey){var e=!1;a(f).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked);a(g).each(function(){if(a.data(this)===a.data(f)||a.data(this)===a.data(d))e=e?!1:!0;e&&a(this).prop("checked",d.checked).parent().parent().toggleClass(b.selectedClass,d.checked)})}a(d).parent().parent().toggleClass(b.selectedClass,d.checked);f=d;h()});a("form#changelist-form table#result_list tr").on("change","td:gt(0) :input",function(){k=!0});
-a('form#changelist-form button[name="index"]').on("click",function(a){if(k)return confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost."))});a('form#changelist-form input[name="_save"]').on("click",function(c){var d=!1;a("select option:selected",b.actionContainer).each(function(){a(this).val()&&(d=!0)});if(d)return k?confirm(gettext("You have selected an action, but you haven't saved your changes to individual fields yet. Please click OK to save. You'll need to re-run the action.")):
-confirm(gettext("You have selected an action, and you haven't made any changes on individual fields. You're probably looking for the Go button rather than the Save button."))})};a.fn.actions.defaults={actionContainer:"div.actions",counterContainer:"span.action-counter",allContainer:"div.actions span.all",acrossInput:"div.actions input.select-across",acrossQuestions:"div.actions span.question",acrossClears:"div.actions span.clear",allToggle:"#action-toggle",selectedClass:"selected"};a(document).ready(function(){var e=
-a("tr input.action-select");0<e.length&&e.actions()})})(django.jQuery);
diff --git a/static/admin/js/admin/DateTimeShortcuts.js b/static/admin/js/admin/DateTimeShortcuts.js
deleted file mode 100644
index 1ee7c2a9..00000000
--- a/static/admin/js/admin/DateTimeShortcuts.js
+++ /dev/null
@@ -1,423 +0,0 @@
-/*global Calendar, findPosX, findPosY, getStyle, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/
-// Inserts shortcut buttons after all of the following:
-//     <input type="text" class="vDateField">
-//     <input type="text" class="vTimeField">
-(function() {
-    'use strict';
-    var DateTimeShortcuts = {
-        calendars: [],
-        calendarInputs: [],
-        clockInputs: [],
-        clockHours: {
-            default_: [
-                [gettext_noop('Now'), -1],
-                [gettext_noop('Midnight'), 0],
-                [gettext_noop('6 a.m.'), 6],
-                [gettext_noop('Noon'), 12],
-                [gettext_noop('6 p.m.'), 18]
-            ]
-        },
-        dismissClockFunc: [],
-        dismissCalendarFunc: [],
-        calendarDivName1: 'calendarbox', // name of calendar <div> that gets toggled
-        calendarDivName2: 'calendarin', // name of <div> that contains calendar
-        calendarLinkName: 'calendarlink', // name of the link that is used to toggle
-        clockDivName: 'clockbox', // name of clock <div> that gets toggled
-        clockLinkName: 'clocklink', // name of the link that is used to toggle
-        shortCutsClass: 'datetimeshortcuts', // class of the clock and cal shortcuts
-        timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch
-        timezoneOffset: 0,
-        init: function() {
-            var body = document.getElementsByTagName('body')[0];
-            var serverOffset = body.getAttribute('data-admin-utc-offset');
-            if (serverOffset) {
-                var localOffset = new Date().getTimezoneOffset() * -60;
-                DateTimeShortcuts.timezoneOffset = localOffset - serverOffset;
-            }
-
-            var inputs = document.getElementsByTagName('input');
-            for (var i = 0; i < inputs.length; i++) {
-                var inp = inputs[i];
-                if (inp.getAttribute('type') === 'text' && inp.className.match(/vTimeField/)) {
-                    DateTimeShortcuts.addClock(inp);
-                    DateTimeShortcuts.addTimezoneWarning(inp);
-                }
-                else if (inp.getAttribute('type') === 'text' && inp.className.match(/vDateField/)) {
-                    DateTimeShortcuts.addCalendar(inp);
-                    DateTimeShortcuts.addTimezoneWarning(inp);
-                }
-            }
-        },
-        // Return the current time while accounting for the server timezone.
-        now: function() {
-            var body = document.getElementsByTagName('body')[0];
-            var serverOffset = body.getAttribute('data-admin-utc-offset');
-            if (serverOffset) {
-                var localNow = new Date();
-                var localOffset = localNow.getTimezoneOffset() * -60;
-                localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset));
-                return localNow;
-            } else {
-                return new Date();
-            }
-        },
-        // Add a warning when the time zone in the browser and backend do not match.
-        addTimezoneWarning: function(inp) {
-            var warningClass = DateTimeShortcuts.timezoneWarningClass;
-            var timezoneOffset = DateTimeShortcuts.timezoneOffset / 3600;
-
-            // Only warn if there is a time zone mismatch.
-            if (!timezoneOffset) {
-                return;
-            }
-
-            // Check if warning is already there.
-            if (inp.parentNode.querySelectorAll('.' + warningClass).length) {
-                return;
-            }
-
-            var message;
-            if (timezoneOffset > 0) {
-                message = ngettext(
-                    'Note: You are %s hour ahead of server time.',
-                    'Note: You are %s hours ahead of server time.',
-                    timezoneOffset
-                );
-            }
-            else {
-                timezoneOffset *= -1;
-                message = ngettext(
-                    'Note: You are %s hour behind server time.',
-                    'Note: You are %s hours behind server time.',
-                    timezoneOffset
-                );
-            }
-            message = interpolate(message, [timezoneOffset]);
-
-            var warning = document.createElement('span');
-            warning.className = warningClass;
-            warning.textContent = message;
-            inp.parentNode.appendChild(document.createElement('br'));
-            inp.parentNode.appendChild(warning);
-        },
-        // Add clock widget to a given field
-        addClock: function(inp) {
-            var num = DateTimeShortcuts.clockInputs.length;
-            DateTimeShortcuts.clockInputs[num] = inp;
-            DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; };
-
-            // Shortcut links (clock icon and "Now" link)
-            var shortcuts_span = document.createElement('span');
-            shortcuts_span.className = DateTimeShortcuts.shortCutsClass;
-            inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling);
-            var now_link = document.createElement('a');
-            now_link.setAttribute('href', "#");
-            now_link.textContent = gettext('Now');
-            now_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.handleClockQuicklink(num, -1);
-            });
-            var clock_link = document.createElement('a');
-            clock_link.setAttribute('href', '#');
-            clock_link.id = DateTimeShortcuts.clockLinkName + num;
-            clock_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                // avoid triggering the document click handler to dismiss the clock
-                e.stopPropagation();
-                DateTimeShortcuts.openClock(num);
-            });
-
-            quickElement(
-                'span', clock_link, '',
-                'class', 'clock-icon',
-                'title', gettext('Choose a Time')
-            );
-            shortcuts_span.appendChild(document.createTextNode('\u00A0'));
-            shortcuts_span.appendChild(now_link);
-            shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0'));
-            shortcuts_span.appendChild(clock_link);
-
-            // Create clock link div
-            //
-            // Markup looks like:
-            // <div id="clockbox1" class="clockbox module">
-            //     <h2>Choose a time</h2>
-            //     <ul class="timelist">
-            //         <li><a href="#">Now</a></li>
-            //         <li><a href="#">Midnight</a></li>
-            //         <li><a href="#">6 a.m.</a></li>
-            //         <li><a href="#">Noon</a></li>
-            //         <li><a href="#">6 p.m.</a></li>
-            //     </ul>
-            //     <p class="calendar-cancel"><a href="#">Cancel</a></p>
-            // </div>
-
-            var clock_box = document.createElement('div');
-            clock_box.style.display = 'none';
-            clock_box.style.position = 'absolute';
-            clock_box.className = 'clockbox module';
-            clock_box.setAttribute('id', DateTimeShortcuts.clockDivName + num);
-            document.body.appendChild(clock_box);
-            clock_box.addEventListener('click', function(e) { e.stopPropagation(); });
-
-            quickElement('h2', clock_box, gettext('Choose a time'));
-            var time_list = quickElement('ul', clock_box);
-            time_list.className = 'timelist';
-            // The list of choices can be overridden in JavaScript like this:
-            // DateTimeShortcuts.clockHours.name = [['3 a.m.', 3]];
-            // where name is the name attribute of the <input>.
-            var name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name;
-            DateTimeShortcuts.clockHours[name].forEach(function(element) {
-                var time_link = quickElement('a', quickElement('li', time_list), gettext(element[0]), 'href', '#');
-                time_link.addEventListener('click', function(e) {
-                    e.preventDefault();
-                    DateTimeShortcuts.handleClockQuicklink(num, element[1]);
-                });
-            });
-
-            var cancel_p = quickElement('p', clock_box);
-            cancel_p.className = 'calendar-cancel';
-            var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#');
-            cancel_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.dismissClock(num);
-            });
-
-            document.addEventListener('keyup', function(event) {
-                if (event.which === 27) {
-                    // ESC key closes popup
-                    DateTimeShortcuts.dismissClock(num);
-                    event.preventDefault();
-                }
-            });
-        },
-        openClock: function(num) {
-            var clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num);
-            var clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num);
-
-            // Recalculate the clockbox position
-            // is it left-to-right or right-to-left layout ?
-            if (getStyle(document.body, 'direction') !== 'rtl') {
-                clock_box.style.left = findPosX(clock_link) + 17 + 'px';
-            }
-            else {
-                // since style's width is in em, it'd be tough to calculate
-                // px value of it. let's use an estimated px for now
-                // TODO: IE returns wrong value for findPosX when in rtl mode
-                //       (it returns as it was left aligned), needs to be fixed.
-                clock_box.style.left = findPosX(clock_link) - 110 + 'px';
-            }
-            clock_box.style.top = Math.max(0, findPosY(clock_link) - 30) + 'px';
-
-            // Show the clock box
-            clock_box.style.display = 'block';
-            document.addEventListener('click', DateTimeShortcuts.dismissClockFunc[num]);
-        },
-        dismissClock: function(num) {
-            document.getElementById(DateTimeShortcuts.clockDivName + num).style.display = 'none';
-            document.removeEventListener('click', DateTimeShortcuts.dismissClockFunc[num]);
-        },
-        handleClockQuicklink: function(num, val) {
-            var d;
-            if (val === -1) {
-                d = DateTimeShortcuts.now();
-            }
-            else {
-                d = new Date(1970, 1, 1, val, 0, 0, 0);
-            }
-            DateTimeShortcuts.clockInputs[num].value = d.strftime(get_format('TIME_INPUT_FORMATS')[0]);
-            DateTimeShortcuts.clockInputs[num].focus();
-            DateTimeShortcuts.dismissClock(num);
-        },
-        // Add calendar widget to a given field.
-        addCalendar: function(inp) {
-            var num = DateTimeShortcuts.calendars.length;
-
-            DateTimeShortcuts.calendarInputs[num] = inp;
-            DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; };
-
-            // Shortcut links (calendar icon and "Today" link)
-            var shortcuts_span = document.createElement('span');
-            shortcuts_span.className = DateTimeShortcuts.shortCutsClass;
-            inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling);
-            var today_link = document.createElement('a');
-            today_link.setAttribute('href', '#');
-            today_link.appendChild(document.createTextNode(gettext('Today')));
-            today_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.handleCalendarQuickLink(num, 0);
-            });
-            var cal_link = document.createElement('a');
-            cal_link.setAttribute('href', '#');
-            cal_link.id = DateTimeShortcuts.calendarLinkName + num;
-            cal_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                // avoid triggering the document click handler to dismiss the calendar
-                e.stopPropagation();
-                DateTimeShortcuts.openCalendar(num);
-            });
-            quickElement(
-                'span', cal_link, '',
-                'class', 'date-icon',
-                'title', gettext('Choose a Date')
-            );
-            shortcuts_span.appendChild(document.createTextNode('\u00A0'));
-            shortcuts_span.appendChild(today_link);
-            shortcuts_span.appendChild(document.createTextNode('\u00A0|\u00A0'));
-            shortcuts_span.appendChild(cal_link);
-
-            // Create calendarbox div.
-            //
-            // Markup looks like:
-            //
-            // <div id="calendarbox3" class="calendarbox module">
-            //     <h2>
-            //           <a href="#" class="link-previous">&lsaquo;</a>
-            //           <a href="#" class="link-next">&rsaquo;</a> February 2003
-            //     </h2>
-            //     <div class="calendar" id="calendarin3">
-            //         <!-- (cal) -->
-            //     </div>
-            //     <div class="calendar-shortcuts">
-            //          <a href="#">Yesterday</a> | <a href="#">Today</a> | <a href="#">Tomorrow</a>
-            //     </div>
-            //     <p class="calendar-cancel"><a href="#">Cancel</a></p>
-            // </div>
-            var cal_box = document.createElement('div');
-            cal_box.style.display = 'none';
-            cal_box.style.position = 'absolute';
-            cal_box.className = 'calendarbox module';
-            cal_box.setAttribute('id', DateTimeShortcuts.calendarDivName1 + num);
-            document.body.appendChild(cal_box);
-            cal_box.addEventListener('click', function(e) { e.stopPropagation(); });
-
-            // next-prev links
-            var cal_nav = quickElement('div', cal_box);
-            var cal_nav_prev = quickElement('a', cal_nav, '<', 'href', '#');
-            cal_nav_prev.className = 'calendarnav-previous';
-            cal_nav_prev.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.drawPrev(num);
-            });
-
-            var cal_nav_next = quickElement('a', cal_nav, '>', 'href', '#');
-            cal_nav_next.className = 'calendarnav-next';
-            cal_nav_next.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.drawNext(num);
-            });
-
-            // main box
-            var cal_main = quickElement('div', cal_box, '', 'id', DateTimeShortcuts.calendarDivName2 + num);
-            cal_main.className = 'calendar';
-            DateTimeShortcuts.calendars[num] = new Calendar(DateTimeShortcuts.calendarDivName2 + num, DateTimeShortcuts.handleCalendarCallback(num));
-            DateTimeShortcuts.calendars[num].drawCurrent();
-
-            // calendar shortcuts
-            var shortcuts = quickElement('div', cal_box);
-            shortcuts.className = 'calendar-shortcuts';
-            var day_link = quickElement('a', shortcuts, gettext('Yesterday'), 'href', '#');
-            day_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.handleCalendarQuickLink(num, -1);
-            });
-            shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0'));
-            day_link = quickElement('a', shortcuts, gettext('Today'), 'href', '#');
-            day_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.handleCalendarQuickLink(num, 0);
-            });
-            shortcuts.appendChild(document.createTextNode('\u00A0|\u00A0'));
-            day_link = quickElement('a', shortcuts, gettext('Tomorrow'), 'href', '#');
-            day_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.handleCalendarQuickLink(num, +1);
-            });
-
-            // cancel bar
-            var cancel_p = quickElement('p', cal_box);
-            cancel_p.className = 'calendar-cancel';
-            var cancel_link = quickElement('a', cancel_p, gettext('Cancel'), 'href', '#');
-            cancel_link.addEventListener('click', function(e) {
-                e.preventDefault();
-                DateTimeShortcuts.dismissCalendar(num);
-            });
-            document.addEventListener('keyup', function(event) {
-                if (event.which === 27) {
-                    // ESC key closes popup
-                    DateTimeShortcuts.dismissCalendar(num);
-                    event.preventDefault();
-                }
-            });
-        },
-        openCalendar: function(num) {
-            var cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num);
-            var cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num);
-            var inp = DateTimeShortcuts.calendarInputs[num];
-
-            // Determine if the current value in the input has a valid date.
-            // If so, draw the calendar with that date's year and month.
-            if (inp.value) {
-                var format = get_format('DATE_INPUT_FORMATS')[0];
-                var selected = inp.value.strptime(format);
-                var year = selected.getUTCFullYear();
-                var month = selected.getUTCMonth() + 1;
-                var re = /\d{4}/;
-                if (re.test(year.toString()) && month >= 1 && month <= 12) {
-                    DateTimeShortcuts.calendars[num].drawDate(month, year, selected);
-                }
-            }
-
-            // Recalculate the clockbox position
-            // is it left-to-right or right-to-left layout ?
-            if (getStyle(document.body, 'direction') !== 'rtl') {
-                cal_box.style.left = findPosX(cal_link) + 17 + 'px';
-            }
-            else {
-                // since style's width is in em, it'd be tough to calculate
-                // px value of it. let's use an estimated px for now
-                // TODO: IE returns wrong value for findPosX when in rtl mode
-                //       (it returns as it was left aligned), needs to be fixed.
-                cal_box.style.left = findPosX(cal_link) - 180 + 'px';
-            }
-            cal_box.style.top = Math.max(0, findPosY(cal_link) - 75) + 'px';
-
-            cal_box.style.display = 'block';
-            document.addEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]);
-        },
-        dismissCalendar: function(num) {
-            document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none';
-            document.removeEventListener('click', DateTimeShortcuts.dismissCalendarFunc[num]);
-        },
-        drawPrev: function(num) {
-            DateTimeShortcuts.calendars[num].drawPreviousMonth();
-        },
-        drawNext: function(num) {
-            DateTimeShortcuts.calendars[num].drawNextMonth();
-        },
-        handleCalendarCallback: function(num) {
-            var format = get_format('DATE_INPUT_FORMATS')[0];
-            // the format needs to be escaped a little
-            format = format.replace('\\', '\\\\')
-                .replace('\r', '\\r')
-                .replace('\n', '\\n')
-                .replace('\t', '\\t')
-                .replace("'", "\\'");
-            return function(y, m, d) {
-                DateTimeShortcuts.calendarInputs[num].value = new Date(y, m - 1, d).strftime(format);
-                DateTimeShortcuts.calendarInputs[num].focus();
-                document.getElementById(DateTimeShortcuts.calendarDivName1 + num).style.display = 'none';
-            };
-        },
-        handleCalendarQuickLink: function(num, offset) {
-            var d = DateTimeShortcuts.now();
-            d.setDate(d.getDate() + offset);
-            DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]);
-            DateTimeShortcuts.calendarInputs[num].focus();
-            DateTimeShortcuts.dismissCalendar(num);
-        }
-    };
-
-    window.addEventListener('load', DateTimeShortcuts.init);
-    window.DateTimeShortcuts = DateTimeShortcuts;
-})();
diff --git a/static/admin/js/admin/RelatedObjectLookups.js b/static/admin/js/admin/RelatedObjectLookups.js
deleted file mode 100644
index f4c57c40..00000000
--- a/static/admin/js/admin/RelatedObjectLookups.js
+++ /dev/null
@@ -1,181 +0,0 @@
-/*global SelectBox, interpolate*/
-// Handles related-objects functionality: lookup link for raw_id_fields
-// and Add Another links.
-
-(function($) {
-    'use strict';
-
-    // IE doesn't accept periods or dashes in the window name, but the element IDs
-    // we use to generate popup window names may contain them, therefore we map them
-    // to allowed characters in a reversible way so that we can locate the correct
-    // element when the popup window is dismissed.
-    function id_to_windowname(text) {
-        text = text.replace(/\./g, '__dot__');
-        text = text.replace(/\-/g, '__dash__');
-        return text;
-    }
-
-    function windowname_to_id(text) {
-        text = text.replace(/__dot__/g, '.');
-        text = text.replace(/__dash__/g, '-');
-        return text;
-    }
-
-    function showAdminPopup(triggeringLink, name_regexp, add_popup) {
-        var name = triggeringLink.id.replace(name_regexp, '');
-        name = id_to_windowname(name);
-        var href = triggeringLink.href;
-        if (add_popup) {
-            if (href.indexOf('?') === -1) {
-                href += '?_popup=1';
-            } else {
-                href += '&_popup=1';
-            }
-        }
-        var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
-        win.focus();
-        return false;
-    }
-
-    function showRelatedObjectLookupPopup(triggeringLink) {
-        return showAdminPopup(triggeringLink, /^lookup_/, true);
-    }
-
-    function dismissRelatedLookupPopup(win, chosenId) {
-        var name = windowname_to_id(win.name);
-        var elem = document.getElementById(name);
-        if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) {
-            elem.value += ',' + chosenId;
-        } else {
-            document.getElementById(name).value = chosenId;
-        }
-        win.close();
-    }
-
-    function showRelatedObjectPopup(triggeringLink) {
-        return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false);
-    }
-
-    function updateRelatedObjectLinks(triggeringLink) {
-        var $this = $(triggeringLink);
-        var siblings = $this.nextAll('.view-related, .change-related, .delete-related');
-        if (!siblings.length) {
-            return;
-        }
-        var value = $this.val();
-        if (value) {
-            siblings.each(function() {
-                var elm = $(this);
-                elm.attr('href', elm.attr('data-href-template').replace('__fk__', value));
-            });
-        } else {
-            siblings.removeAttr('href');
-        }
-    }
-
-    function dismissAddRelatedObjectPopup(win, newId, newRepr) {
-        var name = windowname_to_id(win.name);
-        var elem = document.getElementById(name);
-        if (elem) {
-            var elemName = elem.nodeName.toUpperCase();
-            if (elemName === 'SELECT') {
-                elem.options[elem.options.length] = new Option(newRepr, newId, true, true);
-            } else if (elemName === 'INPUT') {
-                if (elem.className.indexOf('vManyToManyRawIdAdminField') !== -1 && elem.value) {
-                    elem.value += ',' + newId;
-                } else {
-                    elem.value = newId;
-                }
-            }
-            // Trigger a change event to update related links if required.
-            $(elem).trigger('change');
-        } else {
-            var toId = name + "_to";
-            var o = new Option(newRepr, newId);
-            SelectBox.add_to_cache(toId, o);
-            SelectBox.redisplay(toId);
-        }
-        win.close();
-    }
-
-    function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) {
-        var id = windowname_to_id(win.name).replace(/^edit_/, '');
-        var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
-        var selects = $(selectsSelector);
-        selects.find('option').each(function() {
-            if (this.value === objId) {
-                this.textContent = newRepr;
-                this.value = newId;
-            }
-        });
-        selects.next().find('.select2-selection__rendered').each(function() {
-            // The element can have a clear button as a child.
-            // Use the lastChild to modify only the displayed value.
-            this.lastChild.textContent = newRepr;
-            this.title = newRepr;
-        });
-        win.close();
-    }
-
-    function dismissDeleteRelatedObjectPopup(win, objId) {
-        var id = windowname_to_id(win.name).replace(/^delete_/, '');
-        var selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]);
-        var selects = $(selectsSelector);
-        selects.find('option').each(function() {
-            if (this.value === objId) {
-                $(this).remove();
-            }
-        }).trigger('change');
-        win.close();
-    }
-
-    // Global for testing purposes
-    window.id_to_windowname = id_to_windowname;
-    window.windowname_to_id = windowname_to_id;
-
-    window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup;
-    window.dismissRelatedLookupPopup = dismissRelatedLookupPopup;
-    window.showRelatedObjectPopup = showRelatedObjectPopup;
-    window.updateRelatedObjectLinks = updateRelatedObjectLinks;
-    window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup;
-    window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup;
-    window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup;
-
-    // Kept for backward compatibility
-    window.showAddAnotherPopup = showRelatedObjectPopup;
-    window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup;
-
-    $(document).ready(function() {
-        $("a[data-popup-opener]").on('click', function(event) {
-            event.preventDefault();
-            opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener"));
-        });
-        $('body').on('click', '.related-widget-wrapper-link', function(e) {
-            e.preventDefault();
-            if (this.href) {
-                var event = $.Event('django:show-related', {href: this.href});
-                $(this).trigger(event);
-                if (!event.isDefaultPrevented()) {
-                    showRelatedObjectPopup(this);
-                }
-            }
-        });
-        $('body').on('change', '.related-widget-wrapper select', function(e) {
-            var event = $.Event('django:update-related');
-            $(this).trigger(event);
-            if (!event.isDefaultPrevented()) {
-                updateRelatedObjectLinks(this);
-            }
-        });
-        $('.related-widget-wrapper select').trigger('change');
-        $('body').on('click', '.related-lookup', function(e) {
-            e.preventDefault();
-            var event = $.Event('django:lookup-related');
-            $(this).trigger(event);
-            if (!event.isDefaultPrevented()) {
-                showRelatedObjectLookupPopup(this);
-            }
-        });
-    });
-
-})(django.jQuery);
diff --git a/static/admin/js/autocomplete.js b/static/admin/js/autocomplete.js
deleted file mode 100644
index 65c0702d..00000000
--- a/static/admin/js/autocomplete.js
+++ /dev/null
@@ -1,37 +0,0 @@
-(function($) {
-    'use strict';
-    var init = function($element, options) {
-        var settings = $.extend({
-            ajax: {
-                data: function(params) {
-                    return {
-                        term: params.term,
-                        page: params.page
-                    };
-                }
-            }
-        }, options);
-        $element.select2(settings);
-    };
-
-    $.fn.djangoAdminSelect2 = function(options) {
-        var settings = $.extend({}, options);
-        $.each(this, function(i, element) {
-            var $element = $(element);
-            init($element, settings);
-        });
-        return this;
-    };
-
-    $(function() {
-        // Initialize all autocomplete widgets except the one in the template
-        // form used when a new formset is added.
-        $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2();
-    });
-
-    $(document).on('formset:added', (function() {
-        return function(event, $newFormset) {
-            return $newFormset.find('.admin-autocomplete').djangoAdminSelect2();
-        };
-    })(this));
-}(django.jQuery));
diff --git a/static/admin/js/calendar.js b/static/admin/js/calendar.js
deleted file mode 100644
index a4c047aa..00000000
--- a/static/admin/js/calendar.js
+++ /dev/null
@@ -1,208 +0,0 @@
-/*global gettext, pgettext, get_format, quickElement, removeChildren*/
-/*
-calendar.js - Calendar functions by Adrian Holovaty
-depends on core.js for utility functions like removeChildren or quickElement
-*/
-
-(function() {
-    'use strict';
-    // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions
-    var CalendarNamespace = {
-        monthsOfYear: [
-            gettext('January'),
-            gettext('February'),
-            gettext('March'),
-            gettext('April'),
-            gettext('May'),
-            gettext('June'),
-            gettext('July'),
-            gettext('August'),
-            gettext('September'),
-            gettext('October'),
-            gettext('November'),
-            gettext('December')
-        ],
-        daysOfWeek: [
-            pgettext('one letter Sunday', 'S'),
-            pgettext('one letter Monday', 'M'),
-            pgettext('one letter Tuesday', 'T'),
-            pgettext('one letter Wednesday', 'W'),
-            pgettext('one letter Thursday', 'T'),
-            pgettext('one letter Friday', 'F'),
-            pgettext('one letter Saturday', 'S')
-        ],
-        firstDayOfWeek: parseInt(get_format('FIRST_DAY_OF_WEEK')),
-        isLeapYear: function(year) {
-            return (((year % 4) === 0) && ((year % 100) !== 0 ) || ((year % 400) === 0));
-        },
-        getDaysInMonth: function(month, year) {
-            var days;
-            if (month === 1 || month === 3 || month === 5 || month === 7 || month === 8 || month === 10 || month === 12) {
-                days = 31;
-            }
-            else if (month === 4 || month === 6 || month === 9 || month === 11) {
-                days = 30;
-            }
-            else if (month === 2 && CalendarNamespace.isLeapYear(year)) {
-                days = 29;
-            }
-            else {
-                days = 28;
-            }
-            return days;
-        },
-        draw: function(month, year, div_id, callback, selected) { // month = 1-12, year = 1-9999
-            var today = new Date();
-            var todayDay = today.getDate();
-            var todayMonth = today.getMonth() + 1;
-            var todayYear = today.getFullYear();
-            var todayClass = '';
-
-            // Use UTC functions here because the date field does not contain time
-            // and using the UTC function variants prevent the local time offset
-            // from altering the date, specifically the day field.  For example:
-            //
-            // ```
-            // var x = new Date('2013-10-02');
-            // var day = x.getDate();
-            // ```
-            //
-            // The day variable above will be 1 instead of 2 in, say, US Pacific time
-            // zone.
-            var isSelectedMonth = false;
-            if (typeof selected !== 'undefined') {
-                isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month);
-            }
-
-            month = parseInt(month);
-            year = parseInt(year);
-            var calDiv = document.getElementById(div_id);
-            removeChildren(calDiv);
-            var calTable = document.createElement('table');
-            quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year);
-            var tableBody = quickElement('tbody', calTable);
-
-            // Draw days-of-week header
-            var tableRow = quickElement('tr', tableBody);
-            for (var i = 0; i < 7; i++) {
-                quickElement('th', tableRow, CalendarNamespace.daysOfWeek[(i + CalendarNamespace.firstDayOfWeek) % 7]);
-            }
-
-            var startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay();
-            var days = CalendarNamespace.getDaysInMonth(month, year);
-
-            var nonDayCell;
-
-            // Draw blanks before first of month
-            tableRow = quickElement('tr', tableBody);
-            for (i = 0; i < startingPos; i++) {
-                nonDayCell = quickElement('td', tableRow, ' ');
-                nonDayCell.className = "nonday";
-            }
-
-            function calendarMonth(y, m) {
-                function onClick(e) {
-                    e.preventDefault();
-                    callback(y, m, this.textContent);
-                }
-                return onClick;
-            }
-
-            // Draw days of month
-            var currentDay = 1;
-            for (i = startingPos; currentDay <= days; i++) {
-                if (i % 7 === 0 && currentDay !== 1) {
-                    tableRow = quickElement('tr', tableBody);
-                }
-                if ((currentDay === todayDay) && (month === todayMonth) && (year === todayYear)) {
-                    todayClass = 'today';
-                } else {
-                    todayClass = '';
-                }
-
-                // use UTC function; see above for explanation.
-                if (isSelectedMonth && currentDay === selected.getUTCDate()) {
-                    if (todayClass !== '') {
-                        todayClass += " ";
-                    }
-                    todayClass += "selected";
-                }
-
-                var cell = quickElement('td', tableRow, '', 'class', todayClass);
-                var link = quickElement('a', cell, currentDay, 'href', '#');
-                link.addEventListener('click', calendarMonth(year, month));
-                currentDay++;
-            }
-
-            // Draw blanks after end of month (optional, but makes for valid code)
-            while (tableRow.childNodes.length < 7) {
-                nonDayCell = quickElement('td', tableRow, ' ');
-                nonDayCell.className = "nonday";
-            }
-
-            calDiv.appendChild(calTable);
-        }
-    };
-
-    // Calendar -- A calendar instance
-    function Calendar(div_id, callback, selected) {
-        // div_id (string) is the ID of the element in which the calendar will
-        //     be displayed
-        // callback (string) is the name of a JavaScript function that will be
-        //     called with the parameters (year, month, day) when a day in the
-        //     calendar is clicked
-        this.div_id = div_id;
-        this.callback = callback;
-        this.today = new Date();
-        this.currentMonth = this.today.getMonth() + 1;
-        this.currentYear = this.today.getFullYear();
-        if (typeof selected !== 'undefined') {
-            this.selected = selected;
-        }
-    }
-    Calendar.prototype = {
-        drawCurrent: function() {
-            CalendarNamespace.draw(this.currentMonth, this.currentYear, this.div_id, this.callback, this.selected);
-        },
-        drawDate: function(month, year, selected) {
-            this.currentMonth = month;
-            this.currentYear = year;
-
-            if(selected) {
-                this.selected = selected;
-            }
-
-            this.drawCurrent();
-        },
-        drawPreviousMonth: function() {
-            if (this.currentMonth === 1) {
-                this.currentMonth = 12;
-                this.currentYear--;
-            }
-            else {
-                this.currentMonth--;
-            }
-            this.drawCurrent();
-        },
-        drawNextMonth: function() {
-            if (this.currentMonth === 12) {
-                this.currentMonth = 1;
-                this.currentYear++;
-            }
-            else {
-                this.currentMonth++;
-            }
-            this.drawCurrent();
-        },
-        drawPreviousYear: function() {
-            this.currentYear--;
-            this.drawCurrent();
-        },
-        drawNextYear: function() {
-            this.currentYear++;
-            this.drawCurrent();
-        }
-    };
-    window.Calendar = Calendar;
-    window.CalendarNamespace = CalendarNamespace;
-})();
diff --git a/static/admin/js/cancel.js b/static/admin/js/cancel.js
deleted file mode 100644
index 8809ee77..00000000
--- a/static/admin/js/cancel.js
+++ /dev/null
@@ -1,13 +0,0 @@
-(function($) {
-    'use strict';
-    $(function() {
-        $('.cancel-link').on('click', function(e) {
-            e.preventDefault();
-            if (window.location.search.indexOf('&_popup=1') === -1) {
-                window.history.back(); // Go back if not a popup.
-            } else {
-                window.close(); // Otherwise, close the popup.
-            }
-        });
-    });
-})(django.jQuery);
diff --git a/static/admin/js/change_form.js b/static/admin/js/change_form.js
deleted file mode 100644
index 4797383b..00000000
--- a/static/admin/js/change_form.js
+++ /dev/null
@@ -1,20 +0,0 @@
-/*global showAddAnotherPopup, showRelatedObjectLookupPopup showRelatedObjectPopup updateRelatedObjectLinks*/
-
-(function($) {
-    'use strict';
-    $(document).ready(function() {
-        var modelName = $('#django-admin-form-add-constants').data('modelName');
-        $('body').on('click', '.add-another', function(e) {
-            e.preventDefault();
-            var event = $.Event('django:add-another-related');
-            $(this).trigger(event);
-            if (!event.isDefaultPrevented()) {
-                showAddAnotherPopup(this);
-            }
-        });
-
-        if (modelName) {
-            $('form#' + modelName + '_form :input:visible:enabled:first').focus();
-        }
-    });
-})(django.jQuery);
diff --git a/static/admin/js/collapse.js b/static/admin/js/collapse.js
deleted file mode 100644
index 20e7030e..00000000
--- a/static/admin/js/collapse.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/*global gettext*/
-(function() {
-    'use strict';
-    var closestElem = function(elem, tagName) {
-        if (elem.nodeName === tagName.toUpperCase()) {
-            return elem;
-        }
-        if (elem.parentNode.nodeName === 'BODY') {
-            return null;
-        }
-        return elem.parentNode && closestElem(elem.parentNode, tagName);
-    };
-
-    window.addEventListener('load', function() {
-        // Add anchor tag for Show/Hide link
-        var fieldsets = document.querySelectorAll('fieldset.collapse');
-        for (var i = 0; i < fieldsets.length; i++) {
-            var elem = fieldsets[i];
-            // Don't hide if fields in this fieldset have errors
-            if (elem.querySelectorAll('div.errors').length === 0) {
-                elem.classList.add('collapsed');
-                var h2 = elem.querySelector('h2');
-                var link = document.createElement('a');
-                link.setAttribute('id', 'fieldsetcollapser' + i);
-                link.setAttribute('class', 'collapse-toggle');
-                link.setAttribute('href', '#');
-                link.textContent = gettext('Show');
-                h2.appendChild(document.createTextNode(' ('));
-                h2.appendChild(link);
-                h2.appendChild(document.createTextNode(')'));
-            }
-        }
-        // Add toggle to hide/show anchor tag
-        var toggleFunc = function(ev) {
-            if (ev.target.matches('.collapse-toggle')) {
-                ev.preventDefault();
-                ev.stopPropagation();
-                var fieldset = closestElem(ev.target, 'fieldset');
-                if (fieldset.classList.contains('collapsed')) {
-                    // Show
-                    ev.target.textContent = gettext('Hide');
-                    fieldset.classList.remove('collapsed');
-                } else {
-                    // Hide
-                    ev.target.textContent = gettext('Show');
-                    fieldset.classList.add('collapsed');
-                }
-            }
-        };
-        var inlineDivs = document.querySelectorAll('fieldset.module');
-        for (i = 0; i < inlineDivs.length; i++) {
-            inlineDivs[i].addEventListener('click', toggleFunc);
-        }
-    });
-})();
diff --git a/static/admin/js/collapse.min.js b/static/admin/js/collapse.min.js
deleted file mode 100644
index 9e16a21e..00000000
--- a/static/admin/js/collapse.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-(function(){var e=function(b,a){return b.nodeName===a.toUpperCase()?b:"BODY"===b.parentNode.nodeName?null:b.parentNode&&e(b.parentNode,a)};window.addEventListener("load",function(){for(var b=document.querySelectorAll("fieldset.collapse"),a=0;a<b.length;a++){var c=b[a];if(0===c.querySelectorAll("div.errors").length){c.classList.add("collapsed");c=c.querySelector("h2");var d=document.createElement("a");d.setAttribute("id","fieldsetcollapser"+a);d.setAttribute("class","collapse-toggle");d.setAttribute("href",
-"#");d.textContent=gettext("Show");c.appendChild(document.createTextNode(" ("));c.appendChild(d);c.appendChild(document.createTextNode(")"))}}b=function(a){if(a.target.matches(".collapse-toggle")){a.preventDefault();a.stopPropagation();var b=e(a.target,"fieldset");b.classList.contains("collapsed")?(a.target.textContent=gettext("Hide"),b.classList.remove("collapsed")):(a.target.textContent=gettext("Show"),b.classList.add("collapsed"))}};c=document.querySelectorAll("fieldset.module");for(a=0;a<c.length;a++)c[a].addEventListener("click",
-b)})})();
diff --git a/static/admin/js/core.js b/static/admin/js/core.js
deleted file mode 100644
index 4f2fe138..00000000
--- a/static/admin/js/core.js
+++ /dev/null
@@ -1,212 +0,0 @@
-// Core javascript helper functions
-
-// basic browser identification & version
-var isOpera = (navigator.userAgent.indexOf("Opera") >= 0) && parseFloat(navigator.appVersion);
-var isIE = ((document.all) && (!isOpera)) && parseFloat(navigator.appVersion.split("MSIE ")[1].split(";")[0]);
-
-// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]);
-function quickElement() {
-    'use strict';
-    var obj = document.createElement(arguments[0]);
-    if (arguments[2]) {
-        var textNode = document.createTextNode(arguments[2]);
-        obj.appendChild(textNode);
-    }
-    var len = arguments.length;
-    for (var i = 3; i < len; i += 2) {
-        obj.setAttribute(arguments[i], arguments[i + 1]);
-    }
-    arguments[1].appendChild(obj);
-    return obj;
-}
-
-// "a" is reference to an object
-function removeChildren(a) {
-    'use strict';
-    while (a.hasChildNodes()) {
-        a.removeChild(a.lastChild);
-    }
-}
-
-// ----------------------------------------------------------------------------
-// Find-position functions by PPK
-// See https://www.quirksmode.org/js/findpos.html
-// ----------------------------------------------------------------------------
-function findPosX(obj) {
-    'use strict';
-    var curleft = 0;
-    if (obj.offsetParent) {
-        while (obj.offsetParent) {
-            curleft += obj.offsetLeft - ((isOpera) ? 0 : obj.scrollLeft);
-            obj = obj.offsetParent;
-        }
-        // IE offsetParent does not include the top-level
-        if (isIE && obj.parentElement) {
-            curleft += obj.offsetLeft - obj.scrollLeft;
-        }
-    } else if (obj.x) {
-        curleft += obj.x;
-    }
-    return curleft;
-}
-
-function findPosY(obj) {
-    'use strict';
-    var curtop = 0;
-    if (obj.offsetParent) {
-        while (obj.offsetParent) {
-            curtop += obj.offsetTop - ((isOpera) ? 0 : obj.scrollTop);
-            obj = obj.offsetParent;
-        }
-        // IE offsetParent does not include the top-level
-        if (isIE && obj.parentElement) {
-            curtop += obj.offsetTop - obj.scrollTop;
-        }
-    } else if (obj.y) {
-        curtop += obj.y;
-    }
-    return curtop;
-}
-
-//-----------------------------------------------------------------------------
-// Date object extensions
-// ----------------------------------------------------------------------------
-(function() {
-    'use strict';
-    Date.prototype.getTwelveHours = function() {
-        var hours = this.getHours();
-        if (hours === 0) {
-            return 12;
-        }
-        else {
-            return hours <= 12 ? hours : hours - 12;
-        }
-    };
-
-    Date.prototype.getTwoDigitMonth = function() {
-        return (this.getMonth() < 9) ? '0' + (this.getMonth() + 1) : (this.getMonth() + 1);
-    };
-
-    Date.prototype.getTwoDigitDate = function() {
-        return (this.getDate() < 10) ? '0' + this.getDate() : this.getDate();
-    };
-
-    Date.prototype.getTwoDigitTwelveHour = function() {
-        return (this.getTwelveHours() < 10) ? '0' + this.getTwelveHours() : this.getTwelveHours();
-    };
-
-    Date.prototype.getTwoDigitHour = function() {
-        return (this.getHours() < 10) ? '0' + this.getHours() : this.getHours();
-    };
-
-    Date.prototype.getTwoDigitMinute = function() {
-        return (this.getMinutes() < 10) ? '0' + this.getMinutes() : this.getMinutes();
-    };
-
-    Date.prototype.getTwoDigitSecond = function() {
-        return (this.getSeconds() < 10) ? '0' + this.getSeconds() : this.getSeconds();
-    };
-
-    Date.prototype.getHourMinute = function() {
-        return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute();
-    };
-
-    Date.prototype.getHourMinuteSecond = function() {
-        return this.getTwoDigitHour() + ':' + this.getTwoDigitMinute() + ':' + this.getTwoDigitSecond();
-    };
-
-    Date.prototype.getFullMonthName = function() {
-        return typeof window.CalendarNamespace === "undefined"
-            ? this.getTwoDigitMonth()
-            : window.CalendarNamespace.monthsOfYear[this.getMonth()];
-    };
-
-    Date.prototype.strftime = function(format) {
-        var fields = {
-            B: this.getFullMonthName(),
-            c: this.toString(),
-            d: this.getTwoDigitDate(),
-            H: this.getTwoDigitHour(),
-            I: this.getTwoDigitTwelveHour(),
-            m: this.getTwoDigitMonth(),
-            M: this.getTwoDigitMinute(),
-            p: (this.getHours() >= 12) ? 'PM' : 'AM',
-            S: this.getTwoDigitSecond(),
-            w: '0' + this.getDay(),
-            x: this.toLocaleDateString(),
-            X: this.toLocaleTimeString(),
-            y: ('' + this.getFullYear()).substr(2, 4),
-            Y: '' + this.getFullYear(),
-            '%': '%'
-        };
-        var result = '', i = 0;
-        while (i < format.length) {
-            if (format.charAt(i) === '%') {
-                result = result + fields[format.charAt(i + 1)];
-                ++i;
-            }
-            else {
-                result = result + format.charAt(i);
-            }
-            ++i;
-        }
-        return result;
-    };
-
-    // ----------------------------------------------------------------------------
-    // String object extensions
-    // ----------------------------------------------------------------------------
-    String.prototype.pad_left = function(pad_length, pad_string) {
-        var new_string = this;
-        for (var i = 0; new_string.length < pad_length; i++) {
-            new_string = pad_string + new_string;
-        }
-        return new_string;
-    };
-
-    String.prototype.strptime = function(format) {
-        var split_format = format.split(/[.\-/]/);
-        var date = this.split(/[.\-/]/);
-        var i = 0;
-        var day, month, year;
-        while (i < split_format.length) {
-            switch (split_format[i]) {
-            case "%d":
-                day = date[i];
-                break;
-            case "%m":
-                month = date[i] - 1;
-                break;
-            case "%Y":
-                year = date[i];
-                break;
-            case "%y":
-                year = date[i];
-                break;
-            }
-            ++i;
-        }
-        // Create Date object from UTC since the parsed value is supposed to be
-        // in UTC, not local time. Also, the calendar uses UTC functions for
-        // date extraction.
-        return new Date(Date.UTC(year, month, day));
-    };
-
-})();
-// ----------------------------------------------------------------------------
-// Get the computed style for and element
-// ----------------------------------------------------------------------------
-function getStyle(oElm, strCssRule) {
-    'use strict';
-    var strValue = "";
-    if(document.defaultView && document.defaultView.getComputedStyle) {
-        strValue = document.defaultView.getComputedStyle(oElm, "").getPropertyValue(strCssRule);
-    }
-    else if(oElm.currentStyle) {
-        strCssRule = strCssRule.replace(/\-(\w)/g, function(strMatch, p1) {
-            return p1.toUpperCase();
-        });
-        strValue = oElm.currentStyle[strCssRule];
-    }
-    return strValue;
-}
diff --git a/static/admin/js/inlines.js b/static/admin/js/inlines.js
deleted file mode 100644
index ba8c9cd7..00000000
--- a/static/admin/js/inlines.js
+++ /dev/null
@@ -1,298 +0,0 @@
-/*global DateTimeShortcuts, SelectFilter*/
-/**
- * Django admin inlines
- *
- * Based on jQuery Formset 1.1
- * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com)
- * @requires jQuery 1.2.6 or later
- *
- * Copyright (c) 2009, Stanislaus Madueke
- * All rights reserved.
- *
- * Spiced up with Code from Zain Memon's GSoC project 2009
- * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip.
- *
- * Licensed under the New BSD License
- * See: https://opensource.org/licenses/bsd-license.php
- */
-(function($) {
-    'use strict';
-    $.fn.formset = function(opts) {
-        var options = $.extend({}, $.fn.formset.defaults, opts);
-        var $this = $(this);
-        var $parent = $this.parent();
-        var updateElementIndex = function(el, prefix, ndx) {
-            var id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))");
-            var replacement = prefix + "-" + ndx;
-            if ($(el).prop("for")) {
-                $(el).prop("for", $(el).prop("for").replace(id_regex, replacement));
-            }
-            if (el.id) {
-                el.id = el.id.replace(id_regex, replacement);
-            }
-            if (el.name) {
-                el.name = el.name.replace(id_regex, replacement);
-            }
-        };
-        var totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off");
-        var nextIndex = parseInt(totalForms.val(), 10);
-        var maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off");
-        // only show the add button if we are allowed to add more items,
-        // note that max_num = None translates to a blank string.
-        var showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0;
-        $this.each(function(i) {
-            $(this).not("." + options.emptyCssClass).addClass(options.formCssClass);
-        });
-        if ($this.length && showAddButton) {
-            var addButton = options.addButton;
-            if (addButton === null) {
-                if ($this.prop("tagName") === "TR") {
-                    // If forms are laid out as table rows, insert the
-                    // "add" button in a new table row:
-                    var numCols = this.eq(-1).children().length;
-                    $parent.append('<tr class="' + options.addCssClass + '"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a></tr>");
-                    addButton = $parent.find("tr:last a");
-                } else {
-                    // Otherwise, insert it immediately after the last form:
-                    $this.filter(":last").after('<div class="' + options.addCssClass + '"><a href="#">' + options.addText + "</a></div>");
-                    addButton = $this.filter(":last").next().find("a");
-                }
-            }
-            addButton.on('click', function(e) {
-                e.preventDefault();
-                var template = $("#" + options.prefix + "-empty");
-                var row = template.clone(true);
-                row.removeClass(options.emptyCssClass)
-                    .addClass(options.formCssClass)
-                    .attr("id", options.prefix + "-" + nextIndex);
-                if (row.is("tr")) {
-                    // If the forms are laid out in table rows, insert
-                    // the remove button into the last table cell:
-                    row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>");
-                } else if (row.is("ul") || row.is("ol")) {
-                    // If they're laid out as an ordered/unordered list,
-                    // insert an <li> after the last list item:
-                    row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>");
-                } else {
-                    // Otherwise, just insert the remove button as the
-                    // last child element of the form's container:
-                    row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>");
-                }
-                row.find("*").each(function() {
-                    updateElementIndex(this, options.prefix, totalForms.val());
-                });
-                // Insert the new form when it has been fully edited
-                row.insertBefore($(template));
-                // Update number of total forms
-                $(totalForms).val(parseInt(totalForms.val(), 10) + 1);
-                nextIndex += 1;
-                // Hide add button in case we've hit the max, except we want to add infinitely
-                if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) {
-                    addButton.parent().hide();
-                }
-                // The delete button of each row triggers a bunch of other things
-                row.find("a." + options.deleteCssClass).on('click', function(e1) {
-                    e1.preventDefault();
-                    // Remove the parent form containing this button:
-                    row.remove();
-                    nextIndex -= 1;
-                    // If a post-delete callback was provided, call it with the deleted form:
-                    if (options.removed) {
-                        options.removed(row);
-                    }
-                    $(document).trigger('formset:removed', [row, options.prefix]);
-                    // Update the TOTAL_FORMS form count.
-                    var forms = $("." + options.formCssClass);
-                    $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length);
-                    // Show add button again once we drop below max
-                    if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) {
-                        addButton.parent().show();
-                    }
-                    // Also, update names and ids for all remaining form controls
-                    // so they remain in sequence:
-                    var i, formCount;
-                    var updateElementCallback = function() {
-                        updateElementIndex(this, options.prefix, i);
-                    };
-                    for (i = 0, formCount = forms.length; i < formCount; i++) {
-                        updateElementIndex($(forms).get(i), options.prefix, i);
-                        $(forms.get(i)).find("*").each(updateElementCallback);
-                    }
-                });
-                // If a post-add callback was supplied, call it with the added form:
-                if (options.added) {
-                    options.added(row);
-                }
-                $(document).trigger('formset:added', [row, options.prefix]);
-            });
-        }
-        return this;
-    };
-
-    /* Setup plugin defaults */
-    $.fn.formset.defaults = {
-        prefix: "form", // The form prefix for your django formset
-        addText: "add another", // Text for the add link
-        deleteText: "remove", // Text for the delete link
-        addCssClass: "add-row", // CSS class applied to the add link
-        deleteCssClass: "delete-row", // CSS class applied to the delete link
-        emptyCssClass: "empty-row", // CSS class applied to the empty row
-        formCssClass: "dynamic-form", // CSS class applied to each form in a formset
-        added: null, // Function called each time a new form is added
-        removed: null, // Function called each time a form is deleted
-        addButton: null // Existing add button to use
-    };
-
-
-    // Tabular inlines ---------------------------------------------------------
-    $.fn.tabularFormset = function(selector, options) {
-        var $rows = $(this);
-        var alternatingRows = function(row) {
-            $(selector).not(".add-row").removeClass("row1 row2")
-                .filter(":even").addClass("row1").end()
-                .filter(":odd").addClass("row2");
-        };
-
-        var reinitDateTimeShortCuts = function() {
-            // Reinitialize the calendar and clock widgets by force
-            if (typeof DateTimeShortcuts !== "undefined") {
-                $(".datetimeshortcuts").remove();
-                DateTimeShortcuts.init();
-            }
-        };
-
-        var updateSelectFilter = function() {
-            // If any SelectFilter widgets are a part of the new form,
-            // instantiate a new SelectFilter instance for it.
-            if (typeof SelectFilter !== 'undefined') {
-                $('.selectfilter').each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], false);
-                });
-                $('.selectfilterstacked').each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], true);
-                });
-            }
-        };
-
-        var initPrepopulatedFields = function(row) {
-            row.find('.prepopulated_field').each(function() {
-                var field = $(this),
-                    input = field.find('input, select, textarea'),
-                    dependency_list = input.data('dependency_list') || [],
-                    dependencies = [];
-                $.each(dependency_list, function(i, field_name) {
-                    dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id'));
-                });
-                if (dependencies.length) {
-                    input.prepopulate(dependencies, input.attr('maxlength'));
-                }
-            });
-        };
-
-        $rows.formset({
-            prefix: options.prefix,
-            addText: options.addText,
-            formCssClass: "dynamic-" + options.prefix,
-            deleteCssClass: "inline-deletelink",
-            deleteText: options.deleteText,
-            emptyCssClass: "empty-form",
-            removed: alternatingRows,
-            added: function(row) {
-                initPrepopulatedFields(row);
-                reinitDateTimeShortCuts();
-                updateSelectFilter();
-                alternatingRows(row);
-            },
-            addButton: options.addButton
-        });
-
-        return $rows;
-    };
-
-    // Stacked inlines ---------------------------------------------------------
-    $.fn.stackedFormset = function(selector, options) {
-        var $rows = $(this);
-        var updateInlineLabel = function(row) {
-            $(selector).find(".inline_label").each(function(i) {
-                var count = i + 1;
-                $(this).html($(this).html().replace(/(#\d+)/g, "#" + count));
-            });
-        };
-
-        var reinitDateTimeShortCuts = function() {
-            // Reinitialize the calendar and clock widgets by force, yuck.
-            if (typeof DateTimeShortcuts !== "undefined") {
-                $(".datetimeshortcuts").remove();
-                DateTimeShortcuts.init();
-            }
-        };
-
-        var updateSelectFilter = function() {
-            // If any SelectFilter widgets were added, instantiate a new instance.
-            if (typeof SelectFilter !== "undefined") {
-                $(".selectfilter").each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], false);
-                });
-                $(".selectfilterstacked").each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], true);
-                });
-            }
-        };
-
-        var initPrepopulatedFields = function(row) {
-            row.find('.prepopulated_field').each(function() {
-                var field = $(this),
-                    input = field.find('input, select, textarea'),
-                    dependency_list = input.data('dependency_list') || [],
-                    dependencies = [];
-                $.each(dependency_list, function(i, field_name) {
-                    dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id'));
-                });
-                if (dependencies.length) {
-                    input.prepopulate(dependencies, input.attr('maxlength'));
-                }
-            });
-        };
-
-        $rows.formset({
-            prefix: options.prefix,
-            addText: options.addText,
-            formCssClass: "dynamic-" + options.prefix,
-            deleteCssClass: "inline-deletelink",
-            deleteText: options.deleteText,
-            emptyCssClass: "empty-form",
-            removed: updateInlineLabel,
-            added: function(row) {
-                initPrepopulatedFields(row);
-                reinitDateTimeShortCuts();
-                updateSelectFilter();
-                updateInlineLabel(row);
-            },
-            addButton: options.addButton
-        });
-
-        return $rows;
-    };
-
-    $(document).ready(function() {
-        $(".js-inline-admin-formset").each(function() {
-            var data = $(this).data(),
-                inlineOptions = data.inlineFormset,
-                selector;
-            switch(data.inlineType) {
-            case "stacked":
-                selector = inlineOptions.name + "-group .inline-related";
-                $(selector).stackedFormset(selector, inlineOptions.options);
-                break;
-            case "tabular":
-                selector = inlineOptions.name + "-group .tabular.inline-related tbody:first > tr";
-                $(selector).tabularFormset(selector, inlineOptions.options);
-                break;
-            }
-        });
-    });
-})(django.jQuery);
diff --git a/static/admin/js/inlines.min.js b/static/admin/js/inlines.min.js
deleted file mode 100644
index 65af8eb3..00000000
--- a/static/admin/js/inlines.min.js
+++ /dev/null
@@ -1,13 +0,0 @@
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(b,d,a){b instanceof String&&(b=String(b));for(var c=b.length,f=0;f<c;f++){var g=b[f];if(d.call(a,g,f,b))return{i:f,v:g}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(b,d,a){b!=Array.prototype&&b!=Object.prototype&&(b[d]=a.value)};
-$jscomp.getGlobal=function(b){return"undefined"!=typeof window&&window===b?b:"undefined"!=typeof global&&null!=global?global:b};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(b,d,a,c){if(d){a=$jscomp.global;b=b.split(".");for(c=0;c<b.length-1;c++){var f=b[c];f in a||(a[f]={});a=a[f]}b=b[b.length-1];c=a[b];d=d(c);d!=c&&null!=d&&$jscomp.defineProperty(a,b,{configurable:!0,writable:!0,value:d})}};
-$jscomp.polyfill("Array.prototype.find",function(b){return b?b:function(b,a){return $jscomp.findInternal(this,b,a).v}},"es6","es3");
-(function(b){b.fn.formset=function(d){var a=b.extend({},b.fn.formset.defaults,d),c=b(this);d=c.parent();var f=function(a,e,d){var c=new RegExp("("+e+"-(\\d+|__prefix__))");e=e+"-"+d;b(a).prop("for")&&b(a).prop("for",b(a).prop("for").replace(c,e));a.id&&(a.id=a.id.replace(c,e));a.name&&(a.name=a.name.replace(c,e))},g=b("#id_"+a.prefix+"-TOTAL_FORMS").prop("autocomplete","off"),h=parseInt(g.val(),10),e=b("#id_"+a.prefix+"-MAX_NUM_FORMS").prop("autocomplete","off"),m=""===e.val()||0<e.val()-g.val();
-c.each(function(e){b(this).not("."+a.emptyCssClass).addClass(a.formCssClass)});if(c.length&&m){var l=a.addButton;null===l&&("TR"===c.prop("tagName")?(c=this.eq(-1).children().length,d.append('<tr class="'+a.addCssClass+'"><td colspan="'+c+'"><a href="#">'+a.addText+"</a></tr>"),l=d.find("tr:last a")):(c.filter(":last").after('<div class="'+a.addCssClass+'"><a href="#">'+a.addText+"</a></div>"),l=c.filter(":last").next().find("a")));l.on("click",function(d){d.preventDefault();d=b("#"+a.prefix+"-empty");
-var c=d.clone(!0);c.removeClass(a.emptyCssClass).addClass(a.formCssClass).attr("id",a.prefix+"-"+h);c.is("tr")?c.children(":last").append('<div><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></div>"):c.is("ul")||c.is("ol")?c.append('<li><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></li>"):c.children(":first").append('<span><a class="'+a.deleteCssClass+'" href="#">'+a.deleteText+"</a></span>");c.find("*").each(function(){f(this,a.prefix,g.val())});c.insertBefore(b(d));
-b(g).val(parseInt(g.val(),10)+1);h+=1;""!==e.val()&&0>=e.val()-g.val()&&l.parent().hide();c.find("a."+a.deleteCssClass).on("click",function(d){d.preventDefault();c.remove();--h;a.removed&&a.removed(c);b(document).trigger("formset:removed",[c,a.prefix]);d=b("."+a.formCssClass);b("#id_"+a.prefix+"-TOTAL_FORMS").val(d.length);(""===e.val()||0<e.val()-d.length)&&l.parent().show();var m,g=function(){f(this,a.prefix,k)};var k=0;for(m=d.length;k<m;k++)f(b(d).get(k),a.prefix,k),b(d.get(k)).find("*").each(g)});
-a.added&&a.added(c);b(document).trigger("formset:added",[c,a.prefix])})}return this};b.fn.formset.defaults={prefix:"form",addText:"add another",deleteText:"remove",addCssClass:"add-row",deleteCssClass:"delete-row",emptyCssClass:"empty-row",formCssClass:"dynamic-form",added:null,removed:null,addButton:null};b.fn.tabularFormset=function(d,a){var c=b(this),f=function(a){b(d).not(".add-row").removeClass("row1 row2").filter(":even").addClass("row1").end().filter(":odd").addClass("row2")},g=function(){"undefined"!==
-typeof SelectFilter&&(b(".selectfilter").each(function(b,a){b=a.name.split("-");SelectFilter.init(a.id,b[b.length-1],!1)}),b(".selectfilterstacked").each(function(b,a){b=a.name.split("-");SelectFilter.init(a.id,b[b.length-1],!0)}))},h=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".field-"+c).find("input, select, textarea").attr("id"))});e.length&&c.prepopulate(e,
-c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:f,added:function(a){h(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();f(a)},addButton:a.addButton});return c};b.fn.stackedFormset=function(d,a){var c=b(this),f=function(a){b(d).find(".inline_label").each(function(a){a+=1;b(this).html(b(this).html().replace(/(#\d+)/g,
-"#"+a))})},g=function(){"undefined"!==typeof SelectFilter&&(b(".selectfilter").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!1)}),b(".selectfilterstacked").each(function(a,b){a=b.name.split("-");SelectFilter.init(b.id,a[a.length-1],!0)}))},h=function(a){a.find(".prepopulated_field").each(function(){var c=b(this).find("input, select, textarea"),d=c.data("dependency_list")||[],e=[];b.each(d,function(b,c){e.push("#"+a.find(".form-row .field-"+c).find("input, select, textarea").attr("id"))});
-e.length&&c.prepopulate(e,c.attr("maxlength"))})};c.formset({prefix:a.prefix,addText:a.addText,formCssClass:"dynamic-"+a.prefix,deleteCssClass:"inline-deletelink",deleteText:a.deleteText,emptyCssClass:"empty-form",removed:f,added:function(a){h(a);"undefined"!==typeof DateTimeShortcuts&&(b(".datetimeshortcuts").remove(),DateTimeShortcuts.init());g();f(a)},addButton:a.addButton});return c};b(document).ready(function(){b(".js-inline-admin-formset").each(function(){var d=b(this).data(),a=d.inlineFormset;
-switch(d.inlineType){case "stacked":d=a.name+"-group .inline-related";b(d).stackedFormset(d,a.options);break;case "tabular":d=a.name+"-group .tabular.inline-related tbody:first > tr",b(d).tabularFormset(d,a.options)}})})})(django.jQuery);
diff --git a/static/admin/js/jquery.init.js b/static/admin/js/jquery.init.js
deleted file mode 100644
index f3ac1625..00000000
--- a/static/admin/js/jquery.init.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*global django:true, jQuery:false*/
-/* Puts the included jQuery into our own namespace using noConflict and passing
- * it 'true'. This ensures that the included jQuery doesn't pollute the global
- * namespace (i.e. this preserves pre-existing values for both window.$ and
- * window.jQuery).
- */
-var django = django || {};
-django.jQuery = jQuery.noConflict(true);
diff --git a/static/admin/js/popup_response.js b/static/admin/js/popup_response.js
deleted file mode 100644
index b4a07e74..00000000
--- a/static/admin/js/popup_response.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*global opener */
-(function() {
-    'use strict';
-    var initData = JSON.parse(document.getElementById('django-admin-popup-response-constants').dataset.popupResponse);
-    switch(initData.action) {
-    case 'change':
-        opener.dismissChangeRelatedObjectPopup(window, initData.value, initData.obj, initData.new_value);
-        break;
-    case 'delete':
-        opener.dismissDeleteRelatedObjectPopup(window, initData.value);
-        break;
-    default:
-        opener.dismissAddRelatedObjectPopup(window, initData.value, initData.obj);
-        break;
-    }
-})();
diff --git a/static/admin/js/prepopulate.js b/static/admin/js/prepopulate.js
deleted file mode 100644
index bef45a3a..00000000
--- a/static/admin/js/prepopulate.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/*global URLify*/
-(function($) {
-    'use strict';
-    $.fn.prepopulate = function(dependencies, maxLength, allowUnicode) {
-        /*
-            Depends on urlify.js
-            Populates a selected field with the values of the dependent fields,
-            URLifies and shortens the string.
-            dependencies - array of dependent fields ids
-            maxLength - maximum length of the URLify'd string
-            allowUnicode - Unicode support of the URLify'd string
-        */
-        return this.each(function() {
-            var prepopulatedField = $(this);
-
-            var populate = function() {
-                // Bail if the field's value has been changed by the user
-                if (prepopulatedField.data('_changed')) {
-                    return;
-                }
-
-                var values = [];
-                $.each(dependencies, function(i, field) {
-                    field = $(field);
-                    if (field.val().length > 0) {
-                        values.push(field.val());
-                    }
-                });
-                prepopulatedField.val(URLify(values.join(' '), maxLength, allowUnicode));
-            };
-
-            prepopulatedField.data('_changed', false);
-            prepopulatedField.on('change', function() {
-                prepopulatedField.data('_changed', true);
-            });
-
-            if (!prepopulatedField.val()) {
-                $(dependencies.join(',')).on('keyup change focus', populate);
-            }
-        });
-    };
-})(django.jQuery);
diff --git a/static/admin/js/prepopulate.min.js b/static/admin/js/prepopulate.min.js
deleted file mode 100644
index 43c1b79e..00000000
--- a/static/admin/js/prepopulate.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(b){b.fn.prepopulate=function(d,f,g){return this.each(function(){var a=b(this),h=function(){if(!a.data("_changed")){var e=[];b.each(d,function(a,c){c=b(c);0<c.val().length&&e.push(c.val())});a.val(URLify(e.join(" "),f,g))}};a.data("_changed",!1);a.on("change",function(){a.data("_changed",!0)});if(!a.val())b(d.join(",")).on("keyup change focus",h)})}})(django.jQuery);
diff --git a/static/admin/js/prepopulate_init.js b/static/admin/js/prepopulate_init.js
deleted file mode 100644
index 184df924..00000000
--- a/static/admin/js/prepopulate_init.js
+++ /dev/null
@@ -1,10 +0,0 @@
-(function($) {
-    'use strict';
-    var fields = $('#django-admin-prepopulated-fields-constants').data('prepopulatedFields');
-    $.each(fields, function(index, field) {
-        $('.empty-form .form-row .field-' + field.name + ', .empty-form.form-row .field-' + field.name).addClass('prepopulated_field');
-        $(field.id).data('dependency_list', field.dependency_list).prepopulate(
-            field.dependency_ids, field.maxLength, field.allowUnicode
-        );
-    });
-})(django.jQuery);
diff --git a/static/admin/js/timeparse.js b/static/admin/js/timeparse.js
deleted file mode 100644
index 3cdc7ec7..00000000
--- a/static/admin/js/timeparse.js
+++ /dev/null
@@ -1,106 +0,0 @@
-(function() {
-    'use strict';
-    var timeParsePatterns = [
-        // 9
-        {
-            re: /^\d{1,2}$/i,
-            handler: function(bits) {
-                if (bits[0].length === 1) {
-                    return '0' + bits[0] + ':00';
-                } else {
-                    return bits[0] + ':00';
-                }
-            }
-        },
-        // 13:00
-        {
-            re: /^\d{2}[:.]\d{2}$/i,
-            handler: function(bits) {
-                return bits[0].replace('.', ':');
-            }
-        },
-        // 9:00
-        {
-            re: /^\d[:.]\d{2}$/i,
-            handler: function(bits) {
-                return '0' + bits[0].replace('.', ':');
-            }
-        },
-        // 3 am / 3 a.m. / 3am
-        {
-            re: /^(\d+)\s*([ap])(?:.?m.?)?$/i,
-            handler: function(bits) {
-                var hour = parseInt(bits[1]);
-                if (hour === 12) {
-                    hour = 0;
-                }
-                if (bits[2].toLowerCase() === 'p') {
-                    if (hour === 12) {
-                        hour = 0;
-                    }
-                    return (hour + 12) + ':00';
-                } else {
-                    if (hour < 10) {
-                        return '0' + hour + ':00';
-                    } else {
-                        return hour + ':00';
-                    }
-                }
-            }
-        },
-        // 3.30 am / 3:15 a.m. / 3.00am
-        {
-            re: /^(\d+)[.:](\d{2})\s*([ap]).?m.?$/i,
-            handler: function(bits) {
-                var hour = parseInt(bits[1]);
-                var mins = parseInt(bits[2]);
-                if (mins < 10) {
-                    mins = '0' + mins;
-                }
-                if (hour === 12) {
-                    hour = 0;
-                }
-                if (bits[3].toLowerCase() === 'p') {
-                    if (hour === 12) {
-                        hour = 0;
-                    }
-                    return (hour + 12) + ':' + mins;
-                } else {
-                    if (hour < 10) {
-                        return '0' + hour + ':' + mins;
-                    } else {
-                        return hour + ':' + mins;
-                    }
-                }
-            }
-        },
-        // noon
-        {
-            re: /^no/i,
-            handler: function(bits) {
-                return '12:00';
-            }
-        },
-        // midnight
-        {
-            re: /^mid/i,
-            handler: function(bits) {
-                return '00:00';
-            }
-        }
-    ];
-
-    function parseTimeString(s) {
-        for (var i = 0; i < timeParsePatterns.length; i++) {
-            var re = timeParsePatterns[i].re;
-            var handler = timeParsePatterns[i].handler;
-            var bits = re.exec(s);
-            if (bits) {
-                return handler(bits);
-            }
-        }
-        return s;
-    }
-
-    window.parseTimeString = parseTimeString;
-})();
diff --git a/static/admin/js/urlify.js b/static/admin/js/urlify.js
deleted file mode 100644
index c3342b9d..00000000
--- a/static/admin/js/urlify.js
+++ /dev/null
@@ -1,195 +0,0 @@
-/*global XRegExp*/
-(function() {
-    'use strict';
-
-    var LATIN_MAP = {
-        'À': 'A', 'Á': 'A', 'Â': 'A', 'Ã': 'A', 'Ä': 'A', 'Å': 'A', 'Æ': 'AE',
-        'Ç': 'C', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ë': 'E', 'Ì': 'I', 'Í': 'I',
-        'Î': 'I', 'Ï': 'I', 'Ð': 'D', 'Ñ': 'N', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O',
-        'Õ': 'O', 'Ö': 'O', 'Ő': 'O', 'Ø': 'O', 'Ù': 'U', 'Ú': 'U', 'Û': 'U',
-        'Ü': 'U', 'Ű': 'U', 'Ý': 'Y', 'Þ': 'TH', 'Ÿ': 'Y', 'ß': 'ss', 'à': 'a',
-        'á': 'a', 'â': 'a', 'ã': 'a', 'ä': 'a', 'å': 'a', 'æ': 'ae', 'ç': 'c',
-        'è': 'e', 'é': 'e', 'ê': 'e', 'ë': 'e', 'ì': 'i', 'í': 'i', 'î': 'i',
-        'ï': 'i', 'ð': 'd', 'ñ': 'n', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'õ': 'o',
-        'ö': 'o', 'ő': 'o', 'ø': 'o', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ü': 'u',
-        'ű': 'u', 'ý': 'y', 'þ': 'th', 'ÿ': 'y'
-    };
-    var LATIN_SYMBOLS_MAP = {
-        '©': '(c)'
-    };
-    var GREEK_MAP = {
-        'α': 'a', 'β': 'b', 'γ': 'g', 'δ': 'd', 'ε': 'e', 'ζ': 'z', 'η': 'h',
-        'θ': '8', 'ι': 'i', 'κ': 'k', 'λ': 'l', 'μ': 'm', 'ν': 'n', 'ξ': '3',
-        'ο': 'o', 'π': 'p', 'ρ': 'r', 'σ': 's', 'τ': 't', 'υ': 'y', 'φ': 'f',
-        'χ': 'x', 'ψ': 'ps', 'ω': 'w', 'ά': 'a', 'έ': 'e', 'ί': 'i', 'ό': 'o',
-        'ύ': 'y', 'ή': 'h', 'ώ': 'w', 'ς': 's', 'ϊ': 'i', 'ΰ': 'y', 'ϋ': 'y',
-        'ΐ': 'i', 'Α': 'A', 'Β': 'B', 'Γ': 'G', 'Δ': 'D', 'Ε': 'E', 'Ζ': 'Z',
-        'Η': 'H', 'Θ': '8', 'Ι': 'I', 'Κ': 'K', 'Λ': 'L', 'Μ': 'M', 'Ν': 'N',
-        'Ξ': '3', 'Ο': 'O', 'Π': 'P', 'Ρ': 'R', 'Σ': 'S', 'Τ': 'T', 'Υ': 'Y',
-        'Φ': 'F', 'Χ': 'X', 'Ψ': 'PS', 'Ω': 'W', 'Ά': 'A', 'Έ': 'E', 'Ί': 'I',
-        'Ό': 'O', 'Ύ': 'Y', 'Ή': 'H', 'Ώ': 'W', 'Ϊ': 'I', 'Ϋ': 'Y'
-    };
-    var TURKISH_MAP = {
-        'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u',
-        'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G'
-    };
-    var ROMANIAN_MAP = {
-        'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a',
-        'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A'
-    };
-    var RUSSIAN_MAP = {
-        'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'ё': 'yo',
-        'ж': 'zh', 'з': 'z', 'и': 'i', 'й': 'j', 'к': 'k', 'л': 'l', 'м': 'm',
-        'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u',
-        'ф': 'f', 'х': 'h', 'ц': 'c', 'ч': 'ch', 'ш': 'sh', 'щ': 'sh', 'ъ': '',
-        'ы': 'y', 'ь': '', 'э': 'e', 'ю': 'yu', 'я': 'ya',
-        'А': 'A', 'Б': 'B', 'В': 'V', 'Г': 'G', 'Д': 'D', 'Е': 'E', 'Ё': 'Yo',
-        'Ж': 'Zh', 'З': 'Z', 'И': 'I', 'Й': 'J', 'К': 'K', 'Л': 'L', 'М': 'M',
-        'Н': 'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U',
-        'Ф': 'F', 'Х': 'H', 'Ц': 'C', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Sh', 'Ъ': '',
-        'Ы': 'Y', 'Ь': '', 'Э': 'E', 'Ю': 'Yu', 'Я': 'Ya'
-    };
-    var UKRAINIAN_MAP = {
-        'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i',
-        'Ñ—': 'yi', 'Ò‘': 'g'
-    };
-    var CZECH_MAP = {
-        'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't',
-        'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R',
-        'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z'
-    };
-    var SLOVAK_MAP = {
-        'á': 'a', 'ä': 'a', 'č': 'c', 'ď': 'd', 'é': 'e', 'í': 'i', 'ľ': 'l',
-        'ĺ': 'l', 'ň': 'n', 'ó': 'o', 'ô': 'o', 'ŕ': 'r', 'š': 's', 'ť': 't',
-        'ú': 'u', 'ý': 'y', 'ž': 'z',
-        'Á': 'a', 'Ä': 'A', 'Č': 'C', 'Ď': 'D', 'É': 'E', 'Í': 'I', 'Ľ': 'L',
-        'Ĺ': 'L', 'Ň': 'N', 'Ó': 'O', 'Ô': 'O', 'Ŕ': 'R', 'Š': 'S', 'Ť': 'T',
-        'Ú': 'U', 'Ý': 'Y', 'Ž': 'Z'
-    };
-    var POLISH_MAP = {
-        'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's',
-        'ź': 'z', 'ż': 'z',
-        'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S',
-        'Ź': 'Z', 'Ż': 'Z'
-    };
-    var LATVIAN_MAP = {
-        'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l',
-        'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z',
-        'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L',
-        'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z'
-    };
-    var ARABIC_MAP = {
-        'أ': 'a', 'ب': 'b', 'ت': 't', 'ث': 'th', 'ج': 'g', 'ح': 'h', 'خ': 'kh', 'د': 'd',
-        'ذ': 'th', 'ر': 'r', 'ز': 'z', 'س': 's', 'ش': 'sh', 'ص': 's', 'ض': 'd', 'ط': 't',
-        'ظ': 'th', 'ع': 'aa', 'غ': 'gh', 'ف': 'f', 'ق': 'k', 'ك': 'k', 'ل': 'l', 'م': 'm',
-        'Ù†': 'n', 'Ù‡': 'h', 'Ùˆ': 'o', 'ÙŠ': 'y'
-    };
-    var LITHUANIAN_MAP = {
-        'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u',
-        'ū': 'u', 'ž': 'z',
-        'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U',
-        'Ū': 'U', 'Ž': 'Z'
-    };
-    var SERBIAN_MAP = {
-        'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz',
-        'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C',
-        'Џ': 'Dz', 'Đ': 'Dj'
-    };
-    var AZERBAIJANI_MAP = {
-        'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u',
-        'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U'
-    };
-    var GEORGIAN_MAP = {
-        'ა': 'a', 'ბ': 'b', 'გ': 'g', 'დ': 'd', 'ე': 'e', 'ვ': 'v', 'ზ': 'z',
-        'თ': 't', 'ი': 'i', 'კ': 'k', 'ლ': 'l', 'მ': 'm', 'ნ': 'n', 'ო': 'o',
-        'პ': 'p', 'ჟ': 'j', 'რ': 'r', 'ს': 's', 'ტ': 't', 'უ': 'u', 'ფ': 'f',
-        'ქ': 'q', 'ღ': 'g', 'ყ': 'y', 'შ': 'sh', 'ჩ': 'ch', 'ც': 'c', 'ძ': 'dz',
-        'წ': 'w', 'ჭ': 'ch', 'ხ': 'x', 'ჯ': 'j', 'ჰ': 'h'
-    };
-
-    var ALL_DOWNCODE_MAPS = [
-        LATIN_MAP,
-        LATIN_SYMBOLS_MAP,
-        GREEK_MAP,
-        TURKISH_MAP,
-        ROMANIAN_MAP,
-        RUSSIAN_MAP,
-        UKRAINIAN_MAP,
-        CZECH_MAP,
-        SLOVAK_MAP,
-        POLISH_MAP,
-        LATVIAN_MAP,
-        ARABIC_MAP,
-        LITHUANIAN_MAP,
-        SERBIAN_MAP,
-        AZERBAIJANI_MAP,
-        GEORGIAN_MAP
-    ];
-
-    var Downcoder = {
-        'Initialize': function() {
-            if (Downcoder.map) { // already made
-                return;
-            }
-            Downcoder.map = {};
-            Downcoder.chars = [];
-            for (var i = 0; i < ALL_DOWNCODE_MAPS.length; i++) {
-                var lookup = ALL_DOWNCODE_MAPS[i];
-                for (var c in lookup) {
-                    if (lookup.hasOwnProperty(c)) {
-                        Downcoder.map[c] = lookup[c];
-                    }
-                }
-            }
-            for (var k in Downcoder.map) {
-                if (Downcoder.map.hasOwnProperty(k)) {
-                    Downcoder.chars.push(k);
-                }
-            }
-            Downcoder.regex = new RegExp(Downcoder.chars.join('|'), 'g');
-        }
-    };
-
-    function downcode(slug) {
-        Downcoder.Initialize();
-        return slug.replace(Downcoder.regex, function(m) {
-            return Downcoder.map[m];
-        });
-    }
-
-
-    function URLify(s, num_chars, allowUnicode) {
-        // changes, e.g., "Petty theft" to "petty-theft"
-        // remove all these words from the string before urlifying
-        if (!allowUnicode) {
-            s = downcode(s);
-        }
-        var hasUnicodeChars = /[^\u0000-\u007f]/.test(s);
-        // Remove English words only if the string contains ASCII (English)
-        // characters.
-        if (!hasUnicodeChars) {
-            var removeList = [
-                "a", "an", "as", "at", "before", "but", "by", "for", "from",
-                "is", "in", "into", "like", "of", "off", "on", "onto", "per",
-                "since", "than", "the", "this", "that", "to", "up", "via",
-                "with"
-            ];
-            var r = new RegExp('\\b(' + removeList.join('|') + ')\\b', 'gi');
-            s = s.replace(r, '');
-        }
-        // if downcode doesn't hit, the char will be stripped here
-        if (allowUnicode) {
-            // Keep Unicode letters including both lowercase and uppercase
-            // characters, whitespace, and dash; remove other characters.
-            s = XRegExp.replace(s, XRegExp('[^-_\\p{L}\\p{N}\\s]', 'g'), '');
-        } else {
-            s = s.replace(/[^-\w\s]/g, ''); // remove unneeded chars
-        }
-        s = s.replace(/^\s+|\s+$/g, ''); // trim leading/trailing spaces
-        s = s.replace(/[-\s]+/g, '-'); // convert spaces to hyphens
-        s = s.substring(0, num_chars); // trim to first num_chars chars
-        s = s.replace(/-+$/g, ''); // trim any trailing hyphens
-        return s.toLowerCase(); // convert to lowercase
-    }
-    window.URLify = URLify;
-})();
diff --git a/static/admin/js/vendor/jquery/LICENSE.txt b/static/admin/js/vendor/jquery/LICENSE.txt
deleted file mode 100644
index e3dbacb9..00000000
--- a/static/admin/js/vendor/jquery/LICENSE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright JS Foundation and other contributors, https://js.foundation/
-
-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/static/admin/js/vendor/jquery/jquery.js b/static/admin/js/vendor/jquery/jquery.js
deleted file mode 100644
index 50937333..00000000
--- a/static/admin/js/vendor/jquery/jquery.js
+++ /dev/null
@@ -1,10872 +0,0 @@
-/*!
- * jQuery JavaScript Library v3.5.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: 2020-05-04T22:49Z
- */
-( 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 getProto = Object.getPrototypeOf;
-
-var slice = arr.slice;
-
-var flat = arr.flat ? function( array ) {
-	return arr.flat.call( array );
-} : function( array ) {
-	return arr.concat.apply( [], array );
-};
-
-
-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 document = window.document;
-
-
-
-	var preservedScriptAttributes = {
-		type: true,
-		src: true,
-		nonce: true,
-		noModule: true
-	};
-
-	function DOMEval( code, node, doc ) {
-		doc = doc || document;
-
-		var i, val,
-			script = doc.createElement( "script" );
-
-		script.text = code;
-		if ( node ) {
-			for ( i in preservedScriptAttributes ) {
-
-				// Support: Firefox 64+, Edge 18+
-				// Some browsers don't support the "nonce" property on scripts.
-				// On the other hand, just using `getAttribute` is not enough as
-				// the `nonce` attribute is reset to an empty string whenever it
-				// becomes browsing-context connected.
-				// See https://github.com/whatwg/html/issues/2369
-				// See https://html.spec.whatwg.org/#nonce-attributes
-				// The `node.getAttribute` check was added for the sake of
-				// `jQuery.globalEval` so that it can fake a nonce-containing node
-				// via an object.
-				val = node[ i ] || node.getAttribute && node.getAttribute( i );
-				if ( val ) {
-					script.setAttribute( i, val );
-				}
-			}
-		}
-		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.5.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 );
-	};
-
-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 );
-	},
-
-	even: function() {
-		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
-			return ( i + 1 ) % 2;
-		} ) );
-	},
-
-	odd: function() {
-		return this.pushStack( jQuery.grep( this, function( _elem, i ) {
-			return i % 2;
-		} ) );
-	},
-
-	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 ) {
-				copy = options[ name ];
-
-				// Prevent Object.prototype pollution
-				// Prevent never-ending loop
-				if ( name === "__proto__" || target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
-					( copyIsArray = Array.isArray( copy ) ) ) ) {
-					src = target[ name ];
-
-					// Ensure proper type for the source value
-					if ( copyIsArray && !Array.isArray( src ) ) {
-						clone = [];
-					} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
-						clone = {};
-					} else {
-						clone = src;
-					}
-					copyIsArray = false;
-
-					// 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 ) {
-		var name;
-
-		for ( name in obj ) {
-			return false;
-		}
-		return true;
-	},
-
-	// Evaluates a script in a provided context; falls back to the global one
-	// if not specified.
-	globalEval: function( code, options, doc ) {
-		DOMEval( code, { nonce: options && options.nonce }, doc );
-	},
-
-	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;
-	},
-
-	// 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 flat( 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.5
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://js.foundation/
- *
- * Date: 2020-03-14
- */
-( 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(),
-	nonnativeSelectorCache = createCache(),
-	sortOrder = function( a, b ) {
-		if ( a === b ) {
-			hasDuplicate = true;
-		}
-		return 0;
-	},
-
-	// Instance methods
-	hasOwn = ( {} ).hasOwnProperty,
-	arr = [],
-	pop = arr.pop,
-	pushNative = 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]",
-
-	// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
-	identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
-		"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
-
-	// 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 +
-		"*" ),
-	rdescend = new RegExp( whitespace + "|>" ),
-
-	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" )
-	},
-
-	rhtml = /HTML$/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-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
-	funescape = function( escape, nonHex ) {
-		var high = "0x" + escape.slice( 1 ) - 0x10000;
-
-		return nonHex ?
-
-			// Strip the backslash prefix from a non-hex escape sequence
-			nonHex :
-
-			// Replace a hexadecimal escape sequence with the encoded Unicode code point
-			// Support: IE <=11+
-			// For values outside the Basic Multilingual Plane (BMP), manually construct a
-			// surrogate pair
-			high < 0 ?
-				String.fromCharCode( high + 0x10000 ) :
-				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();
-	},
-
-	inDisabledFieldset = addCombinator(
-		function( elem ) {
-			return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
-		},
-		{ 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
-	// eslint-disable-next-line no-unused-expressions
-	arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
-	push = { apply: arr.length ?
-
-		// Leverage slice if possible
-		function( target, els ) {
-			pushNative.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 ) {
-		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 &&
-				!nonnativeSelectorCache[ selector + " " ] &&
-				( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
-
-				// Support: IE 8 only
-				// Exclude object elements
-				( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
-
-				newSelector = selector;
-				newContext = context;
-
-				// qSA considers elements outside a scoping root when evaluating child or
-				// descendant combinators, which is not what we want.
-				// In such cases, we work around the behavior by prefixing every selector in the
-				// list with an ID selector referencing the scope context.
-				// The technique has to be used as well when a leading combinator is used
-				// as such selectors are not recognized by querySelectorAll.
-				// Thanks to Andrew Dupont for this technique.
-				if ( nodeType === 1 &&
-					( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
-
-					// Expand context for sibling selectors
-					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
-						context;
-
-					// We can use :scope instead of the ID hack if the browser
-					// supports it & if we're not changing the context.
-					if ( newContext !== context || !support.scope ) {
-
-						// 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 ? "#" + nid : ":scope" ) + " " +
-							toSelector( groups[ i ] );
-					}
-					newSelector = groups.join( "," );
-				}
-
-				try {
-					push.apply( results,
-						newContext.querySelectorAll( newSelector )
-					);
-					return results;
-				} catch ( qsaError ) {
-					nonnativeSelectorCache( selector, true );
-				} 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 &&
-					inDisabledFieldset( 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 ) {
-	var namespace = elem.namespaceURI,
-		docElem = ( elem.ownerDocument || elem ).documentElement;
-
-	// Support: IE <=8
-	// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
-	// https://bugs.jquery.com/ticket/4833
-	return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
-};
-
-/**
- * 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
-	// Support: IE 11+, Edge 17 - 18+
-	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-	// two documents; shallow comparisons work.
-	// eslint-disable-next-line eqeqeq
-	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 12 - 18+
-	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
-	// Support: IE 11+, Edge 17 - 18+
-	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-	// two documents; shallow comparisons work.
-	// eslint-disable-next-line eqeqeq
-	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 );
-		}
-	}
-
-	// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
-	// Safari 4 - 5 only, Opera <=11.6 - 12.x only
-	// IE/Edge & older browsers don't support the :scope pseudo-class.
-	// Support: Safari 6.0 only
-	// Safari 6.0 supports :scope but it's an alias of :root there.
-	support.scope = assert( function( el ) {
-		docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
-		return typeof el.querySelectorAll !== "undefined" &&
-			!el.querySelectorAll( ":scope fieldset div" ).length;
-	} );
-
-	/* 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 ) {
-
-			var input;
-
-			// 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( "~=" );
-			}
-
-			// Support: IE 11+, Edge 15 - 18+
-			// IE 11/Edge don't find elements on a `[name='']` query in some cases.
-			// Adding a temporary attribute to the document before the selection works
-			// around the issue.
-			// Interestingly, IE 10 & older don't seem to have the issue.
-			input = document.createElement( "input" );
-			input.setAttribute( "name", "" );
-			el.appendChild( input );
-			if ( !el.querySelectorAll( "[name='']" ).length ) {
-				rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
-					whitespace + "*(?:''|\"\")" );
-			}
-
-			// 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( ".#.+[+~]" );
-			}
-
-			// Support: Firefox <=3.6 - 5 only
-			// Old Firefox doesn't throw on a badly-escaped identifier.
-			el.querySelectorAll( "\\\f" );
-			rbuggyQSA.push( "[\\r\\n\\f]" );
-		} );
-
-		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" );
-			}
-
-			// Support: Opera 10 - 11 only
-			// 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
-		// Support: IE 11+, Edge 17 - 18+
-		// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-		// two documents; shallow comparisons work.
-		// eslint-disable-next-line eqeqeq
-		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
-			// Support: IE 11+, Edge 17 - 18+
-			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-			// two documents; shallow comparisons work.
-			// eslint-disable-next-line eqeqeq
-			if ( a == document || a.ownerDocument == preferredDoc &&
-				contains( preferredDoc, a ) ) {
-				return -1;
-			}
-
-			// Support: IE 11+, Edge 17 - 18+
-			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-			// two documents; shallow comparisons work.
-			// eslint-disable-next-line eqeqeq
-			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 ) {
-
-			// Support: IE 11+, Edge 17 - 18+
-			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-			// two documents; shallow comparisons work.
-			/* eslint-disable eqeqeq */
-			return a == document ? -1 :
-				b == document ? 1 :
-				/* eslint-enable eqeqeq */
-				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
-			// Support: IE 11+, Edge 17 - 18+
-			// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-			// two documents; shallow comparisons work.
-			/* eslint-disable eqeqeq */
-			ap[ i ] == preferredDoc ? -1 :
-			bp[ i ] == preferredDoc ? 1 :
-			/* eslint-enable eqeqeq */
-			0;
-	};
-
-	return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
-	return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
-	setDocument( elem );
-
-	if ( support.matchesSelector && documentIsHTML &&
-		!nonnativeSelectorCache[ 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 ) {
-			nonnativeSelectorCache( expr, true );
-		}
-	}
-
-	return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
-
-	// Set document vars if needed
-	// Support: IE 11+, Edge 17 - 18+
-	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-	// two documents; shallow comparisons work.
-	// eslint-disable-next-line eqeqeq
-	if ( ( context.ownerDocument || context ) != document ) {
-		setDocument( context );
-	}
-	return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
-
-	// Set document vars if needed
-	// Support: IE 11+, Edge 17 - 18+
-	// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-	// two documents; shallow comparisons work.
-	// eslint-disable-next-line eqeqeq
-	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 += "";
-
-				/* eslint-disable max-len */
-
-				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;
-				/* eslint-enable max-len */
-
-			};
-		},
-
-		"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 || 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 ) {
-				// eslint-disable-next-line no-unused-expressions
-				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 > length ?
-					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 ) {
-
-				// Support: IE 11+, Edge 17 - 18+
-				// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-				// two documents; shallow comparisons work.
-				// eslint-disable-next-line eqeqeq
-				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;
-
-					// Support: IE 11+, Edge 17 - 18+
-					// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
-					// two documents; shallow comparisons work.
-					// eslint-disable-next-line eqeqeq
-					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 ( elem.contentDocument != null &&
-
-			// Support: IE 11+
-			// <object> elements with no `data` attribute has an object
-			// `contentDocument` with a `null` prototype.
-			getProto( elem.contentDocument ) ) {
-
-			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 documentElement = document.documentElement;
-
-
-
-	var isAttached = function( elem ) {
-			return jQuery.contains( elem.ownerDocument, elem );
-		},
-		composed = { composed: true };
-
-	// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
-	// Check attachment across shadow DOM boundaries when possible (gh-3504)
-	// Support: iOS 10.0-10.2 only
-	// Early iOS 10 versions support `attachShadow` but not `getRootNode`,
-	// leading to errors. We need to check for `getRootNode`.
-	if ( documentElement.getRootNode ) {
-		isAttached = function( elem ) {
-			return jQuery.contains( elem.ownerDocument, elem ) ||
-				elem.getRootNode( composed ) === elem.ownerDocument;
-		};
-	}
-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.
-			isAttached( elem ) &&
-
-			jQuery.css( elem, "display" ) === "none";
-	};
-
-
-
-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 = elem.nodeType &&
-			( 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 );
-
-
-
-( 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;
-
-	// Support: IE <=9 only
-	// IE <=9 replaces <option> tags with their contents when inserted outside of
-	// the select element.
-	div.innerHTML = "<option></option>";
-	support.option = !!div.lastChild;
-} )();
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
-
-	// 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, "", "" ]
-};
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-// Support: IE <=9 only
-if ( !support.option ) {
-	wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ];
-}
-
-
-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, attached, 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;
-		}
-
-		attached = isAttached( elem );
-
-		// Append to fragment
-		tmp = getAll( fragment.appendChild( elem ), "script" );
-
-		// Preserve script evaluation history
-		if ( attached ) {
-			setGlobalEval( tmp );
-		}
-
-		// Capture executables
-		if ( scripts ) {
-			j = 0;
-			while ( ( elem = tmp[ j++ ] ) ) {
-				if ( rscriptType.test( elem.type || "" ) ) {
-					scripts.push( elem );
-				}
-			}
-		}
-	}
-
-	return fragment;
-}
-
-
-var
-	rkeyEvent = /^key/,
-	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
-	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
-	return true;
-}
-
-function returnFalse() {
-	return false;
-}
-
-// Support: IE <=9 - 11+
-// focus() and blur() are asynchronous, except when they are no-op.
-// So expect focus to be synchronous when the element is already active,
-// and blur to be synchronous when the element is not already active.
-// (focus and blur are always synchronous in other supported browsers,
-// this just defines when we can count on it).
-function expectSync( elem, type ) {
-	return ( elem === safeActiveElement() ) === ( type === "focus" );
-}
-
-// Support: IE <=9 only
-// Accessing document.activeElement can throw unexpectedly
-// https://bugs.jquery.com/ticket/13393
-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 );
-
-		// Only attach events to objects that accept data
-		if ( !acceptData( elem ) ) {
-			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 = Object.create( null );
-		}
-		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 ) {
-
-		var i, j, ret, matched, handleObj, handlerQueue,
-			args = new Array( arguments.length ),
-
-			// Make a writable jQuery.Event from the native event object
-			event = jQuery.event.fix( nativeEvent ),
-
-			handlers = (
-					dataPriv.get( this, "events" ) || Object.create( null )
-				)[ 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() ) {
-
-				// If the event is namespaced, then each handler is only invoked if it is
-				// specially universal or its namespaces are a superset of the event's.
-				if ( !event.rnamespace || handleObj.namespace === false ||
-					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
-		},
-		click: {
-
-			// Utilize native event to ensure correct state for checkable inputs
-			setup: function( data ) {
-
-				// For mutual compressibility with _default, replace `this` access with a local var.
-				// `|| data` is dead code meant only to preserve the variable through minification.
-				var el = this || data;
-
-				// Claim the first handler
-				if ( rcheckableType.test( el.type ) &&
-					el.click && nodeName( el, "input" ) ) {
-
-					// dataPriv.set( el, "click", ... )
-					leverageNative( el, "click", returnTrue );
-				}
-
-				// Return false to allow normal processing in the caller
-				return false;
-			},
-			trigger: function( data ) {
-
-				// For mutual compressibility with _default, replace `this` access with a local var.
-				// `|| data` is dead code meant only to preserve the variable through minification.
-				var el = this || data;
-
-				// Force setup before triggering a click
-				if ( rcheckableType.test( el.type ) &&
-					el.click && nodeName( el, "input" ) ) {
-
-					leverageNative( el, "click" );
-				}
-
-				// Return non-false to allow normal event-path propagation
-				return true;
-			},
-
-			// For cross-browser consistency, suppress native .click() on links
-			// Also prevent it if we're currently inside a leveraged native-event stack
-			_default: function( event ) {
-				var target = event.target;
-				return rcheckableType.test( target.type ) &&
-					target.click && nodeName( target, "input" ) &&
-					dataPriv.get( target, "click" ) ||
-					nodeName( 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;
-				}
-			}
-		}
-	}
-};
-
-// Ensure the presence of an event listener that handles manually-triggered
-// synthetic events by interrupting progress until reinvoked in response to
-// *native* events that it fires directly, ensuring that state changes have
-// already occurred before other listeners are invoked.
-function leverageNative( el, type, expectSync ) {
-
-	// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
-	if ( !expectSync ) {
-		if ( dataPriv.get( el, type ) === undefined ) {
-			jQuery.event.add( el, type, returnTrue );
-		}
-		return;
-	}
-
-	// Register the controller as a special universal handler for all event namespaces
-	dataPriv.set( el, type, false );
-	jQuery.event.add( el, type, {
-		namespace: false,
-		handler: function( event ) {
-			var notAsync, result,
-				saved = dataPriv.get( this, type );
-
-			if ( ( event.isTrigger & 1 ) && this[ type ] ) {
-
-				// Interrupt processing of the outer synthetic .trigger()ed event
-				// Saved data should be false in such cases, but might be a leftover capture object
-				// from an async native handler (gh-4350)
-				if ( !saved.length ) {
-
-					// Store arguments for use when handling the inner native event
-					// There will always be at least one argument (an event object), so this array
-					// will not be confused with a leftover capture object.
-					saved = slice.call( arguments );
-					dataPriv.set( this, type, saved );
-
-					// Trigger the native event and capture its result
-					// Support: IE <=9 - 11+
-					// focus() and blur() are asynchronous
-					notAsync = expectSync( this, type );
-					this[ type ]();
-					result = dataPriv.get( this, type );
-					if ( saved !== result || notAsync ) {
-						dataPriv.set( this, type, false );
-					} else {
-						result = {};
-					}
-					if ( saved !== result ) {
-
-						// Cancel the outer synthetic event
-						event.stopImmediatePropagation();
-						event.preventDefault();
-						return result.value;
-					}
-
-				// If this is an inner synthetic event for an event with a bubbling surrogate
-				// (focus or blur), assume that the surrogate already propagated from triggering the
-				// native event and prevent that from happening again here.
-				// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
-				// bubbling surrogate propagates *after* the non-bubbling base), but that seems
-				// less bad than duplication.
-				} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
-					event.stopPropagation();
-				}
-
-			// If this is a native event triggered above, everything is now in order
-			// Fire an inner synthetic event with the original arguments
-			} else if ( saved.length ) {
-
-				// ...and capture the result
-				dataPriv.set( this, type, {
-					value: jQuery.event.trigger(
-
-						// Support: IE <=9 - 11+
-						// Extend with the prototype to reset the above stopImmediatePropagation()
-						jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
-						saved.slice( 1 ),
-						this
-					)
-				} );
-
-				// Abort handling of the native event
-				event.stopImmediatePropagation();
-			}
-		}
-	} );
-}
-
-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,
-	code: 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 );
-
-jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
-	jQuery.event.special[ type ] = {
-
-		// Utilize native event if possible so blur/focus sequence is correct
-		setup: function() {
-
-			// Claim the first handler
-			// dataPriv.set( this, "focus", ... )
-			// dataPriv.set( this, "blur", ... )
-			leverageNative( this, type, expectSync );
-
-			// Return false to allow normal processing in the caller
-			return false;
-		},
-		trigger: function() {
-
-			// Force setup before trigger
-			leverageNative( this, type );
-
-			// Return non-false to allow normal event-path propagation
-			return true;
-		},
-
-		delegateType: delegateType
-	};
-} );
-
-// 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
-
-	// 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, udataOld, udataCur, events;
-
-	if ( dest.nodeType !== 1 ) {
-		return;
-	}
-
-	// 1. Copy private data: events, handlers, etc.
-	if ( dataPriv.hasData( src ) ) {
-		pdataOld = dataPriv.get( src );
-		events = pdataOld.events;
-
-		if ( events ) {
-			dataPriv.remove( dest, "handle 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 = flat( 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 && !node.noModule ) {
-								jQuery._evalUrl( node.src, {
-									nonce: node.nonce || node.getAttribute( "nonce" )
-								}, doc );
-							}
-						} else {
-							DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc );
-						}
-					}
-				}
-			}
-		}
-	}
-
-	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 && isAttached( node ) ) {
-				setGlobalEval( getAll( node, "script" ) );
-			}
-			node.parentNode.removeChild( node );
-		}
-	}
-
-	return elem;
-}
-
-jQuery.extend( {
-	htmlPrefilter: function( html ) {
-		return html;
-	},
-
-	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
-		var i, l, srcElements, destElements,
-			clone = elem.cloneNode( true ),
-			inPage = isAttached( 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 swap = function( elem, options, callback ) {
-	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.call( elem );
-
-	// Revert the old values
-	for ( name in options ) {
-		elem.style[ name ] = old[ name ];
-	}
-
-	return ret;
-};
-
-
-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)
-		// Support: Chrome <=64
-		// Don't get tricked when zoom affects offsetWidth (gh-4029)
-		div.style.position = "absolute";
-		scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;
-
-		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,
-		reliableTrDimensionsVal, 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;
-		},
-
-		// Support: IE 9 - 11+, Edge 15 - 18+
-		// IE/Edge misreport `getComputedStyle` of table rows with width/height
-		// set in CSS while `offset*` properties report correct values.
-		// Behavior in IE 9 is more subtle than in newer versions & it passes
-		// some versions of this test; make sure not to make it pass there!
-		reliableTrDimensions: function() {
-			var table, tr, trChild, trStyle;
-			if ( reliableTrDimensionsVal == null ) {
-				table = document.createElement( "table" );
-				tr = document.createElement( "tr" );
-				trChild = document.createElement( "div" );
-
-				table.style.cssText = "position:absolute;left:-11111px";
-				tr.style.height = "1px";
-				trChild.style.height = "9px";
-
-				documentElement
-					.appendChild( table )
-					.appendChild( tr )
-					.appendChild( trChild );
-
-				trStyle = window.getComputedStyle( tr );
-				reliableTrDimensionsVal = parseInt( trStyle.height ) > 3;
-
-				documentElement.removeChild( table );
-			}
-			return reliableTrDimensionsVal;
-		}
-	} );
-} )();
-
-
-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 === "" && !isAttached( 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 cssPrefixes = [ "Webkit", "Moz", "ms" ],
-	emptyStyle = document.createElement( "div" ).style,
-	vendorProps = {};
-
-// Return a vendor-prefixed property or undefined
-function vendorPropName( 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 potentially-mapped jQuery.cssProps or vendor prefixed property
-function finalPropName( name ) {
-	var final = jQuery.cssProps[ name ] || vendorProps[ name ];
-
-	if ( final ) {
-		return final;
-	}
-	if ( name in emptyStyle ) {
-		return name;
-	}
-	return vendorProps[ name ] = vendorPropName( name ) || name;
-}
-
-
-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"
-	};
-
-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
-
-		// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter
-		// Use an explicit zero to avoid NaN (gh-3964)
-		) ) || 0;
-	}
-
-	return delta;
-}
-
-function getWidthOrHeight( elem, dimension, extra ) {
-
-	// Start with computed style
-	var styles = getStyles( elem ),
-
-		// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).
-		// Fake content-box until we know it's needed to know the true value.
-		boxSizingNeeded = !support.boxSizingReliable() || extra,
-		isBorderBox = boxSizingNeeded &&
-			jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-		valueIsBorderBox = isBorderBox,
-
-		val = curCSS( elem, dimension, styles ),
-		offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );
-
-	// Support: Firefox <=54
-	// Return a confounding non-pixel value or feign ignorance, as appropriate.
-	if ( rnumnonpx.test( val ) ) {
-		if ( !extra ) {
-			return val;
-		}
-		val = "auto";
-	}
-
-
-	// Support: IE 9 - 11 only
-	// Use offsetWidth/offsetHeight for when box sizing is unreliable.
-	// In those cases, the computed value can be trusted to be border-box.
-	if ( ( !support.boxSizingReliable() && isBorderBox ||
-
-		// Support: IE 10 - 11+, Edge 15 - 18+
-		// IE/Edge misreport `getComputedStyle` of table rows with width/height
-		// set in CSS while `offset*` properties report correct values.
-		// Interestingly, in some cases IE 9 doesn't suffer from this issue.
-		!support.reliableTrDimensions() && nodeName( elem, "tr" ) ||
-
-		// Fall back to offsetWidth/offsetHeight when value is "auto"
-		// This happens for inline elements with no explicit setting (gh-3571)
-		val === "auto" ||
-
-		// Support: Android <=4.1 - 4.3 only
-		// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
-		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) &&
-
-		// Make sure the element is visible & connected
-		elem.getClientRects().length ) {
-
-		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
-
-		// Where available, offsetWidth/offsetHeight approximate border box dimensions.
-		// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the
-		// retrieved value as a content box dimension.
-		valueIsBorderBox = offsetProp in elem;
-		if ( valueIsBorderBox ) {
-			val = elem[ offsetProp ];
-		}
-	}
-
-	// 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,
-		"gridArea": true,
-		"gridColumn": true,
-		"gridColumnEnd": true,
-		"gridColumnStart": true,
-		"gridRow": true,
-		"gridRowEnd": true,
-		"gridRowStart": 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)
-			// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append
-			// "px" to a few hardcoded values.
-			if ( type === "number" && !isCustomProp ) {
-				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 ),
-
-				// Only read styles.position if the test has a chance to fail
-				// to avoid forcing a reflow.
-				scrollboxSizeBuggy = !support.scrollboxSize() &&
-					styles.position === "absolute",
-
-				// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)
-				boxSizingNeeded = scrollboxSizeBuggy || extra,
-				isBorderBox = boxSizingNeeded &&
-					jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
-				subtract = extra ?
-					boxModelAdjustment(
-						elem,
-						dimension,
-						extra,
-						isBorderBox,
-						styles
-					) :
-					0;
-
-			// 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 && scrollboxSizeBuggy ) {
-				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 && (
-					jQuery.cssHooks[ tween.prop ] ||
-					tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {
-				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 ) {
-			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" ) || Object.create( null )
-				)[ 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() {
-
-				// Handle: regular nodes (via `this.ownerDocument`), window
-				// (via `this.document`) & document (via `this`).
-				var doc = this.ownerDocument || this.document || 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.document || 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 = { guid: 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 ( a == null ) {
-		return "";
-	}
-
-	// 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() + " " ] =
-									( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
-										.concat( match[ 2 ] );
-							}
-						}
-						match = responseHeaders[ key.toLowerCase() + " " ];
-					}
-					return match == null ? null : match.join( ", " );
-				},
-
-				// 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.guid++ ) +
-					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 );
-			}
-
-			// Use a noop converter for missing script
-			if ( !isSuccess && jQuery.inArray( "script", s.dataTypes ) > -1 ) {
-				s.converters[ "text script" ] = function() {};
-			}
-
-			// 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.ajaxPrefilter( function( s ) {
-	var i;
-	for ( i in s.headers ) {
-		if ( i.toLowerCase() === "content-type" ) {
-			s.contentType = s.headers[ i ] || "";
-		}
-	}
-} );
-
-
-jQuery._evalUrl = function( url, options, doc ) {
-	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,
-
-		// Only evaluate the response if it is successful (gh-4126)
-		// dataFilter is not invoked for failure responses, so using it instead
-		// of the default converter is kludgy but it works.
-		converters: {
-			"text script": function() {}
-		},
-		dataFilter: function( response ) {
-			jQuery.globalEval( response, options, doc );
-		}
-	} );
-};
-
-
-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 or forced-by-attrs requests
-	if ( s.crossDomain || s.scriptAttrs ) {
-		var script, callback;
-		return {
-			send: function( _, complete ) {
-				script = jQuery( "<script>" )
-					.attr( s.scriptAttrs || {} )
-					.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.guid++ ) );
-		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;
-};
-
-
-
-
-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 {
-			if ( typeof props.top === "number" ) {
-				props.top += "px";
-			}
-			if ( typeof props.left === "number" ) {
-				props.left += "px";
-			}
-			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( [
-	"ajaxStart",
-	"ajaxStop",
-	"ajaxComplete",
-	"ajaxError",
-	"ajaxSuccess",
-	"ajaxSend"
-], function( _i, type ) {
-	jQuery.fn[ type ] = function( fn ) {
-		return this.on( type, fn );
-	};
-} );
-
-
-
-
-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 );
-	},
-
-	hover: function( fnOver, fnOut ) {
-		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
-	}
-} );
-
-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 );
-		};
-	} );
-
-
-
-
-// Support: Android <=4.0 only
-// Make sure we trim BOM and NBSP
-var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
-
-// 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 ) );
-};
-
-jQuery.trim = function( text ) {
-	return text == null ?
-		"" :
-		( text + "" ).replace( rtrim, "" );
-};
-
-
-
-// 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 ( typeof noGlobal === "undefined" ) {
-	window.jQuery = window.$ = jQuery;
-}
-
-
-
-
-return jQuery;
-} );
diff --git a/static/admin/js/vendor/jquery/jquery.min.js b/static/admin/js/vendor/jquery/jquery.min.js
deleted file mode 100644
index b0614034..00000000
--- a/static/admin/js/vendor/jquery/jquery.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.5.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(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.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||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+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]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(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},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.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=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),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("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(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 de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){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[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.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},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.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 l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(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?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(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(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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!b.pseudos.empty(e)},header:function(e){return J.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:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(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 Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(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},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(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[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(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(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.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&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.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=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.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 ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={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,"",""]};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&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);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"===w(o))S.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]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(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}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(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=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.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,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.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&&1<=e.button))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?-1<S(i,this).index(l):S.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(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,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&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.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,code:!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&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(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=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.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 Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(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 Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(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&&(S.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 S.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&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.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}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(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+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!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=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.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=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.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=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.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):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.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=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(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),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._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--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.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,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.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(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.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=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(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(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.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=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.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)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.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||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,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":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(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]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(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}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(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(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.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 S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.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"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.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)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.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,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
diff --git a/static/admin/js/vendor/select2/LICENSE.md b/static/admin/js/vendor/select2/LICENSE.md
deleted file mode 100644
index 86c7c291..00000000
--- a/static/admin/js/vendor/select2/LICENSE.md
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2012-2015 Kevin Brown, Igor Vaynberg, and Select2 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/static/admin/js/vendor/select2/i18n/ar.js b/static/admin/js/vendor/select2/i18n/ar.js
deleted file mode 100644
index 01a68829..00000000
--- a/static/admin/js/vendor/select2/i18n/ar.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/az.js b/static/admin/js/vendor/select2/i18n/az.js
deleted file mode 100644
index 2accb973..00000000
--- a/static/admin/js/vendor/select2/i18n/az.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/bg.js b/static/admin/js/vendor/select2/i18n/bg.js
deleted file mode 100644
index 35ae9894..00000000
--- a/static/admin/js/vendor/select2/i18n/bg.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ca.js b/static/admin/js/vendor/select2/i18n/ca.js
deleted file mode 100644
index fdb5f3d2..00000000
--- a/static/admin/js/vendor/select2/i18n/ca.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/cs.js b/static/admin/js/vendor/select2/i18n/cs.js
deleted file mode 100644
index 9651378a..00000000
--- a/static/admin/js/vendor/select2/i18n/cs.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/da.js b/static/admin/js/vendor/select2/i18n/da.js
deleted file mode 100644
index 501c51e9..00000000
--- a/static/admin/js/vendor/select2/i18n/da.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/de.js b/static/admin/js/vendor/select2/i18n/de.js
deleted file mode 100644
index 9a6d5536..00000000
--- a/static/admin/js/vendor/select2/i18n/de.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/el.js b/static/admin/js/vendor/select2/i18n/el.js
deleted file mode 100644
index 4735d140..00000000
--- a/static/admin/js/vendor/select2/i18n/el.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/en.js b/static/admin/js/vendor/select2/i18n/en.js
deleted file mode 100644
index 8e80ede8..00000000
--- a/static/admin/js/vendor/select2/i18n/en.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/es.js b/static/admin/js/vendor/select2/i18n/es.js
deleted file mode 100644
index 0a096502..00000000
--- a/static/admin/js/vendor/select2/i18n/es.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/et.js b/static/admin/js/vendor/select2/i18n/et.js
deleted file mode 100644
index c70f4a5b..00000000
--- a/static/admin/js/vendor/select2/i18n/et.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/eu.js b/static/admin/js/vendor/select2/i18n/eu.js
deleted file mode 100644
index 9336053a..00000000
--- a/static/admin/js/vendor/select2/i18n/eu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/fa.js b/static/admin/js/vendor/select2/i18n/fa.js
deleted file mode 100644
index 5118cd28..00000000
--- a/static/admin/js/vendor/select2/i18n/fa.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/fi.js b/static/admin/js/vendor/select2/i18n/fi.js
deleted file mode 100644
index 9e60f26a..00000000
--- a/static/admin/js/vendor/select2/i18n/fi.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/fr.js b/static/admin/js/vendor/select2/i18n/fr.js
deleted file mode 100644
index e4a66500..00000000
--- a/static/admin/js/vendor/select2/i18n/fr.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/gl.js b/static/admin/js/vendor/select2/i18n/gl.js
deleted file mode 100644
index 02f258f9..00000000
--- a/static/admin/js/vendor/select2/i18n/gl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/he.js b/static/admin/js/vendor/select2/i18n/he.js
deleted file mode 100644
index 881f8d38..00000000
--- a/static/admin/js/vendor/select2/i18n/he.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/hi.js b/static/admin/js/vendor/select2/i18n/hi.js
deleted file mode 100644
index e8296842..00000000
--- a/static/admin/js/vendor/select2/i18n/hi.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/hr.js b/static/admin/js/vendor/select2/i18n/hr.js
deleted file mode 100644
index 89f7b12b..00000000
--- a/static/admin/js/vendor/select2/i18n/hr.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/hu.js b/static/admin/js/vendor/select2/i18n/hu.js
deleted file mode 100644
index 74c8a90d..00000000
--- a/static/admin/js/vendor/select2/i18n/hu.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/id.js b/static/admin/js/vendor/select2/i18n/id.js
deleted file mode 100644
index 95867826..00000000
--- a/static/admin/js/vendor/select2/i18n/id.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/is.js b/static/admin/js/vendor/select2/i18n/is.js
deleted file mode 100644
index ab97a14d..00000000
--- a/static/admin/js/vendor/select2/i18n/is.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/it.js b/static/admin/js/vendor/select2/i18n/it.js
deleted file mode 100644
index 7796b9f7..00000000
--- a/static/admin/js/vendor/select2/i18n/it.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ja.js b/static/admin/js/vendor/select2/i18n/ja.js
deleted file mode 100644
index 9f4fff6c..00000000
--- a/static/admin/js/vendor/select2/i18n/ja.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/km.js b/static/admin/js/vendor/select2/i18n/km.js
deleted file mode 100644
index 8e94adcf..00000000
--- a/static/admin/js/vendor/select2/i18n/km.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ  "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ko.js b/static/admin/js/vendor/select2/i18n/ko.js
deleted file mode 100644
index 4ed03215..00000000
--- a/static/admin/js/vendor/select2/i18n/ko.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/lt.js b/static/admin/js/vendor/select2/i18n/lt.js
deleted file mode 100644
index 05f3a6e5..00000000
--- a/static/admin/js/vendor/select2/i18n/lt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/lv.js b/static/admin/js/vendor/select2/i18n/lv.js
deleted file mode 100644
index df8ee942..00000000
--- a/static/admin/js/vendor/select2/i18n/lv.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par  "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/mk.js b/static/admin/js/vendor/select2/i18n/mk.js
deleted file mode 100644
index 319ecca1..00000000
--- a/static/admin/js/vendor/select2/i18n/mk.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ms.js b/static/admin/js/vendor/select2/i18n/ms.js
deleted file mode 100644
index 4258f125..00000000
--- a/static/admin/js/vendor/select2/i18n/ms.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/nb.js b/static/admin/js/vendor/select2/i18n/nb.js
deleted file mode 100644
index 6770087c..00000000
--- a/static/admin/js/vendor/select2/i18n/nb.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/nl.js b/static/admin/js/vendor/select2/i18n/nl.js
deleted file mode 100644
index 8bd5e3cf..00000000
--- a/static/admin/js/vendor/select2/i18n/nl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/pl.js b/static/admin/js/vendor/select2/i18n/pl.js
deleted file mode 100644
index 54ba28e9..00000000
--- a/static/admin/js/vendor/select2/i18n/pl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/pt-BR.js b/static/admin/js/vendor/select2/i18n/pt-BR.js
deleted file mode 100644
index a6629c8a..00000000
--- a/static/admin/js/vendor/select2/i18n/pt-BR.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/pt.js b/static/admin/js/vendor/select2/i18n/pt.js
deleted file mode 100644
index 0cbda561..00000000
--- a/static/admin/js/vendor/select2/i18n/pt.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ro.js b/static/admin/js/vendor/select2/i18n/ro.js
deleted file mode 100644
index 788a2637..00000000
--- a/static/admin/js/vendor/select2/i18n/ro.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/ru.js b/static/admin/js/vendor/select2/i18n/ru.js
deleted file mode 100644
index 9ecab809..00000000
--- a/static/admin/js/vendor/select2/i18n/ru.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/sk.js b/static/admin/js/vendor/select2/i18n/sk.js
deleted file mode 100644
index 82f29413..00000000
--- a/static/admin/js/vendor/select2/i18n/sk.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/sr-Cyrl.js b/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
deleted file mode 100644
index e9453940..00000000
--- a/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/sr.js b/static/admin/js/vendor/select2/i18n/sr.js
deleted file mode 100644
index ac0cc721..00000000
--- a/static/admin/js/vendor/select2/i18n/sr.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/sv.js b/static/admin/js/vendor/select2/i18n/sv.js
deleted file mode 100644
index bedac08c..00000000
--- a/static/admin/js/vendor/select2/i18n/sv.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/th.js b/static/admin/js/vendor/select2/i18n/th.js
deleted file mode 100644
index 097a86c6..00000000
--- a/static/admin/js/vendor/select2/i18n/th.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/tr.js b/static/admin/js/vendor/select2/i18n/tr.js
deleted file mode 100644
index 25d27a87..00000000
--- a/static/admin/js/vendor/select2/i18n/tr.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/uk.js b/static/admin/js/vendor/select2/i18n/uk.js
deleted file mode 100644
index eb3ca890..00000000
--- a/static/admin/js/vendor/select2/i18n/uk.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/vi.js b/static/admin/js/vendor/select2/i18n/vi.js
deleted file mode 100644
index 8975b8ac..00000000
--- a/static/admin/js/vendor/select2/i18n/vi.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/zh-CN.js b/static/admin/js/vendor/select2/i18n/zh-CN.js
deleted file mode 100644
index 2ed95972..00000000
--- a/static/admin/js/vendor/select2/i18n/zh-CN.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/i18n/zh-TW.js b/static/admin/js/vendor/select2/i18n/zh-TW.js
deleted file mode 100644
index ea0812ee..00000000
--- a/static/admin/js/vendor/select2/i18n/zh-TW.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */
-
-(function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})();
\ No newline at end of file
diff --git a/static/admin/js/vendor/select2/select2.full.js b/static/admin/js/vendor/select2/select2.full.js
deleted file mode 100644
index e750834e..00000000
--- a/static/admin/js/vendor/select2/select2.full.js
+++ /dev/null
@@ -1,6436 +0,0 @@
-/*!
- * Select2 4.0.3
- * https://select2.github.io
- *
- * Released under the MIT license
- * https://github.com/select2/select2/blob/master/LICENSE.md
- */
-(function (factory) {
-  if (typeof define === 'function' && define.amd) {
-    // AMD. Register as an anonymous module.
-    define(['jquery'], factory);
-  } else if (typeof exports === 'object') {
-    // Node/CommonJS
-    factory(require('jquery'));
-  } else {
-    // Browser globals
-    factory(jQuery);
-  }
-}(function (jQuery) {
-  // This is needed so we can catch the AMD loader configuration and use it
-  // The inner file should be wrapped (by `banner.start.js`) in a function that
-  // returns the AMD loader references.
-  var S2 =
-(function () {
-  // Restore the Select2 AMD loader so it can be used
-  // Needed mostly in the language files, where the loader is not inserted
-  if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
-    var S2 = jQuery.fn.select2.amd;
-  }
-var S2;(function () { if (!S2 || !S2.requirejs) {
-if (!S2) { S2 = {}; } else { require = S2; }
-/**
- * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.
- * Available via the MIT or new BSD license.
- * see: http://github.com/jrburke/almond for details
- */
-//Going sloppy to avoid 'use strict' string cost, but strict practices should
-//be followed.
-/*jslint sloppy: true */
-/*global setTimeout: false */
-
-var requirejs, require, define;
-(function (undef) {
-    var main, req, makeMap, handlers,
-        defined = {},
-        waiting = {},
-        config = {},
-        defining = {},
-        hasOwn = Object.prototype.hasOwnProperty,
-        aps = [].slice,
-        jsSuffixRegExp = /\.js$/;
-
-    function hasProp(obj, prop) {
-        return hasOwn.call(obj, prop);
-    }
-
-    /**
-     * Given a relative module name, like ./something, normalize it to
-     * a real name that can be mapped to a path.
-     * @param {String} name the relative name
-     * @param {String} baseName a real name that the name arg is relative
-     * to.
-     * @returns {String} normalized name
-     */
-    function normalize(name, baseName) {
-        var nameParts, nameSegment, mapValue, foundMap, lastIndex,
-            foundI, foundStarMap, starI, i, j, part,
-            baseParts = baseName && baseName.split("/"),
-            map = config.map,
-            starMap = (map && map['*']) || {};
-
-        //Adjust any relative paths.
-        if (name && name.charAt(0) === ".") {
-            //If have a base name, try to normalize against it,
-            //otherwise, assume it is a top-level require that will
-            //be relative to baseUrl in the end.
-            if (baseName) {
-                name = name.split('/');
-                lastIndex = name.length - 1;
-
-                // Node .js allowance:
-                if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
-                    name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
-                }
-
-                //Lop off the last part of baseParts, so that . matches the
-                //"directory" and not name of the baseName's module. For instance,
-                //baseName of "one/two/three", maps to "one/two/three.js", but we
-                //want the directory, "one/two" for this normalization.
-                name = baseParts.slice(0, baseParts.length - 1).concat(name);
-
-                //start trimDots
-                for (i = 0; i < name.length; i += 1) {
-                    part = name[i];
-                    if (part === ".") {
-                        name.splice(i, 1);
-                        i -= 1;
-                    } else if (part === "..") {
-                        if (i === 1 && (name[2] === '..' || name[0] === '..')) {
-                            //End of the line. Keep at least one non-dot
-                            //path segment at the front so it can be mapped
-                            //correctly to disk. Otherwise, there is likely
-                            //no path mapping for a path starting with '..'.
-                            //This can still fail, but catches the most reasonable
-                            //uses of ..
-                            break;
-                        } else if (i > 0) {
-                            name.splice(i - 1, 2);
-                            i -= 2;
-                        }
-                    }
-                }
-                //end trimDots
-
-                name = name.join("/");
-            } else if (name.indexOf('./') === 0) {
-                // No baseName, so this is ID is resolved relative
-                // to baseUrl, pull off the leading dot.
-                name = name.substring(2);
-            }
-        }
-
-        //Apply map config if available.
-        if ((baseParts || starMap) && map) {
-            nameParts = name.split('/');
-
-            for (i = nameParts.length; i > 0; i -= 1) {
-                nameSegment = nameParts.slice(0, i).join("/");
-
-                if (baseParts) {
-                    //Find the longest baseName segment match in the config.
-                    //So, do joins on the biggest to smallest lengths of baseParts.
-                    for (j = baseParts.length; j > 0; j -= 1) {
-                        mapValue = map[baseParts.slice(0, j).join('/')];
-
-                        //baseName segment has  config, find if it has one for
-                        //this name.
-                        if (mapValue) {
-                            mapValue = mapValue[nameSegment];
-                            if (mapValue) {
-                                //Match, update name to the new value.
-                                foundMap = mapValue;
-                                foundI = i;
-                                break;
-                            }
-                        }
-                    }
-                }
-
-                if (foundMap) {
-                    break;
-                }
-
-                //Check for a star map match, but just hold on to it,
-                //if there is a shorter segment match later in a matching
-                //config, then favor over this star map.
-                if (!foundStarMap && starMap && starMap[nameSegment]) {
-                    foundStarMap = starMap[nameSegment];
-                    starI = i;
-                }
-            }
-
-            if (!foundMap && foundStarMap) {
-                foundMap = foundStarMap;
-                foundI = starI;
-            }
-
-            if (foundMap) {
-                nameParts.splice(0, foundI, foundMap);
-                name = nameParts.join('/');
-            }
-        }
-
-        return name;
-    }
-
-    function makeRequire(relName, forceSync) {
-        return function () {
-            //A version of a require function that passes a moduleName
-            //value for items that may need to
-            //look up paths relative to the moduleName
-            var args = aps.call(arguments, 0);
-
-            //If first arg is not require('string'), and there is only
-            //one arg, it is the array form without a callback. Insert
-            //a null so that the following concat is correct.
-            if (typeof args[0] !== 'string' && args.length === 1) {
-                args.push(null);
-            }
-            return req.apply(undef, args.concat([relName, forceSync]));
-        };
-    }
-
-    function makeNormalize(relName) {
-        return function (name) {
-            return normalize(name, relName);
-        };
-    }
-
-    function makeLoad(depName) {
-        return function (value) {
-            defined[depName] = value;
-        };
-    }
-
-    function callDep(name) {
-        if (hasProp(waiting, name)) {
-            var args = waiting[name];
-            delete waiting[name];
-            defining[name] = true;
-            main.apply(undef, args);
-        }
-
-        if (!hasProp(defined, name) && !hasProp(defining, name)) {
-            throw new Error('No ' + name);
-        }
-        return defined[name];
-    }
-
-    //Turns a plugin!resource to [plugin, resource]
-    //with the plugin being undefined if the name
-    //did not have a plugin prefix.
-    function splitPrefix(name) {
-        var prefix,
-            index = name ? name.indexOf('!') : -1;
-        if (index > -1) {
-            prefix = name.substring(0, index);
-            name = name.substring(index + 1, name.length);
-        }
-        return [prefix, name];
-    }
-
-    /**
-     * Makes a name map, normalizing the name, and using a plugin
-     * for normalization if necessary. Grabs a ref to plugin
-     * too, as an optimization.
-     */
-    makeMap = function (name, relName) {
-        var plugin,
-            parts = splitPrefix(name),
-            prefix = parts[0];
-
-        name = parts[1];
-
-        if (prefix) {
-            prefix = normalize(prefix, relName);
-            plugin = callDep(prefix);
-        }
-
-        //Normalize according
-        if (prefix) {
-            if (plugin && plugin.normalize) {
-                name = plugin.normalize(name, makeNormalize(relName));
-            } else {
-                name = normalize(name, relName);
-            }
-        } else {
-            name = normalize(name, relName);
-            parts = splitPrefix(name);
-            prefix = parts[0];
-            name = parts[1];
-            if (prefix) {
-                plugin = callDep(prefix);
-            }
-        }
-
-        //Using ridiculous property names for space reasons
-        return {
-            f: prefix ? prefix + '!' + name : name, //fullName
-            n: name,
-            pr: prefix,
-            p: plugin
-        };
-    };
-
-    function makeConfig(name) {
-        return function () {
-            return (config && config.config && config.config[name]) || {};
-        };
-    }
-
-    handlers = {
-        require: function (name) {
-            return makeRequire(name);
-        },
-        exports: function (name) {
-            var e = defined[name];
-            if (typeof e !== 'undefined') {
-                return e;
-            } else {
-                return (defined[name] = {});
-            }
-        },
-        module: function (name) {
-            return {
-                id: name,
-                uri: '',
-                exports: defined[name],
-                config: makeConfig(name)
-            };
-        }
-    };
-
-    main = function (name, deps, callback, relName) {
-        var cjsModule, depName, ret, map, i,
-            args = [],
-            callbackType = typeof callback,
-            usingExports;
-
-        //Use name if no relName
-        relName = relName || name;
-
-        //Call the callback to define the module, if necessary.
-        if (callbackType === 'undefined' || callbackType === 'function') {
-            //Pull out the defined dependencies and pass the ordered
-            //values to the callback.
-            //Default to [require, exports, module] if no deps
-            deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
-            for (i = 0; i < deps.length; i += 1) {
-                map = makeMap(deps[i], relName);
-                depName = map.f;
-
-                //Fast path CommonJS standard dependencies.
-                if (depName === "require") {
-                    args[i] = handlers.require(name);
-                } else if (depName === "exports") {
-                    //CommonJS module spec 1.1
-                    args[i] = handlers.exports(name);
-                    usingExports = true;
-                } else if (depName === "module") {
-                    //CommonJS module spec 1.1
-                    cjsModule = args[i] = handlers.module(name);
-                } else if (hasProp(defined, depName) ||
-                           hasProp(waiting, depName) ||
-                           hasProp(defining, depName)) {
-                    args[i] = callDep(depName);
-                } else if (map.p) {
-                    map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
-                    args[i] = defined[depName];
-                } else {
-                    throw new Error(name + ' missing ' + depName);
-                }
-            }
-
-            ret = callback ? callback.apply(defined[name], args) : undefined;
-
-            if (name) {
-                //If setting exports via "module" is in play,
-                //favor that over return value and exports. After that,
-                //favor a non-undefined return value over exports use.
-                if (cjsModule && cjsModule.exports !== undef &&
-                        cjsModule.exports !== defined[name]) {
-                    defined[name] = cjsModule.exports;
-                } else if (ret !== undef || !usingExports) {
-                    //Use the return value from the function.
-                    defined[name] = ret;
-                }
-            }
-        } else if (name) {
-            //May just be an object definition for the module. Only
-            //worry about defining if have a module name.
-            defined[name] = callback;
-        }
-    };
-
-    requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
-        if (typeof deps === "string") {
-            if (handlers[deps]) {
-                //callback in this case is really relName
-                return handlers[deps](callback);
-            }
-            //Just return the module wanted. In this scenario, the
-            //deps arg is the module name, and second arg (if passed)
-            //is just the relName.
-            //Normalize module name, if it contains . or ..
-            return callDep(makeMap(deps, callback).f);
-        } else if (!deps.splice) {
-            //deps is a config object, not an array.
-            config = deps;
-            if (config.deps) {
-                req(config.deps, config.callback);
-            }
-            if (!callback) {
-                return;
-            }
-
-            if (callback.splice) {
-                //callback is an array, which means it is a dependency list.
-                //Adjust args if there are dependencies
-                deps = callback;
-                callback = relName;
-                relName = null;
-            } else {
-                deps = undef;
-            }
-        }
-
-        //Support require(['a'])
-        callback = callback || function () {};
-
-        //If relName is a function, it is an errback handler,
-        //so remove it.
-        if (typeof relName === 'function') {
-            relName = forceSync;
-            forceSync = alt;
-        }
-
-        //Simulate async callback;
-        if (forceSync) {
-            main(undef, deps, callback, relName);
-        } else {
-            //Using a non-zero value because of concern for what old browsers
-            //do, and latest browsers "upgrade" to 4 if lower value is used:
-            //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
-            //If want a value immediately, use require('id') instead -- something
-            //that works in almond on the global level, but not guaranteed and
-            //unlikely to work in other AMD implementations.
-            setTimeout(function () {
-                main(undef, deps, callback, relName);
-            }, 4);
-        }
-
-        return req;
-    };
-
-    /**
-     * Just drops the config on the floor, but returns req in case
-     * the config return value is used.
-     */
-    req.config = function (cfg) {
-        return req(cfg);
-    };
-
-    /**
-     * Expose module registry for debugging and tooling
-     */
-    requirejs._defined = defined;
-
-    define = function (name, deps, callback) {
-        if (typeof name !== 'string') {
-            throw new Error('See almond README: incorrect module build, no module name');
-        }
-
-        //This module may not have dependencies
-        if (!deps.splice) {
-            //deps is not an array, so probably means
-            //an object literal or factory function for
-            //the value. Adjust args.
-            callback = deps;
-            deps = [];
-        }
-
-        if (!hasProp(defined, name) && !hasProp(waiting, name)) {
-            waiting[name] = [name, deps, callback];
-        }
-    };
-
-    define.amd = {
-        jQuery: true
-    };
-}());
-
-S2.requirejs = requirejs;S2.require = require;S2.define = define;
-}
-}());
-S2.define("almond", function(){});
-
-/* global jQuery:false, $:false */
-S2.define('jquery',[],function () {
-  var _$ = jQuery || $;
-
-  if (_$ == null && console && console.error) {
-    console.error(
-      'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
-      'found. Make sure that you are including jQuery before Select2 on your ' +
-      'web page.'
-    );
-  }
-
-  return _$;
-});
-
-S2.define('select2/utils',[
-  'jquery'
-], function ($) {
-  var Utils = {};
-
-  Utils.Extend = function (ChildClass, SuperClass) {
-    var __hasProp = {}.hasOwnProperty;
-
-    function BaseConstructor () {
-      this.constructor = ChildClass;
-    }
-
-    for (var key in SuperClass) {
-      if (__hasProp.call(SuperClass, key)) {
-        ChildClass[key] = SuperClass[key];
-      }
-    }
-
-    BaseConstructor.prototype = SuperClass.prototype;
-    ChildClass.prototype = new BaseConstructor();
-    ChildClass.__super__ = SuperClass.prototype;
-
-    return ChildClass;
-  };
-
-  function getMethods (theClass) {
-    var proto = theClass.prototype;
-
-    var methods = [];
-
-    for (var methodName in proto) {
-      var m = proto[methodName];
-
-      if (typeof m !== 'function') {
-        continue;
-      }
-
-      if (methodName === 'constructor') {
-        continue;
-      }
-
-      methods.push(methodName);
-    }
-
-    return methods;
-  }
-
-  Utils.Decorate = function (SuperClass, DecoratorClass) {
-    var decoratedMethods = getMethods(DecoratorClass);
-    var superMethods = getMethods(SuperClass);
-
-    function DecoratedClass () {
-      var unshift = Array.prototype.unshift;
-
-      var argCount = DecoratorClass.prototype.constructor.length;
-
-      var calledConstructor = SuperClass.prototype.constructor;
-
-      if (argCount > 0) {
-        unshift.call(arguments, SuperClass.prototype.constructor);
-
-        calledConstructor = DecoratorClass.prototype.constructor;
-      }
-
-      calledConstructor.apply(this, arguments);
-    }
-
-    DecoratorClass.displayName = SuperClass.displayName;
-
-    function ctr () {
-      this.constructor = DecoratedClass;
-    }
-
-    DecoratedClass.prototype = new ctr();
-
-    for (var m = 0; m < superMethods.length; m++) {
-        var superMethod = superMethods[m];
-
-        DecoratedClass.prototype[superMethod] =
-          SuperClass.prototype[superMethod];
-    }
-
-    var calledMethod = function (methodName) {
-      // Stub out the original method if it's not decorating an actual method
-      var originalMethod = function () {};
-
-      if (methodName in DecoratedClass.prototype) {
-        originalMethod = DecoratedClass.prototype[methodName];
-      }
-
-      var decoratedMethod = DecoratorClass.prototype[methodName];
-
-      return function () {
-        var unshift = Array.prototype.unshift;
-
-        unshift.call(arguments, originalMethod);
-
-        return decoratedMethod.apply(this, arguments);
-      };
-    };
-
-    for (var d = 0; d < decoratedMethods.length; d++) {
-      var decoratedMethod = decoratedMethods[d];
-
-      DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
-    }
-
-    return DecoratedClass;
-  };
-
-  var Observable = function () {
-    this.listeners = {};
-  };
-
-  Observable.prototype.on = function (event, callback) {
-    this.listeners = this.listeners || {};
-
-    if (event in this.listeners) {
-      this.listeners[event].push(callback);
-    } else {
-      this.listeners[event] = [callback];
-    }
-  };
-
-  Observable.prototype.trigger = function (event) {
-    var slice = Array.prototype.slice;
-    var params = slice.call(arguments, 1);
-
-    this.listeners = this.listeners || {};
-
-    // Params should always come in as an array
-    if (params == null) {
-      params = [];
-    }
-
-    // If there are no arguments to the event, use a temporary object
-    if (params.length === 0) {
-      params.push({});
-    }
-
-    // Set the `_type` of the first object to the event
-    params[0]._type = event;
-
-    if (event in this.listeners) {
-      this.invoke(this.listeners[event], slice.call(arguments, 1));
-    }
-
-    if ('*' in this.listeners) {
-      this.invoke(this.listeners['*'], arguments);
-    }
-  };
-
-  Observable.prototype.invoke = function (listeners, params) {
-    for (var i = 0, len = listeners.length; i < len; i++) {
-      listeners[i].apply(this, params);
-    }
-  };
-
-  Utils.Observable = Observable;
-
-  Utils.generateChars = function (length) {
-    var chars = '';
-
-    for (var i = 0; i < length; i++) {
-      var randomChar = Math.floor(Math.random() * 36);
-      chars += randomChar.toString(36);
-    }
-
-    return chars;
-  };
-
-  Utils.bind = function (func, context) {
-    return function () {
-      func.apply(context, arguments);
-    };
-  };
-
-  Utils._convertData = function (data) {
-    for (var originalKey in data) {
-      var keys = originalKey.split('-');
-
-      var dataLevel = data;
-
-      if (keys.length === 1) {
-        continue;
-      }
-
-      for (var k = 0; k < keys.length; k++) {
-        var key = keys[k];
-
-        // Lowercase the first letter
-        // By default, dash-separated becomes camelCase
-        key = key.substring(0, 1).toLowerCase() + key.substring(1);
-
-        if (!(key in dataLevel)) {
-          dataLevel[key] = {};
-        }
-
-        if (k == keys.length - 1) {
-          dataLevel[key] = data[originalKey];
-        }
-
-        dataLevel = dataLevel[key];
-      }
-
-      delete data[originalKey];
-    }
-
-    return data;
-  };
-
-  Utils.hasScroll = function (index, el) {
-    // Adapted from the function created by @ShadowScripter
-    // and adapted by @BillBarry on the Stack Exchange Code Review website.
-    // The original code can be found at
-    // http://codereview.stackexchange.com/q/13338
-    // and was designed to be used with the Sizzle selector engine.
-
-    var $el = $(el);
-    var overflowX = el.style.overflowX;
-    var overflowY = el.style.overflowY;
-
-    //Check both x and y declarations
-    if (overflowX === overflowY &&
-        (overflowY === 'hidden' || overflowY === 'visible')) {
-      return false;
-    }
-
-    if (overflowX === 'scroll' || overflowY === 'scroll') {
-      return true;
-    }
-
-    return ($el.innerHeight() < el.scrollHeight ||
-      $el.innerWidth() < el.scrollWidth);
-  };
-
-  Utils.escapeMarkup = function (markup) {
-    var replaceMap = {
-      '\\': '&#92;',
-      '&': '&amp;',
-      '<': '&lt;',
-      '>': '&gt;',
-      '"': '&quot;',
-      '\'': '&#39;',
-      '/': '&#47;'
-    };
-
-    // Do not try to escape the markup if it's not a string
-    if (typeof markup !== 'string') {
-      return markup;
-    }
-
-    return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
-      return replaceMap[match];
-    });
-  };
-
-  // Append an array of jQuery nodes to a given element.
-  Utils.appendMany = function ($element, $nodes) {
-    // jQuery 1.7.x does not support $.fn.append() with an array
-    // Fall back to a jQuery object collection using $.fn.add()
-    if ($.fn.jquery.substr(0, 3) === '1.7') {
-      var $jqNodes = $();
-
-      $.map($nodes, function (node) {
-        $jqNodes = $jqNodes.add(node);
-      });
-
-      $nodes = $jqNodes;
-    }
-
-    $element.append($nodes);
-  };
-
-  return Utils;
-});
-
-S2.define('select2/results',[
-  'jquery',
-  './utils'
-], function ($, Utils) {
-  function Results ($element, options, dataAdapter) {
-    this.$element = $element;
-    this.data = dataAdapter;
-    this.options = options;
-
-    Results.__super__.constructor.call(this);
-  }
-
-  Utils.Extend(Results, Utils.Observable);
-
-  Results.prototype.render = function () {
-    var $results = $(
-      '<ul class="select2-results__options" role="tree"></ul>'
-    );
-
-    if (this.options.get('multiple')) {
-      $results.attr('aria-multiselectable', 'true');
-    }
-
-    this.$results = $results;
-
-    return $results;
-  };
-
-  Results.prototype.clear = function () {
-    this.$results.empty();
-  };
-
-  Results.prototype.displayMessage = function (params) {
-    var escapeMarkup = this.options.get('escapeMarkup');
-
-    this.clear();
-    this.hideLoading();
-
-    var $message = $(
-      '<li role="treeitem" aria-live="assertive"' +
-      ' class="select2-results__option"></li>'
-    );
-
-    var message = this.options.get('translations').get(params.message);
-
-    $message.append(
-      escapeMarkup(
-        message(params.args)
-      )
-    );
-
-    $message[0].className += ' select2-results__message';
-
-    this.$results.append($message);
-  };
-
-  Results.prototype.hideMessages = function () {
-    this.$results.find('.select2-results__message').remove();
-  };
-
-  Results.prototype.append = function (data) {
-    this.hideLoading();
-
-    var $options = [];
-
-    if (data.results == null || data.results.length === 0) {
-      if (this.$results.children().length === 0) {
-        this.trigger('results:message', {
-          message: 'noResults'
-        });
-      }
-
-      return;
-    }
-
-    data.results = this.sort(data.results);
-
-    for (var d = 0; d < data.results.length; d++) {
-      var item = data.results[d];
-
-      var $option = this.option(item);
-
-      $options.push($option);
-    }
-
-    this.$results.append($options);
-  };
-
-  Results.prototype.position = function ($results, $dropdown) {
-    var $resultsContainer = $dropdown.find('.select2-results');
-    $resultsContainer.append($results);
-  };
-
-  Results.prototype.sort = function (data) {
-    var sorter = this.options.get('sorter');
-
-    return sorter(data);
-  };
-
-  Results.prototype.highlightFirstItem = function () {
-    var $options = this.$results
-      .find('.select2-results__option[aria-selected]');
-
-    var $selected = $options.filter('[aria-selected=true]');
-
-    // Check if there are any selected options
-    if ($selected.length > 0) {
-      // If there are selected options, highlight the first
-      $selected.first().trigger('mouseenter');
-    } else {
-      // If there are no selected options, highlight the first option
-      // in the dropdown
-      $options.first().trigger('mouseenter');
-    }
-
-    this.ensureHighlightVisible();
-  };
-
-  Results.prototype.setClasses = function () {
-    var self = this;
-
-    this.data.current(function (selected) {
-      var selectedIds = $.map(selected, function (s) {
-        return s.id.toString();
-      });
-
-      var $options = self.$results
-        .find('.select2-results__option[aria-selected]');
-
-      $options.each(function () {
-        var $option = $(this);
-
-        var item = $.data(this, 'data');
-
-        // id needs to be converted to a string when comparing
-        var id = '' + item.id;
-
-        if ((item.element != null && item.element.selected) ||
-            (item.element == null && $.inArray(id, selectedIds) > -1)) {
-          $option.attr('aria-selected', 'true');
-        } else {
-          $option.attr('aria-selected', 'false');
-        }
-      });
-
-    });
-  };
-
-  Results.prototype.showLoading = function (params) {
-    this.hideLoading();
-
-    var loadingMore = this.options.get('translations').get('searching');
-
-    var loading = {
-      disabled: true,
-      loading: true,
-      text: loadingMore(params)
-    };
-    var $loading = this.option(loading);
-    $loading.className += ' loading-results';
-
-    this.$results.prepend($loading);
-  };
-
-  Results.prototype.hideLoading = function () {
-    this.$results.find('.loading-results').remove();
-  };
-
-  Results.prototype.option = function (data) {
-    var option = document.createElement('li');
-    option.className = 'select2-results__option';
-
-    var attrs = {
-      'role': 'treeitem',
-      'aria-selected': 'false'
-    };
-
-    if (data.disabled) {
-      delete attrs['aria-selected'];
-      attrs['aria-disabled'] = 'true';
-    }
-
-    if (data.id == null) {
-      delete attrs['aria-selected'];
-    }
-
-    if (data._resultId != null) {
-      option.id = data._resultId;
-    }
-
-    if (data.title) {
-      option.title = data.title;
-    }
-
-    if (data.children) {
-      attrs.role = 'group';
-      attrs['aria-label'] = data.text;
-      delete attrs['aria-selected'];
-    }
-
-    for (var attr in attrs) {
-      var val = attrs[attr];
-
-      option.setAttribute(attr, val);
-    }
-
-    if (data.children) {
-      var $option = $(option);
-
-      var label = document.createElement('strong');
-      label.className = 'select2-results__group';
-
-      var $label = $(label);
-      this.template(data, label);
-
-      var $children = [];
-
-      for (var c = 0; c < data.children.length; c++) {
-        var child = data.children[c];
-
-        var $child = this.option(child);
-
-        $children.push($child);
-      }
-
-      var $childrenContainer = $('<ul></ul>', {
-        'class': 'select2-results__options select2-results__options--nested'
-      });
-
-      $childrenContainer.append($children);
-
-      $option.append(label);
-      $option.append($childrenContainer);
-    } else {
-      this.template(data, option);
-    }
-
-    $.data(option, 'data', data);
-
-    return option;
-  };
-
-  Results.prototype.bind = function (container, $container) {
-    var self = this;
-
-    var id = container.id + '-results';
-
-    this.$results.attr('id', id);
-
-    container.on('results:all', function (params) {
-      self.clear();
-      self.append(params.data);
-
-      if (container.isOpen()) {
-        self.setClasses();
-        self.highlightFirstItem();
-      }
-    });
-
-    container.on('results:append', function (params) {
-      self.append(params.data);
-
-      if (container.isOpen()) {
-        self.setClasses();
-      }
-    });
-
-    container.on('query', function (params) {
-      self.hideMessages();
-      self.showLoading(params);
-    });
-
-    container.on('select', function () {
-      if (!container.isOpen()) {
-        return;
-      }
-
-      self.setClasses();
-      self.highlightFirstItem();
-    });
-
-    container.on('unselect', function () {
-      if (!container.isOpen()) {
-        return;
-      }
-
-      self.setClasses();
-      self.highlightFirstItem();
-    });
-
-    container.on('open', function () {
-      // When the dropdown is open, aria-expended="true"
-      self.$results.attr('aria-expanded', 'true');
-      self.$results.attr('aria-hidden', 'false');
-
-      self.setClasses();
-      self.ensureHighlightVisible();
-    });
-
-    container.on('close', function () {
-      // When the dropdown is closed, aria-expended="false"
-      self.$results.attr('aria-expanded', 'false');
-      self.$results.attr('aria-hidden', 'true');
-      self.$results.removeAttr('aria-activedescendant');
-    });
-
-    container.on('results:toggle', function () {
-      var $highlighted = self.getHighlightedResults();
-
-      if ($highlighted.length === 0) {
-        return;
-      }
-
-      $highlighted.trigger('mouseup');
-    });
-
-    container.on('results:select', function () {
-      var $highlighted = self.getHighlightedResults();
-
-      if ($highlighted.length === 0) {
-        return;
-      }
-
-      var data = $highlighted.data('data');
-
-      if ($highlighted.attr('aria-selected') == 'true') {
-        self.trigger('close', {});
-      } else {
-        self.trigger('select', {
-          data: data
-        });
-      }
-    });
-
-    container.on('results:previous', function () {
-      var $highlighted = self.getHighlightedResults();
-
-      var $options = self.$results.find('[aria-selected]');
-
-      var currentIndex = $options.index($highlighted);
-
-      // If we are already at te top, don't move further
-      if (currentIndex === 0) {
-        return;
-      }
-
-      var nextIndex = currentIndex - 1;
-
-      // If none are highlighted, highlight the first
-      if ($highlighted.length === 0) {
-        nextIndex = 0;
-      }
-
-      var $next = $options.eq(nextIndex);
-
-      $next.trigger('mouseenter');
-
-      var currentOffset = self.$results.offset().top;
-      var nextTop = $next.offset().top;
-      var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
-
-      if (nextIndex === 0) {
-        self.$results.scrollTop(0);
-      } else if (nextTop - currentOffset < 0) {
-        self.$results.scrollTop(nextOffset);
-      }
-    });
-
-    container.on('results:next', function () {
-      var $highlighted = self.getHighlightedResults();
-
-      var $options = self.$results.find('[aria-selected]');
-
-      var currentIndex = $options.index($highlighted);
-
-      var nextIndex = currentIndex + 1;
-
-      // If we are at the last option, stay there
-      if (nextIndex >= $options.length) {
-        return;
-      }
-
-      var $next = $options.eq(nextIndex);
-
-      $next.trigger('mouseenter');
-
-      var currentOffset = self.$results.offset().top +
-        self.$results.outerHeight(false);
-      var nextBottom = $next.offset().top + $next.outerHeight(false);
-      var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
-
-      if (nextIndex === 0) {
-        self.$results.scrollTop(0);
-      } else if (nextBottom > currentOffset) {
-        self.$results.scrollTop(nextOffset);
-      }
-    });
-
-    container.on('results:focus', function (params) {
-      params.element.addClass('select2-results__option--highlighted');
-    });
-
-    container.on('results:message', function (params) {
-      self.displayMessage(params);
-    });
-
-    if ($.fn.mousewheel) {
-      this.$results.on('mousewheel', function (e) {
-        var top = self.$results.scrollTop();
-
-        var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
-
-        var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
-        var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
-
-        if (isAtTop) {
-          self.$results.scrollTop(0);
-
-          e.preventDefault();
-          e.stopPropagation();
-        } else if (isAtBottom) {
-          self.$results.scrollTop(
-            self.$results.get(0).scrollHeight - self.$results.height()
-          );
-
-          e.preventDefault();
-          e.stopPropagation();
-        }
-      });
-    }
-
-    this.$results.on('mouseup', '.select2-results__option[aria-selected]',
-      function (evt) {
-      var $this = $(this);
-
-      var data = $this.data('data');
-
-      if ($this.attr('aria-selected') === 'true') {
-        if (self.options.get('multiple')) {
-          self.trigger('unselect', {
-            originalEvent: evt,
-            data: data
-          });
-        } else {
-          self.trigger('close', {});
-        }
-
-        return;
-      }
-
-      self.trigger('select', {
-        originalEvent: evt,
-        data: data
-      });
-    });
-
-    this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
-      function (evt) {
-      var data = $(this).data('data');
-
-      self.getHighlightedResults()
-          .removeClass('select2-results__option--highlighted');
-
-      self.trigger('results:focus', {
-        data: data,
-        element: $(this)
-      });
-    });
-  };
-
-  Results.prototype.getHighlightedResults = function () {
-    var $highlighted = this.$results
-    .find('.select2-results__option--highlighted');
-
-    return $highlighted;
-  };
-
-  Results.prototype.destroy = function () {
-    this.$results.remove();
-  };
-
-  Results.prototype.ensureHighlightVisible = function () {
-    var $highlighted = this.getHighlightedResults();
-
-    if ($highlighted.length === 0) {
-      return;
-    }
-
-    var $options = this.$results.find('[aria-selected]');
-
-    var currentIndex = $options.index($highlighted);
-
-    var currentOffset = this.$results.offset().top;
-    var nextTop = $highlighted.offset().top;
-    var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
-
-    var offsetDelta = nextTop - currentOffset;
-    nextOffset -= $highlighted.outerHeight(false) * 2;
-
-    if (currentIndex <= 2) {
-      this.$results.scrollTop(0);
-    } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
-      this.$results.scrollTop(nextOffset);
-    }
-  };
-
-  Results.prototype.template = function (result, container) {
-    var template = this.options.get('templateResult');
-    var escapeMarkup = this.options.get('escapeMarkup');
-
-    var content = template(result, container);
-
-    if (content == null) {
-      container.style.display = 'none';
-    } else if (typeof content === 'string') {
-      container.innerHTML = escapeMarkup(content);
-    } else {
-      $(container).append(content);
-    }
-  };
-
-  return Results;
-});
-
-S2.define('select2/keys',[
-
-], function () {
-  var KEYS = {
-    BACKSPACE: 8,
-    TAB: 9,
-    ENTER: 13,
-    SHIFT: 16,
-    CTRL: 17,
-    ALT: 18,
-    ESC: 27,
-    SPACE: 32,
-    PAGE_UP: 33,
-    PAGE_DOWN: 34,
-    END: 35,
-    HOME: 36,
-    LEFT: 37,
-    UP: 38,
-    RIGHT: 39,
-    DOWN: 40,
-    DELETE: 46
-  };
-
-  return KEYS;
-});
-
-S2.define('select2/selection/base',[
-  'jquery',
-  '../utils',
-  '../keys'
-], function ($, Utils, KEYS) {
-  function BaseSelection ($element, options) {
-    this.$element = $element;
-    this.options = options;
-
-    BaseSelection.__super__.constructor.call(this);
-  }
-
-  Utils.Extend(BaseSelection, Utils.Observable);
-
-  BaseSelection.prototype.render = function () {
-    var $selection = $(
-      '<span class="select2-selection" role="combobox" ' +
-      ' aria-haspopup="true" aria-expanded="false">' +
-      '</span>'
-    );
-
-    this._tabindex = 0;
-
-    if (this.$element.data('old-tabindex') != null) {
-      this._tabindex = this.$element.data('old-tabindex');
-    } else if (this.$element.attr('tabindex') != null) {
-      this._tabindex = this.$element.attr('tabindex');
-    }
-
-    $selection.attr('title', this.$element.attr('title'));
-    $selection.attr('tabindex', this._tabindex);
-
-    this.$selection = $selection;
-
-    return $selection;
-  };
-
-  BaseSelection.prototype.bind = function (container, $container) {
-    var self = this;
-
-    var id = container.id + '-container';
-    var resultsId = container.id + '-results';
-
-    this.container = container;
-
-    this.$selection.on('focus', function (evt) {
-      self.trigger('focus', evt);
-    });
-
-    this.$selection.on('blur', function (evt) {
-      self._handleBlur(evt);
-    });
-
-    this.$selection.on('keydown', function (evt) {
-      self.trigger('keypress', evt);
-
-      if (evt.which === KEYS.SPACE) {
-        evt.preventDefault();
-      }
-    });
-
-    container.on('results:focus', function (params) {
-      self.$selection.attr('aria-activedescendant', params.data._resultId);
-    });
-
-    container.on('selection:update', function (params) {
-      self.update(params.data);
-    });
-
-    container.on('open', function () {
-      // When the dropdown is open, aria-expanded="true"
-      self.$selection.attr('aria-expanded', 'true');
-      self.$selection.attr('aria-owns', resultsId);
-
-      self._attachCloseHandler(container);
-    });
-
-    container.on('close', function () {
-      // When the dropdown is closed, aria-expanded="false"
-      self.$selection.attr('aria-expanded', 'false');
-      self.$selection.removeAttr('aria-activedescendant');
-      self.$selection.removeAttr('aria-owns');
-
-      self.$selection.focus();
-
-      self._detachCloseHandler(container);
-    });
-
-    container.on('enable', function () {
-      self.$selection.attr('tabindex', self._tabindex);
-    });
-
-    container.on('disable', function () {
-      self.$selection.attr('tabindex', '-1');
-    });
-  };
-
-  BaseSelection.prototype._handleBlur = function (evt) {
-    var self = this;
-
-    // This needs to be delayed as the active element is the body when the tab
-    // key is pressed, possibly along with others.
-    window.setTimeout(function () {
-      // Don't trigger `blur` if the focus is still in the selection
-      if (
-        (document.activeElement == self.$selection[0]) ||
-        ($.contains(self.$selection[0], document.activeElement))
-      ) {
-        return;
-      }
-
-      self.trigger('blur', evt);
-    }, 1);
-  };
-
-  BaseSelection.prototype._attachCloseHandler = function (container) {
-    var self = this;
-
-    $(document.body).on('mousedown.select2.' + container.id, function (e) {
-      var $target = $(e.target);
-
-      var $select = $target.closest('.select2');
-
-      var $all = $('.select2.select2-container--open');
-
-      $all.each(function () {
-        var $this = $(this);
-
-        if (this == $select[0]) {
-          return;
-        }
-
-        var $element = $this.data('element');
-
-        $element.select2('close');
-      });
-    });
-  };
-
-  BaseSelection.prototype._detachCloseHandler = function (container) {
-    $(document.body).off('mousedown.select2.' + container.id);
-  };
-
-  BaseSelection.prototype.position = function ($selection, $container) {
-    var $selectionContainer = $container.find('.selection');
-    $selectionContainer.append($selection);
-  };
-
-  BaseSelection.prototype.destroy = function () {
-    this._detachCloseHandler(this.container);
-  };
-
-  BaseSelection.prototype.update = function (data) {
-    throw new Error('The `update` method must be defined in child classes.');
-  };
-
-  return BaseSelection;
-});
-
-S2.define('select2/selection/single',[
-  'jquery',
-  './base',
-  '../utils',
-  '../keys'
-], function ($, BaseSelection, Utils, KEYS) {
-  function SingleSelection () {
-    SingleSelection.__super__.constructor.apply(this, arguments);
-  }
-
-  Utils.Extend(SingleSelection, BaseSelection);
-
-  SingleSelection.prototype.render = function () {
-    var $selection = SingleSelection.__super__.render.call(this);
-
-    $selection.addClass('select2-selection--single');
-
-    $selection.html(
-      '<span class="select2-selection__rendered"></span>' +
-      '<span class="select2-selection__arrow" role="presentation">' +
-        '<b role="presentation"></b>' +
-      '</span>'
-    );
-
-    return $selection;
-  };
-
-  SingleSelection.prototype.bind = function (container, $container) {
-    var self = this;
-
-    SingleSelection.__super__.bind.apply(this, arguments);
-
-    var id = container.id + '-container';
-
-    this.$selection.find('.select2-selection__rendered').attr('id', id);
-    this.$selection.attr('aria-labelledby', id);
-
-    this.$selection.on('mousedown', function (evt) {
-      // Only respond to left clicks
-      if (evt.which !== 1) {
-        return;
-      }
-
-      self.trigger('toggle', {
-        originalEvent: evt
-      });
-    });
-
-    this.$selection.on('focus', function (evt) {
-      // User focuses on the container
-    });
-
-    this.$selection.on('blur', function (evt) {
-      // User exits the container
-    });
-
-    container.on('focus', function (evt) {
-      if (!container.isOpen()) {
-        self.$selection.focus();
-      }
-    });
-
-    container.on('selection:update', function (params) {
-      self.update(params.data);
-    });
-  };
-
-  SingleSelection.prototype.clear = function () {
-    this.$selection.find('.select2-selection__rendered').empty();
-  };
-
-  SingleSelection.prototype.display = function (data, container) {
-    var template = this.options.get('templateSelection');
-    var escapeMarkup = this.options.get('escapeMarkup');
-
-    return escapeMarkup(template(data, container));
-  };
-
-  SingleSelection.prototype.selectionContainer = function () {
-    return $('<span></span>');
-  };
-
-  SingleSelection.prototype.update = function (data) {
-    if (data.length === 0) {
-      this.clear();
-      return;
-    }
-
-    var selection = data[0];
-
-    var $rendered = this.$selection.find('.select2-selection__rendered');
-    var formatted = this.display(selection, $rendered);
-
-    $rendered.empty().append(formatted);
-    $rendered.prop('title', selection.title || selection.text);
-  };
-
-  return SingleSelection;
-});
-
-S2.define('select2/selection/multiple',[
-  'jquery',
-  './base',
-  '../utils'
-], function ($, BaseSelection, Utils) {
-  function MultipleSelection ($element, options) {
-    MultipleSelection.__super__.constructor.apply(this, arguments);
-  }
-
-  Utils.Extend(MultipleSelection, BaseSelection);
-
-  MultipleSelection.prototype.render = function () {
-    var $selection = MultipleSelection.__super__.render.call(this);
-
-    $selection.addClass('select2-selection--multiple');
-
-    $selection.html(
-      '<ul class="select2-selection__rendered"></ul>'
-    );
-
-    return $selection;
-  };
-
-  MultipleSelection.prototype.bind = function (container, $container) {
-    var self = this;
-
-    MultipleSelection.__super__.bind.apply(this, arguments);
-
-    this.$selection.on('click', function (evt) {
-      self.trigger('toggle', {
-        originalEvent: evt
-      });
-    });
-
-    this.$selection.on(
-      'click',
-      '.select2-selection__choice__remove',
-      function (evt) {
-        // Ignore the event if it is disabled
-        if (self.options.get('disabled')) {
-          return;
-        }
-
-        var $remove = $(this);
-        var $selection = $remove.parent();
-
-        var data = $selection.data('data');
-
-        self.trigger('unselect', {
-          originalEvent: evt,
-          data: data
-        });
-      }
-    );
-  };
-
-  MultipleSelection.prototype.clear = function () {
-    this.$selection.find('.select2-selection__rendered').empty();
-  };
-
-  MultipleSelection.prototype.display = function (data, container) {
-    var template = this.options.get('templateSelection');
-    var escapeMarkup = this.options.get('escapeMarkup');
-
-    return escapeMarkup(template(data, container));
-  };
-
-  MultipleSelection.prototype.selectionContainer = function () {
-    var $container = $(
-      '<li class="select2-selection__choice">' +
-        '<span class="select2-selection__choice__remove" role="presentation">' +
-          '&times;' +
-        '</span>' +
-      '</li>'
-    );
-
-    return $container;
-  };
-
-  MultipleSelection.prototype.update = function (data) {
-    this.clear();
-
-    if (data.length === 0) {
-      return;
-    }
-
-    var $selections = [];
-
-    for (var d = 0; d < data.length; d++) {
-      var selection = data[d];
-
-      var $selection = this.selectionContainer();
-      var formatted = this.display(selection, $selection);
-
-      $selection.append(formatted);
-      $selection.prop('title', selection.title || selection.text);
-
-      $selection.data('data', selection);
-
-      $selections.push($selection);
-    }
-
-    var $rendered = this.$selection.find('.select2-selection__rendered');
-
-    Utils.appendMany($rendered, $selections);
-  };
-
-  return MultipleSelection;
-});
-
-S2.define('select2/selection/placeholder',[
-  '../utils'
-], function (Utils) {
-  function Placeholder (decorated, $element, options) {
-    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
-
-    decorated.call(this, $element, options);
-  }
-
-  Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
-    if (typeof placeholder === 'string') {
-      placeholder = {
-        id: '',
-        text: placeholder
-      };
-    }
-
-    return placeholder;
-  };
-
-  Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
-    var $placeholder = this.selectionContainer();
-
-    $placeholder.html(this.display(placeholder));
-    $placeholder.addClass('select2-selection__placeholder')
-                .removeClass('select2-selection__choice');
-
-    return $placeholder;
-  };
-
-  Placeholder.prototype.update = function (decorated, data) {
-    var singlePlaceholder = (
-      data.length == 1 && data[0].id != this.placeholder.id
-    );
-    var multipleSelections = data.length > 1;
-
-    if (multipleSelections || singlePlaceholder) {
-      return decorated.call(this, data);
-    }
-
-    this.clear();
-
-    var $placeholder = this.createPlaceholder(this.placeholder);
-
-    this.$selection.find('.select2-selection__rendered').append($placeholder);
-  };
-
-  return Placeholder;
-});
-
-S2.define('select2/selection/allowClear',[
-  'jquery',
-  '../keys'
-], function ($, KEYS) {
-  function AllowClear () { }
-
-  AllowClear.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    if (this.placeholder == null) {
-      if (this.options.get('debug') && window.console && console.error) {
-        console.error(
-          'Select2: The `allowClear` option should be used in combination ' +
-          'with the `placeholder` option.'
-        );
-      }
-    }
-
-    this.$selection.on('mousedown', '.select2-selection__clear',
-      function (evt) {
-        self._handleClear(evt);
-    });
-
-    container.on('keypress', function (evt) {
-      self._handleKeyboardClear(evt, container);
-    });
-  };
-
-  AllowClear.prototype._handleClear = function (_, evt) {
-    // Ignore the event if it is disabled
-    if (this.options.get('disabled')) {
-      return;
-    }
-
-    var $clear = this.$selection.find('.select2-selection__clear');
-
-    // Ignore the event if nothing has been selected
-    if ($clear.length === 0) {
-      return;
-    }
-
-    evt.stopPropagation();
-
-    var data = $clear.data('data');
-
-    for (var d = 0; d < data.length; d++) {
-      var unselectData = {
-        data: data[d]
-      };
-
-      // Trigger the `unselect` event, so people can prevent it from being
-      // cleared.
-      this.trigger('unselect', unselectData);
-
-      // If the event was prevented, don't clear it out.
-      if (unselectData.prevented) {
-        return;
-      }
-    }
-
-    this.$element.val(this.placeholder.id).trigger('change');
-
-    this.trigger('toggle', {});
-  };
-
-  AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
-    if (container.isOpen()) {
-      return;
-    }
-
-    if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
-      this._handleClear(evt);
-    }
-  };
-
-  AllowClear.prototype.update = function (decorated, data) {
-    decorated.call(this, data);
-
-    if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
-        data.length === 0) {
-      return;
-    }
-
-    var $remove = $(
-      '<span class="select2-selection__clear">' +
-        '&times;' +
-      '</span>'
-    );
-    $remove.data('data', data);
-
-    this.$selection.find('.select2-selection__rendered').prepend($remove);
-  };
-
-  return AllowClear;
-});
-
-S2.define('select2/selection/search',[
-  'jquery',
-  '../utils',
-  '../keys'
-], function ($, Utils, KEYS) {
-  function Search (decorated, $element, options) {
-    decorated.call(this, $element, options);
-  }
-
-  Search.prototype.render = function (decorated) {
-    var $search = $(
-      '<li class="select2-search select2-search--inline">' +
-        '<input class="select2-search__field" type="search" tabindex="-1"' +
-        ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
-        ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
-      '</li>'
-    );
-
-    this.$searchContainer = $search;
-    this.$search = $search.find('input');
-
-    var $rendered = decorated.call(this);
-
-    this._transferTabIndex();
-
-    return $rendered;
-  };
-
-  Search.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    container.on('open', function () {
-      self.$search.trigger('focus');
-    });
-
-    container.on('close', function () {
-      self.$search.val('');
-      self.$search.removeAttr('aria-activedescendant');
-      self.$search.trigger('focus');
-    });
-
-    container.on('enable', function () {
-      self.$search.prop('disabled', false);
-
-      self._transferTabIndex();
-    });
-
-    container.on('disable', function () {
-      self.$search.prop('disabled', true);
-    });
-
-    container.on('focus', function (evt) {
-      self.$search.trigger('focus');
-    });
-
-    container.on('results:focus', function (params) {
-      self.$search.attr('aria-activedescendant', params.id);
-    });
-
-    this.$selection.on('focusin', '.select2-search--inline', function (evt) {
-      self.trigger('focus', evt);
-    });
-
-    this.$selection.on('focusout', '.select2-search--inline', function (evt) {
-      self._handleBlur(evt);
-    });
-
-    this.$selection.on('keydown', '.select2-search--inline', function (evt) {
-      evt.stopPropagation();
-
-      self.trigger('keypress', evt);
-
-      self._keyUpPrevented = evt.isDefaultPrevented();
-
-      var key = evt.which;
-
-      if (key === KEYS.BACKSPACE && self.$search.val() === '') {
-        var $previousChoice = self.$searchContainer
-          .prev('.select2-selection__choice');
-
-        if ($previousChoice.length > 0) {
-          var item = $previousChoice.data('data');
-
-          self.searchRemoveChoice(item);
-
-          evt.preventDefault();
-        }
-      }
-    });
-
-    // Try to detect the IE version should the `documentMode` property that
-    // is stored on the document. This is only implemented in IE and is
-    // slightly cleaner than doing a user agent check.
-    // This property is not available in Edge, but Edge also doesn't have
-    // this bug.
-    var msie = document.documentMode;
-    var disableInputEvents = msie && msie <= 11;
-
-    // Workaround for browsers which do not support the `input` event
-    // This will prevent double-triggering of events for browsers which support
-    // both the `keyup` and `input` events.
-    this.$selection.on(
-      'input.searchcheck',
-      '.select2-search--inline',
-      function (evt) {
-        // IE will trigger the `input` event when a placeholder is used on a
-        // search box. To get around this issue, we are forced to ignore all
-        // `input` events in IE and keep using `keyup`.
-        if (disableInputEvents) {
-          self.$selection.off('input.search input.searchcheck');
-          return;
-        }
-
-        // Unbind the duplicated `keyup` event
-        self.$selection.off('keyup.search');
-      }
-    );
-
-    this.$selection.on(
-      'keyup.search input.search',
-      '.select2-search--inline',
-      function (evt) {
-        // IE will trigger the `input` event when a placeholder is used on a
-        // search box. To get around this issue, we are forced to ignore all
-        // `input` events in IE and keep using `keyup`.
-        if (disableInputEvents && evt.type === 'input') {
-          self.$selection.off('input.search input.searchcheck');
-          return;
-        }
-
-        var key = evt.which;
-
-        // We can freely ignore events from modifier keys
-        if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
-          return;
-        }
-
-        // Tabbing will be handled during the `keydown` phase
-        if (key == KEYS.TAB) {
-          return;
-        }
-
-        self.handleSearch(evt);
-      }
-    );
-  };
-
-  /**
-   * This method will transfer the tabindex attribute from the rendered
-   * selection to the search box. This allows for the search box to be used as
-   * the primary focus instead of the selection container.
-   *
-   * @private
-   */
-  Search.prototype._transferTabIndex = function (decorated) {
-    this.$search.attr('tabindex', this.$selection.attr('tabindex'));
-    this.$selection.attr('tabindex', '-1');
-  };
-
-  Search.prototype.createPlaceholder = function (decorated, placeholder) {
-    this.$search.attr('placeholder', placeholder.text);
-  };
-
-  Search.prototype.update = function (decorated, data) {
-    var searchHadFocus = this.$search[0] == document.activeElement;
-
-    this.$search.attr('placeholder', '');
-
-    decorated.call(this, data);
-
-    this.$selection.find('.select2-selection__rendered')
-                   .append(this.$searchContainer);
-
-    this.resizeSearch();
-    if (searchHadFocus) {
-      this.$search.focus();
-    }
-  };
-
-  Search.prototype.handleSearch = function () {
-    this.resizeSearch();
-
-    if (!this._keyUpPrevented) {
-      var input = this.$search.val();
-
-      this.trigger('query', {
-        term: input
-      });
-    }
-
-    this._keyUpPrevented = false;
-  };
-
-  Search.prototype.searchRemoveChoice = function (decorated, item) {
-    this.trigger('unselect', {
-      data: item
-    });
-
-    this.$search.val(item.text);
-    this.handleSearch();
-  };
-
-  Search.prototype.resizeSearch = function () {
-    this.$search.css('width', '25px');
-
-    var width = '';
-
-    if (this.$search.attr('placeholder') !== '') {
-      width = this.$selection.find('.select2-selection__rendered').innerWidth();
-    } else {
-      var minimumWidth = this.$search.val().length + 1;
-
-      width = (minimumWidth * 0.75) + 'em';
-    }
-
-    this.$search.css('width', width);
-  };
-
-  return Search;
-});
-
-S2.define('select2/selection/eventRelay',[
-  'jquery'
-], function ($) {
-  function EventRelay () { }
-
-  EventRelay.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-    var relayEvents = [
-      'open', 'opening',
-      'close', 'closing',
-      'select', 'selecting',
-      'unselect', 'unselecting'
-    ];
-
-    var preventableEvents = ['opening', 'closing', 'selecting', 'unselecting'];
-
-    decorated.call(this, container, $container);
-
-    container.on('*', function (name, params) {
-      // Ignore events that should not be relayed
-      if ($.inArray(name, relayEvents) === -1) {
-        return;
-      }
-
-      // The parameters should always be an object
-      params = params || {};
-
-      // Generate the jQuery event for the Select2 event
-      var evt = $.Event('select2:' + name, {
-        params: params
-      });
-
-      self.$element.trigger(evt);
-
-      // Only handle preventable events if it was one
-      if ($.inArray(name, preventableEvents) === -1) {
-        return;
-      }
-
-      params.prevented = evt.isDefaultPrevented();
-    });
-  };
-
-  return EventRelay;
-});
-
-S2.define('select2/translation',[
-  'jquery',
-  'require'
-], function ($, require) {
-  function Translation (dict) {
-    this.dict = dict || {};
-  }
-
-  Translation.prototype.all = function () {
-    return this.dict;
-  };
-
-  Translation.prototype.get = function (key) {
-    return this.dict[key];
-  };
-
-  Translation.prototype.extend = function (translation) {
-    this.dict = $.extend({}, translation.all(), this.dict);
-  };
-
-  // Static functions
-
-  Translation._cache = {};
-
-  Translation.loadPath = function (path) {
-    if (!(path in Translation._cache)) {
-      var translations = require(path);
-
-      Translation._cache[path] = translations;
-    }
-
-    return new Translation(Translation._cache[path]);
-  };
-
-  return Translation;
-});
-
-S2.define('select2/diacritics',[
-
-], function () {
-  var diacritics = {
-    '\u24B6': 'A',
-    '\uFF21': 'A',
-    '\u00C0': 'A',
-    '\u00C1': 'A',
-    '\u00C2': 'A',
-    '\u1EA6': 'A',
-    '\u1EA4': 'A',
-    '\u1EAA': 'A',
-    '\u1EA8': 'A',
-    '\u00C3': 'A',
-    '\u0100': 'A',
-    '\u0102': 'A',
-    '\u1EB0': 'A',
-    '\u1EAE': 'A',
-    '\u1EB4': 'A',
-    '\u1EB2': 'A',
-    '\u0226': 'A',
-    '\u01E0': 'A',
-    '\u00C4': 'A',
-    '\u01DE': 'A',
-    '\u1EA2': 'A',
-    '\u00C5': 'A',
-    '\u01FA': 'A',
-    '\u01CD': 'A',
-    '\u0200': 'A',
-    '\u0202': 'A',
-    '\u1EA0': 'A',
-    '\u1EAC': 'A',
-    '\u1EB6': 'A',
-    '\u1E00': 'A',
-    '\u0104': 'A',
-    '\u023A': 'A',
-    '\u2C6F': 'A',
-    '\uA732': 'AA',
-    '\u00C6': 'AE',
-    '\u01FC': 'AE',
-    '\u01E2': 'AE',
-    '\uA734': 'AO',
-    '\uA736': 'AU',
-    '\uA738': 'AV',
-    '\uA73A': 'AV',
-    '\uA73C': 'AY',
-    '\u24B7': 'B',
-    '\uFF22': 'B',
-    '\u1E02': 'B',
-    '\u1E04': 'B',
-    '\u1E06': 'B',
-    '\u0243': 'B',
-    '\u0182': 'B',
-    '\u0181': 'B',
-    '\u24B8': 'C',
-    '\uFF23': 'C',
-    '\u0106': 'C',
-    '\u0108': 'C',
-    '\u010A': 'C',
-    '\u010C': 'C',
-    '\u00C7': 'C',
-    '\u1E08': 'C',
-    '\u0187': 'C',
-    '\u023B': 'C',
-    '\uA73E': 'C',
-    '\u24B9': 'D',
-    '\uFF24': 'D',
-    '\u1E0A': 'D',
-    '\u010E': 'D',
-    '\u1E0C': 'D',
-    '\u1E10': 'D',
-    '\u1E12': 'D',
-    '\u1E0E': 'D',
-    '\u0110': 'D',
-    '\u018B': 'D',
-    '\u018A': 'D',
-    '\u0189': 'D',
-    '\uA779': 'D',
-    '\u01F1': 'DZ',
-    '\u01C4': 'DZ',
-    '\u01F2': 'Dz',
-    '\u01C5': 'Dz',
-    '\u24BA': 'E',
-    '\uFF25': 'E',
-    '\u00C8': 'E',
-    '\u00C9': 'E',
-    '\u00CA': 'E',
-    '\u1EC0': 'E',
-    '\u1EBE': 'E',
-    '\u1EC4': 'E',
-    '\u1EC2': 'E',
-    '\u1EBC': 'E',
-    '\u0112': 'E',
-    '\u1E14': 'E',
-    '\u1E16': 'E',
-    '\u0114': 'E',
-    '\u0116': 'E',
-    '\u00CB': 'E',
-    '\u1EBA': 'E',
-    '\u011A': 'E',
-    '\u0204': 'E',
-    '\u0206': 'E',
-    '\u1EB8': 'E',
-    '\u1EC6': 'E',
-    '\u0228': 'E',
-    '\u1E1C': 'E',
-    '\u0118': 'E',
-    '\u1E18': 'E',
-    '\u1E1A': 'E',
-    '\u0190': 'E',
-    '\u018E': 'E',
-    '\u24BB': 'F',
-    '\uFF26': 'F',
-    '\u1E1E': 'F',
-    '\u0191': 'F',
-    '\uA77B': 'F',
-    '\u24BC': 'G',
-    '\uFF27': 'G',
-    '\u01F4': 'G',
-    '\u011C': 'G',
-    '\u1E20': 'G',
-    '\u011E': 'G',
-    '\u0120': 'G',
-    '\u01E6': 'G',
-    '\u0122': 'G',
-    '\u01E4': 'G',
-    '\u0193': 'G',
-    '\uA7A0': 'G',
-    '\uA77D': 'G',
-    '\uA77E': 'G',
-    '\u24BD': 'H',
-    '\uFF28': 'H',
-    '\u0124': 'H',
-    '\u1E22': 'H',
-    '\u1E26': 'H',
-    '\u021E': 'H',
-    '\u1E24': 'H',
-    '\u1E28': 'H',
-    '\u1E2A': 'H',
-    '\u0126': 'H',
-    '\u2C67': 'H',
-    '\u2C75': 'H',
-    '\uA78D': 'H',
-    '\u24BE': 'I',
-    '\uFF29': 'I',
-    '\u00CC': 'I',
-    '\u00CD': 'I',
-    '\u00CE': 'I',
-    '\u0128': 'I',
-    '\u012A': 'I',
-    '\u012C': 'I',
-    '\u0130': 'I',
-    '\u00CF': 'I',
-    '\u1E2E': 'I',
-    '\u1EC8': 'I',
-    '\u01CF': 'I',
-    '\u0208': 'I',
-    '\u020A': 'I',
-    '\u1ECA': 'I',
-    '\u012E': 'I',
-    '\u1E2C': 'I',
-    '\u0197': 'I',
-    '\u24BF': 'J',
-    '\uFF2A': 'J',
-    '\u0134': 'J',
-    '\u0248': 'J',
-    '\u24C0': 'K',
-    '\uFF2B': 'K',
-    '\u1E30': 'K',
-    '\u01E8': 'K',
-    '\u1E32': 'K',
-    '\u0136': 'K',
-    '\u1E34': 'K',
-    '\u0198': 'K',
-    '\u2C69': 'K',
-    '\uA740': 'K',
-    '\uA742': 'K',
-    '\uA744': 'K',
-    '\uA7A2': 'K',
-    '\u24C1': 'L',
-    '\uFF2C': 'L',
-    '\u013F': 'L',
-    '\u0139': 'L',
-    '\u013D': 'L',
-    '\u1E36': 'L',
-    '\u1E38': 'L',
-    '\u013B': 'L',
-    '\u1E3C': 'L',
-    '\u1E3A': 'L',
-    '\u0141': 'L',
-    '\u023D': 'L',
-    '\u2C62': 'L',
-    '\u2C60': 'L',
-    '\uA748': 'L',
-    '\uA746': 'L',
-    '\uA780': 'L',
-    '\u01C7': 'LJ',
-    '\u01C8': 'Lj',
-    '\u24C2': 'M',
-    '\uFF2D': 'M',
-    '\u1E3E': 'M',
-    '\u1E40': 'M',
-    '\u1E42': 'M',
-    '\u2C6E': 'M',
-    '\u019C': 'M',
-    '\u24C3': 'N',
-    '\uFF2E': 'N',
-    '\u01F8': 'N',
-    '\u0143': 'N',
-    '\u00D1': 'N',
-    '\u1E44': 'N',
-    '\u0147': 'N',
-    '\u1E46': 'N',
-    '\u0145': 'N',
-    '\u1E4A': 'N',
-    '\u1E48': 'N',
-    '\u0220': 'N',
-    '\u019D': 'N',
-    '\uA790': 'N',
-    '\uA7A4': 'N',
-    '\u01CA': 'NJ',
-    '\u01CB': 'Nj',
-    '\u24C4': 'O',
-    '\uFF2F': 'O',
-    '\u00D2': 'O',
-    '\u00D3': 'O',
-    '\u00D4': 'O',
-    '\u1ED2': 'O',
-    '\u1ED0': 'O',
-    '\u1ED6': 'O',
-    '\u1ED4': 'O',
-    '\u00D5': 'O',
-    '\u1E4C': 'O',
-    '\u022C': 'O',
-    '\u1E4E': 'O',
-    '\u014C': 'O',
-    '\u1E50': 'O',
-    '\u1E52': 'O',
-    '\u014E': 'O',
-    '\u022E': 'O',
-    '\u0230': 'O',
-    '\u00D6': 'O',
-    '\u022A': 'O',
-    '\u1ECE': 'O',
-    '\u0150': 'O',
-    '\u01D1': 'O',
-    '\u020C': 'O',
-    '\u020E': 'O',
-    '\u01A0': 'O',
-    '\u1EDC': 'O',
-    '\u1EDA': 'O',
-    '\u1EE0': 'O',
-    '\u1EDE': 'O',
-    '\u1EE2': 'O',
-    '\u1ECC': 'O',
-    '\u1ED8': 'O',
-    '\u01EA': 'O',
-    '\u01EC': 'O',
-    '\u00D8': 'O',
-    '\u01FE': 'O',
-    '\u0186': 'O',
-    '\u019F': 'O',
-    '\uA74A': 'O',
-    '\uA74C': 'O',
-    '\u01A2': 'OI',
-    '\uA74E': 'OO',
-    '\u0222': 'OU',
-    '\u24C5': 'P',
-    '\uFF30': 'P',
-    '\u1E54': 'P',
-    '\u1E56': 'P',
-    '\u01A4': 'P',
-    '\u2C63': 'P',
-    '\uA750': 'P',
-    '\uA752': 'P',
-    '\uA754': 'P',
-    '\u24C6': 'Q',
-    '\uFF31': 'Q',
-    '\uA756': 'Q',
-    '\uA758': 'Q',
-    '\u024A': 'Q',
-    '\u24C7': 'R',
-    '\uFF32': 'R',
-    '\u0154': 'R',
-    '\u1E58': 'R',
-    '\u0158': 'R',
-    '\u0210': 'R',
-    '\u0212': 'R',
-    '\u1E5A': 'R',
-    '\u1E5C': 'R',
-    '\u0156': 'R',
-    '\u1E5E': 'R',
-    '\u024C': 'R',
-    '\u2C64': 'R',
-    '\uA75A': 'R',
-    '\uA7A6': 'R',
-    '\uA782': 'R',
-    '\u24C8': 'S',
-    '\uFF33': 'S',
-    '\u1E9E': 'S',
-    '\u015A': 'S',
-    '\u1E64': 'S',
-    '\u015C': 'S',
-    '\u1E60': 'S',
-    '\u0160': 'S',
-    '\u1E66': 'S',
-    '\u1E62': 'S',
-    '\u1E68': 'S',
-    '\u0218': 'S',
-    '\u015E': 'S',
-    '\u2C7E': 'S',
-    '\uA7A8': 'S',
-    '\uA784': 'S',
-    '\u24C9': 'T',
-    '\uFF34': 'T',
-    '\u1E6A': 'T',
-    '\u0164': 'T',
-    '\u1E6C': 'T',
-    '\u021A': 'T',
-    '\u0162': 'T',
-    '\u1E70': 'T',
-    '\u1E6E': 'T',
-    '\u0166': 'T',
-    '\u01AC': 'T',
-    '\u01AE': 'T',
-    '\u023E': 'T',
-    '\uA786': 'T',
-    '\uA728': 'TZ',
-    '\u24CA': 'U',
-    '\uFF35': 'U',
-    '\u00D9': 'U',
-    '\u00DA': 'U',
-    '\u00DB': 'U',
-    '\u0168': 'U',
-    '\u1E78': 'U',
-    '\u016A': 'U',
-    '\u1E7A': 'U',
-    '\u016C': 'U',
-    '\u00DC': 'U',
-    '\u01DB': 'U',
-    '\u01D7': 'U',
-    '\u01D5': 'U',
-    '\u01D9': 'U',
-    '\u1EE6': 'U',
-    '\u016E': 'U',
-    '\u0170': 'U',
-    '\u01D3': 'U',
-    '\u0214': 'U',
-    '\u0216': 'U',
-    '\u01AF': 'U',
-    '\u1EEA': 'U',
-    '\u1EE8': 'U',
-    '\u1EEE': 'U',
-    '\u1EEC': 'U',
-    '\u1EF0': 'U',
-    '\u1EE4': 'U',
-    '\u1E72': 'U',
-    '\u0172': 'U',
-    '\u1E76': 'U',
-    '\u1E74': 'U',
-    '\u0244': 'U',
-    '\u24CB': 'V',
-    '\uFF36': 'V',
-    '\u1E7C': 'V',
-    '\u1E7E': 'V',
-    '\u01B2': 'V',
-    '\uA75E': 'V',
-    '\u0245': 'V',
-    '\uA760': 'VY',
-    '\u24CC': 'W',
-    '\uFF37': 'W',
-    '\u1E80': 'W',
-    '\u1E82': 'W',
-    '\u0174': 'W',
-    '\u1E86': 'W',
-    '\u1E84': 'W',
-    '\u1E88': 'W',
-    '\u2C72': 'W',
-    '\u24CD': 'X',
-    '\uFF38': 'X',
-    '\u1E8A': 'X',
-    '\u1E8C': 'X',
-    '\u24CE': 'Y',
-    '\uFF39': 'Y',
-    '\u1EF2': 'Y',
-    '\u00DD': 'Y',
-    '\u0176': 'Y',
-    '\u1EF8': 'Y',
-    '\u0232': 'Y',
-    '\u1E8E': 'Y',
-    '\u0178': 'Y',
-    '\u1EF6': 'Y',
-    '\u1EF4': 'Y',
-    '\u01B3': 'Y',
-    '\u024E': 'Y',
-    '\u1EFE': 'Y',
-    '\u24CF': 'Z',
-    '\uFF3A': 'Z',
-    '\u0179': 'Z',
-    '\u1E90': 'Z',
-    '\u017B': 'Z',
-    '\u017D': 'Z',
-    '\u1E92': 'Z',
-    '\u1E94': 'Z',
-    '\u01B5': 'Z',
-    '\u0224': 'Z',
-    '\u2C7F': 'Z',
-    '\u2C6B': 'Z',
-    '\uA762': 'Z',
-    '\u24D0': 'a',
-    '\uFF41': 'a',
-    '\u1E9A': 'a',
-    '\u00E0': 'a',
-    '\u00E1': 'a',
-    '\u00E2': 'a',
-    '\u1EA7': 'a',
-    '\u1EA5': 'a',
-    '\u1EAB': 'a',
-    '\u1EA9': 'a',
-    '\u00E3': 'a',
-    '\u0101': 'a',
-    '\u0103': 'a',
-    '\u1EB1': 'a',
-    '\u1EAF': 'a',
-    '\u1EB5': 'a',
-    '\u1EB3': 'a',
-    '\u0227': 'a',
-    '\u01E1': 'a',
-    '\u00E4': 'a',
-    '\u01DF': 'a',
-    '\u1EA3': 'a',
-    '\u00E5': 'a',
-    '\u01FB': 'a',
-    '\u01CE': 'a',
-    '\u0201': 'a',
-    '\u0203': 'a',
-    '\u1EA1': 'a',
-    '\u1EAD': 'a',
-    '\u1EB7': 'a',
-    '\u1E01': 'a',
-    '\u0105': 'a',
-    '\u2C65': 'a',
-    '\u0250': 'a',
-    '\uA733': 'aa',
-    '\u00E6': 'ae',
-    '\u01FD': 'ae',
-    '\u01E3': 'ae',
-    '\uA735': 'ao',
-    '\uA737': 'au',
-    '\uA739': 'av',
-    '\uA73B': 'av',
-    '\uA73D': 'ay',
-    '\u24D1': 'b',
-    '\uFF42': 'b',
-    '\u1E03': 'b',
-    '\u1E05': 'b',
-    '\u1E07': 'b',
-    '\u0180': 'b',
-    '\u0183': 'b',
-    '\u0253': 'b',
-    '\u24D2': 'c',
-    '\uFF43': 'c',
-    '\u0107': 'c',
-    '\u0109': 'c',
-    '\u010B': 'c',
-    '\u010D': 'c',
-    '\u00E7': 'c',
-    '\u1E09': 'c',
-    '\u0188': 'c',
-    '\u023C': 'c',
-    '\uA73F': 'c',
-    '\u2184': 'c',
-    '\u24D3': 'd',
-    '\uFF44': 'd',
-    '\u1E0B': 'd',
-    '\u010F': 'd',
-    '\u1E0D': 'd',
-    '\u1E11': 'd',
-    '\u1E13': 'd',
-    '\u1E0F': 'd',
-    '\u0111': 'd',
-    '\u018C': 'd',
-    '\u0256': 'd',
-    '\u0257': 'd',
-    '\uA77A': 'd',
-    '\u01F3': 'dz',
-    '\u01C6': 'dz',
-    '\u24D4': 'e',
-    '\uFF45': 'e',
-    '\u00E8': 'e',
-    '\u00E9': 'e',
-    '\u00EA': 'e',
-    '\u1EC1': 'e',
-    '\u1EBF': 'e',
-    '\u1EC5': 'e',
-    '\u1EC3': 'e',
-    '\u1EBD': 'e',
-    '\u0113': 'e',
-    '\u1E15': 'e',
-    '\u1E17': 'e',
-    '\u0115': 'e',
-    '\u0117': 'e',
-    '\u00EB': 'e',
-    '\u1EBB': 'e',
-    '\u011B': 'e',
-    '\u0205': 'e',
-    '\u0207': 'e',
-    '\u1EB9': 'e',
-    '\u1EC7': 'e',
-    '\u0229': 'e',
-    '\u1E1D': 'e',
-    '\u0119': 'e',
-    '\u1E19': 'e',
-    '\u1E1B': 'e',
-    '\u0247': 'e',
-    '\u025B': 'e',
-    '\u01DD': 'e',
-    '\u24D5': 'f',
-    '\uFF46': 'f',
-    '\u1E1F': 'f',
-    '\u0192': 'f',
-    '\uA77C': 'f',
-    '\u24D6': 'g',
-    '\uFF47': 'g',
-    '\u01F5': 'g',
-    '\u011D': 'g',
-    '\u1E21': 'g',
-    '\u011F': 'g',
-    '\u0121': 'g',
-    '\u01E7': 'g',
-    '\u0123': 'g',
-    '\u01E5': 'g',
-    '\u0260': 'g',
-    '\uA7A1': 'g',
-    '\u1D79': 'g',
-    '\uA77F': 'g',
-    '\u24D7': 'h',
-    '\uFF48': 'h',
-    '\u0125': 'h',
-    '\u1E23': 'h',
-    '\u1E27': 'h',
-    '\u021F': 'h',
-    '\u1E25': 'h',
-    '\u1E29': 'h',
-    '\u1E2B': 'h',
-    '\u1E96': 'h',
-    '\u0127': 'h',
-    '\u2C68': 'h',
-    '\u2C76': 'h',
-    '\u0265': 'h',
-    '\u0195': 'hv',
-    '\u24D8': 'i',
-    '\uFF49': 'i',
-    '\u00EC': 'i',
-    '\u00ED': 'i',
-    '\u00EE': 'i',
-    '\u0129': 'i',
-    '\u012B': 'i',
-    '\u012D': 'i',
-    '\u00EF': 'i',
-    '\u1E2F': 'i',
-    '\u1EC9': 'i',
-    '\u01D0': 'i',
-    '\u0209': 'i',
-    '\u020B': 'i',
-    '\u1ECB': 'i',
-    '\u012F': 'i',
-    '\u1E2D': 'i',
-    '\u0268': 'i',
-    '\u0131': 'i',
-    '\u24D9': 'j',
-    '\uFF4A': 'j',
-    '\u0135': 'j',
-    '\u01F0': 'j',
-    '\u0249': 'j',
-    '\u24DA': 'k',
-    '\uFF4B': 'k',
-    '\u1E31': 'k',
-    '\u01E9': 'k',
-    '\u1E33': 'k',
-    '\u0137': 'k',
-    '\u1E35': 'k',
-    '\u0199': 'k',
-    '\u2C6A': 'k',
-    '\uA741': 'k',
-    '\uA743': 'k',
-    '\uA745': 'k',
-    '\uA7A3': 'k',
-    '\u24DB': 'l',
-    '\uFF4C': 'l',
-    '\u0140': 'l',
-    '\u013A': 'l',
-    '\u013E': 'l',
-    '\u1E37': 'l',
-    '\u1E39': 'l',
-    '\u013C': 'l',
-    '\u1E3D': 'l',
-    '\u1E3B': 'l',
-    '\u017F': 'l',
-    '\u0142': 'l',
-    '\u019A': 'l',
-    '\u026B': 'l',
-    '\u2C61': 'l',
-    '\uA749': 'l',
-    '\uA781': 'l',
-    '\uA747': 'l',
-    '\u01C9': 'lj',
-    '\u24DC': 'm',
-    '\uFF4D': 'm',
-    '\u1E3F': 'm',
-    '\u1E41': 'm',
-    '\u1E43': 'm',
-    '\u0271': 'm',
-    '\u026F': 'm',
-    '\u24DD': 'n',
-    '\uFF4E': 'n',
-    '\u01F9': 'n',
-    '\u0144': 'n',
-    '\u00F1': 'n',
-    '\u1E45': 'n',
-    '\u0148': 'n',
-    '\u1E47': 'n',
-    '\u0146': 'n',
-    '\u1E4B': 'n',
-    '\u1E49': 'n',
-    '\u019E': 'n',
-    '\u0272': 'n',
-    '\u0149': 'n',
-    '\uA791': 'n',
-    '\uA7A5': 'n',
-    '\u01CC': 'nj',
-    '\u24DE': 'o',
-    '\uFF4F': 'o',
-    '\u00F2': 'o',
-    '\u00F3': 'o',
-    '\u00F4': 'o',
-    '\u1ED3': 'o',
-    '\u1ED1': 'o',
-    '\u1ED7': 'o',
-    '\u1ED5': 'o',
-    '\u00F5': 'o',
-    '\u1E4D': 'o',
-    '\u022D': 'o',
-    '\u1E4F': 'o',
-    '\u014D': 'o',
-    '\u1E51': 'o',
-    '\u1E53': 'o',
-    '\u014F': 'o',
-    '\u022F': 'o',
-    '\u0231': 'o',
-    '\u00F6': 'o',
-    '\u022B': 'o',
-    '\u1ECF': 'o',
-    '\u0151': 'o',
-    '\u01D2': 'o',
-    '\u020D': 'o',
-    '\u020F': 'o',
-    '\u01A1': 'o',
-    '\u1EDD': 'o',
-    '\u1EDB': 'o',
-    '\u1EE1': 'o',
-    '\u1EDF': 'o',
-    '\u1EE3': 'o',
-    '\u1ECD': 'o',
-    '\u1ED9': 'o',
-    '\u01EB': 'o',
-    '\u01ED': 'o',
-    '\u00F8': 'o',
-    '\u01FF': 'o',
-    '\u0254': 'o',
-    '\uA74B': 'o',
-    '\uA74D': 'o',
-    '\u0275': 'o',
-    '\u01A3': 'oi',
-    '\u0223': 'ou',
-    '\uA74F': 'oo',
-    '\u24DF': 'p',
-    '\uFF50': 'p',
-    '\u1E55': 'p',
-    '\u1E57': 'p',
-    '\u01A5': 'p',
-    '\u1D7D': 'p',
-    '\uA751': 'p',
-    '\uA753': 'p',
-    '\uA755': 'p',
-    '\u24E0': 'q',
-    '\uFF51': 'q',
-    '\u024B': 'q',
-    '\uA757': 'q',
-    '\uA759': 'q',
-    '\u24E1': 'r',
-    '\uFF52': 'r',
-    '\u0155': 'r',
-    '\u1E59': 'r',
-    '\u0159': 'r',
-    '\u0211': 'r',
-    '\u0213': 'r',
-    '\u1E5B': 'r',
-    '\u1E5D': 'r',
-    '\u0157': 'r',
-    '\u1E5F': 'r',
-    '\u024D': 'r',
-    '\u027D': 'r',
-    '\uA75B': 'r',
-    '\uA7A7': 'r',
-    '\uA783': 'r',
-    '\u24E2': 's',
-    '\uFF53': 's',
-    '\u00DF': 's',
-    '\u015B': 's',
-    '\u1E65': 's',
-    '\u015D': 's',
-    '\u1E61': 's',
-    '\u0161': 's',
-    '\u1E67': 's',
-    '\u1E63': 's',
-    '\u1E69': 's',
-    '\u0219': 's',
-    '\u015F': 's',
-    '\u023F': 's',
-    '\uA7A9': 's',
-    '\uA785': 's',
-    '\u1E9B': 's',
-    '\u24E3': 't',
-    '\uFF54': 't',
-    '\u1E6B': 't',
-    '\u1E97': 't',
-    '\u0165': 't',
-    '\u1E6D': 't',
-    '\u021B': 't',
-    '\u0163': 't',
-    '\u1E71': 't',
-    '\u1E6F': 't',
-    '\u0167': 't',
-    '\u01AD': 't',
-    '\u0288': 't',
-    '\u2C66': 't',
-    '\uA787': 't',
-    '\uA729': 'tz',
-    '\u24E4': 'u',
-    '\uFF55': 'u',
-    '\u00F9': 'u',
-    '\u00FA': 'u',
-    '\u00FB': 'u',
-    '\u0169': 'u',
-    '\u1E79': 'u',
-    '\u016B': 'u',
-    '\u1E7B': 'u',
-    '\u016D': 'u',
-    '\u00FC': 'u',
-    '\u01DC': 'u',
-    '\u01D8': 'u',
-    '\u01D6': 'u',
-    '\u01DA': 'u',
-    '\u1EE7': 'u',
-    '\u016F': 'u',
-    '\u0171': 'u',
-    '\u01D4': 'u',
-    '\u0215': 'u',
-    '\u0217': 'u',
-    '\u01B0': 'u',
-    '\u1EEB': 'u',
-    '\u1EE9': 'u',
-    '\u1EEF': 'u',
-    '\u1EED': 'u',
-    '\u1EF1': 'u',
-    '\u1EE5': 'u',
-    '\u1E73': 'u',
-    '\u0173': 'u',
-    '\u1E77': 'u',
-    '\u1E75': 'u',
-    '\u0289': 'u',
-    '\u24E5': 'v',
-    '\uFF56': 'v',
-    '\u1E7D': 'v',
-    '\u1E7F': 'v',
-    '\u028B': 'v',
-    '\uA75F': 'v',
-    '\u028C': 'v',
-    '\uA761': 'vy',
-    '\u24E6': 'w',
-    '\uFF57': 'w',
-    '\u1E81': 'w',
-    '\u1E83': 'w',
-    '\u0175': 'w',
-    '\u1E87': 'w',
-    '\u1E85': 'w',
-    '\u1E98': 'w',
-    '\u1E89': 'w',
-    '\u2C73': 'w',
-    '\u24E7': 'x',
-    '\uFF58': 'x',
-    '\u1E8B': 'x',
-    '\u1E8D': 'x',
-    '\u24E8': 'y',
-    '\uFF59': 'y',
-    '\u1EF3': 'y',
-    '\u00FD': 'y',
-    '\u0177': 'y',
-    '\u1EF9': 'y',
-    '\u0233': 'y',
-    '\u1E8F': 'y',
-    '\u00FF': 'y',
-    '\u1EF7': 'y',
-    '\u1E99': 'y',
-    '\u1EF5': 'y',
-    '\u01B4': 'y',
-    '\u024F': 'y',
-    '\u1EFF': 'y',
-    '\u24E9': 'z',
-    '\uFF5A': 'z',
-    '\u017A': 'z',
-    '\u1E91': 'z',
-    '\u017C': 'z',
-    '\u017E': 'z',
-    '\u1E93': 'z',
-    '\u1E95': 'z',
-    '\u01B6': 'z',
-    '\u0225': 'z',
-    '\u0240': 'z',
-    '\u2C6C': 'z',
-    '\uA763': 'z',
-    '\u0386': '\u0391',
-    '\u0388': '\u0395',
-    '\u0389': '\u0397',
-    '\u038A': '\u0399',
-    '\u03AA': '\u0399',
-    '\u038C': '\u039F',
-    '\u038E': '\u03A5',
-    '\u03AB': '\u03A5',
-    '\u038F': '\u03A9',
-    '\u03AC': '\u03B1',
-    '\u03AD': '\u03B5',
-    '\u03AE': '\u03B7',
-    '\u03AF': '\u03B9',
-    '\u03CA': '\u03B9',
-    '\u0390': '\u03B9',
-    '\u03CC': '\u03BF',
-    '\u03CD': '\u03C5',
-    '\u03CB': '\u03C5',
-    '\u03B0': '\u03C5',
-    '\u03C9': '\u03C9',
-    '\u03C2': '\u03C3'
-  };
-
-  return diacritics;
-});
-
-S2.define('select2/data/base',[
-  '../utils'
-], function (Utils) {
-  function BaseAdapter ($element, options) {
-    BaseAdapter.__super__.constructor.call(this);
-  }
-
-  Utils.Extend(BaseAdapter, Utils.Observable);
-
-  BaseAdapter.prototype.current = function (callback) {
-    throw new Error('The `current` method must be defined in child classes.');
-  };
-
-  BaseAdapter.prototype.query = function (params, callback) {
-    throw new Error('The `query` method must be defined in child classes.');
-  };
-
-  BaseAdapter.prototype.bind = function (container, $container) {
-    // Can be implemented in subclasses
-  };
-
-  BaseAdapter.prototype.destroy = function () {
-    // Can be implemented in subclasses
-  };
-
-  BaseAdapter.prototype.generateResultId = function (container, data) {
-    var id = container.id + '-result-';
-
-    id += Utils.generateChars(4);
-
-    if (data.id != null) {
-      id += '-' + data.id.toString();
-    } else {
-      id += '-' + Utils.generateChars(4);
-    }
-    return id;
-  };
-
-  return BaseAdapter;
-});
-
-S2.define('select2/data/select',[
-  './base',
-  '../utils',
-  'jquery'
-], function (BaseAdapter, Utils, $) {
-  function SelectAdapter ($element, options) {
-    this.$element = $element;
-    this.options = options;
-
-    SelectAdapter.__super__.constructor.call(this);
-  }
-
-  Utils.Extend(SelectAdapter, BaseAdapter);
-
-  SelectAdapter.prototype.current = function (callback) {
-    var data = [];
-    var self = this;
-
-    this.$element.find(':selected').each(function () {
-      var $option = $(this);
-
-      var option = self.item($option);
-
-      data.push(option);
-    });
-
-    callback(data);
-  };
-
-  SelectAdapter.prototype.select = function (data) {
-    var self = this;
-
-    data.selected = true;
-
-    // If data.element is a DOM node, use it instead
-    if ($(data.element).is('option')) {
-      data.element.selected = true;
-
-      this.$element.trigger('change');
-
-      return;
-    }
-
-    if (this.$element.prop('multiple')) {
-      this.current(function (currentData) {
-        var val = [];
-
-        data = [data];
-        data.push.apply(data, currentData);
-
-        for (var d = 0; d < data.length; d++) {
-          var id = data[d].id;
-
-          if ($.inArray(id, val) === -1) {
-            val.push(id);
-          }
-        }
-
-        self.$element.val(val);
-        self.$element.trigger('change');
-      });
-    } else {
-      var val = data.id;
-
-      this.$element.val(val);
-      this.$element.trigger('change');
-    }
-  };
-
-  SelectAdapter.prototype.unselect = function (data) {
-    var self = this;
-
-    if (!this.$element.prop('multiple')) {
-      return;
-    }
-
-    data.selected = false;
-
-    if ($(data.element).is('option')) {
-      data.element.selected = false;
-
-      this.$element.trigger('change');
-
-      return;
-    }
-
-    this.current(function (currentData) {
-      var val = [];
-
-      for (var d = 0; d < currentData.length; d++) {
-        var id = currentData[d].id;
-
-        if (id !== data.id && $.inArray(id, val) === -1) {
-          val.push(id);
-        }
-      }
-
-      self.$element.val(val);
-
-      self.$element.trigger('change');
-    });
-  };
-
-  SelectAdapter.prototype.bind = function (container, $container) {
-    var self = this;
-
-    this.container = container;
-
-    container.on('select', function (params) {
-      self.select(params.data);
-    });
-
-    container.on('unselect', function (params) {
-      self.unselect(params.data);
-    });
-  };
-
-  SelectAdapter.prototype.destroy = function () {
-    // Remove anything added to child elements
-    this.$element.find('*').each(function () {
-      // Remove any custom data set by Select2
-      $.removeData(this, 'data');
-    });
-  };
-
-  SelectAdapter.prototype.query = function (params, callback) {
-    var data = [];
-    var self = this;
-
-    var $options = this.$element.children();
-
-    $options.each(function () {
-      var $option = $(this);
-
-      if (!$option.is('option') && !$option.is('optgroup')) {
-        return;
-      }
-
-      var option = self.item($option);
-
-      var matches = self.matches(params, option);
-
-      if (matches !== null) {
-        data.push(matches);
-      }
-    });
-
-    callback({
-      results: data
-    });
-  };
-
-  SelectAdapter.prototype.addOptions = function ($options) {
-    Utils.appendMany(this.$element, $options);
-  };
-
-  SelectAdapter.prototype.option = function (data) {
-    var option;
-
-    if (data.children) {
-      option = document.createElement('optgroup');
-      option.label = data.text;
-    } else {
-      option = document.createElement('option');
-
-      if (option.textContent !== undefined) {
-        option.textContent = data.text;
-      } else {
-        option.innerText = data.text;
-      }
-    }
-
-    if (data.id) {
-      option.value = data.id;
-    }
-
-    if (data.disabled) {
-      option.disabled = true;
-    }
-
-    if (data.selected) {
-      option.selected = true;
-    }
-
-    if (data.title) {
-      option.title = data.title;
-    }
-
-    var $option = $(option);
-
-    var normalizedData = this._normalizeItem(data);
-    normalizedData.element = option;
-
-    // Override the option's data with the combined data
-    $.data(option, 'data', normalizedData);
-
-    return $option;
-  };
-
-  SelectAdapter.prototype.item = function ($option) {
-    var data = {};
-
-    data = $.data($option[0], 'data');
-
-    if (data != null) {
-      return data;
-    }
-
-    if ($option.is('option')) {
-      data = {
-        id: $option.val(),
-        text: $option.text(),
-        disabled: $option.prop('disabled'),
-        selected: $option.prop('selected'),
-        title: $option.prop('title')
-      };
-    } else if ($option.is('optgroup')) {
-      data = {
-        text: $option.prop('label'),
-        children: [],
-        title: $option.prop('title')
-      };
-
-      var $children = $option.children('option');
-      var children = [];
-
-      for (var c = 0; c < $children.length; c++) {
-        var $child = $($children[c]);
-
-        var child = this.item($child);
-
-        children.push(child);
-      }
-
-      data.children = children;
-    }
-
-    data = this._normalizeItem(data);
-    data.element = $option[0];
-
-    $.data($option[0], 'data', data);
-
-    return data;
-  };
-
-  SelectAdapter.prototype._normalizeItem = function (item) {
-    if (!$.isPlainObject(item)) {
-      item = {
-        id: item,
-        text: item
-      };
-    }
-
-    item = $.extend({}, {
-      text: ''
-    }, item);
-
-    var defaults = {
-      selected: false,
-      disabled: false
-    };
-
-    if (item.id != null) {
-      item.id = item.id.toString();
-    }
-
-    if (item.text != null) {
-      item.text = item.text.toString();
-    }
-
-    if (item._resultId == null && item.id && this.container != null) {
-      item._resultId = this.generateResultId(this.container, item);
-    }
-
-    return $.extend({}, defaults, item);
-  };
-
-  SelectAdapter.prototype.matches = function (params, data) {
-    var matcher = this.options.get('matcher');
-
-    return matcher(params, data);
-  };
-
-  return SelectAdapter;
-});
-
-S2.define('select2/data/array',[
-  './select',
-  '../utils',
-  'jquery'
-], function (SelectAdapter, Utils, $) {
-  function ArrayAdapter ($element, options) {
-    var data = options.get('data') || [];
-
-    ArrayAdapter.__super__.constructor.call(this, $element, options);
-
-    this.addOptions(this.convertToOptions(data));
-  }
-
-  Utils.Extend(ArrayAdapter, SelectAdapter);
-
-  ArrayAdapter.prototype.select = function (data) {
-    var $option = this.$element.find('option').filter(function (i, elm) {
-      return elm.value == data.id.toString();
-    });
-
-    if ($option.length === 0) {
-      $option = this.option(data);
-
-      this.addOptions($option);
-    }
-
-    ArrayAdapter.__super__.select.call(this, data);
-  };
-
-  ArrayAdapter.prototype.convertToOptions = function (data) {
-    var self = this;
-
-    var $existing = this.$element.find('option');
-    var existingIds = $existing.map(function () {
-      return self.item($(this)).id;
-    }).get();
-
-    var $options = [];
-
-    // Filter out all items except for the one passed in the argument
-    function onlyItem (item) {
-      return function () {
-        return $(this).val() == item.id;
-      };
-    }
-
-    for (var d = 0; d < data.length; d++) {
-      var item = this._normalizeItem(data[d]);
-
-      // Skip items which were pre-loaded, only merge the data
-      if ($.inArray(item.id, existingIds) >= 0) {
-        var $existingOption = $existing.filter(onlyItem(item));
-
-        var existingData = this.item($existingOption);
-        var newData = $.extend(true, {}, item, existingData);
-
-        var $newOption = this.option(newData);
-
-        $existingOption.replaceWith($newOption);
-
-        continue;
-      }
-
-      var $option = this.option(item);
-
-      if (item.children) {
-        var $children = this.convertToOptions(item.children);
-
-        Utils.appendMany($option, $children);
-      }
-
-      $options.push($option);
-    }
-
-    return $options;
-  };
-
-  return ArrayAdapter;
-});
-
-S2.define('select2/data/ajax',[
-  './array',
-  '../utils',
-  'jquery'
-], function (ArrayAdapter, Utils, $) {
-  function AjaxAdapter ($element, options) {
-    this.ajaxOptions = this._applyDefaults(options.get('ajax'));
-
-    if (this.ajaxOptions.processResults != null) {
-      this.processResults = this.ajaxOptions.processResults;
-    }
-
-    AjaxAdapter.__super__.constructor.call(this, $element, options);
-  }
-
-  Utils.Extend(AjaxAdapter, ArrayAdapter);
-
-  AjaxAdapter.prototype._applyDefaults = function (options) {
-    var defaults = {
-      data: function (params) {
-        return $.extend({}, params, {
-          q: params.term
-        });
-      },
-      transport: function (params, success, failure) {
-        var $request = $.ajax(params);
-
-        $request.then(success);
-        $request.fail(failure);
-
-        return $request;
-      }
-    };
-
-    return $.extend({}, defaults, options, true);
-  };
-
-  AjaxAdapter.prototype.processResults = function (results) {
-    return results;
-  };
-
-  AjaxAdapter.prototype.query = function (params, callback) {
-    var matches = [];
-    var self = this;
-
-    if (this._request != null) {
-      // JSONP requests cannot always be aborted
-      if ($.isFunction(this._request.abort)) {
-        this._request.abort();
-      }
-
-      this._request = null;
-    }
-
-    var options = $.extend({
-      type: 'GET'
-    }, this.ajaxOptions);
-
-    if (typeof options.url === 'function') {
-      options.url = options.url.call(this.$element, params);
-    }
-
-    if (typeof options.data === 'function') {
-      options.data = options.data.call(this.$element, params);
-    }
-
-    function request () {
-      var $request = options.transport(options, function (data) {
-        var results = self.processResults(data, params);
-
-        if (self.options.get('debug') && window.console && console.error) {
-          // Check to make sure that the response included a `results` key.
-          if (!results || !results.results || !$.isArray(results.results)) {
-            console.error(
-              'Select2: The AJAX results did not return an array in the ' +
-              '`results` key of the response.'
-            );
-          }
-        }
-
-        callback(results);
-      }, function () {
-        // Attempt to detect if a request was aborted
-        // Only works if the transport exposes a status property
-        if ($request.status && $request.status === '0') {
-          return;
-        }
-
-        self.trigger('results:message', {
-          message: 'errorLoading'
-        });
-      });
-
-      self._request = $request;
-    }
-
-    if (this.ajaxOptions.delay && params.term != null) {
-      if (this._queryTimeout) {
-        window.clearTimeout(this._queryTimeout);
-      }
-
-      this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
-    } else {
-      request();
-    }
-  };
-
-  return AjaxAdapter;
-});
-
-S2.define('select2/data/tags',[
-  'jquery'
-], function ($) {
-  function Tags (decorated, $element, options) {
-    var tags = options.get('tags');
-
-    var createTag = options.get('createTag');
-
-    if (createTag !== undefined) {
-      this.createTag = createTag;
-    }
-
-    var insertTag = options.get('insertTag');
-
-    if (insertTag !== undefined) {
-        this.insertTag = insertTag;
-    }
-
-    decorated.call(this, $element, options);
-
-    if ($.isArray(tags)) {
-      for (var t = 0; t < tags.length; t++) {
-        var tag = tags[t];
-        var item = this._normalizeItem(tag);
-
-        var $option = this.option(item);
-
-        this.$element.append($option);
-      }
-    }
-  }
-
-  Tags.prototype.query = function (decorated, params, callback) {
-    var self = this;
-
-    this._removeOldTags();
-
-    if (params.term == null || params.page != null) {
-      decorated.call(this, params, callback);
-      return;
-    }
-
-    function wrapper (obj, child) {
-      var data = obj.results;
-
-      for (var i = 0; i < data.length; i++) {
-        var option = data[i];
-
-        var checkChildren = (
-          option.children != null &&
-          !wrapper({
-            results: option.children
-          }, true)
-        );
-
-        var checkText = option.text === params.term;
-
-        if (checkText || checkChildren) {
-          if (child) {
-            return false;
-          }
-
-          obj.data = data;
-          callback(obj);
-
-          return;
-        }
-      }
-
-      if (child) {
-        return true;
-      }
-
-      var tag = self.createTag(params);
-
-      if (tag != null) {
-        var $option = self.option(tag);
-        $option.attr('data-select2-tag', true);
-
-        self.addOptions([$option]);
-
-        self.insertTag(data, tag);
-      }
-
-      obj.results = data;
-
-      callback(obj);
-    }
-
-    decorated.call(this, params, wrapper);
-  };
-
-  Tags.prototype.createTag = function (decorated, params) {
-    var term = $.trim(params.term);
-
-    if (term === '') {
-      return null;
-    }
-
-    return {
-      id: term,
-      text: term
-    };
-  };
-
-  Tags.prototype.insertTag = function (_, data, tag) {
-    data.unshift(tag);
-  };
-
-  Tags.prototype._removeOldTags = function (_) {
-    var tag = this._lastTag;
-
-    var $options = this.$element.find('option[data-select2-tag]');
-
-    $options.each(function () {
-      if (this.selected) {
-        return;
-      }
-
-      $(this).remove();
-    });
-  };
-
-  return Tags;
-});
-
-S2.define('select2/data/tokenizer',[
-  'jquery'
-], function ($) {
-  function Tokenizer (decorated, $element, options) {
-    var tokenizer = options.get('tokenizer');
-
-    if (tokenizer !== undefined) {
-      this.tokenizer = tokenizer;
-    }
-
-    decorated.call(this, $element, options);
-  }
-
-  Tokenizer.prototype.bind = function (decorated, container, $container) {
-    decorated.call(this, container, $container);
-
-    this.$search =  container.dropdown.$search || container.selection.$search ||
-      $container.find('.select2-search__field');
-  };
-
-  Tokenizer.prototype.query = function (decorated, params, callback) {
-    var self = this;
-
-    function createAndSelect (data) {
-      // Normalize the data object so we can use it for checks
-      var item = self._normalizeItem(data);
-
-      // Check if the data object already exists as a tag
-      // Select it if it doesn't
-      var $existingOptions = self.$element.find('option').filter(function () {
-        return $(this).val() === item.id;
-      });
-
-      // If an existing option wasn't found for it, create the option
-      if (!$existingOptions.length) {
-        var $option = self.option(item);
-        $option.attr('data-select2-tag', true);
-
-        self._removeOldTags();
-        self.addOptions([$option]);
-      }
-
-      // Select the item, now that we know there is an option for it
-      select(item);
-    }
-
-    function select (data) {
-      self.trigger('select', {
-        data: data
-      });
-    }
-
-    params.term = params.term || '';
-
-    var tokenData = this.tokenizer(params, this.options, createAndSelect);
-
-    if (tokenData.term !== params.term) {
-      // Replace the search term if we have the search box
-      if (this.$search.length) {
-        this.$search.val(tokenData.term);
-        this.$search.focus();
-      }
-
-      params.term = tokenData.term;
-    }
-
-    decorated.call(this, params, callback);
-  };
-
-  Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
-    var separators = options.get('tokenSeparators') || [];
-    var term = params.term;
-    var i = 0;
-
-    var createTag = this.createTag || function (params) {
-      return {
-        id: params.term,
-        text: params.term
-      };
-    };
-
-    while (i < term.length) {
-      var termChar = term[i];
-
-      if ($.inArray(termChar, separators) === -1) {
-        i++;
-
-        continue;
-      }
-
-      var part = term.substr(0, i);
-      var partParams = $.extend({}, params, {
-        term: part
-      });
-
-      var data = createTag(partParams);
-
-      if (data == null) {
-        i++;
-        continue;
-      }
-
-      callback(data);
-
-      // Reset the term to not include the tokenized portion
-      term = term.substr(i + 1) || '';
-      i = 0;
-    }
-
-    return {
-      term: term
-    };
-  };
-
-  return Tokenizer;
-});
-
-S2.define('select2/data/minimumInputLength',[
-
-], function () {
-  function MinimumInputLength (decorated, $e, options) {
-    this.minimumInputLength = options.get('minimumInputLength');
-
-    decorated.call(this, $e, options);
-  }
-
-  MinimumInputLength.prototype.query = function (decorated, params, callback) {
-    params.term = params.term || '';
-
-    if (params.term.length < this.minimumInputLength) {
-      this.trigger('results:message', {
-        message: 'inputTooShort',
-        args: {
-          minimum: this.minimumInputLength,
-          input: params.term,
-          params: params
-        }
-      });
-
-      return;
-    }
-
-    decorated.call(this, params, callback);
-  };
-
-  return MinimumInputLength;
-});
-
-S2.define('select2/data/maximumInputLength',[
-
-], function () {
-  function MaximumInputLength (decorated, $e, options) {
-    this.maximumInputLength = options.get('maximumInputLength');
-
-    decorated.call(this, $e, options);
-  }
-
-  MaximumInputLength.prototype.query = function (decorated, params, callback) {
-    params.term = params.term || '';
-
-    if (this.maximumInputLength > 0 &&
-        params.term.length > this.maximumInputLength) {
-      this.trigger('results:message', {
-        message: 'inputTooLong',
-        args: {
-          maximum: this.maximumInputLength,
-          input: params.term,
-          params: params
-        }
-      });
-
-      return;
-    }
-
-    decorated.call(this, params, callback);
-  };
-
-  return MaximumInputLength;
-});
-
-S2.define('select2/data/maximumSelectionLength',[
-
-], function (){
-  function MaximumSelectionLength (decorated, $e, options) {
-    this.maximumSelectionLength = options.get('maximumSelectionLength');
-
-    decorated.call(this, $e, options);
-  }
-
-  MaximumSelectionLength.prototype.query =
-    function (decorated, params, callback) {
-      var self = this;
-
-      this.current(function (currentData) {
-        var count = currentData != null ? currentData.length : 0;
-        if (self.maximumSelectionLength > 0 &&
-          count >= self.maximumSelectionLength) {
-          self.trigger('results:message', {
-            message: 'maximumSelected',
-            args: {
-              maximum: self.maximumSelectionLength
-            }
-          });
-          return;
-        }
-        decorated.call(self, params, callback);
-      });
-  };
-
-  return MaximumSelectionLength;
-});
-
-S2.define('select2/dropdown',[
-  'jquery',
-  './utils'
-], function ($, Utils) {
-  function Dropdown ($element, options) {
-    this.$element = $element;
-    this.options = options;
-
-    Dropdown.__super__.constructor.call(this);
-  }
-
-  Utils.Extend(Dropdown, Utils.Observable);
-
-  Dropdown.prototype.render = function () {
-    var $dropdown = $(
-      '<span class="select2-dropdown">' +
-        '<span class="select2-results"></span>' +
-      '</span>'
-    );
-
-    $dropdown.attr('dir', this.options.get('dir'));
-
-    this.$dropdown = $dropdown;
-
-    return $dropdown;
-  };
-
-  Dropdown.prototype.bind = function () {
-    // Should be implemented in subclasses
-  };
-
-  Dropdown.prototype.position = function ($dropdown, $container) {
-    // Should be implmented in subclasses
-  };
-
-  Dropdown.prototype.destroy = function () {
-    // Remove the dropdown from the DOM
-    this.$dropdown.remove();
-  };
-
-  return Dropdown;
-});
-
-S2.define('select2/dropdown/search',[
-  'jquery',
-  '../utils'
-], function ($, Utils) {
-  function Search () { }
-
-  Search.prototype.render = function (decorated) {
-    var $rendered = decorated.call(this);
-
-    var $search = $(
-      '<span class="select2-search select2-search--dropdown">' +
-        '<input class="select2-search__field" type="search" tabindex="-1"' +
-        ' autocomplete="off" autocorrect="off" autocapitalize="off"' +
-        ' spellcheck="false" role="textbox" />' +
-      '</span>'
-    );
-
-    this.$searchContainer = $search;
-    this.$search = $search.find('input');
-
-    $rendered.prepend($search);
-
-    return $rendered;
-  };
-
-  Search.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    this.$search.on('keydown', function (evt) {
-      self.trigger('keypress', evt);
-
-      self._keyUpPrevented = evt.isDefaultPrevented();
-    });
-
-    // Workaround for browsers which do not support the `input` event
-    // This will prevent double-triggering of events for browsers which support
-    // both the `keyup` and `input` events.
-    this.$search.on('input', function (evt) {
-      // Unbind the duplicated `keyup` event
-      $(this).off('keyup');
-    });
-
-    this.$search.on('keyup input', function (evt) {
-      self.handleSearch(evt);
-    });
-
-    container.on('open', function () {
-      self.$search.attr('tabindex', 0);
-
-      self.$search.focus();
-
-      window.setTimeout(function () {
-        self.$search.focus();
-      }, 0);
-    });
-
-    container.on('close', function () {
-      self.$search.attr('tabindex', -1);
-
-      self.$search.val('');
-    });
-
-    container.on('focus', function () {
-      if (container.isOpen()) {
-        self.$search.focus();
-      }
-    });
-
-    container.on('results:all', function (params) {
-      if (params.query.term == null || params.query.term === '') {
-        var showSearch = self.showSearch(params);
-
-        if (showSearch) {
-          self.$searchContainer.removeClass('select2-search--hide');
-        } else {
-          self.$searchContainer.addClass('select2-search--hide');
-        }
-      }
-    });
-  };
-
-  Search.prototype.handleSearch = function (evt) {
-    if (!this._keyUpPrevented) {
-      var input = this.$search.val();
-
-      this.trigger('query', {
-        term: input
-      });
-    }
-
-    this._keyUpPrevented = false;
-  };
-
-  Search.prototype.showSearch = function (_, params) {
-    return true;
-  };
-
-  return Search;
-});
-
-S2.define('select2/dropdown/hidePlaceholder',[
-
-], function () {
-  function HidePlaceholder (decorated, $element, options, dataAdapter) {
-    this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
-
-    decorated.call(this, $element, options, dataAdapter);
-  }
-
-  HidePlaceholder.prototype.append = function (decorated, data) {
-    data.results = this.removePlaceholder(data.results);
-
-    decorated.call(this, data);
-  };
-
-  HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
-    if (typeof placeholder === 'string') {
-      placeholder = {
-        id: '',
-        text: placeholder
-      };
-    }
-
-    return placeholder;
-  };
-
-  HidePlaceholder.prototype.removePlaceholder = function (_, data) {
-    var modifiedData = data.slice(0);
-
-    for (var d = data.length - 1; d >= 0; d--) {
-      var item = data[d];
-
-      if (this.placeholder.id === item.id) {
-        modifiedData.splice(d, 1);
-      }
-    }
-
-    return modifiedData;
-  };
-
-  return HidePlaceholder;
-});
-
-S2.define('select2/dropdown/infiniteScroll',[
-  'jquery'
-], function ($) {
-  function InfiniteScroll (decorated, $element, options, dataAdapter) {
-    this.lastParams = {};
-
-    decorated.call(this, $element, options, dataAdapter);
-
-    this.$loadingMore = this.createLoadingMore();
-    this.loading = false;
-  }
-
-  InfiniteScroll.prototype.append = function (decorated, data) {
-    this.$loadingMore.remove();
-    this.loading = false;
-
-    decorated.call(this, data);
-
-    if (this.showLoadingMore(data)) {
-      this.$results.append(this.$loadingMore);
-    }
-  };
-
-  InfiniteScroll.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    container.on('query', function (params) {
-      self.lastParams = params;
-      self.loading = true;
-    });
-
-    container.on('query:append', function (params) {
-      self.lastParams = params;
-      self.loading = true;
-    });
-
-    this.$results.on('scroll', function () {
-      var isLoadMoreVisible = $.contains(
-        document.documentElement,
-        self.$loadingMore[0]
-      );
-
-      if (self.loading || !isLoadMoreVisible) {
-        return;
-      }
-
-      var currentOffset = self.$results.offset().top +
-        self.$results.outerHeight(false);
-      var loadingMoreOffset = self.$loadingMore.offset().top +
-        self.$loadingMore.outerHeight(false);
-
-      if (currentOffset + 50 >= loadingMoreOffset) {
-        self.loadMore();
-      }
-    });
-  };
-
-  InfiniteScroll.prototype.loadMore = function () {
-    this.loading = true;
-
-    var params = $.extend({}, {page: 1}, this.lastParams);
-
-    params.page++;
-
-    this.trigger('query:append', params);
-  };
-
-  InfiniteScroll.prototype.showLoadingMore = function (_, data) {
-    return data.pagination && data.pagination.more;
-  };
-
-  InfiniteScroll.prototype.createLoadingMore = function () {
-    var $option = $(
-      '<li ' +
-      'class="select2-results__option select2-results__option--load-more"' +
-      'role="treeitem" aria-disabled="true"></li>'
-    );
-
-    var message = this.options.get('translations').get('loadingMore');
-
-    $option.html(message(this.lastParams));
-
-    return $option;
-  };
-
-  return InfiniteScroll;
-});
-
-S2.define('select2/dropdown/attachBody',[
-  'jquery',
-  '../utils'
-], function ($, Utils) {
-  function AttachBody (decorated, $element, options) {
-    this.$dropdownParent = options.get('dropdownParent') || $(document.body);
-
-    decorated.call(this, $element, options);
-  }
-
-  AttachBody.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    var setupResultsEvents = false;
-
-    decorated.call(this, container, $container);
-
-    container.on('open', function () {
-      self._showDropdown();
-      self._attachPositioningHandler(container);
-
-      if (!setupResultsEvents) {
-        setupResultsEvents = true;
-
-        container.on('results:all', function () {
-          self._positionDropdown();
-          self._resizeDropdown();
-        });
-
-        container.on('results:append', function () {
-          self._positionDropdown();
-          self._resizeDropdown();
-        });
-      }
-    });
-
-    container.on('close', function () {
-      self._hideDropdown();
-      self._detachPositioningHandler(container);
-    });
-
-    this.$dropdownContainer.on('mousedown', function (evt) {
-      evt.stopPropagation();
-    });
-  };
-
-  AttachBody.prototype.destroy = function (decorated) {
-    decorated.call(this);
-
-    this.$dropdownContainer.remove();
-  };
-
-  AttachBody.prototype.position = function (decorated, $dropdown, $container) {
-    // Clone all of the container classes
-    $dropdown.attr('class', $container.attr('class'));
-
-    $dropdown.removeClass('select2');
-    $dropdown.addClass('select2-container--open');
-
-    $dropdown.css({
-      position: 'absolute',
-      top: -999999
-    });
-
-    this.$container = $container;
-  };
-
-  AttachBody.prototype.render = function (decorated) {
-    var $container = $('<span></span>');
-
-    var $dropdown = decorated.call(this);
-    $container.append($dropdown);
-
-    this.$dropdownContainer = $container;
-
-    return $container;
-  };
-
-  AttachBody.prototype._hideDropdown = function (decorated) {
-    this.$dropdownContainer.detach();
-  };
-
-  AttachBody.prototype._attachPositioningHandler =
-      function (decorated, container) {
-    var self = this;
-
-    var scrollEvent = 'scroll.select2.' + container.id;
-    var resizeEvent = 'resize.select2.' + container.id;
-    var orientationEvent = 'orientationchange.select2.' + container.id;
-
-    var $watchers = this.$container.parents().filter(Utils.hasScroll);
-    $watchers.each(function () {
-      $(this).data('select2-scroll-position', {
-        x: $(this).scrollLeft(),
-        y: $(this).scrollTop()
-      });
-    });
-
-    $watchers.on(scrollEvent, function (ev) {
-      var position = $(this).data('select2-scroll-position');
-      $(this).scrollTop(position.y);
-    });
-
-    $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
-      function (e) {
-      self._positionDropdown();
-      self._resizeDropdown();
-    });
-  };
-
-  AttachBody.prototype._detachPositioningHandler =
-      function (decorated, container) {
-    var scrollEvent = 'scroll.select2.' + container.id;
-    var resizeEvent = 'resize.select2.' + container.id;
-    var orientationEvent = 'orientationchange.select2.' + container.id;
-
-    var $watchers = this.$container.parents().filter(Utils.hasScroll);
-    $watchers.off(scrollEvent);
-
-    $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
-  };
-
-  AttachBody.prototype._positionDropdown = function () {
-    var $window = $(window);
-
-    var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
-    var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
-
-    var newDirection = null;
-
-    var offset = this.$container.offset();
-
-    offset.bottom = offset.top + this.$container.outerHeight(false);
-
-    var container = {
-      height: this.$container.outerHeight(false)
-    };
-
-    container.top = offset.top;
-    container.bottom = offset.top + container.height;
-
-    var dropdown = {
-      height: this.$dropdown.outerHeight(false)
-    };
-
-    var viewport = {
-      top: $window.scrollTop(),
-      bottom: $window.scrollTop() + $window.height()
-    };
-
-    var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
-    var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
-
-    var css = {
-      left: offset.left,
-      top: container.bottom
-    };
-
-    // Determine what the parent element is to use for calciulating the offset
-    var $offsetParent = this.$dropdownParent;
-
-    // For statically positoned elements, we need to get the element
-    // that is determining the offset
-    if ($offsetParent.css('position') === 'static') {
-      $offsetParent = $offsetParent.offsetParent();
-    }
-
-    var parentOffset = $offsetParent.offset();
-
-    css.top -= parentOffset.top;
-    css.left -= parentOffset.left;
-
-    if (!isCurrentlyAbove && !isCurrentlyBelow) {
-      newDirection = 'below';
-    }
-
-    if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
-      newDirection = 'above';
-    } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
-      newDirection = 'below';
-    }
-
-    if (newDirection == 'above' ||
-      (isCurrentlyAbove && newDirection !== 'below')) {
-      css.top = container.top - parentOffset.top - dropdown.height;
-    }
-
-    if (newDirection != null) {
-      this.$dropdown
-        .removeClass('select2-dropdown--below select2-dropdown--above')
-        .addClass('select2-dropdown--' + newDirection);
-      this.$container
-        .removeClass('select2-container--below select2-container--above')
-        .addClass('select2-container--' + newDirection);
-    }
-
-    this.$dropdownContainer.css(css);
-  };
-
-  AttachBody.prototype._resizeDropdown = function () {
-    var css = {
-      width: this.$container.outerWidth(false) + 'px'
-    };
-
-    if (this.options.get('dropdownAutoWidth')) {
-      css.minWidth = css.width;
-      css.position = 'relative';
-      css.width = 'auto';
-    }
-
-    this.$dropdown.css(css);
-  };
-
-  AttachBody.prototype._showDropdown = function (decorated) {
-    this.$dropdownContainer.appendTo(this.$dropdownParent);
-
-    this._positionDropdown();
-    this._resizeDropdown();
-  };
-
-  return AttachBody;
-});
-
-S2.define('select2/dropdown/minimumResultsForSearch',[
-
-], function () {
-  function countResults (data) {
-    var count = 0;
-
-    for (var d = 0; d < data.length; d++) {
-      var item = data[d];
-
-      if (item.children) {
-        count += countResults(item.children);
-      } else {
-        count++;
-      }
-    }
-
-    return count;
-  }
-
-  function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
-    this.minimumResultsForSearch = options.get('minimumResultsForSearch');
-
-    if (this.minimumResultsForSearch < 0) {
-      this.minimumResultsForSearch = Infinity;
-    }
-
-    decorated.call(this, $element, options, dataAdapter);
-  }
-
-  MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
-    if (countResults(params.data.results) < this.minimumResultsForSearch) {
-      return false;
-    }
-
-    return decorated.call(this, params);
-  };
-
-  return MinimumResultsForSearch;
-});
-
-S2.define('select2/dropdown/selectOnClose',[
-
-], function () {
-  function SelectOnClose () { }
-
-  SelectOnClose.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    container.on('close', function (params) {
-      self._handleSelectOnClose(params);
-    });
-  };
-
-  SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
-    if (params && params.originalSelect2Event != null) {
-      var event = params.originalSelect2Event;
-
-      // Don't select an item if the close event was triggered from a select or
-      // unselect event
-      if (event._type === 'select' || event._type === 'unselect') {
-        return;
-      }
-    }
-
-    var $highlightedResults = this.getHighlightedResults();
-
-    // Only select highlighted results
-    if ($highlightedResults.length < 1) {
-      return;
-    }
-
-    var data = $highlightedResults.data('data');
-
-    // Don't re-select already selected resulte
-    if (
-      (data.element != null && data.element.selected) ||
-      (data.element == null && data.selected)
-    ) {
-      return;
-    }
-
-    this.trigger('select', {
-        data: data
-    });
-  };
-
-  return SelectOnClose;
-});
-
-S2.define('select2/dropdown/closeOnSelect',[
-
-], function () {
-  function CloseOnSelect () { }
-
-  CloseOnSelect.prototype.bind = function (decorated, container, $container) {
-    var self = this;
-
-    decorated.call(this, container, $container);
-
-    container.on('select', function (evt) {
-      self._selectTriggered(evt);
-    });
-
-    container.on('unselect', function (evt) {
-      self._selectTriggered(evt);
-    });
-  };
-
-  CloseOnSelect.prototype._selectTriggered = function (_, evt) {
-    var originalEvent = evt.originalEvent;
-
-    // Don't close if the control key is being held
-    if (originalEvent && originalEvent.ctrlKey) {
-      return;
-    }
-
-    this.trigger('close', {
-      originalEvent: originalEvent,
-      originalSelect2Event: evt
-    });
-  };
-
-  return CloseOnSelect;
-});
-
-S2.define('select2/i18n/en',[],function () {
-  // English
-  return {
-    errorLoading: function () {
-      return 'The results could not be loaded.';
-    },
-    inputTooLong: function (args) {
-      var overChars = args.input.length - args.maximum;
-
-      var message = 'Please delete ' + overChars + ' character';
-
-      if (overChars != 1) {
-        message += 's';
-      }
-
-      return message;
-    },
-    inputTooShort: function (args) {
-      var remainingChars = args.minimum - args.input.length;
-
-      var message = 'Please enter ' + remainingChars + ' or more characters';
-
-      return message;
-    },
-    loadingMore: function () {
-      return 'Loading more results…';
-    },
-    maximumSelected: function (args) {
-      var message = 'You can only select ' + args.maximum + ' item';
-
-      if (args.maximum != 1) {
-        message += 's';
-      }
-
-      return message;
-    },
-    noResults: function () {
-      return 'No results found';
-    },
-    searching: function () {
-      return 'Searching…';
-    }
-  };
-});
-
-S2.define('select2/defaults',[
-  'jquery',
-  'require',
-
-  './results',
-
-  './selection/single',
-  './selection/multiple',
-  './selection/placeholder',
-  './selection/allowClear',
-  './selection/search',
-  './selection/eventRelay',
-
-  './utils',
-  './translation',
-  './diacritics',
-
-  './data/select',
-  './data/array',
-  './data/ajax',
-  './data/tags',
-  './data/tokenizer',
-  './data/minimumInputLength',
-  './data/maximumInputLength',
-  './data/maximumSelectionLength',
-
-  './dropdown',
-  './dropdown/search',
-  './dropdown/hidePlaceholder',
-  './dropdown/infiniteScroll',
-  './dropdown/attachBody',
-  './dropdown/minimumResultsForSearch',
-  './dropdown/selectOnClose',
-  './dropdown/closeOnSelect',
-
-  './i18n/en'
-], function ($, require,
-
-             ResultsList,
-
-             SingleSelection, MultipleSelection, Placeholder, AllowClear,
-             SelectionSearch, EventRelay,
-
-             Utils, Translation, DIACRITICS,
-
-             SelectData, ArrayData, AjaxData, Tags, Tokenizer,
-             MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
-
-             Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
-             AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
-
-             EnglishTranslation) {
-  function Defaults () {
-    this.reset();
-  }
-
-  Defaults.prototype.apply = function (options) {
-    options = $.extend(true, {}, this.defaults, options);
-
-    if (options.dataAdapter == null) {
-      if (options.ajax != null) {
-        options.dataAdapter = AjaxData;
-      } else if (options.data != null) {
-        options.dataAdapter = ArrayData;
-      } else {
-        options.dataAdapter = SelectData;
-      }
-
-      if (options.minimumInputLength > 0) {
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          MinimumInputLength
-        );
-      }
-
-      if (options.maximumInputLength > 0) {
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          MaximumInputLength
-        );
-      }
-
-      if (options.maximumSelectionLength > 0) {
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          MaximumSelectionLength
-        );
-      }
-
-      if (options.tags) {
-        options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
-      }
-
-      if (options.tokenSeparators != null || options.tokenizer != null) {
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          Tokenizer
-        );
-      }
-
-      if (options.query != null) {
-        var Query = require(options.amdBase + 'compat/query');
-
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          Query
-        );
-      }
-
-      if (options.initSelection != null) {
-        var InitSelection = require(options.amdBase + 'compat/initSelection');
-
-        options.dataAdapter = Utils.Decorate(
-          options.dataAdapter,
-          InitSelection
-        );
-      }
-    }
-
-    if (options.resultsAdapter == null) {
-      options.resultsAdapter = ResultsList;
-
-      if (options.ajax != null) {
-        options.resultsAdapter = Utils.Decorate(
-          options.resultsAdapter,
-          InfiniteScroll
-        );
-      }
-
-      if (options.placeholder != null) {
-        options.resultsAdapter = Utils.Decorate(
-          options.resultsAdapter,
-          HidePlaceholder
-        );
-      }
-
-      if (options.selectOnClose) {
-        options.resultsAdapter = Utils.Decorate(
-          options.resultsAdapter,
-          SelectOnClose
-        );
-      }
-    }
-
-    if (options.dropdownAdapter == null) {
-      if (options.multiple) {
-        options.dropdownAdapter = Dropdown;
-      } else {
-        var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
-
-        options.dropdownAdapter = SearchableDropdown;
-      }
-
-      if (options.minimumResultsForSearch !== 0) {
-        options.dropdownAdapter = Utils.Decorate(
-          options.dropdownAdapter,
-          MinimumResultsForSearch
-        );
-      }
-
-      if (options.closeOnSelect) {
-        options.dropdownAdapter = Utils.Decorate(
-          options.dropdownAdapter,
-          CloseOnSelect
-        );
-      }
-
-      if (
-        options.dropdownCssClass != null ||
-        options.dropdownCss != null ||
-        options.adaptDropdownCssClass != null
-      ) {
-        var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
-
-        options.dropdownAdapter = Utils.Decorate(
-          options.dropdownAdapter,
-          DropdownCSS
-        );
-      }
-
-      options.dropdownAdapter = Utils.Decorate(
-        options.dropdownAdapter,
-        AttachBody
-      );
-    }
-
-    if (options.selectionAdapter == null) {
-      if (options.multiple) {
-        options.selectionAdapter = MultipleSelection;
-      } else {
-        options.selectionAdapter = SingleSelection;
-      }
-
-      // Add the placeholder mixin if a placeholder was specified
-      if (options.placeholder != null) {
-        options.selectionAdapter = Utils.Decorate(
-          options.selectionAdapter,
-          Placeholder
-        );
-      }
-
-      if (options.allowClear) {
-        options.selectionAdapter = Utils.Decorate(
-          options.selectionAdapter,
-          AllowClear
-        );
-      }
-
-      if (options.multiple) {
-        options.selectionAdapter = Utils.Decorate(
-          options.selectionAdapter,
-          SelectionSearch
-        );
-      }
-
-      if (
-        options.containerCssClass != null ||
-        options.containerCss != null ||
-        options.adaptContainerCssClass != null
-      ) {
-        var ContainerCSS = require(options.amdBase + 'compat/containerCss');
-
-        options.selectionAdapter = Utils.Decorate(
-          options.selectionAdapter,
-          ContainerCSS
-        );
-      }
-
-      options.selectionAdapter = Utils.Decorate(
-        options.selectionAdapter,
-        EventRelay
-      );
-    }
-
-    if (typeof options.language === 'string') {
-      // Check if the language is specified with a region
-      if (options.language.indexOf('-') > 0) {
-        // Extract the region information if it is included
-        var languageParts = options.language.split('-');
-        var baseLanguage = languageParts[0];
-
-        options.language = [options.language, baseLanguage];
-      } else {
-        options.language = [options.language];
-      }
-    }
-
-    if ($.isArray(options.language)) {
-      var languages = new Translation();
-      options.language.push('en');
-
-      var languageNames = options.language;
-
-      for (var l = 0; l < languageNames.length; l++) {
-        var name = languageNames[l];
-        var language = {};
-
-        try {
-          // Try to load it with the original name
-          language = Translation.loadPath(name);
-        } catch (e) {
-          try {
-            // If we couldn't load it, check if it wasn't the full path
-            name = this.defaults.amdLanguageBase + name;
-            language = Translation.loadPath(name);
-          } catch (ex) {
-            // The translation could not be loaded at all. Sometimes this is
-            // because of a configuration problem, other times this can be
-            // because of how Select2 helps load all possible translation files.
-            if (options.debug && window.console && console.warn) {
-              console.warn(
-                'Select2: The language file for "' + name + '" could not be ' +
-                'automatically loaded. A fallback will be used instead.'
-              );
-            }
-
-            continue;
-          }
-        }
-
-        languages.extend(language);
-      }
-
-      options.translations = languages;
-    } else {
-      var baseTranslation = Translation.loadPath(
-        this.defaults.amdLanguageBase + 'en'
-      );
-      var customTranslation = new Translation(options.language);
-
-      customTranslation.extend(baseTranslation);
-
-      options.translations = customTranslation;
-    }
-
-    return options;
-  };
-
-  Defaults.prototype.reset = function () {
-    function stripDiacritics (text) {
-      // Used 'uni range + named function' from http://jsperf.com/diacritics/18
-      function match(a) {
-        return DIACRITICS[a] || a;
-      }
-
-      return text.replace(/[^\u0000-\u007E]/g, match);
-    }
-
-    function matcher (params, data) {
-      // Always return the object if there is nothing to compare
-      if ($.trim(params.term) === '') {
-        return data;
-      }
-
-      // Do a recursive check for options with children
-      if (data.children && data.children.length > 0) {
-        // Clone the data object if there are children
-        // This is required as we modify the object to remove any non-matches
-        var match = $.extend(true, {}, data);
-
-        // Check each child of the option
-        for (var c = data.children.length - 1; c >= 0; c--) {
-          var child = data.children[c];
-
-          var matches = matcher(params, child);
-
-          // If there wasn't a match, remove the object in the array
-          if (matches == null) {
-            match.children.splice(c, 1);
-          }
-        }
-
-        // If any children matched, return the new object
-        if (match.children.length > 0) {
-          return match;
-        }
-
-        // If there were no matching children, check just the plain object
-        return matcher(params, match);
-      }
-
-      var original = stripDiacritics(data.text).toUpperCase();
-      var term = stripDiacritics(params.term).toUpperCase();
-
-      // Check if the text contains the term
-      if (original.indexOf(term) > -1) {
-        return data;
-      }
-
-      // If it doesn't contain the term, don't return anything
-      return null;
-    }
-
-    this.defaults = {
-      amdBase: './',
-      amdLanguageBase: './i18n/',
-      closeOnSelect: true,
-      debug: false,
-      dropdownAutoWidth: false,
-      escapeMarkup: Utils.escapeMarkup,
-      language: EnglishTranslation,
-      matcher: matcher,
-      minimumInputLength: 0,
-      maximumInputLength: 0,
-      maximumSelectionLength: 0,
-      minimumResultsForSearch: 0,
-      selectOnClose: false,
-      sorter: function (data) {
-        return data;
-      },
-      templateResult: function (result) {
-        return result.text;
-      },
-      templateSelection: function (selection) {
-        return selection.text;
-      },
-      theme: 'default',
-      width: 'resolve'
-    };
-  };
-
-  Defaults.prototype.set = function (key, value) {
-    var camelKey = $.camelCase(key);
-
-    var data = {};
-    data[camelKey] = value;
-
-    var convertedData = Utils._convertData(data);
-
-    $.extend(this.defaults, convertedData);
-  };
-
-  var defaults = new Defaults();
-
-  return defaults;
-});
-
-S2.define('select2/options',[
-  'require',
-  'jquery',
-  './defaults',
-  './utils'
-], function (require, $, Defaults, Utils) {
-  function Options (options, $element) {
-    this.options = options;
-
-    if ($element != null) {
-      this.fromElement($element);
-    }
-
-    this.options = Defaults.apply(this.options);
-
-    if ($element && $element.is('input')) {
-      var InputCompat = require(this.get('amdBase') + 'compat/inputData');
-
-      this.options.dataAdapter = Utils.Decorate(
-        this.options.dataAdapter,
-        InputCompat
-      );
-    }
-  }
-
-  Options.prototype.fromElement = function ($e) {
-    var excludedData = ['select2'];
-
-    if (this.options.multiple == null) {
-      this.options.multiple = $e.prop('multiple');
-    }
-
-    if (this.options.disabled == null) {
-      this.options.disabled = $e.prop('disabled');
-    }
-
-    if (this.options.language == null) {
-      if ($e.prop('lang')) {
-        this.options.language = $e.prop('lang').toLowerCase();
-      } else if ($e.closest('[lang]').prop('lang')) {
-        this.options.language = $e.closest('[lang]').prop('lang');
-      }
-    }
-
-    if (this.options.dir == null) {
-      if ($e.prop('dir')) {
-        this.options.dir = $e.prop('dir');
-      } else if ($e.closest('[dir]').prop('dir')) {
-        this.options.dir = $e.closest('[dir]').prop('dir');
-      } else {
-        this.options.dir = 'ltr';
-      }
-    }
-
-    $e.prop('disabled', this.options.disabled);
-    $e.prop('multiple', this.options.multiple);
-
-    if ($e.data('select2Tags')) {
-      if (this.options.debug && window.console && console.warn) {
-        console.warn(
-          'Select2: The `data-select2-tags` attribute has been changed to ' +
-          'use the `data-data` and `data-tags="true"` attributes and will be ' +
-          'removed in future versions of Select2.'
-        );
-      }
-
-      $e.data('data', $e.data('select2Tags'));
-      $e.data('tags', true);
-    }
-
-    if ($e.data('ajaxUrl')) {
-      if (this.options.debug && window.console && console.warn) {
-        console.warn(
-          'Select2: The `data-ajax-url` attribute has been changed to ' +
-          '`data-ajax--url` and support for the old attribute will be removed' +
-          ' in future versions of Select2.'
-        );
-      }
-
-      $e.attr('ajax--url', $e.data('ajaxUrl'));
-      $e.data('ajax--url', $e.data('ajaxUrl'));
-    }
-
-    var dataset = {};
-
-    // Prefer the element's `dataset` attribute if it exists
-    // jQuery 1.x does not correctly handle data attributes with multiple dashes
-    if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
-      dataset = $.extend(true, {}, $e[0].dataset, $e.data());
-    } else {
-      dataset = $e.data();
-    }
-
-    var data = $.extend(true, {}, dataset);
-
-    data = Utils._convertData(data);
-
-    for (var key in data) {
-      if ($.inArray(key, excludedData) > -1) {
-        continue;
-      }
-
-      if ($.isPlainObject(this.options[key])) {
-        $.extend(this.options[key], data[key]);
-      } else {
-        this.options[key] = data[key];
-      }
-    }
-
-    return this;
-  };
-
-  Options.prototype.get = function (key) {
-    return this.options[key];
-  };
-
-  Options.prototype.set = function (key, val) {
-    this.options[key] = val;
-  };
-
-  return Options;
-});
-
-S2.define('select2/core',[
-  'jquery',
-  './options',
-  './utils',
-  './keys'
-], function ($, Options, Utils, KEYS) {
-  var Select2 = function ($element, options) {
-    if ($element.data('select2') != null) {
-      $element.data('select2').destroy();
-    }
-
-    this.$element = $element;
-
-    this.id = this._generateId($element);
-
-    options = options || {};
-
-    this.options = new Options(options, $element);
-
-    Select2.__super__.constructor.call(this);
-
-    // Set up the tabindex
-
-    var tabindex = $element.attr('tabindex') || 0;
-    $element.data('old-tabindex', tabindex);
-    $element.attr('tabindex', '-1');
-
-    // Set up containers and adapters
-
-    var DataAdapter = this.options.get('dataAdapter');
-    this.dataAdapter = new DataAdapter($element, this.options);
-
-    var $container = this.render();
-
-    this._placeContainer($container);
-
-    var SelectionAdapter = this.options.get('selectionAdapter');
-    this.selection = new SelectionAdapter($element, this.options);
-    this.$selection = this.selection.render();
-
-    this.selection.position(this.$selection, $container);
-
-    var DropdownAdapter = this.options.get('dropdownAdapter');
-    this.dropdown = new DropdownAdapter($element, this.options);
-    this.$dropdown = this.dropdown.render();
-
-    this.dropdown.position(this.$dropdown, $container);
-
-    var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
-    this.$results = this.results.render();
-
-    this.results.position(this.$results, this.$dropdown);
-
-    // Bind events
-
-    var self = this;
-
-    // Bind the container to all of the adapters
-    this._bindAdapters();
-
-    // Register any DOM event handlers
-    this._registerDomEvents();
-
-    // Register any internal event handlers
-    this._registerDataEvents();
-    this._registerSelectionEvents();
-    this._registerDropdownEvents();
-    this._registerResultsEvents();
-    this._registerEvents();
-
-    // Set the initial state
-    this.dataAdapter.current(function (initialData) {
-      self.trigger('selection:update', {
-        data: initialData
-      });
-    });
-
-    // Hide the original select
-    $element.addClass('select2-hidden-accessible');
-    $element.attr('aria-hidden', 'true');
-
-    // Synchronize any monitored attributes
-    this._syncAttributes();
-
-    $element.data('select2', this);
-  };
-
-  Utils.Extend(Select2, Utils.Observable);
-
-  Select2.prototype._generateId = function ($element) {
-    var id = '';
-
-    if ($element.attr('id') != null) {
-      id = $element.attr('id');
-    } else if ($element.attr('name') != null) {
-      id = $element.attr('name') + '-' + Utils.generateChars(2);
-    } else {
-      id = Utils.generateChars(4);
-    }
-
-    id = id.replace(/(:|\.|\[|\]|,)/g, '');
-    id = 'select2-' + id;
-
-    return id;
-  };
-
-  Select2.prototype._placeContainer = function ($container) {
-    $container.insertAfter(this.$element);
-
-    var width = this._resolveWidth(this.$element, this.options.get('width'));
-
-    if (width != null) {
-      $container.css('width', width);
-    }
-  };
-
-  Select2.prototype._resolveWidth = function ($element, method) {
-    var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
-
-    if (method == 'resolve') {
-      var styleWidth = this._resolveWidth($element, 'style');
-
-      if (styleWidth != null) {
-        return styleWidth;
-      }
-
-      return this._resolveWidth($element, 'element');
-    }
-
-    if (method == 'element') {
-      var elementWidth = $element.outerWidth(false);
-
-      if (elementWidth <= 0) {
-        return 'auto';
-      }
-
-      return elementWidth + 'px';
-    }
-
-    if (method == 'style') {
-      var style = $element.attr('style');
-
-      if (typeof(style) !== 'string') {
-        return null;
-      }
-
-      var attrs = style.split(';');
-
-      for (var i = 0, l = attrs.length; i < l; i = i + 1) {
-        var attr = attrs[i].replace(/\s/g, '');
-        var matches = attr.match(WIDTH);
-
-        if (matches !== null && matches.length >= 1) {
-          return matches[1];
-        }
-      }
-
-      return null;
-    }
-
-    return method;
-  };
-
-  Select2.prototype._bindAdapters = function () {
-    this.dataAdapter.bind(this, this.$container);
-    this.selection.bind(this, this.$container);
-
-    this.dropdown.bind(this, this.$container);
-    this.results.bind(this, this.$container);
-  };
-
-  Select2.prototype._registerDomEvents = function () {
-    var self = this;
-
-    this.$element.on('change.select2', function () {
-      self.dataAdapter.current(function (data) {
-        self.trigger('selection:update', {
-          data: data
-        });
-      });
-    });
-
-    this.$element.on('focus.select2', function (evt) {
-      self.trigger('focus', evt);
-    });
-
-    this._syncA = Utils.bind(this._syncAttributes, this);
-    this._syncS = Utils.bind(this._syncSubtree, this);
-
-    if (this.$element[0].attachEvent) {
-      this.$element[0].attachEvent('onpropertychange', this._syncA);
-    }
-
-    var observer = window.MutationObserver ||
-      window.WebKitMutationObserver ||
-      window.MozMutationObserver
-    ;
-
-    if (observer != null) {
-      this._observer = new observer(function (mutations) {
-        $.each(mutations, self._syncA);
-        $.each(mutations, self._syncS);
-      });
-      this._observer.observe(this.$element[0], {
-        attributes: true,
-        childList: true,
-        subtree: false
-      });
-    } else if (this.$element[0].addEventListener) {
-      this.$element[0].addEventListener(
-        'DOMAttrModified',
-        self._syncA,
-        false
-      );
-      this.$element[0].addEventListener(
-        'DOMNodeInserted',
-        self._syncS,
-        false
-      );
-      this.$element[0].addEventListener(
-        'DOMNodeRemoved',
-        self._syncS,
-        false
-      );
-    }
-  };
-
-  Select2.prototype._registerDataEvents = function () {
-    var self = this;
-
-    this.dataAdapter.on('*', function (name, params) {
-      self.trigger(name, params);
-    });
-  };
-
-  Select2.prototype._registerSelectionEvents = function () {
-    var self = this;
-    var nonRelayEvents = ['toggle', 'focus'];
-
-    this.selection.on('toggle', function () {
-      self.toggleDropdown();
-    });
-
-    this.selection.on('focus', function (params) {
-      self.focus(params);
-    });
-
-    this.selection.on('*', function (name, params) {
-      if ($.inArray(name, nonRelayEvents) !== -1) {
-        return;
-      }
-
-      self.trigger(name, params);
-    });
-  };
-
-  Select2.prototype._registerDropdownEvents = function () {
-    var self = this;
-
-    this.dropdown.on('*', function (name, params) {
-      self.trigger(name, params);
-    });
-  };
-
-  Select2.prototype._registerResultsEvents = function () {
-    var self = this;
-
-    this.results.on('*', function (name, params) {
-      self.trigger(name, params);
-    });
-  };
-
-  Select2.prototype._registerEvents = function () {
-    var self = this;
-
-    this.on('open', function () {
-      self.$container.addClass('select2-container--open');
-    });
-
-    this.on('close', function () {
-      self.$container.removeClass('select2-container--open');
-    });
-
-    this.on('enable', function () {
-      self.$container.removeClass('select2-container--disabled');
-    });
-
-    this.on('disable', function () {
-      self.$container.addClass('select2-container--disabled');
-    });
-
-    this.on('blur', function () {
-      self.$container.removeClass('select2-container--focus');
-    });
-
-    this.on('query', function (params) {
-      if (!self.isOpen()) {
-        self.trigger('open', {});
-      }
-
-      this.dataAdapter.query(params, function (data) {
-        self.trigger('results:all', {
-          data: data,
-          query: params
-        });
-      });
-    });
-
-    this.on('query:append', function (params) {
-      this.dataAdapter.query(params, function (data) {
-        self.trigger('results:append', {
-          data: data,
-          query: params
-        });
-      });
-    });
-
-    this.on('keypress', function (evt) {
-      var key = evt.which;
-
-      if (self.isOpen()) {
-        if (key === KEYS.ESC || key === KEYS.TAB ||
-            (key === KEYS.UP && evt.altKey)) {
-          self.close();
-
-          evt.preventDefault();
-        } else if (key === KEYS.ENTER) {
-          self.trigger('results:select', {});
-
-          evt.preventDefault();
-        } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
-          self.trigger('results:toggle', {});
-
-          evt.preventDefault();
-        } else if (key === KEYS.UP) {
-          self.trigger('results:previous', {});
-
-          evt.preventDefault();
-        } else if (key === KEYS.DOWN) {
-          self.trigger('results:next', {});
-
-          evt.preventDefault();
-        }
-      } else {
-        if (key === KEYS.ENTER || key === KEYS.SPACE ||
-            (key === KEYS.DOWN && evt.altKey)) {
-          self.open();
-
-          evt.preventDefault();
-        }
-      }
-    });
-  };
-
-  Select2.prototype._syncAttributes = function () {
-    this.options.set('disabled', this.$element.prop('disabled'));
-
-    if (this.options.get('disabled')) {
-      if (this.isOpen()) {
-        this.close();
-      }
-
-      this.trigger('disable', {});
-    } else {
-      this.trigger('enable', {});
-    }
-  };
-
-  Select2.prototype._syncSubtree = function (evt, mutations) {
-    var changed = false;
-    var self = this;
-
-    // Ignore any mutation events raised for elements that aren't options or
-    // optgroups. This handles the case when the select element is destroyed
-    if (
-      evt && evt.target && (
-        evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
-      )
-    ) {
-      return;
-    }
-
-    if (!mutations) {
-      // If mutation events aren't supported, then we can only assume that the
-      // change affected the selections
-      changed = true;
-    } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
-      for (var n = 0; n < mutations.addedNodes.length; n++) {
-        var node = mutations.addedNodes[n];
-
-        if (node.selected) {
-          changed = true;
-        }
-      }
-    } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
-      changed = true;
-    }
-
-    // Only re-pull the data if we think there is a change
-    if (changed) {
-      this.dataAdapter.current(function (currentData) {
-        self.trigger('selection:update', {
-          data: currentData
-        });
-      });
-    }
-  };
-
-  /**
-   * Override the trigger method to automatically trigger pre-events when
-   * there are events that can be prevented.
-   */
-  Select2.prototype.trigger = function (name, args) {
-    var actualTrigger = Select2.__super__.trigger;
-    var preTriggerMap = {
-      'open': 'opening',
-      'close': 'closing',
-      'select': 'selecting',
-      'unselect': 'unselecting'
-    };
-
-    if (args === undefined) {
-      args = {};
-    }
-
-    if (name in preTriggerMap) {
-      var preTriggerName = preTriggerMap[name];
-      var preTriggerArgs = {
-        prevented: false,
-        name: name,
-        args: args
-      };
-
-      actualTrigger.call(this, preTriggerName, preTriggerArgs);
-
-      if (preTriggerArgs.prevented) {
-        args.prevented = true;
-
-        return;
-      }
-    }
-
-    actualTrigger.call(this, name, args);
-  };
-
-  Select2.prototype.toggleDropdown = function () {
-    if (this.options.get('disabled')) {
-      return;
-    }
-
-    if (this.isOpen()) {
-      this.close();
-    } else {
-      this.open();
-    }
-  };
-
-  Select2.prototype.open = function () {
-    if (this.isOpen()) {
-      return;
-    }
-
-    this.trigger('query', {});
-  };
-
-  Select2.prototype.close = function () {
-    if (!this.isOpen()) {
-      return;
-    }
-
-    this.trigger('close', {});
-  };
-
-  Select2.prototype.isOpen = function () {
-    return this.$container.hasClass('select2-container--open');
-  };
-
-  Select2.prototype.hasFocus = function () {
-    return this.$container.hasClass('select2-container--focus');
-  };
-
-  Select2.prototype.focus = function (data) {
-    // No need to re-trigger focus events if we are already focused
-    if (this.hasFocus()) {
-      return;
-    }
-
-    this.$container.addClass('select2-container--focus');
-    this.trigger('focus', {});
-  };
-
-  Select2.prototype.enable = function (args) {
-    if (this.options.get('debug') && window.console && console.warn) {
-      console.warn(
-        'Select2: The `select2("enable")` method has been deprecated and will' +
-        ' be removed in later Select2 versions. Use $element.prop("disabled")' +
-        ' instead.'
-      );
-    }
-
-    if (args == null || args.length === 0) {
-      args = [true];
-    }
-
-    var disabled = !args[0];
-
-    this.$element.prop('disabled', disabled);
-  };
-
-  Select2.prototype.data = function () {
-    if (this.options.get('debug') &&
-        arguments.length > 0 && window.console && console.warn) {
-      console.warn(
-        'Select2: Data can no longer be set using `select2("data")`. You ' +
-        'should consider setting the value instead using `$element.val()`.'
-      );
-    }
-
-    var data = [];
-
-    this.dataAdapter.current(function (currentData) {
-      data = currentData;
-    });
-
-    return data;
-  };
-
-  Select2.prototype.val = function (args) {
-    if (this.options.get('debug') && window.console && console.warn) {
-      console.warn(
-        'Select2: The `select2("val")` method has been deprecated and will be' +
-        ' removed in later Select2 versions. Use $element.val() instead.'
-      );
-    }
-
-    if (args == null || args.length === 0) {
-      return this.$element.val();
-    }
-
-    var newVal = args[0];
-
-    if ($.isArray(newVal)) {
-      newVal = $.map(newVal, function (obj) {
-        return obj.toString();
-      });
-    }
-
-    this.$element.val(newVal).trigger('change');
-  };
-
-  Select2.prototype.destroy = function () {
-    this.$container.remove();
-
-    if (this.$element[0].detachEvent) {
-      this.$element[0].detachEvent('onpropertychange', this._syncA);
-    }
-
-    if (this._observer != null) {
-      this._observer.disconnect();
-      this._observer = null;
-    } else if (this.$element[0].removeEventListener) {
-      this.$element[0]
-        .removeEventListener('DOMAttrModified', this._syncA, false);
-      this.$element[0]
-        .removeEventListener('DOMNodeInserted', this._syncS, false);
-      this.$element[0]
-        .removeEventListener('DOMNodeRemoved', this._syncS, false);
-    }
-
-    this._syncA = null;
-    this._syncS = null;
-
-    this.$element.off('.select2');
-    this.$element.attr('tabindex', this.$element.data('old-tabindex'));
-
-    this.$element.removeClass('select2-hidden-accessible');
-    this.$element.attr('aria-hidden', 'false');
-    this.$element.removeData('select2');
-
-    this.dataAdapter.destroy();
-    this.selection.destroy();
-    this.dropdown.destroy();
-    this.results.destroy();
-
-    this.dataAdapter = null;
-    this.selection = null;
-    this.dropdown = null;
-    this.results = null;
-  };
-
-  Select2.prototype.render = function () {
-    var $container = $(
-      '<span class="select2 select2-container">' +
-        '<span class="selection"></span>' +
-        '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
-      '</span>'
-    );
-
-    $container.attr('dir', this.options.get('dir'));
-
-    this.$container = $container;
-
-    this.$container.addClass('select2-container--' + this.options.get('theme'));
-
-    $container.data('element', this.$element);
-
-    return $container;
-  };
-
-  return Select2;
-});
-
-S2.define('select2/compat/utils',[
-  'jquery'
-], function ($) {
-  function syncCssClasses ($dest, $src, adapter) {
-    var classes, replacements = [], adapted;
-
-    classes = $.trim($dest.attr('class'));
-
-    if (classes) {
-      classes = '' + classes; // for IE which returns object
-
-      $(classes.split(/\s+/)).each(function () {
-        // Save all Select2 classes
-        if (this.indexOf('select2-') === 0) {
-          replacements.push(this);
-        }
-      });
-    }
-
-    classes = $.trim($src.attr('class'));
-
-    if (classes) {
-      classes = '' + classes; // for IE which returns object
-
-      $(classes.split(/\s+/)).each(function () {
-        // Only adapt non-Select2 classes
-        if (this.indexOf('select2-') !== 0) {
-          adapted = adapter(this);
-
-          if (adapted != null) {
-            replacements.push(adapted);
-          }
-        }
-      });
-    }
-
-    $dest.attr('class', replacements.join(' '));
-  }
-
-  return {
-    syncCssClasses: syncCssClasses
-  };
-});
-
-S2.define('select2/compat/containerCss',[
-  'jquery',
-  './utils'
-], function ($, CompatUtils) {
-  // No-op CSS adapter that discards all classes by default
-  function _containerAdapter (clazz) {
-    return null;
-  }
-
-  function ContainerCSS () { }
-
-  ContainerCSS.prototype.render = function (decorated) {
-    var $container = decorated.call(this);
-
-    var containerCssClass = this.options.get('containerCssClass') || '';
-
-    if ($.isFunction(containerCssClass)) {
-      containerCssClass = containerCssClass(this.$element);
-    }
-
-    var containerCssAdapter = this.options.get('adaptContainerCssClass');
-    containerCssAdapter = containerCssAdapter || _containerAdapter;
-
-    if (containerCssClass.indexOf(':all:') !== -1) {
-      containerCssClass = containerCssClass.replace(':all:', '');
-
-      var _cssAdapter = containerCssAdapter;
-
-      containerCssAdapter = function (clazz) {
-        var adapted = _cssAdapter(clazz);
-
-        if (adapted != null) {
-          // Append the old one along with the adapted one
-          return adapted + ' ' + clazz;
-        }
-
-        return clazz;
-      };
-    }
-
-    var containerCss = this.options.get('containerCss') || {};
-
-    if ($.isFunction(containerCss)) {
-      containerCss = containerCss(this.$element);
-    }
-
-    CompatUtils.syncCssClasses($container, this.$element, containerCssAdapter);
-
-    $container.css(containerCss);
-    $container.addClass(containerCssClass);
-
-    return $container;
-  };
-
-  return ContainerCSS;
-});
-
-S2.define('select2/compat/dropdownCss',[
-  'jquery',
-  './utils'
-], function ($, CompatUtils) {
-  // No-op CSS adapter that discards all classes by default
-  function _dropdownAdapter (clazz) {
-    return null;
-  }
-
-  function DropdownCSS () { }
-
-  DropdownCSS.prototype.render = function (decorated) {
-    var $dropdown = decorated.call(this);
-
-    var dropdownCssClass = this.options.get('dropdownCssClass') || '';
-
-    if ($.isFunction(dropdownCssClass)) {
-      dropdownCssClass = dropdownCssClass(this.$element);
-    }
-
-    var dropdownCssAdapter = this.options.get('adaptDropdownCssClass');
-    dropdownCssAdapter = dropdownCssAdapter || _dropdownAdapter;
-
-    if (dropdownCssClass.indexOf(':all:') !== -1) {
-      dropdownCssClass = dropdownCssClass.replace(':all:', '');
-
-      var _cssAdapter = dropdownCssAdapter;
-
-      dropdownCssAdapter = function (clazz) {
-        var adapted = _cssAdapter(clazz);
-
-        if (adapted != null) {
-          // Append the old one along with the adapted one
-          return adapted + ' ' + clazz;
-        }
-
-        return clazz;
-      };
-    }
-
-    var dropdownCss = this.options.get('dropdownCss') || {};
-
-    if ($.isFunction(dropdownCss)) {
-      dropdownCss = dropdownCss(this.$element);
-    }
-
-    CompatUtils.syncCssClasses($dropdown, this.$element, dropdownCssAdapter);
-
-    $dropdown.css(dropdownCss);
-    $dropdown.addClass(dropdownCssClass);
-
-    return $dropdown;
-  };
-
-  return DropdownCSS;
-});
-
-S2.define('select2/compat/initSelection',[
-  'jquery'
-], function ($) {
-  function InitSelection (decorated, $element, options) {
-    if (options.get('debug') && window.console && console.warn) {
-      console.warn(
-        'Select2: The `initSelection` option has been deprecated in favor' +
-        ' of a custom data adapter that overrides the `current` method. ' +
-        'This method is now called multiple times instead of a single ' +
-        'time when the instance is initialized. Support will be removed ' +
-        'for the `initSelection` option in future versions of Select2'
-      );
-    }
-
-    this.initSelection = options.get('initSelection');
-    this._isInitialized = false;
-
-    decorated.call(this, $element, options);
-  }
-
-  InitSelection.prototype.current = function (decorated, callback) {
-    var self = this;
-
-    if (this._isInitialized) {
-      decorated.call(this, callback);
-
-      return;
-    }
-
-    this.initSelection.call(null, this.$element, function (data) {
-      self._isInitialized = true;
-
-      if (!$.isArray(data)) {
-        data = [data];
-      }
-
-      callback(data);
-    });
-  };
-
-  return InitSelection;
-});
-
-S2.define('select2/compat/inputData',[
-  'jquery'
-], function ($) {
-  function InputData (decorated, $element, options) {
-    this._currentData = [];
-    this._valueSeparator = options.get('valueSeparator') || ',';
-
-    if ($element.prop('type') === 'hidden') {
-      if (options.get('debug') && console && console.warn) {
-        console.warn(
-          'Select2: Using a hidden input with Select2 is no longer ' +
-          'supported and may stop working in the future. It is recommended ' +
-          'to use a `<select>` element instead.'
-        );
-      }
-    }
-
-    decorated.call(this, $element, options);
-  }
-
-  InputData.prototype.current = function (_, callback) {
-    function getSelected (data, selectedIds) {
-      var selected = [];
-
-      if (data.selected || $.inArray(data.id, selectedIds) !== -1) {
-        data.selected = true;
-        selected.push(data);
-      } else {
-        data.selected = false;
-      }
-
-      if (data.children) {
-        selected.push.apply(selected, getSelected(data.children, selectedIds));
-      }
-
-      return selected;
-    }
-
-    var selected = [];
-
-    for (var d = 0; d < this._currentData.length; d++) {
-      var data = this._currentData[d];
-
-      selected.push.apply(
-        selected,
-        getSelected(
-          data,
-          this.$element.val().split(
-            this._valueSeparator
-          )
-        )
-      );
-    }
-
-    callback(selected);
-  };
-
-  InputData.prototype.select = function (_, data) {
-    if (!this.options.get('multiple')) {
-      this.current(function (allData) {
-        $.map(allData, function (data) {
-          data.selected = false;
-        });
-      });
-
-      this.$element.val(data.id);
-      this.$element.trigger('change');
-    } else {
-      var value = this.$element.val();
-      value += this._valueSeparator + data.id;
-
-      this.$element.val(value);
-      this.$element.trigger('change');
-    }
-  };
-
-  InputData.prototype.unselect = function (_, data) {
-    var self = this;
-
-    data.selected = false;
-
-    this.current(function (allData) {
-      var values = [];
-
-      for (var d = 0; d < allData.length; d++) {
-        var item = allData[d];
-
-        if (data.id == item.id) {
-          continue;
-        }
-
-        values.push(item.id);
-      }
-
-      self.$element.val(values.join(self._valueSeparator));
-      self.$element.trigger('change');
-    });
-  };
-
-  InputData.prototype.query = function (_, params, callback) {
-    var results = [];
-
-    for (var d = 0; d < this._currentData.length; d++) {
-      var data = this._currentData[d];
-
-      var matches = this.matches(params, data);
-
-      if (matches !== null) {
-        results.push(matches);
-      }
-    }
-
-    callback({
-      results: results
-    });
-  };
-
-  InputData.prototype.addOptions = function (_, $options) {
-    var options = $.map($options, function ($option) {
-      return $.data($option[0], 'data');
-    });
-
-    this._currentData.push.apply(this._currentData, options);
-  };
-
-  return InputData;
-});
-
-S2.define('select2/compat/matcher',[
-  'jquery'
-], function ($) {
-  function oldMatcher (matcher) {
-    function wrappedMatcher (params, data) {
-      var match = $.extend(true, {}, data);
-
-      if (params.term == null || $.trim(params.term) === '') {
-        return match;
-      }
-
-      if (data.children) {
-        for (var c = data.children.length - 1; c >= 0; c--) {
-          var child = data.children[c];
-
-          // Check if the child object matches
-          // The old matcher returned a boolean true or false
-          var doesMatch = matcher(params.term, child.text, child);
-
-          // If the child didn't match, pop it off
-          if (!doesMatch) {
-            match.children.splice(c, 1);
-          }
-        }
-
-        if (match.children.length > 0) {
-          return match;
-        }
-      }
-
-      if (matcher(params.term, data.text, data)) {
-        return match;
-      }
-
-      return null;
-    }
-
-    return wrappedMatcher;
-  }
-
-  return oldMatcher;
-});
-
-S2.define('select2/compat/query',[
-
-], function () {
-  function Query (decorated, $element, options) {
-    if (options.get('debug') && window.console && console.warn) {
-      console.warn(
-        'Select2: The `query` option has been deprecated in favor of a ' +
-        'custom data adapter that overrides the `query` method. Support ' +
-        'will be removed for the `query` option in future versions of ' +
-        'Select2.'
-      );
-    }
-
-    decorated.call(this, $element, options);
-  }
-
-  Query.prototype.query = function (_, params, callback) {
-    params.callback = callback;
-
-    var query = this.options.get('query');
-
-    query.call(null, params);
-  };
-
-  return Query;
-});
-
-S2.define('select2/dropdown/attachContainer',[
-
-], function () {
-  function AttachContainer (decorated, $element, options) {
-    decorated.call(this, $element, options);
-  }
-
-  AttachContainer.prototype.position =
-    function (decorated, $dropdown, $container) {
-    var $dropdownContainer = $container.find('.dropdown-wrapper');
-    $dropdownContainer.append($dropdown);
-
-    $dropdown.addClass('select2-dropdown--below');
-    $container.addClass('select2-container--below');
-  };
-
-  return AttachContainer;
-});
-
-S2.define('select2/dropdown/stopPropagation',[
-
-], function () {
-  function StopPropagation () { }
-
-  StopPropagation.prototype.bind = function (decorated, container, $container) {
-    decorated.call(this, container, $container);
-
-    var stoppedEvents = [
-    'blur',
-    'change',
-    'click',
-    'dblclick',
-    'focus',
-    'focusin',
-    'focusout',
-    'input',
-    'keydown',
-    'keyup',
-    'keypress',
-    'mousedown',
-    'mouseenter',
-    'mouseleave',
-    'mousemove',
-    'mouseover',
-    'mouseup',
-    'search',
-    'touchend',
-    'touchstart'
-    ];
-
-    this.$dropdown.on(stoppedEvents.join(' '), function (evt) {
-      evt.stopPropagation();
-    });
-  };
-
-  return StopPropagation;
-});
-
-S2.define('select2/selection/stopPropagation',[
-
-], function () {
-  function StopPropagation () { }
-
-  StopPropagation.prototype.bind = function (decorated, container, $container) {
-    decorated.call(this, container, $container);
-
-    var stoppedEvents = [
-      'blur',
-      'change',
-      'click',
-      'dblclick',
-      'focus',
-      'focusin',
-      'focusout',
-      'input',
-      'keydown',
-      'keyup',
-      'keypress',
-      'mousedown',
-      'mouseenter',
-      'mouseleave',
-      'mousemove',
-      'mouseover',
-      'mouseup',
-      'search',
-      'touchend',
-      'touchstart'
-    ];
-
-    this.$selection.on(stoppedEvents.join(' '), function (evt) {
-      evt.stopPropagation();
-    });
-  };
-
-  return StopPropagation;
-});
-
-/*!
- * jQuery Mousewheel 3.1.13
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- */
-
-(function (factory) {
-    if ( typeof S2.define === 'function' && S2.define.amd ) {
-        // AMD. Register as an anonymous module.
-        S2.define('jquery-mousewheel',['jquery'], factory);
-    } else if (typeof exports === 'object') {
-        // Node/CommonJS style for Browserify
-        module.exports = factory;
-    } else {
-        // Browser globals
-        factory(jQuery);
-    }
-}(function ($) {
-
-    var toFix  = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'],
-        toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ?
-                    ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'],
-        slice  = Array.prototype.slice,
-        nullLowestDeltaTimeout, lowestDelta;
-
-    if ( $.event.fixHooks ) {
-        for ( var i = toFix.length; i; ) {
-            $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks;
-        }
-    }
-
-    var special = $.event.special.mousewheel = {
-        version: '3.1.12',
-
-        setup: function() {
-            if ( this.addEventListener ) {
-                for ( var i = toBind.length; i; ) {
-                    this.addEventListener( toBind[--i], handler, false );
-                }
-            } else {
-                this.onmousewheel = handler;
-            }
-            // Store the line height and page height for this particular element
-            $.data(this, 'mousewheel-line-height', special.getLineHeight(this));
-            $.data(this, 'mousewheel-page-height', special.getPageHeight(this));
-        },
-
-        teardown: function() {
-            if ( this.removeEventListener ) {
-                for ( var i = toBind.length; i; ) {
-                    this.removeEventListener( toBind[--i], handler, false );
-                }
-            } else {
-                this.onmousewheel = null;
-            }
-            // Clean up the data we added to the element
-            $.removeData(this, 'mousewheel-line-height');
-            $.removeData(this, 'mousewheel-page-height');
-        },
-
-        getLineHeight: function(elem) {
-            var $elem = $(elem),
-                $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent']();
-            if (!$parent.length) {
-                $parent = $('body');
-            }
-            return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16;
-        },
-
-        getPageHeight: function(elem) {
-            return $(elem).height();
-        },
-
-        settings: {
-            adjustOldDeltas: true, // see shouldAdjustOldDeltas() below
-            normalizeOffset: true  // calls getBoundingClientRect for each event
-        }
-    };
-
-    $.fn.extend({
-        mousewheel: function(fn) {
-            return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel');
-        },
-
-        unmousewheel: function(fn) {
-            return this.unbind('mousewheel', fn);
-        }
-    });
-
-
-    function handler(event) {
-        var orgEvent   = event || window.event,
-            args       = slice.call(arguments, 1),
-            delta      = 0,
-            deltaX     = 0,
-            deltaY     = 0,
-            absDelta   = 0,
-            offsetX    = 0,
-            offsetY    = 0;
-        event = $.event.fix(orgEvent);
-        event.type = 'mousewheel';
-
-        // Old school scrollwheel delta
-        if ( 'detail'      in orgEvent ) { deltaY = orgEvent.detail * -1;      }
-        if ( 'wheelDelta'  in orgEvent ) { deltaY = orgEvent.wheelDelta;       }
-        if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY;      }
-        if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; }
-
-        // Firefox < 17 horizontal scrolling related to DOMMouseScroll event
-        if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
-            deltaX = deltaY * -1;
-            deltaY = 0;
-        }
-
-        // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
-        delta = deltaY === 0 ? deltaX : deltaY;
-
-        // New school wheel delta (wheel event)
-        if ( 'deltaY' in orgEvent ) {
-            deltaY = orgEvent.deltaY * -1;
-            delta  = deltaY;
-        }
-        if ( 'deltaX' in orgEvent ) {
-            deltaX = orgEvent.deltaX;
-            if ( deltaY === 0 ) { delta  = deltaX * -1; }
-        }
-
-        // No change actually happened, no reason to go any further
-        if ( deltaY === 0 && deltaX === 0 ) { return; }
-
-        // Need to convert lines and pages to pixels if we aren't already in pixels
-        // There are three delta modes:
-        //   * deltaMode 0 is by pixels, nothing to do
-        //   * deltaMode 1 is by lines
-        //   * deltaMode 2 is by pages
-        if ( orgEvent.deltaMode === 1 ) {
-            var lineHeight = $.data(this, 'mousewheel-line-height');
-            delta  *= lineHeight;
-            deltaY *= lineHeight;
-            deltaX *= lineHeight;
-        } else if ( orgEvent.deltaMode === 2 ) {
-            var pageHeight = $.data(this, 'mousewheel-page-height');
-            delta  *= pageHeight;
-            deltaY *= pageHeight;
-            deltaX *= pageHeight;
-        }
-
-        // Store lowest absolute delta to normalize the delta values
-        absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) );
-
-        if ( !lowestDelta || absDelta < lowestDelta ) {
-            lowestDelta = absDelta;
-
-            // Adjust older deltas if necessary
-            if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
-                lowestDelta /= 40;
-            }
-        }
-
-        // Adjust older deltas if necessary
-        if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) {
-            // Divide all the things by 40!
-            delta  /= 40;
-            deltaX /= 40;
-            deltaY /= 40;
-        }
-
-        // Get a whole, normalized value for the deltas
-        delta  = Math[ delta  >= 1 ? 'floor' : 'ceil' ](delta  / lowestDelta);
-        deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta);
-        deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta);
-
-        // Normalise offsetX and offsetY properties
-        if ( special.settings.normalizeOffset && this.getBoundingClientRect ) {
-            var boundingRect = this.getBoundingClientRect();
-            offsetX = event.clientX - boundingRect.left;
-            offsetY = event.clientY - boundingRect.top;
-        }
-
-        // Add information to the event object
-        event.deltaX = deltaX;
-        event.deltaY = deltaY;
-        event.deltaFactor = lowestDelta;
-        event.offsetX = offsetX;
-        event.offsetY = offsetY;
-        // Go ahead and set deltaMode to 0 since we converted to pixels
-        // Although this is a little odd since we overwrite the deltaX/Y
-        // properties with normalized deltas.
-        event.deltaMode = 0;
-
-        // Add event and delta to the front of the arguments
-        args.unshift(event, delta, deltaX, deltaY);
-
-        // Clearout lowestDelta after sometime to better
-        // handle multiple device types that give different
-        // a different lowestDelta
-        // Ex: trackpad = 3 and mouse wheel = 120
-        if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); }
-        nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200);
-
-        return ($.event.dispatch || $.event.handle).apply(this, args);
-    }
-
-    function nullLowestDelta() {
-        lowestDelta = null;
-    }
-
-    function shouldAdjustOldDeltas(orgEvent, absDelta) {
-        // If this is an older event and the delta is divisable by 120,
-        // then we are assuming that the browser is treating this as an
-        // older mouse wheel event and that we should divide the deltas
-        // by 40 to try and get a more usable deltaFactor.
-        // Side note, this actually impacts the reported scroll distance
-        // in older browsers and can cause scrolling to be slower than native.
-        // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
-        return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0;
-    }
-
-}));
-
-S2.define('jquery.select2',[
-  'jquery',
-  'jquery-mousewheel',
-
-  './select2/core',
-  './select2/defaults'
-], function ($, _, Select2, Defaults) {
-  if ($.fn.select2 == null) {
-    // All methods that should return the element
-    var thisMethods = ['open', 'close', 'destroy'];
-
-    $.fn.select2 = function (options) {
-      options = options || {};
-
-      if (typeof options === 'object') {
-        this.each(function () {
-          var instanceOptions = $.extend(true, {}, options);
-
-          var instance = new Select2($(this), instanceOptions);
-        });
-
-        return this;
-      } else if (typeof options === 'string') {
-        var ret;
-        var args = Array.prototype.slice.call(arguments, 1);
-
-        this.each(function () {
-          var instance = $(this).data('select2');
-
-          if (instance == null && window.console && console.error) {
-            console.error(
-              'The select2(\'' + options + '\') method was called on an ' +
-              'element that is not using Select2.'
-            );
-          }
-
-          ret = instance[options].apply(instance, args);
-        });
-
-        // Check if we should be returning `this`
-        if ($.inArray(options, thisMethods) > -1) {
-          return this;
-        }
-
-        return ret;
-      } else {
-        throw new Error('Invalid arguments for Select2: ' + options);
-      }
-    };
-  }
-
-  if ($.fn.select2.defaults == null) {
-    $.fn.select2.defaults = Defaults;
-  }
-
-  return Select2;
-});
-
-  // Return the AMD loader configuration so it can be used outside of this file
-  return {
-    define: S2.define,
-    require: S2.require
-  };
-}());
-
-  // Autoload the jQuery bindings
-  // We know that all of the modules exist above this, so we're safe
-  var select2 = S2.require('jquery.select2');
-
-  // Hold the AMD module references on the jQuery function that was just loaded
-  // This allows Select2 to use the internal loader outside of this file, such
-  // as in the language files.
-  jQuery.fn.select2.amd = S2;
-
-  // Return the Select2 instance for anyone who is importing it.
-  return select2;
-}));
diff --git a/static/admin/js/vendor/select2/select2.full.min.js b/static/admin/js/vendor/select2/select2.full.min.js
deleted file mode 100644
index 684edf32..00000000
--- a/static/admin/js/vendor/select2/select2.full.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox"  aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">&times;</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">&times;</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var a={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");
-if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),(null==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null;
-},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("select2/compat/utils",["jquery"],function(a){function b(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&(f=d(this),null!=f&&g.push(f))})),b.attr("class",g.join(" "))}return{syncCssClasses:b}}),b.define("select2/compat/containerCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("containerCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptContainerCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("containerCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/dropdownCss",["jquery","./utils"],function(a,b){function c(a){return null}function d(){}return d.prototype.render=function(d){var e=d.call(this),f=this.options.get("dropdownCssClass")||"";a.isFunction(f)&&(f=f(this.$element));var g=this.options.get("adaptDropdownCssClass");if(g=g||c,-1!==f.indexOf(":all:")){f=f.replace(":all:","");var h=g;g=function(a){var b=h(a);return null!=b?b+" "+a:a}}var i=this.options.get("dropdownCss")||{};return a.isFunction(i)&&(i=i(this.$element)),b.syncCssClasses(e,this.$element,g),e.css(i),e.addClass(f),e},d}),b.define("select2/compat/initSelection",["jquery"],function(a){function b(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=c.get("initSelection"),this._isInitialized=!1,a.call(this,b,c)}return b.prototype.current=function(b,c){var d=this;return this._isInitialized?void b.call(this,c):void this.initSelection.call(null,this.$element,function(b){d._isInitialized=!0,a.isArray(b)||(b=[b]),c(b)})},b}),b.define("select2/compat/inputData",["jquery"],function(a){function b(a,b,c){this._currentData=[],this._valueSeparator=c.get("valueSeparator")||",","hidden"===b.prop("type")&&c.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),a.call(this,b,c)}return b.prototype.current=function(b,c){function d(b,c){var e=[];return b.selected||-1!==a.inArray(b.id,c)?(b.selected=!0,e.push(b)):b.selected=!1,b.children&&e.push.apply(e,d(b.children,c)),e}for(var e=[],f=0;f<this._currentData.length;f++){var g=this._currentData[f];e.push.apply(e,d(g,this.$element.val().split(this._valueSeparator)))}c(e)},b.prototype.select=function(b,c){if(this.options.get("multiple")){var d=this.$element.val();d+=this._valueSeparator+c.id,this.$element.val(d),this.$element.trigger("change")}else this.current(function(b){a.map(b,function(a){a.selected=!1})}),this.$element.val(c.id),this.$element.trigger("change")},b.prototype.unselect=function(a,b){var c=this;b.selected=!1,this.current(function(a){for(var d=[],e=0;e<a.length;e++){var f=a[e];b.id!=f.id&&d.push(f.id)}c.$element.val(d.join(c._valueSeparator)),c.$element.trigger("change")})},b.prototype.query=function(a,b,c){for(var d=[],e=0;e<this._currentData.length;e++){var f=this._currentData[e],g=this.matches(b,f);null!==g&&d.push(g)}c({results:d})},b.prototype.addOptions=function(b,c){var d=a.map(c,function(b){return a.data(b[0],"data")});this._currentData.push.apply(this._currentData,d)},b}),b.define("select2/compat/matcher",["jquery"],function(a){function b(b){function c(c,d){var e=a.extend(!0,{},d);if(null==c.term||""===a.trim(c.term))return e;if(d.children){for(var f=d.children.length-1;f>=0;f--){var g=d.children[f],h=b(c.term,g.text,g);h||e.children.splice(f,1)}if(e.children.length>0)return e}return b(c.term,d.text,d)?e:null}return c}return b}),b.define("select2/compat/query",[],function(){function a(a,b,c){c.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),a.call(this,b,c)}return a.prototype.query=function(a,b,c){b.callback=c;var d=this.options.get("query");d.call(null,b)},a}),b.define("select2/dropdown/attachContainer",[],function(){function a(a,b,c){a.call(this,b,c)}return a.prototype.position=function(a,b,c){var d=c.find(".dropdown-wrapper");d.append(b),b.addClass("select2-dropdown--below"),c.addClass("select2-container--below")},a}),b.define("select2/dropdown/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$dropdown.on(d.join(" "),function(a){a.stopPropagation()})},a}),b.define("select2/selection/stopPropagation",[],function(){function a(){}return a.prototype.bind=function(a,b,c){a.call(this,b,c);var d=["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"];this.$selection.on(d.join(" "),function(a){a.stopPropagation()})},a}),function(c){"function"==typeof b.define&&b.define.amd?b.define("jquery-mousewheel",["jquery"],c):"object"==typeof exports?module.exports=c:c(a)}(function(a){function b(b){var g=b||window.event,h=i.call(arguments,1),j=0,l=0,m=0,n=0,o=0,p=0;if(b=a.event.fix(g),b.type="mousewheel","detail"in g&&(m=-1*g.detail),"wheelDelta"in g&&(m=g.wheelDelta),"wheelDeltaY"in g&&(m=g.wheelDeltaY),"wheelDeltaX"in g&&(l=-1*g.wheelDeltaX),"axis"in g&&g.axis===g.HORIZONTAL_AXIS&&(l=-1*m,m=0),j=0===m?l:m,"deltaY"in g&&(m=-1*g.deltaY,j=m),"deltaX"in g&&(l=g.deltaX,0===m&&(j=-1*l)),0!==m||0!==l){if(1===g.deltaMode){var q=a.data(this,"mousewheel-line-height");j*=q,m*=q,l*=q}else if(2===g.deltaMode){var r=a.data(this,"mousewheel-page-height");j*=r,m*=r,l*=r}if(n=Math.max(Math.abs(m),Math.abs(l)),(!f||f>n)&&(f=n,d(g,n)&&(f/=40)),d(g,n)&&(j/=40,l/=40,m/=40),j=Math[j>=1?"floor":"ceil"](j/f),l=Math[l>=1?"floor":"ceil"](l/f),m=Math[m>=1?"floor":"ceil"](m/f),k.settings.normalizeOffset&&this.getBoundingClientRect){var s=this.getBoundingClientRect();o=b.clientX-s.left,p=b.clientY-s.top}return b.deltaX=l,b.deltaY=m,b.deltaFactor=f,b.offsetX=o,b.offsetY=p,b.deltaMode=0,h.unshift(b,j,l,m),e&&clearTimeout(e),e=setTimeout(c,200),(a.event.dispatch||a.event.handle).apply(this,h)}}function c(){f=null}function d(a,b){return k.settings.adjustOldDeltas&&"mousewheel"===a.type&&b%120===0}var e,f,g=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],h="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],i=Array.prototype.slice;if(a.event.fixHooks)for(var j=g.length;j;)a.event.fixHooks[g[--j]]=a.event.mouseHooks;var k=a.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var c=h.length;c;)this.addEventListener(h[--c],b,!1);else this.onmousewheel=b;a.data(this,"mousewheel-line-height",k.getLineHeight(this)),a.data(this,"mousewheel-page-height",k.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var c=h.length;c;)this.removeEventListener(h[--c],b,!1);else this.onmousewheel=null;a.removeData(this,"mousewheel-line-height"),a.removeData(this,"mousewheel-page-height")},getLineHeight:function(b){var c=a(b),d=c["offsetParent"in a.fn?"offsetParent":"parent"]();return d.length||(d=a("body")),parseInt(d.css("fontSize"),10)||parseInt(c.css("fontSize"),10)||16},getPageHeight:function(b){return a(b).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};a.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
\ No newline at end of file
diff --git a/static/admin/js/vendor/xregexp/LICENSE.txt b/static/admin/js/vendor/xregexp/LICENSE.txt
deleted file mode 100644
index 341652a5..00000000
--- a/static/admin/js/vendor/xregexp/LICENSE.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2007-2012 Steven Levithan <http://xregexp.com/>
-
-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/static/admin/js/vendor/xregexp/xregexp.js b/static/admin/js/vendor/xregexp/xregexp.js
deleted file mode 100644
index 7a4454e6..00000000
--- a/static/admin/js/vendor/xregexp/xregexp.js
+++ /dev/null
@@ -1,2308 +0,0 @@
-
-/***** xregexp.js *****/
-
-/*!
- * XRegExp v2.0.0
- * (c) 2007-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- */
-
-/**
- * XRegExp provides augmented, extensible JavaScript regular expressions. You get new syntax,
- * flags, and methods beyond what browsers support natively. XRegExp is also a regex utility belt
- * with tools to make your client-side grepping simpler and more powerful, while freeing you from
- * worrying about pesky cross-browser inconsistencies and the dubious `lastIndex` property. See
- * XRegExp's documentation (http://xregexp.com/) for more details.
- * @module xregexp
- * @requires N/A
- */
-var XRegExp;
-
-// Avoid running twice; that would reset tokens and could break references to native globals
-XRegExp = XRegExp || (function (undef) {
-    "use strict";
-
-/*--------------------------------------
- *  Private variables
- *------------------------------------*/
-
-    var self,
-        addToken,
-        add,
-
-// Optional features; can be installed and uninstalled
-        features = {
-            natives: false,
-            extensibility: false
-        },
-
-// Store native methods to use and restore ("native" is an ES3 reserved keyword)
-        nativ = {
-            exec: RegExp.prototype.exec,
-            test: RegExp.prototype.test,
-            match: String.prototype.match,
-            replace: String.prototype.replace,
-            split: String.prototype.split
-        },
-
-// Storage for fixed/extended native methods
-        fixed = {},
-
-// Storage for cached regexes
-        cache = {},
-
-// Storage for addon tokens
-        tokens = [],
-
-// Token scopes
-        defaultScope = "default",
-        classScope = "class",
-
-// Regexes that match native regex syntax
-        nativeTokens = {
-            // Any native multicharacter token in default scope (includes octals, excludes character classes)
-            "default": /^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,
-            // Any native multicharacter token in character class scope (includes octals)
-            "class": /^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/
-        },
-
-// Any backreference in replacement strings
-        replacementToken = /\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,
-
-// Any character with a later instance in the string
-        duplicateFlags = /([\s\S])(?=[\s\S]*\1)/g,
-
-// Any greedy/lazy quantifier
-        quantifier = /^(?:[?*+]|{\d+(?:,\d*)?})\??/,
-
-// Check for correct `exec` handling of nonparticipating capturing groups
-        compliantExecNpcg = nativ.exec.call(/()??/, "")[1] === undef,
-
-// Check for flag y support (Firefox 3+)
-        hasNativeY = RegExp.prototype.sticky !== undef,
-
-// Used to kill infinite recursion during XRegExp construction
-        isInsideConstructor = false,
-
-// Storage for known flags, including addon flags
-        registeredFlags = "gim" + (hasNativeY ? "y" : "");
-
-/*--------------------------------------
- *  Private helper functions
- *------------------------------------*/
-
-/**
- * Attaches XRegExp.prototype properties and named capture supporting data to a regex object.
- * @private
- * @param {RegExp} regex Regex to augment.
- * @param {Array} captureNames Array with capture names, or null.
- * @param {Boolean} [isNative] Whether the regex was created by `RegExp` rather than `XRegExp`.
- * @returns {RegExp} Augmented regex.
- */
-    function augment(regex, captureNames, isNative) {
-        var p;
-        // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value
-        for (p in self.prototype) {
-            if (self.prototype.hasOwnProperty(p)) {
-                regex[p] = self.prototype[p];
-            }
-        }
-        regex.xregexp = {captureNames: captureNames, isNative: !!isNative};
-        return regex;
-    }
-
-/**
- * Returns native `RegExp` flags used by a regex object.
- * @private
- * @param {RegExp} regex Regex to check.
- * @returns {String} Native flags in use.
- */
-    function getNativeFlags(regex) {
-        //return nativ.exec.call(/\/([a-z]*)$/i, String(regex))[1];
-        return (regex.global     ? "g" : "") +
-               (regex.ignoreCase ? "i" : "") +
-               (regex.multiline  ? "m" : "") +
-               (regex.extended   ? "x" : "") + // Proposed for ES6, included in AS3
-               (regex.sticky     ? "y" : ""); // Proposed for ES6, included in Firefox 3+
-    }
-
-/**
- * Copies a regex object while preserving special properties for named capture and augmenting with
- * `XRegExp.prototype` methods. The copy has a fresh `lastIndex` property (set to zero). Allows
- * adding and removing flags while copying the regex.
- * @private
- * @param {RegExp} regex Regex to copy.
- * @param {String} [addFlags] Flags to be added while copying the regex.
- * @param {String} [removeFlags] Flags to be removed while copying the regex.
- * @returns {RegExp} Copy of the provided regex, possibly with modified flags.
- */
-    function copy(regex, addFlags, removeFlags) {
-        if (!self.isRegExp(regex)) {
-            throw new TypeError("type RegExp expected");
-        }
-        var flags = nativ.replace.call(getNativeFlags(regex) + (addFlags || ""), duplicateFlags, "");
-        if (removeFlags) {
-            // Would need to escape `removeFlags` if this was public
-            flags = nativ.replace.call(flags, new RegExp("[" + removeFlags + "]+", "g"), "");
-        }
-        if (regex.xregexp && !regex.xregexp.isNative) {
-            // Compiling the current (rather than precompilation) source preserves the effects of nonnative source flags
-            regex = augment(self(regex.source, flags),
-                            regex.xregexp.captureNames ? regex.xregexp.captureNames.slice(0) : null);
-        } else {
-            // Augment with `XRegExp.prototype` methods, but use native `RegExp` (avoid searching for special tokens)
-            regex = augment(new RegExp(regex.source, flags), null, true);
-        }
-        return regex;
-    }
-
-/*
- * Returns the last index at which a given value can be found in an array, or `-1` if it's not
- * present. The array is searched backwards.
- * @private
- * @param {Array} array Array to search.
- * @param {*} value Value to locate in the array.
- * @returns {Number} Last zero-based index at which the item is found, or -1.
- */
-    function lastIndexOf(array, value) {
-        var i = array.length;
-        if (Array.prototype.lastIndexOf) {
-            return array.lastIndexOf(value); // Use the native method if available
-        }
-        while (i--) {
-            if (array[i] === value) {
-                return i;
-            }
-        }
-        return -1;
-    }
-
-/**
- * Determines whether an object is of the specified type.
- * @private
- * @param {*} value Object to check.
- * @param {String} type Type to check for, in lowercase.
- * @returns {Boolean} Whether the object matches the type.
- */
-    function isType(value, type) {
-        return Object.prototype.toString.call(value).toLowerCase() === "[object " + type + "]";
-    }
-
-/**
- * Prepares an options object from the given value.
- * @private
- * @param {String|Object} value Value to convert to an options object.
- * @returns {Object} Options object.
- */
-    function prepareOptions(value) {
-        value = value || {};
-        if (value === "all" || value.all) {
-            value = {natives: true, extensibility: true};
-        } else if (isType(value, "string")) {
-            value = self.forEach(value, /[^\s,]+/, function (m) {
-                this[m] = true;
-            }, {});
-        }
-        return value;
-    }
-
-/**
- * Runs built-in/custom tokens in reverse insertion order, until a match is found.
- * @private
- * @param {String} pattern Original pattern from which an XRegExp object is being built.
- * @param {Number} pos Position to search for tokens within `pattern`.
- * @param {Number} scope Current regex scope.
- * @param {Object} context Context object assigned to token handler functions.
- * @returns {Object} Object with properties `output` (the substitution string returned by the
- *   successful token handler) and `match` (the token's match array), or null.
- */
-    function runTokens(pattern, pos, scope, context) {
-        var i = tokens.length,
-            result = null,
-            match,
-            t;
-        // Protect against constructing XRegExps within token handler and trigger functions
-        isInsideConstructor = true;
-        // Must reset `isInsideConstructor`, even if a `trigger` or `handler` throws
-        try {
-            while (i--) { // Run in reverse order
-                t = tokens[i];
-                if ((t.scope === "all" || t.scope === scope) && (!t.trigger || t.trigger.call(context))) {
-                    t.pattern.lastIndex = pos;
-                    match = fixed.exec.call(t.pattern, pattern); // Fixed `exec` here allows use of named backreferences, etc.
-                    if (match && match.index === pos) {
-                        result = {
-                            output: t.handler.call(context, match, scope),
-                            match: match
-                        };
-                        break;
-                    }
-                }
-            }
-        } catch (err) {
-            throw err;
-        } finally {
-            isInsideConstructor = false;
-        }
-        return result;
-    }
-
-/**
- * Enables or disables XRegExp syntax and flag extensibility.
- * @private
- * @param {Boolean} on `true` to enable; `false` to disable.
- */
-    function setExtensibility(on) {
-        self.addToken = addToken[on ? "on" : "off"];
-        features.extensibility = on;
-    }
-
-/**
- * Enables or disables native method overrides.
- * @private
- * @param {Boolean} on `true` to enable; `false` to disable.
- */
-    function setNatives(on) {
-        RegExp.prototype.exec = (on ? fixed : nativ).exec;
-        RegExp.prototype.test = (on ? fixed : nativ).test;
-        String.prototype.match = (on ? fixed : nativ).match;
-        String.prototype.replace = (on ? fixed : nativ).replace;
-        String.prototype.split = (on ? fixed : nativ).split;
-        features.natives = on;
-    }
-
-/*--------------------------------------
- *  Constructor
- *------------------------------------*/
-
-/**
- * Creates an extended regular expression object for matching text with a pattern. Differs from a
- * native regular expression in that additional syntax and flags are supported. The returned object
- * is in fact a native `RegExp` and works with all native methods.
- * @class XRegExp
- * @constructor
- * @param {String|RegExp} pattern Regex pattern string, or an existing `RegExp` object to copy.
- * @param {String} [flags] Any combination of flags:
- *   <li>`g` - global
- *   <li>`i` - ignore case
- *   <li>`m` - multiline anchors
- *   <li>`n` - explicit capture
- *   <li>`s` - dot matches all (aka singleline)
- *   <li>`x` - free-spacing and line comments (aka extended)
- *   <li>`y` - sticky (Firefox 3+ only)
- *   Flags cannot be provided when constructing one `RegExp` from another.
- * @returns {RegExp} Extended regular expression object.
- * @example
- *
- * // With named capture and flag x
- * date = XRegExp('(?<year>  [0-9]{4}) -?  # year  \n\
- *                 (?<month> [0-9]{2}) -?  # month \n\
- *                 (?<day>   [0-9]{2})     # day   ', 'x');
- *
- * // Passing a regex object to copy it. The copy maintains special properties for named capture,
- * // is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property (set to
- * // zero). Native regexes are not recompiled using XRegExp syntax.
- * XRegExp(/regex/);
- */
-    self = function (pattern, flags) {
-        if (self.isRegExp(pattern)) {
-            if (flags !== undef) {
-                throw new TypeError("can't supply flags when constructing one RegExp from another");
-            }
-            return copy(pattern);
-        }
-        // Tokens become part of the regex construction process, so protect against infinite recursion
-        // when an XRegExp is constructed within a token handler function
-        if (isInsideConstructor) {
-            throw new Error("can't call the XRegExp constructor within token definition functions");
-        }
-
-        var output = [],
-            scope = defaultScope,
-            tokenContext = {
-                hasNamedCapture: false,
-                captureNames: [],
-                hasFlag: function (flag) {
-                    return flags.indexOf(flag) > -1;
-                }
-            },
-            pos = 0,
-            tokenResult,
-            match,
-            chr;
-        pattern = pattern === undef ? "" : String(pattern);
-        flags = flags === undef ? "" : String(flags);
-
-        if (nativ.match.call(flags, duplicateFlags)) { // Don't use test/exec because they would update lastIndex
-            throw new SyntaxError("invalid duplicate regular expression flag");
-        }
-        // Strip/apply leading mode modifier with any combination of flags except g or y: (?imnsx)
-        pattern = nativ.replace.call(pattern, /^\(\?([\w$]+)\)/, function ($0, $1) {
-            if (nativ.test.call(/[gy]/, $1)) {
-                throw new SyntaxError("can't use flag g or y in mode modifier");
-            }
-            flags = nativ.replace.call(flags + $1, duplicateFlags, "");
-            return "";
-        });
-        self.forEach(flags, /[\s\S]/, function (m) {
-            if (registeredFlags.indexOf(m[0]) < 0) {
-                throw new SyntaxError("invalid regular expression flag " + m[0]);
-            }
-        });
-
-        while (pos < pattern.length) {
-            // Check for custom tokens at the current position
-            tokenResult = runTokens(pattern, pos, scope, tokenContext);
-            if (tokenResult) {
-                output.push(tokenResult.output);
-                pos += (tokenResult.match[0].length || 1);
-            } else {
-                // Check for native tokens (except character classes) at the current position
-                match = nativ.exec.call(nativeTokens[scope], pattern.slice(pos));
-                if (match) {
-                    output.push(match[0]);
-                    pos += match[0].length;
-                } else {
-                    chr = pattern.charAt(pos);
-                    if (chr === "[") {
-                        scope = classScope;
-                    } else if (chr === "]") {
-                        scope = defaultScope;
-                    }
-                    // Advance position by one character
-                    output.push(chr);
-                    ++pos;
-                }
-            }
-        }
-
-        return augment(new RegExp(output.join(""), nativ.replace.call(flags, /[^gimy]+/g, "")),
-                       tokenContext.hasNamedCapture ? tokenContext.captureNames : null);
-    };
-
-/*--------------------------------------
- *  Public methods/properties
- *------------------------------------*/
-
-// Installed and uninstalled states for `XRegExp.addToken`
-    addToken = {
-        on: function (regex, handler, options) {
-            options = options || {};
-            if (regex) {
-                tokens.push({
-                    pattern: copy(regex, "g" + (hasNativeY ? "y" : "")),
-                    handler: handler,
-                    scope: options.scope || defaultScope,
-                    trigger: options.trigger || null
-                });
-            }
-            // Providing `customFlags` with null `regex` and `handler` allows adding flags that do
-            // nothing, but don't throw an error
-            if (options.customFlags) {
-                registeredFlags = nativ.replace.call(registeredFlags + options.customFlags, duplicateFlags, "");
-            }
-        },
-        off: function () {
-            throw new Error("extensibility must be installed before using addToken");
-        }
-    };
-
-/**
- * Extends or changes XRegExp syntax and allows custom flags. This is used internally and can be
- * used to create XRegExp addons. `XRegExp.install('extensibility')` must be run before calling
- * this function, or an error is thrown. If more than one token can match the same string, the last
- * added wins.
- * @memberOf XRegExp
- * @param {RegExp} regex Regex object that matches the new token.
- * @param {Function} handler Function that returns a new pattern string (using native regex syntax)
- *   to replace the matched token within all future XRegExp regexes. Has access to persistent
- *   properties of the regex being built, through `this`. Invoked with two arguments:
- *   <li>The match array, with named backreference properties.
- *   <li>The regex scope where the match was found.
- * @param {Object} [options] Options object with optional properties:
- *   <li>`scope` {String} Scopes where the token applies: 'default', 'class', or 'all'.
- *   <li>`trigger` {Function} Function that returns `true` when the token should be applied; e.g.,
- *     if a flag is set. If `false` is returned, the matched string can be matched by other tokens.
- *     Has access to persistent properties of the regex being built, through `this` (including
- *     function `this.hasFlag`).
- *   <li>`customFlags` {String} Nonnative flags used by the token's handler or trigger functions.
- *     Prevents XRegExp from throwing an invalid flag error when the specified flags are used.
- * @example
- *
- * // Basic usage: Adds \a for ALERT character
- * XRegExp.addToken(
- *   /\\a/,
- *   function () {return '\\x07';},
- *   {scope: 'all'}
- * );
- * XRegExp('\\a[\\a-\\n]+').test('\x07\n\x07'); // -> true
- */
-    self.addToken = addToken.off;
-
-/**
- * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with
- * the same pattern and flag combination, the cached copy is returned.
- * @memberOf XRegExp
- * @param {String} pattern Regex pattern string.
- * @param {String} [flags] Any combination of XRegExp flags.
- * @returns {RegExp} Cached XRegExp object.
- * @example
- *
- * while (match = XRegExp.cache('.', 'gs').exec(str)) {
- *   // The regex is compiled once only
- * }
- */
-    self.cache = function (pattern, flags) {
-        var key = pattern + "/" + (flags || "");
-        return cache[key] || (cache[key] = self(pattern, flags));
-    };
-
-/**
- * Escapes any regular expression metacharacters, for use when matching literal strings. The result
- * can safely be used at any point within a regex that uses any flags.
- * @memberOf XRegExp
- * @param {String} str String to escape.
- * @returns {String} String with regex metacharacters escaped.
- * @example
- *
- * XRegExp.escape('Escaped? <.>');
- * // -> 'Escaped\?\ <\.>'
- */
-    self.escape = function (str) {
-        return nativ.replace.call(str, /[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
-    };
-
-/**
- * Executes a regex search in a specified string. Returns a match array or `null`. If the provided
- * regex uses named capture, named backreference properties are included on the match array.
- * Optional `pos` and `sticky` arguments specify the search start position, and whether the match
- * must start at the specified position only. The `lastIndex` property of the provided regex is not
- * used, but is updated for compatibility. Also fixes browser bugs compared to the native
- * `RegExp.prototype.exec` and can be used reliably cross-browser.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {RegExp} regex Regex to search with.
- * @param {Number} [pos=0] Zero-based index at which to start the search.
- * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
- *   only. The string `'sticky'` is accepted as an alternative to `true`.
- * @returns {Array} Match array with named backreference properties, or null.
- * @example
- *
- * // Basic use, with named backreference
- * var match = XRegExp.exec('U+2620', XRegExp('U\\+(?<hex>[0-9A-F]{4})'));
- * match.hex; // -> '2620'
- *
- * // With pos and sticky, in a loop
- * var pos = 2, result = [], match;
- * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\d)>/, pos, 'sticky')) {
- *   result.push(match[1]);
- *   pos = match.index + match[0].length;
- * }
- * // result -> ['2', '3', '4']
- */
-    self.exec = function (str, regex, pos, sticky) {
-        var r2 = copy(regex, "g" + (sticky && hasNativeY ? "y" : ""), (sticky === false ? "y" : "")),
-            match;
-        r2.lastIndex = pos = pos || 0;
-        match = fixed.exec.call(r2, str); // Fixed `exec` required for `lastIndex` fix, etc.
-        if (sticky && match && match.index !== pos) {
-            match = null;
-        }
-        if (regex.global) {
-            regex.lastIndex = match ? r2.lastIndex : 0;
-        }
-        return match;
-    };
-
-/**
- * Executes a provided function once per regex match.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {RegExp} regex Regex to search with.
- * @param {Function} callback Function to execute for each match. Invoked with four arguments:
- *   <li>The match array, with named backreference properties.
- *   <li>The zero-based match index.
- *   <li>The string being traversed.
- *   <li>The regex object being used to traverse the string.
- * @param {*} [context] Object to use as `this` when executing `callback`.
- * @returns {*} Provided `context` object.
- * @example
- *
- * // Extracts every other digit from a string
- * XRegExp.forEach('1a2345', /\d/, function (match, i) {
- *   if (i % 2) this.push(+match[0]);
- * }, []);
- * // -> [2, 4]
- */
-    self.forEach = function (str, regex, callback, context) {
-        var pos = 0,
-            i = -1,
-            match;
-        while ((match = self.exec(str, regex, pos))) {
-            callback.call(context, match, ++i, str, regex);
-            pos = match.index + (match[0].length || 1);
-        }
-        return context;
-    };
-
-/**
- * Copies a regex object and adds flag `g`. The copy maintains special properties for named
- * capture, is augmented with `XRegExp.prototype` methods, and has a fresh `lastIndex` property
- * (set to zero). Native regexes are not recompiled using XRegExp syntax.
- * @memberOf XRegExp
- * @param {RegExp} regex Regex to globalize.
- * @returns {RegExp} Copy of the provided regex with flag `g` added.
- * @example
- *
- * var globalCopy = XRegExp.globalize(/regex/);
- * globalCopy.global; // -> true
- */
-    self.globalize = function (regex) {
-        return copy(regex, "g");
-    };
-
-/**
- * Installs optional features according to the specified options.
- * @memberOf XRegExp
- * @param {Object|String} options Options object or string.
- * @example
- *
- * // With an options object
- * XRegExp.install({
- *   // Overrides native regex methods with fixed/extended versions that support named
- *   // backreferences and fix numerous cross-browser bugs
- *   natives: true,
- *
- *   // Enables extensibility of XRegExp syntax and flags
- *   extensibility: true
- * });
- *
- * // With an options string
- * XRegExp.install('natives extensibility');
- *
- * // Using a shortcut to install all optional features
- * XRegExp.install('all');
- */
-    self.install = function (options) {
-        options = prepareOptions(options);
-        if (!features.natives && options.natives) {
-            setNatives(true);
-        }
-        if (!features.extensibility && options.extensibility) {
-            setExtensibility(true);
-        }
-    };
-
-/**
- * Checks whether an individual optional feature is installed.
- * @memberOf XRegExp
- * @param {String} feature Name of the feature to check. One of:
- *   <li>`natives`
- *   <li>`extensibility`
- * @returns {Boolean} Whether the feature is installed.
- * @example
- *
- * XRegExp.isInstalled('natives');
- */
-    self.isInstalled = function (feature) {
-        return !!(features[feature]);
-    };
-
-/**
- * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes
- * created in another frame, when `instanceof` and `constructor` checks would fail.
- * @memberOf XRegExp
- * @param {*} value Object to check.
- * @returns {Boolean} Whether the object is a `RegExp` object.
- * @example
- *
- * XRegExp.isRegExp('string'); // -> false
- * XRegExp.isRegExp(/regex/i); // -> true
- * XRegExp.isRegExp(RegExp('^', 'm')); // -> true
- * XRegExp.isRegExp(XRegExp('(?s).')); // -> true
- */
-    self.isRegExp = function (value) {
-        return isType(value, "regexp");
-    };
-
-/**
- * Retrieves the matches from searching a string using a chain of regexes that successively search
- * within previous matches. The provided `chain` array can contain regexes and objects with `regex`
- * and `backref` properties. When a backreference is specified, the named or numbered backreference
- * is passed forward to the next regex or returned.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {Array} chain Regexes that each search for matches within preceding results.
- * @returns {Array} Matches by the last regex in the chain, or an empty array.
- * @example
- *
- * // Basic usage; matches numbers within <b> tags
- * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [
- *   XRegExp('(?is)<b>.*?</b>'),
- *   /\d+/
- * ]);
- * // -> ['2', '4', '56']
- *
- * // Passing forward and returning specific backreferences
- * html = '<a href="http://xregexp.com/api/">XRegExp</a>\
- *         <a href="http://www.google.com/">Google</a>';
- * XRegExp.matchChain(html, [
- *   {regex: /<a href="([^"]+)">/i, backref: 1},
- *   {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}
- * ]);
- * // -> ['xregexp.com', 'www.google.com']
- */
-    self.matchChain = function (str, chain) {
-        return (function recurseChain(values, level) {
-            var item = chain[level].regex ? chain[level] : {regex: chain[level]},
-                matches = [],
-                addMatch = function (match) {
-                    matches.push(item.backref ? (match[item.backref] || "") : match[0]);
-                },
-                i;
-            for (i = 0; i < values.length; ++i) {
-                self.forEach(values[i], item.regex, addMatch);
-            }
-            return ((level === chain.length - 1) || !matches.length) ?
-                    matches :
-                    recurseChain(matches, level + 1);
-        }([str], 0));
-    };
-
-/**
- * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string
- * or regex, and the replacement can be a string or a function to be called for each match. To
- * perform a global search and replace, use the optional `scope` argument or include flag `g` if
- * using a regex. Replacement strings can use `${n}` for named and numbered backreferences.
- * Replacement functions can use named backreferences via `arguments[0].name`. Also fixes browser
- * bugs compared to the native `String.prototype.replace` and can be used reliably cross-browser.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {RegExp|String} search Search pattern to be replaced.
- * @param {String|Function} replacement Replacement string or a function invoked to create it.
- *   Replacement strings can include special replacement syntax:
- *     <li>$$ - Inserts a literal '$'.
- *     <li>$&, $0 - Inserts the matched substring.
- *     <li>$` - Inserts the string that precedes the matched substring (left context).
- *     <li>$' - Inserts the string that follows the matched substring (right context).
- *     <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts
- *       backreference n/nn.
- *     <li>${n} - Where n is a name or any number of digits that reference an existent capturing
- *       group, inserts backreference n.
- *   Replacement functions are invoked with three or more arguments:
- *     <li>The matched substring (corresponds to $& above). Named backreferences are accessible as
- *       properties of this first argument.
- *     <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).
- *     <li>The zero-based index of the match within the total search string.
- *     <li>The total string being searched.
- * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not
- *   explicitly specified and using a regex with flag `g`, `scope` is 'all'.
- * @returns {String} New string with one or all matches replaced.
- * @example
- *
- * // Regex search, using named backreferences in replacement string
- * var name = XRegExp('(?<first>\\w+) (?<last>\\w+)');
- * XRegExp.replace('John Smith', name, '${last}, ${first}');
- * // -> 'Smith, John'
- *
- * // Regex search, using named backreferences in replacement function
- * XRegExp.replace('John Smith', name, function (match) {
- *   return match.last + ', ' + match.first;
- * });
- * // -> 'Smith, John'
- *
- * // Global string search/replacement
- * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');
- * // -> 'XRegExp builds XRegExps'
- */
-    self.replace = function (str, search, replacement, scope) {
-        var isRegex = self.isRegExp(search),
-            search2 = search,
-            result;
-        if (isRegex) {
-            if (scope === undef && search.global) {
-                scope = "all"; // Follow flag g when `scope` isn't explicit
-            }
-            // Note that since a copy is used, `search`'s `lastIndex` isn't updated *during* replacement iterations
-            search2 = copy(search, scope === "all" ? "g" : "", scope === "all" ? "" : "g");
-        } else if (scope === "all") {
-            search2 = new RegExp(self.escape(String(search)), "g");
-        }
-        result = fixed.replace.call(String(str), search2, replacement); // Fixed `replace` required for named backreferences, etc.
-        if (isRegex && search.global) {
-            search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
-        }
-        return result;
-    };
-
-/**
- * Splits a string into an array of strings using a regex or string separator. Matches of the
- * separator are not included in the result array. However, if `separator` is a regex that contains
- * capturing groups, backreferences are spliced into the result each time `separator` is matched.
- * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably
- * cross-browser.
- * @memberOf XRegExp
- * @param {String} str String to split.
- * @param {RegExp|String} separator Regex or string to use for separating the string.
- * @param {Number} [limit] Maximum number of items to include in the result array.
- * @returns {Array} Array of substrings.
- * @example
- *
- * // Basic use
- * XRegExp.split('a b c', ' ');
- * // -> ['a', 'b', 'c']
- *
- * // With limit
- * XRegExp.split('a b c', ' ', 2);
- * // -> ['a', 'b']
- *
- * // Backreferences in result array
- * XRegExp.split('..word1..', /([a-z]+)(\d+)/i);
- * // -> ['..', 'word', '1', '..']
- */
-    self.split = function (str, separator, limit) {
-        return fixed.split.call(str, separator, limit);
-    };
-
-/**
- * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and
- * `sticky` arguments specify the search start position, and whether the match must start at the
- * specified position only. The `lastIndex` property of the provided regex is not used, but is
- * updated for compatibility. Also fixes browser bugs compared to the native
- * `RegExp.prototype.test` and can be used reliably cross-browser.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {RegExp} regex Regex to search with.
- * @param {Number} [pos=0] Zero-based index at which to start the search.
- * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position
- *   only. The string `'sticky'` is accepted as an alternative to `true`.
- * @returns {Boolean} Whether the regex matched the provided value.
- * @example
- *
- * // Basic use
- * XRegExp.test('abc', /c/); // -> true
- *
- * // With pos and sticky
- * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false
- */
-    self.test = function (str, regex, pos, sticky) {
-        // Do this the easy way :-)
-        return !!self.exec(str, regex, pos, sticky);
-    };
-
-/**
- * Uninstalls optional features according to the specified options.
- * @memberOf XRegExp
- * @param {Object|String} options Options object or string.
- * @example
- *
- * // With an options object
- * XRegExp.uninstall({
- *   // Restores native regex methods
- *   natives: true,
- *
- *   // Disables additional syntax and flag extensions
- *   extensibility: true
- * });
- *
- * // With an options string
- * XRegExp.uninstall('natives extensibility');
- *
- * // Using a shortcut to uninstall all optional features
- * XRegExp.uninstall('all');
- */
-    self.uninstall = function (options) {
-        options = prepareOptions(options);
-        if (features.natives && options.natives) {
-            setNatives(false);
-        }
-        if (features.extensibility && options.extensibility) {
-            setExtensibility(false);
-        }
-    };
-
-/**
- * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as
- * regex objects or strings. Metacharacters are escaped in patterns provided as strings.
- * Backreferences in provided regex objects are automatically renumbered to work correctly. Native
- * flags used by provided regexes are ignored in favor of the `flags` argument.
- * @memberOf XRegExp
- * @param {Array} patterns Regexes and strings to combine.
- * @param {String} [flags] Any combination of XRegExp flags.
- * @returns {RegExp} Union of the provided regexes and strings.
- * @example
- *
- * XRegExp.union(['a+b*c', /(dogs)\1/, /(cats)\1/], 'i');
- * // -> /a\+b\*c|(dogs)\1|(cats)\2/i
- *
- * XRegExp.union([XRegExp('(?<pet>dogs)\\k<pet>'), XRegExp('(?<pet>cats)\\k<pet>')]);
- * // -> XRegExp('(?<pet>dogs)\\k<pet>|(?<pet>cats)\\k<pet>')
- */
-    self.union = function (patterns, flags) {
-        var parts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,
-            numCaptures = 0,
-            numPriorCaptures,
-            captureNames,
-            rewrite = function (match, paren, backref) {
-                var name = captureNames[numCaptures - numPriorCaptures];
-                if (paren) { // Capturing group
-                    ++numCaptures;
-                    if (name) { // If the current capture has a name
-                        return "(?<" + name + ">";
-                    }
-                } else if (backref) { // Backreference
-                    return "\\" + (+backref + numPriorCaptures);
-                }
-                return match;
-            },
-            output = [],
-            pattern,
-            i;
-        if (!(isType(patterns, "array") && patterns.length)) {
-            throw new TypeError("patterns must be a nonempty array");
-        }
-        for (i = 0; i < patterns.length; ++i) {
-            pattern = patterns[i];
-            if (self.isRegExp(pattern)) {
-                numPriorCaptures = numCaptures;
-                captureNames = (pattern.xregexp && pattern.xregexp.captureNames) || [];
-                // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns
-                // are independently valid; helps keep this simple. Named captures are put back
-                output.push(self(pattern.source).source.replace(parts, rewrite));
-            } else {
-                output.push(self.escape(pattern));
-            }
-        }
-        return self(output.join("|"), flags);
-    };
-
-/**
- * The XRegExp version number.
- * @static
- * @memberOf XRegExp
- * @type String
- */
-    self.version = "2.0.0";
-
-/*--------------------------------------
- *  Fixed/extended native methods
- *------------------------------------*/
-
-/**
- * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
- * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to
- * override the native method. Use via `XRegExp.exec` without overriding natives.
- * @private
- * @param {String} str String to search.
- * @returns {Array} Match array with named backreference properties, or null.
- */
-    fixed.exec = function (str) {
-        var match, name, r2, origLastIndex, i;
-        if (!this.global) {
-            origLastIndex = this.lastIndex;
-        }
-        match = nativ.exec.apply(this, arguments);
-        if (match) {
-            // Fix browsers whose `exec` methods don't consistently return `undefined` for
-            // nonparticipating capturing groups
-            if (!compliantExecNpcg && match.length > 1 && lastIndexOf(match, "") > -1) {
-                r2 = new RegExp(this.source, nativ.replace.call(getNativeFlags(this), "g", ""));
-                // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed
-                // matching due to characters outside the match
-                nativ.replace.call(String(str).slice(match.index), r2, function () {
-                    var i;
-                    for (i = 1; i < arguments.length - 2; ++i) {
-                        if (arguments[i] === undef) {
-                            match[i] = undef;
-                        }
-                    }
-                });
-            }
-            // Attach named capture properties
-            if (this.xregexp && this.xregexp.captureNames) {
-                for (i = 1; i < match.length; ++i) {
-                    name = this.xregexp.captureNames[i - 1];
-                    if (name) {
-                        match[name] = match[i];
-                    }
-                }
-            }
-            // Fix browsers that increment `lastIndex` after zero-length matches
-            if (this.global && !match[0].length && (this.lastIndex > match.index)) {
-                this.lastIndex = match.index;
-            }
-        }
-        if (!this.global) {
-            this.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
-        }
-        return match;
-    };
-
-/**
- * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')`
- * uses this to override the native method.
- * @private
- * @param {String} str String to search.
- * @returns {Boolean} Whether the regex matched the provided value.
- */
-    fixed.test = function (str) {
-        // Do this the easy way :-)
-        return !!fixed.exec.call(this, str);
-    };
-
-/**
- * Adds named capture support (with backreferences returned as `result.name`), and fixes browser
- * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to
- * override the native method.
- * @private
- * @param {RegExp} regex Regex to search with.
- * @returns {Array} If `regex` uses flag g, an array of match strings or null. Without flag g, the
- *   result of calling `regex.exec(this)`.
- */
-    fixed.match = function (regex) {
-        if (!self.isRegExp(regex)) {
-            regex = new RegExp(regex); // Use native `RegExp`
-        } else if (regex.global) {
-            var result = nativ.match.apply(this, arguments);
-            regex.lastIndex = 0; // Fixes IE bug
-            return result;
-        }
-        return fixed.exec.call(regex, this);
-    };
-
-/**
- * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and
- * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes
- * browser bugs in replacement text syntax when performing a replacement using a nonregex search
- * value, and the value of a replacement regex's `lastIndex` property during replacement iterations
- * and upon completion. Note that this doesn't support SpiderMonkey's proprietary third (`flags`)
- * argument. Calling `XRegExp.install('natives')` uses this to override the native method. Use via
- * `XRegExp.replace` without overriding natives.
- * @private
- * @param {RegExp|String} search Search pattern to be replaced.
- * @param {String|Function} replacement Replacement string or a function invoked to create it.
- * @returns {String} New string with one or all matches replaced.
- */
-    fixed.replace = function (search, replacement) {
-        var isRegex = self.isRegExp(search), captureNames, result, str, origLastIndex;
-        if (isRegex) {
-            if (search.xregexp) {
-                captureNames = search.xregexp.captureNames;
-            }
-            if (!search.global) {
-                origLastIndex = search.lastIndex;
-            }
-        } else {
-            search += "";
-        }
-        if (isType(replacement, "function")) {
-            result = nativ.replace.call(String(this), search, function () {
-                var args = arguments, i;
-                if (captureNames) {
-                    // Change the `arguments[0]` string primitive to a `String` object that can store properties
-                    args[0] = new String(args[0]);
-                    // Store named backreferences on the first argument
-                    for (i = 0; i < captureNames.length; ++i) {
-                        if (captureNames[i]) {
-                            args[0][captureNames[i]] = args[i + 1];
-                        }
-                    }
-                }
-                // Update `lastIndex` before calling `replacement`.
-                // Fixes IE, Chrome, Firefox, Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)
-                if (isRegex && search.global) {
-                    search.lastIndex = args[args.length - 2] + args[0].length;
-                }
-                return replacement.apply(null, args);
-            });
-        } else {
-            str = String(this); // Ensure `args[args.length - 1]` will be a string when given nonstring `this`
-            result = nativ.replace.call(str, search, function () {
-                var args = arguments; // Keep this function's `arguments` available through closure
-                return nativ.replace.call(String(replacement), replacementToken, function ($0, $1, $2) {
-                    var n;
-                    // Named or numbered backreference with curly brackets
-                    if ($1) {
-                        /* XRegExp behavior for `${n}`:
-                         * 1. Backreference to numbered capture, where `n` is 1+ digits. `0`, `00`, etc. is the entire match.
-                         * 2. Backreference to named capture `n`, if it exists and is not a number overridden by numbered capture.
-                         * 3. Otherwise, it's an error.
-                         */
-                        n = +$1; // Type-convert; drop leading zeros
-                        if (n <= args.length - 3) {
-                            return args[n] || "";
-                        }
-                        n = captureNames ? lastIndexOf(captureNames, $1) : -1;
-                        if (n < 0) {
-                            throw new SyntaxError("backreference to undefined group " + $0);
-                        }
-                        return args[n + 1] || "";
-                    }
-                    // Else, special variable or numbered backreference (without curly brackets)
-                    if ($2 === "$") return "$";
-                    if ($2 === "&" || +$2 === 0) return args[0]; // $&, $0 (not followed by 1-9), $00
-                    if ($2 === "`") return args[args.length - 1].slice(0, args[args.length - 2]);
-                    if ($2 === "'") return args[args.length - 1].slice(args[args.length - 2] + args[0].length);
-                    // Else, numbered backreference (without curly brackets)
-                    $2 = +$2; // Type-convert; drop leading zero
-                    /* XRegExp behavior:
-                     * - Backreferences without curly brackets end after 1 or 2 digits. Use `${..}` for more digits.
-                     * - `$1` is an error if there are no capturing groups.
-                     * - `$10` is an error if there are less than 10 capturing groups. Use `${1}0` instead.
-                     * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's an error.
-                     * - `$0` (not followed by 1-9), `$00`, and `$&` are the entire match.
-                     * Native behavior, for comparison:
-                     * - Backreferences end after 1 or 2 digits. Cannot use backreference to capturing group 100+.
-                     * - `$1` is a literal `$1` if there are no capturing groups.
-                     * - `$10` is `$1` followed by a literal `0` if there are less than 10 capturing groups.
-                     * - `$01` is equivalent to `$1` if a capturing group exists, otherwise it's a literal `$01`.
-                     * - `$0` is a literal `$0`. `$&` is the entire match.
-                     */
-                    if (!isNaN($2)) {
-                        if ($2 > args.length - 3) {
-                            throw new SyntaxError("backreference to undefined group " + $0);
-                        }
-                        return args[$2] || "";
-                    }
-                    throw new SyntaxError("invalid token " + $0);
-                });
-            });
-        }
-        if (isRegex) {
-            if (search.global) {
-                search.lastIndex = 0; // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)
-            } else {
-                search.lastIndex = origLastIndex; // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)
-            }
-        }
-        return result;
-    };
-
-/**
- * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')`
- * uses this to override the native method. Use via `XRegExp.split` without overriding natives.
- * @private
- * @param {RegExp|String} separator Regex or string to use for separating the string.
- * @param {Number} [limit] Maximum number of items to include in the result array.
- * @returns {Array} Array of substrings.
- */
-    fixed.split = function (separator, limit) {
-        if (!self.isRegExp(separator)) {
-            return nativ.split.apply(this, arguments); // use faster native method
-        }
-        var str = String(this),
-            origLastIndex = separator.lastIndex,
-            output = [],
-            lastLastIndex = 0,
-            lastLength;
-        /* Values for `limit`, per the spec:
-         * If undefined: pow(2,32) - 1
-         * If 0, Infinity, or NaN: 0
-         * If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);
-         * If negative number: pow(2,32) - floor(abs(limit))
-         * If other: Type-convert, then use the above rules
-         */
-        limit = (limit === undef ? -1 : limit) >>> 0;
-        self.forEach(str, separator, function (match) {
-            if ((match.index + match[0].length) > lastLastIndex) { // != `if (match[0].length)`
-                output.push(str.slice(lastLastIndex, match.index));
-                if (match.length > 1 && match.index < str.length) {
-                    Array.prototype.push.apply(output, match.slice(1));
-                }
-                lastLength = match[0].length;
-                lastLastIndex = match.index + lastLength;
-            }
-        });
-        if (lastLastIndex === str.length) {
-            if (!nativ.test.call(separator, "") || lastLength) {
-                output.push("");
-            }
-        } else {
-            output.push(str.slice(lastLastIndex));
-        }
-        separator.lastIndex = origLastIndex;
-        return output.length > limit ? output.slice(0, limit) : output;
-    };
-
-/*--------------------------------------
- *  Built-in tokens
- *------------------------------------*/
-
-// Shortcut
-    add = addToken.on;
-
-/* Letter identity escapes that natively match literal characters: \p, \P, etc.
- * Should be SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-
- * browser consistency and to reserve their syntax, but lets them be superseded by XRegExp addons.
- */
-    add(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,
-        function (match, scope) {
-            // \B is allowed in default scope only
-            if (match[1] === "B" && scope === defaultScope) {
-                return match[0];
-            }
-            throw new SyntaxError("invalid escape " + match[0]);
-        },
-        {scope: "all"});
-
-/* Empty character class: [] or [^]
- * Fixes a critical cross-browser syntax inconsistency. Unless this is standardized (per the spec),
- * regex syntax can't be accurately parsed because character class endings can't be determined.
- */
-    add(/\[(\^?)]/,
-        function (match) {
-            // For cross-browser compatibility with ES3, convert [] to \b\B and [^] to [\s\S].
-            // (?!) should work like \b\B, but is unreliable in Firefox
-            return match[1] ? "[\\s\\S]" : "\\b\\B";
-        });
-
-/* Comment pattern: (?# )
- * Inline comments are an alternative to the line comments allowed in free-spacing mode (flag x).
- */
-    add(/(?:\(\?#[^)]*\))+/,
-        function (match) {
-            // Keep tokens separated unless the following token is a quantifier
-            return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)";
-        });
-
-/* Named backreference: \k<name>
- * Backreference names can use the characters A-Z, a-z, 0-9, _, and $ only.
- */
-    add(/\\k<([\w$]+)>/,
-        function (match) {
-            var index = isNaN(match[1]) ? (lastIndexOf(this.captureNames, match[1]) + 1) : +match[1],
-                endIndex = match.index + match[0].length;
-            if (!index || index > this.captureNames.length) {
-                throw new SyntaxError("backreference to undefined group " + match[0]);
-            }
-            // Keep backreferences separate from subsequent literal numbers
-            return "\\" + index + (
-                endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ? "" : "(?:)"
-            );
-        });
-
-/* Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.
- */
-    add(/(?:\s+|#.*)+/,
-        function (match) {
-            // Keep tokens separated unless the following token is a quantifier
-            return nativ.test.call(quantifier, match.input.slice(match.index + match[0].length)) ? "" : "(?:)";
-        },
-        {
-            trigger: function () {
-                return this.hasFlag("x");
-            },
-            customFlags: "x"
-        });
-
-/* Dot, in dotall mode (aka singleline mode, flag s) only.
- */
-    add(/\./,
-        function () {
-            return "[\\s\\S]";
-        },
-        {
-            trigger: function () {
-                return this.hasFlag("s");
-            },
-            customFlags: "s"
-        });
-
-/* Named capturing group; match the opening delimiter only: (?<name>
- * Capture names can use the characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers.
- * Supports Python-style (?P<name> as an alternate syntax to avoid issues in recent Opera (which
- * natively supports the Python-style syntax). Otherwise, XRegExp might treat numbered
- * backreferences to Python-style named capture as octals.
- */
-    add(/\(\?P?<([\w$]+)>/,
-        function (match) {
-            if (!isNaN(match[1])) {
-                // Avoid incorrect lookups, since named backreferences are added to match arrays
-                throw new SyntaxError("can't use integer as capture name " + match[0]);
-            }
-            this.captureNames.push(match[1]);
-            this.hasNamedCapture = true;
-            return "(";
-        });
-
-/* Numbered backreference or octal, plus any following digits: \0, \11, etc.
- * Octals except \0 not followed by 0-9 and backreferences to unopened capture groups throw an
- * error. Other matches are returned unaltered. IE <= 8 doesn't support backreferences greater than
- * \99 in regex syntax.
- */
-    add(/\\(\d+)/,
-        function (match, scope) {
-            if (!(scope === defaultScope && /^[1-9]/.test(match[1]) && +match[1] <= this.captureNames.length) &&
-                    match[1] !== "0") {
-                throw new SyntaxError("can't use octal escape or backreference to undefined group " + match[0]);
-            }
-            return match[0];
-        },
-        {scope: "all"});
-
-/* Capturing group; match the opening parenthesis only.
- * Required for support of named capturing groups. Also adds explicit capture mode (flag n).
- */
-    add(/\((?!\?)/,
-        function () {
-            if (this.hasFlag("n")) {
-                return "(?:";
-            }
-            this.captureNames.push(null);
-            return "(";
-        },
-        {customFlags: "n"});
-
-/*--------------------------------------
- *  Expose XRegExp
- *------------------------------------*/
-
-// For CommonJS enviroments
-    if (typeof exports !== "undefined") {
-        exports.XRegExp = self;
-    }
-
-    return self;
-
-}());
-
-
-/***** unicode-base.js *****/
-
-/*!
- * XRegExp Unicode Base v1.0.0
- * (c) 2008-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Uses Unicode 6.1 <http://unicode.org/>
- */
-
-/**
- * Adds support for the `\p{L}` or `\p{Letter}` Unicode category. Addon packages for other Unicode
- * categories, scripts, blocks, and properties are available separately. All Unicode tokens can be
- * inverted using `\P{..}` or `\p{^..}`. Token names are case insensitive, and any spaces, hyphens,
- * and underscores are ignored.
- * @requires XRegExp
- */
-(function (XRegExp) {
-    "use strict";
-
-    var unicode = {};
-
-/*--------------------------------------
- *  Private helper functions
- *------------------------------------*/
-
-// Generates a standardized token name (lowercase, with hyphens, spaces, and underscores removed)
-    function slug(name) {
-        return name.replace(/[- _]+/g, "").toLowerCase();
-    }
-
-// Expands a list of Unicode code points and ranges to be usable in a regex character class
-    function expand(str) {
-        return str.replace(/\w{4}/g, "\\u$&");
-    }
-
-// Adds leading zeros if shorter than four characters
-    function pad4(str) {
-        while (str.length < 4) {
-            str = "0" + str;
-        }
-        return str;
-    }
-
-// Converts a hexadecimal number to decimal
-    function dec(hex) {
-        return parseInt(hex, 16);
-    }
-
-// Converts a decimal number to hexadecimal
-    function hex(dec) {
-        return parseInt(dec, 10).toString(16);
-    }
-
-// Inverts a list of Unicode code points and ranges
-    function invert(range) {
-        var output = [],
-            lastEnd = -1,
-            start;
-        XRegExp.forEach(range, /\\u(\w{4})(?:-\\u(\w{4}))?/, function (m) {
-            start = dec(m[1]);
-            if (start > (lastEnd + 1)) {
-                output.push("\\u" + pad4(hex(lastEnd + 1)));
-                if (start > (lastEnd + 2)) {
-                    output.push("-\\u" + pad4(hex(start - 1)));
-                }
-            }
-            lastEnd = dec(m[2] || m[1]);
-        });
-        if (lastEnd < 0xFFFF) {
-            output.push("\\u" + pad4(hex(lastEnd + 1)));
-            if (lastEnd < 0xFFFE) {
-                output.push("-\\uFFFF");
-            }
-        }
-        return output.join("");
-    }
-
-// Generates an inverted token on first use
-    function cacheInversion(item) {
-        return unicode["^" + item] || (unicode["^" + item] = invert(unicode[item]));
-    }
-
-/*--------------------------------------
- *  Core functionality
- *------------------------------------*/
-
-    XRegExp.install("extensibility");
-
-/**
- * Adds to the list of Unicode properties that XRegExp regexes can match via \p{..} or \P{..}.
- * @memberOf XRegExp
- * @param {Object} pack Named sets of Unicode code points and ranges.
- * @param {Object} [aliases] Aliases for the primary token names.
- * @example
- *
- * XRegExp.addUnicodePackage({
- *   XDigit: '0030-00390041-00460061-0066' // 0-9A-Fa-f
- * }, {
- *   XDigit: 'Hexadecimal'
- * });
- */
-    XRegExp.addUnicodePackage = function (pack, aliases) {
-        var p;
-        if (!XRegExp.isInstalled("extensibility")) {
-            throw new Error("extensibility must be installed before adding Unicode packages");
-        }
-        if (pack) {
-            for (p in pack) {
-                if (pack.hasOwnProperty(p)) {
-                    unicode[slug(p)] = expand(pack[p]);
-                }
-            }
-        }
-        if (aliases) {
-            for (p in aliases) {
-                if (aliases.hasOwnProperty(p)) {
-                    unicode[slug(aliases[p])] = unicode[slug(p)];
-                }
-            }
-        }
-    };
-
-/* Adds data for the Unicode `Letter` category. Addon packages include other categories, scripts,
- * blocks, and properties.
- */
-    XRegExp.addUnicodePackage({
-        L: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"
-    }, {
-        L: "Letter"
-    });
-
-/* Adds Unicode property syntax to XRegExp: \p{..}, \P{..}, \p{^..}
- */
-    XRegExp.addToken(
-        /\\([pP]){(\^?)([^}]*)}/,
-        function (match, scope) {
-            var inv = (match[1] === "P" || match[2]) ? "^" : "",
-                item = slug(match[3]);
-            // The double negative \P{^..} is invalid
-            if (match[1] === "P" && match[2]) {
-                throw new SyntaxError("invalid double negation \\P{^");
-            }
-            if (!unicode.hasOwnProperty(item)) {
-                throw new SyntaxError("invalid or unknown Unicode property " + match[0]);
-            }
-            return scope === "class" ?
-                    (inv ? cacheInversion(item) : unicode[item]) :
-                    "[" + inv + unicode[item] + "]";
-        },
-        {scope: "all"}
-    );
-
-}(XRegExp));
-
-
-/***** unicode-categories.js *****/
-
-/*!
- * XRegExp Unicode Categories v1.2.0
- * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Uses Unicode 6.1 <http://unicode.org/>
- */
-
-/**
- * Adds support for all Unicode categories (aka properties) E.g., `\p{Lu}` or
- * `\p{Uppercase Letter}`. Token names are case insensitive, and any spaces, hyphens, and
- * underscores are ignored.
- * @requires XRegExp, XRegExp Unicode Base
- */
-(function (XRegExp) {
-    "use strict";
-
-    if (!XRegExp.addUnicodePackage) {
-        throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");
-    }
-
-    XRegExp.install("extensibility");
-
-    XRegExp.addUnicodePackage({
-        //L: "", // Included in the Unicode Base addon
-        Ll: "0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",
-        Lu: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",
-        Lt: "01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",
-        Lm: "02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",
-        Lo: "00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
-        M: "0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",
-        Mn: "0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",
-        Mc: "0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",
-        Me: "0488048920DD-20E020E2-20E4A670-A672",
-        N: "0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
-        Nd: "0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",
-        Nl: "16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",
-        No: "00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",
-        P: "0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",
-        Pd: "002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",
-        Ps: "0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",
-        Pe: "0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",
-        Pi: "00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",
-        Pf: "00BB2019201D203A2E032E052E0A2E0D2E1D2E21",
-        Pc: "005F203F20402054FE33FE34FE4D-FE4FFF3F",
-        Po: "0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",
-        S: "0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",
-        Sm: "002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",
-        Sc: "002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",
-        Sk: "005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",
-        So: "00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",
-        Z: "002000A01680180E2000-200A20282029202F205F3000",
-        Zs: "002000A01680180E2000-200A202F205F3000",
-        Zl: "2028",
-        Zp: "2029",
-        C: "0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",
-        Cc: "0000-001F007F-009F",
-        Cf: "00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",
-        Co: "E000-F8FF",
-        Cs: "D800-DFFF",
-        Cn: "03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"
-    }, {
-        //L: "Letter", // Included in the Unicode Base addon
-        Ll: "Lowercase_Letter",
-        Lu: "Uppercase_Letter",
-        Lt: "Titlecase_Letter",
-        Lm: "Modifier_Letter",
-        Lo: "Other_Letter",
-        M: "Mark",
-        Mn: "Nonspacing_Mark",
-        Mc: "Spacing_Mark",
-        Me: "Enclosing_Mark",
-        N: "Number",
-        Nd: "Decimal_Number",
-        Nl: "Letter_Number",
-        No: "Other_Number",
-        P: "Punctuation",
-        Pd: "Dash_Punctuation",
-        Ps: "Open_Punctuation",
-        Pe: "Close_Punctuation",
-        Pi: "Initial_Punctuation",
-        Pf: "Final_Punctuation",
-        Pc: "Connector_Punctuation",
-        Po: "Other_Punctuation",
-        S: "Symbol",
-        Sm: "Math_Symbol",
-        Sc: "Currency_Symbol",
-        Sk: "Modifier_Symbol",
-        So: "Other_Symbol",
-        Z: "Separator",
-        Zs: "Space_Separator",
-        Zl: "Line_Separator",
-        Zp: "Paragraph_Separator",
-        C: "Other",
-        Cc: "Control",
-        Cf: "Format",
-        Co: "Private_Use",
-        Cs: "Surrogate",
-        Cn: "Unassigned"
-    });
-
-}(XRegExp));
-
-
-/***** unicode-scripts.js *****/
-
-/*!
- * XRegExp Unicode Scripts v1.2.0
- * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Uses Unicode 6.1 <http://unicode.org/>
- */
-
-/**
- * Adds support for all Unicode scripts in the Basic Multilingual Plane (U+0000-U+FFFF).
- * E.g., `\p{Latin}`. Token names are case insensitive, and any spaces, hyphens, and underscores
- * are ignored.
- * @requires XRegExp, XRegExp Unicode Base
- */
-(function (XRegExp) {
-    "use strict";
-
-    if (!XRegExp.addUnicodePackage) {
-        throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");
-    }
-
-    XRegExp.install("extensibility");
-
-    XRegExp.addUnicodePackage({
-        Arabic: "0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",
-        Armenian: "0531-05560559-055F0561-0587058A058FFB13-FB17",
-        Balinese: "1B00-1B4B1B50-1B7C",
-        Bamum: "A6A0-A6F7",
-        Batak: "1BC0-1BF31BFC-1BFF",
-        Bengali: "0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",
-        Bopomofo: "02EA02EB3105-312D31A0-31BA",
-        Braille: "2800-28FF",
-        Buginese: "1A00-1A1B1A1E1A1F",
-        Buhid: "1740-1753",
-        Canadian_Aboriginal: "1400-167F18B0-18F5",
-        Cham: "AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",
-        Cherokee: "13A0-13F4",
-        Common: "0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",
-        Coptic: "03E2-03EF2C80-2CF32CF9-2CFF",
-        Cyrillic: "0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",
-        Devanagari: "0900-09500953-09630966-09770979-097FA8E0-A8FB",
-        Ethiopic: "1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",
-        Georgian: "10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",
-        Glagolitic: "2C00-2C2E2C30-2C5E",
-        Greek: "0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",
-        Gujarati: "0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",
-        Gurmukhi: "0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",
-        Han: "2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",
-        Hangul: "1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
-        Hanunoo: "1720-1734",
-        Hebrew: "0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",
-        Hiragana: "3041-3096309D-309F",
-        Inherited: "0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",
-        Javanese: "A980-A9CDA9CF-A9D9A9DEA9DF",
-        Kannada: "0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",
-        Katakana: "30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",
-        Kayah_Li: "A900-A92F",
-        Khmer: "1780-17DD17E0-17E917F0-17F919E0-19FF",
-        Lao: "0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",
-        Latin: "0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",
-        Lepcha: "1C00-1C371C3B-1C491C4D-1C4F",
-        Limbu: "1900-191C1920-192B1930-193B19401944-194F",
-        Lisu: "A4D0-A4FF",
-        Malayalam: "0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",
-        Mandaic: "0840-085B085E",
-        Meetei_Mayek: "AAE0-AAF6ABC0-ABEDABF0-ABF9",
-        Mongolian: "1800180118041806-180E1810-18191820-18771880-18AA",
-        Myanmar: "1000-109FAA60-AA7B",
-        New_Tai_Lue: "1980-19AB19B0-19C919D0-19DA19DE19DF",
-        Nko: "07C0-07FA",
-        Ogham: "1680-169C",
-        Ol_Chiki: "1C50-1C7F",
-        Oriya: "0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",
-        Phags_Pa: "A840-A877",
-        Rejang: "A930-A953A95F",
-        Runic: "16A0-16EA16EE-16F0",
-        Samaritan: "0800-082D0830-083E",
-        Saurashtra: "A880-A8C4A8CE-A8D9",
-        Sinhala: "0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",
-        Sundanese: "1B80-1BBF1CC0-1CC7",
-        Syloti_Nagri: "A800-A82B",
-        Syriac: "0700-070D070F-074A074D-074F",
-        Tagalog: "1700-170C170E-1714",
-        Tagbanwa: "1760-176C176E-177017721773",
-        Tai_Le: "1950-196D1970-1974",
-        Tai_Tham: "1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",
-        Tai_Viet: "AA80-AAC2AADB-AADF",
-        Tamil: "0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",
-        Telugu: "0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",
-        Thaana: "0780-07B1",
-        Thai: "0E01-0E3A0E40-0E5B",
-        Tibetan: "0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",
-        Tifinagh: "2D30-2D672D6F2D702D7F",
-        Vai: "A500-A62B",
-        Yi: "A000-A48CA490-A4C6"
-    });
-
-}(XRegExp));
-
-
-/***** unicode-blocks.js *****/
-
-/*!
- * XRegExp Unicode Blocks v1.2.0
- * (c) 2010-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Uses Unicode 6.1 <http://unicode.org/>
- */
-
-/**
- * Adds support for all Unicode blocks in the Basic Multilingual Plane (U+0000-U+FFFF). Unicode
- * blocks use the prefix "In". E.g., `\p{InBasicLatin}`. Token names are case insensitive, and any
- * spaces, hyphens, and underscores are ignored.
- * @requires XRegExp, XRegExp Unicode Base
- */
-(function (XRegExp) {
-    "use strict";
-
-    if (!XRegExp.addUnicodePackage) {
-        throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");
-    }
-
-    XRegExp.install("extensibility");
-
-    XRegExp.addUnicodePackage({
-        InBasic_Latin: "0000-007F",
-        InLatin_1_Supplement: "0080-00FF",
-        InLatin_Extended_A: "0100-017F",
-        InLatin_Extended_B: "0180-024F",
-        InIPA_Extensions: "0250-02AF",
-        InSpacing_Modifier_Letters: "02B0-02FF",
-        InCombining_Diacritical_Marks: "0300-036F",
-        InGreek_and_Coptic: "0370-03FF",
-        InCyrillic: "0400-04FF",
-        InCyrillic_Supplement: "0500-052F",
-        InArmenian: "0530-058F",
-        InHebrew: "0590-05FF",
-        InArabic: "0600-06FF",
-        InSyriac: "0700-074F",
-        InArabic_Supplement: "0750-077F",
-        InThaana: "0780-07BF",
-        InNKo: "07C0-07FF",
-        InSamaritan: "0800-083F",
-        InMandaic: "0840-085F",
-        InArabic_Extended_A: "08A0-08FF",
-        InDevanagari: "0900-097F",
-        InBengali: "0980-09FF",
-        InGurmukhi: "0A00-0A7F",
-        InGujarati: "0A80-0AFF",
-        InOriya: "0B00-0B7F",
-        InTamil: "0B80-0BFF",
-        InTelugu: "0C00-0C7F",
-        InKannada: "0C80-0CFF",
-        InMalayalam: "0D00-0D7F",
-        InSinhala: "0D80-0DFF",
-        InThai: "0E00-0E7F",
-        InLao: "0E80-0EFF",
-        InTibetan: "0F00-0FFF",
-        InMyanmar: "1000-109F",
-        InGeorgian: "10A0-10FF",
-        InHangul_Jamo: "1100-11FF",
-        InEthiopic: "1200-137F",
-        InEthiopic_Supplement: "1380-139F",
-        InCherokee: "13A0-13FF",
-        InUnified_Canadian_Aboriginal_Syllabics: "1400-167F",
-        InOgham: "1680-169F",
-        InRunic: "16A0-16FF",
-        InTagalog: "1700-171F",
-        InHanunoo: "1720-173F",
-        InBuhid: "1740-175F",
-        InTagbanwa: "1760-177F",
-        InKhmer: "1780-17FF",
-        InMongolian: "1800-18AF",
-        InUnified_Canadian_Aboriginal_Syllabics_Extended: "18B0-18FF",
-        InLimbu: "1900-194F",
-        InTai_Le: "1950-197F",
-        InNew_Tai_Lue: "1980-19DF",
-        InKhmer_Symbols: "19E0-19FF",
-        InBuginese: "1A00-1A1F",
-        InTai_Tham: "1A20-1AAF",
-        InBalinese: "1B00-1B7F",
-        InSundanese: "1B80-1BBF",
-        InBatak: "1BC0-1BFF",
-        InLepcha: "1C00-1C4F",
-        InOl_Chiki: "1C50-1C7F",
-        InSundanese_Supplement: "1CC0-1CCF",
-        InVedic_Extensions: "1CD0-1CFF",
-        InPhonetic_Extensions: "1D00-1D7F",
-        InPhonetic_Extensions_Supplement: "1D80-1DBF",
-        InCombining_Diacritical_Marks_Supplement: "1DC0-1DFF",
-        InLatin_Extended_Additional: "1E00-1EFF",
-        InGreek_Extended: "1F00-1FFF",
-        InGeneral_Punctuation: "2000-206F",
-        InSuperscripts_and_Subscripts: "2070-209F",
-        InCurrency_Symbols: "20A0-20CF",
-        InCombining_Diacritical_Marks_for_Symbols: "20D0-20FF",
-        InLetterlike_Symbols: "2100-214F",
-        InNumber_Forms: "2150-218F",
-        InArrows: "2190-21FF",
-        InMathematical_Operators: "2200-22FF",
-        InMiscellaneous_Technical: "2300-23FF",
-        InControl_Pictures: "2400-243F",
-        InOptical_Character_Recognition: "2440-245F",
-        InEnclosed_Alphanumerics: "2460-24FF",
-        InBox_Drawing: "2500-257F",
-        InBlock_Elements: "2580-259F",
-        InGeometric_Shapes: "25A0-25FF",
-        InMiscellaneous_Symbols: "2600-26FF",
-        InDingbats: "2700-27BF",
-        InMiscellaneous_Mathematical_Symbols_A: "27C0-27EF",
-        InSupplemental_Arrows_A: "27F0-27FF",
-        InBraille_Patterns: "2800-28FF",
-        InSupplemental_Arrows_B: "2900-297F",
-        InMiscellaneous_Mathematical_Symbols_B: "2980-29FF",
-        InSupplemental_Mathematical_Operators: "2A00-2AFF",
-        InMiscellaneous_Symbols_and_Arrows: "2B00-2BFF",
-        InGlagolitic: "2C00-2C5F",
-        InLatin_Extended_C: "2C60-2C7F",
-        InCoptic: "2C80-2CFF",
-        InGeorgian_Supplement: "2D00-2D2F",
-        InTifinagh: "2D30-2D7F",
-        InEthiopic_Extended: "2D80-2DDF",
-        InCyrillic_Extended_A: "2DE0-2DFF",
-        InSupplemental_Punctuation: "2E00-2E7F",
-        InCJK_Radicals_Supplement: "2E80-2EFF",
-        InKangxi_Radicals: "2F00-2FDF",
-        InIdeographic_Description_Characters: "2FF0-2FFF",
-        InCJK_Symbols_and_Punctuation: "3000-303F",
-        InHiragana: "3040-309F",
-        InKatakana: "30A0-30FF",
-        InBopomofo: "3100-312F",
-        InHangul_Compatibility_Jamo: "3130-318F",
-        InKanbun: "3190-319F",
-        InBopomofo_Extended: "31A0-31BF",
-        InCJK_Strokes: "31C0-31EF",
-        InKatakana_Phonetic_Extensions: "31F0-31FF",
-        InEnclosed_CJK_Letters_and_Months: "3200-32FF",
-        InCJK_Compatibility: "3300-33FF",
-        InCJK_Unified_Ideographs_Extension_A: "3400-4DBF",
-        InYijing_Hexagram_Symbols: "4DC0-4DFF",
-        InCJK_Unified_Ideographs: "4E00-9FFF",
-        InYi_Syllables: "A000-A48F",
-        InYi_Radicals: "A490-A4CF",
-        InLisu: "A4D0-A4FF",
-        InVai: "A500-A63F",
-        InCyrillic_Extended_B: "A640-A69F",
-        InBamum: "A6A0-A6FF",
-        InModifier_Tone_Letters: "A700-A71F",
-        InLatin_Extended_D: "A720-A7FF",
-        InSyloti_Nagri: "A800-A82F",
-        InCommon_Indic_Number_Forms: "A830-A83F",
-        InPhags_pa: "A840-A87F",
-        InSaurashtra: "A880-A8DF",
-        InDevanagari_Extended: "A8E0-A8FF",
-        InKayah_Li: "A900-A92F",
-        InRejang: "A930-A95F",
-        InHangul_Jamo_Extended_A: "A960-A97F",
-        InJavanese: "A980-A9DF",
-        InCham: "AA00-AA5F",
-        InMyanmar_Extended_A: "AA60-AA7F",
-        InTai_Viet: "AA80-AADF",
-        InMeetei_Mayek_Extensions: "AAE0-AAFF",
-        InEthiopic_Extended_A: "AB00-AB2F",
-        InMeetei_Mayek: "ABC0-ABFF",
-        InHangul_Syllables: "AC00-D7AF",
-        InHangul_Jamo_Extended_B: "D7B0-D7FF",
-        InHigh_Surrogates: "D800-DB7F",
-        InHigh_Private_Use_Surrogates: "DB80-DBFF",
-        InLow_Surrogates: "DC00-DFFF",
-        InPrivate_Use_Area: "E000-F8FF",
-        InCJK_Compatibility_Ideographs: "F900-FAFF",
-        InAlphabetic_Presentation_Forms: "FB00-FB4F",
-        InArabic_Presentation_Forms_A: "FB50-FDFF",
-        InVariation_Selectors: "FE00-FE0F",
-        InVertical_Forms: "FE10-FE1F",
-        InCombining_Half_Marks: "FE20-FE2F",
-        InCJK_Compatibility_Forms: "FE30-FE4F",
-        InSmall_Form_Variants: "FE50-FE6F",
-        InArabic_Presentation_Forms_B: "FE70-FEFF",
-        InHalfwidth_and_Fullwidth_Forms: "FF00-FFEF",
-        InSpecials: "FFF0-FFFF"
-    });
-
-}(XRegExp));
-
-
-/***** unicode-properties.js *****/
-
-/*!
- * XRegExp Unicode Properties v1.0.0
- * (c) 2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Uses Unicode 6.1 <http://unicode.org/>
- */
-
-/**
- * Adds Unicode properties necessary to meet Level 1 Unicode support (detailed in UTS#18 RL1.2).
- * Includes code points from the Basic Multilingual Plane (U+0000-U+FFFF) only. Token names are
- * case insensitive, and any spaces, hyphens, and underscores are ignored.
- * @requires XRegExp, XRegExp Unicode Base
- */
-(function (XRegExp) {
-    "use strict";
-
-    if (!XRegExp.addUnicodePackage) {
-        throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");
-    }
-
-    XRegExp.install("extensibility");
-
-    XRegExp.addUnicodePackage({
-        Alphabetic: "0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",
-        Uppercase: "0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",
-        Lowercase: "0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",
-        White_Space: "0009-000D0020008500A01680180E2000-200A20282029202F205F3000",
-        Noncharacter_Code_Point: "FDD0-FDEFFFFEFFFF",
-        Default_Ignorable_Code_Point: "00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",
-        // \p{Any} matches a code unit. To match any code point via surrogate pairs, use (?:[\0-\uD7FF\uDC00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF])
-        Any: "0000-FFFF", // \p{^Any} compiles to [^\u0000-\uFFFF]; [\p{^Any}] to []
-        Ascii: "0000-007F",
-        // \p{Assigned} is equivalent to \p{^Cn}
-        //Assigned: XRegExp("[\\p{^Cn}]").source.replace(/[[\]]|\\u/g, "") // Negation inside a character class triggers inversion
-        Assigned: "0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"
-    });
-
-}(XRegExp));
-
-
-/***** matchrecursive.js *****/
-
-/*!
- * XRegExp.matchRecursive v0.2.0
- * (c) 2009-2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- */
-
-(function (XRegExp) {
-    "use strict";
-
-/**
- * Returns a match detail object composed of the provided values.
- * @private
- */
-    function row(value, name, start, end) {
-        return {value:value, name:name, start:start, end:end};
-    }
-
-/**
- * Returns an array of match strings between outermost left and right delimiters, or an array of
- * objects with detailed match parts and position data. An error is thrown if delimiters are
- * unbalanced within the data.
- * @memberOf XRegExp
- * @param {String} str String to search.
- * @param {String} left Left delimiter as an XRegExp pattern.
- * @param {String} right Right delimiter as an XRegExp pattern.
- * @param {String} [flags] Flags for the left and right delimiters. Use any of: `gimnsxy`.
- * @param {Object} [options] Lets you specify `valueNames` and `escapeChar` options.
- * @returns {Array} Array of matches, or an empty array.
- * @example
- *
- * // Basic usage
- * var str = '(t((e))s)t()(ing)';
- * XRegExp.matchRecursive(str, '\\(', '\\)', 'g');
- * // -> ['t((e))s', '', 'ing']
- *
- * // Extended information mode with valueNames
- * str = 'Here is <div> <div>an</div></div> example';
- * XRegExp.matchRecursive(str, '<div\\s*>', '</div>', 'gi', {
- *   valueNames: ['between', 'left', 'match', 'right']
- * });
- * // -> [
- * // {name: 'between', value: 'Here is ',       start: 0,  end: 8},
- * // {name: 'left',    value: '<div>',          start: 8,  end: 13},
- * // {name: 'match',   value: ' <div>an</div>', start: 13, end: 27},
- * // {name: 'right',   value: '</div>',         start: 27, end: 33},
- * // {name: 'between', value: ' example',       start: 33, end: 41}
- * // ]
- *
- * // Omitting unneeded parts with null valueNames, and using escapeChar
- * str = '...{1}\\{{function(x,y){return y+x;}}';
- * XRegExp.matchRecursive(str, '{', '}', 'g', {
- *   valueNames: ['literal', null, 'value', null],
- *   escapeChar: '\\'
- * });
- * // -> [
- * // {name: 'literal', value: '...', start: 0, end: 3},
- * // {name: 'value',   value: '1',   start: 4, end: 5},
- * // {name: 'literal', value: '\\{', start: 6, end: 8},
- * // {name: 'value',   value: 'function(x,y){return y+x;}', start: 9, end: 35}
- * // ]
- *
- * // Sticky mode via flag y
- * str = '<1><<<2>>><3>4<5>';
- * XRegExp.matchRecursive(str, '<', '>', 'gy');
- * // -> ['1', '<<2>>', '3']
- */
-    XRegExp.matchRecursive = function (str, left, right, flags, options) {
-        flags = flags || "";
-        options = options || {};
-        var global = flags.indexOf("g") > -1,
-            sticky = flags.indexOf("y") > -1,
-            basicFlags = flags.replace(/y/g, ""), // Flag y controlled internally
-            escapeChar = options.escapeChar,
-            vN = options.valueNames,
-            output = [],
-            openTokens = 0,
-            delimStart = 0,
-            delimEnd = 0,
-            lastOuterEnd = 0,
-            outerStart,
-            innerStart,
-            leftMatch,
-            rightMatch,
-            esc;
-        left = XRegExp(left, basicFlags);
-        right = XRegExp(right, basicFlags);
-
-        if (escapeChar) {
-            if (escapeChar.length > 1) {
-                throw new SyntaxError("can't use more than one escape character");
-            }
-            escapeChar = XRegExp.escape(escapeChar);
-            // Using XRegExp.union safely rewrites backreferences in `left` and `right`
-            esc = new RegExp(
-                "(?:" + escapeChar + "[\\S\\s]|(?:(?!" + XRegExp.union([left, right]).source + ")[^" + escapeChar + "])+)+",
-                flags.replace(/[^im]+/g, "") // Flags gy not needed here; flags nsx handled by XRegExp
-            );
-        }
-
-        while (true) {
-            // If using an escape character, advance to the delimiter's next starting position,
-            // skipping any escaped characters in between
-            if (escapeChar) {
-                delimEnd += (XRegExp.exec(str, esc, delimEnd, "sticky") || [""])[0].length;
-            }
-            leftMatch = XRegExp.exec(str, left, delimEnd);
-            rightMatch = XRegExp.exec(str, right, delimEnd);
-            // Keep the leftmost match only
-            if (leftMatch && rightMatch) {
-                if (leftMatch.index <= rightMatch.index) {
-                    rightMatch = null;
-                } else {
-                    leftMatch = null;
-                }
-            }
-            /* Paths (LM:leftMatch, RM:rightMatch, OT:openTokens):
-            LM | RM | OT | Result
-            1  | 0  | 1  | loop
-            1  | 0  | 0  | loop
-            0  | 1  | 1  | loop
-            0  | 1  | 0  | throw
-            0  | 0  | 1  | throw
-            0  | 0  | 0  | break
-            * Doesn't include the sticky mode special case
-            * Loop ends after the first completed match if `!global` */
-            if (leftMatch || rightMatch) {
-                delimStart = (leftMatch || rightMatch).index;
-                delimEnd = delimStart + (leftMatch || rightMatch)[0].length;
-            } else if (!openTokens) {
-                break;
-            }
-            if (sticky && !openTokens && delimStart > lastOuterEnd) {
-                break;
-            }
-            if (leftMatch) {
-                if (!openTokens) {
-                    outerStart = delimStart;
-                    innerStart = delimEnd;
-                }
-                ++openTokens;
-            } else if (rightMatch && openTokens) {
-                if (!--openTokens) {
-                    if (vN) {
-                        if (vN[0] && outerStart > lastOuterEnd) {
-                            output.push(row(vN[0], str.slice(lastOuterEnd, outerStart), lastOuterEnd, outerStart));
-                        }
-                        if (vN[1]) {
-                            output.push(row(vN[1], str.slice(outerStart, innerStart), outerStart, innerStart));
-                        }
-                        if (vN[2]) {
-                            output.push(row(vN[2], str.slice(innerStart, delimStart), innerStart, delimStart));
-                        }
-                        if (vN[3]) {
-                            output.push(row(vN[3], str.slice(delimStart, delimEnd), delimStart, delimEnd));
-                        }
-                    } else {
-                        output.push(str.slice(innerStart, delimStart));
-                    }
-                    lastOuterEnd = delimEnd;
-                    if (!global) {
-                        break;
-                    }
-                }
-            } else {
-                throw new Error("string contains unbalanced delimiters");
-            }
-            // If the delimiter matched an empty string, avoid an infinite loop
-            if (delimStart === delimEnd) {
-                ++delimEnd;
-            }
-        }
-
-        if (global && !sticky && vN && vN[0] && str.length > lastOuterEnd) {
-            output.push(row(vN[0], str.slice(lastOuterEnd), lastOuterEnd, str.length));
-        }
-
-        return output;
-    };
-
-}(XRegExp));
-
-
-/***** build.js *****/
-
-/*!
- * XRegExp.build v0.1.0
- * (c) 2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- * Inspired by RegExp.create by Lea Verou <http://lea.verou.me/>
- */
-
-(function (XRegExp) {
-    "use strict";
-
-    var subparts = /(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,
-        parts = XRegExp.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/, subparts], "g");
-
-/**
- * Strips a leading `^` and trailing unescaped `$`, if both are present.
- * @private
- * @param {String} pattern Pattern to process.
- * @returns {String} Pattern with edge anchors removed.
- */
-    function deanchor(pattern) {
-        var startAnchor = /^(?:\(\?:\))?\^/, // Leading `^` or `(?:)^` (handles /x cruft)
-            endAnchor = /\$(?:\(\?:\))?$/; // Trailing `$` or `$(?:)` (handles /x cruft)
-        if (endAnchor.test(pattern.replace(/\\[\s\S]/g, ""))) { // Ensure trailing `$` isn't escaped
-            return pattern.replace(startAnchor, "").replace(endAnchor, "");
-        }
-        return pattern;
-    }
-
-/**
- * Converts the provided value to an XRegExp.
- * @private
- * @param {String|RegExp} value Value to convert.
- * @returns {RegExp} XRegExp object with XRegExp syntax applied.
- */
-    function asXRegExp(value) {
-        return XRegExp.isRegExp(value) ?
-                (value.xregexp && !value.xregexp.isNative ? value : XRegExp(value.source)) :
-                XRegExp(value);
-    }
-
-/**
- * Builds regexes using named subpatterns, for readability and pattern reuse. Backreferences in the
- * outer pattern and provided subpatterns are automatically renumbered to work correctly. Native
- * flags used by provided subpatterns are ignored in favor of the `flags` argument.
- * @memberOf XRegExp
- * @param {String} pattern XRegExp pattern using `{{name}}` for embedded subpatterns. Allows
- *   `({{name}})` as shorthand for `(?<name>{{name}})`. Patterns cannot be embedded within
- *   character classes.
- * @param {Object} subs Lookup object for named subpatterns. Values can be strings or regexes. A
- *   leading `^` and trailing unescaped `$` are stripped from subpatterns, if both are present.
- * @param {String} [flags] Any combination of XRegExp flags.
- * @returns {RegExp} Regex with interpolated subpatterns.
- * @example
- *
- * var time = XRegExp.build('(?x)^ {{hours}} ({{minutes}}) $', {
- *   hours: XRegExp.build('{{h12}} : | {{h24}}', {
- *     h12: /1[0-2]|0?[1-9]/,
- *     h24: /2[0-3]|[01][0-9]/
- *   }, 'x'),
- *   minutes: /^[0-5][0-9]$/
- * });
- * time.test('10:59'); // -> true
- * XRegExp.exec('10:59', time).minutes; // -> '59'
- */
-    XRegExp.build = function (pattern, subs, flags) {
-        var inlineFlags = /^\(\?([\w$]+)\)/.exec(pattern),
-            data = {},
-            numCaps = 0, // Caps is short for captures
-            numPriorCaps,
-            numOuterCaps = 0,
-            outerCapsMap = [0],
-            outerCapNames,
-            sub,
-            p;
-
-        // Add flags within a leading mode modifier to the overall pattern's flags
-        if (inlineFlags) {
-            flags = flags || "";
-            inlineFlags[1].replace(/./g, function (flag) {
-                flags += (flags.indexOf(flag) > -1 ? "" : flag); // Don't add duplicates
-            });
-        }
-
-        for (p in subs) {
-            if (subs.hasOwnProperty(p)) {
-                // Passing to XRegExp enables entended syntax for subpatterns provided as strings
-                // and ensures independent validity, lest an unescaped `(`, `)`, `[`, or trailing
-                // `\` breaks the `(?:)` wrapper. For subpatterns provided as regexes, it dies on
-                // octals and adds the `xregexp` property, for simplicity
-                sub = asXRegExp(subs[p]);
-                // Deanchoring allows embedding independently useful anchored regexes. If you
-                // really need to keep your anchors, double them (i.e., `^^...$$`)
-                data[p] = {pattern: deanchor(sub.source), names: sub.xregexp.captureNames || []};
-            }
-        }
-
-        // Passing to XRegExp dies on octals and ensures the outer pattern is independently valid;
-        // helps keep this simple. Named captures will be put back
-        pattern = asXRegExp(pattern);
-        outerCapNames = pattern.xregexp.captureNames || [];
-        pattern = pattern.source.replace(parts, function ($0, $1, $2, $3, $4) {
-            var subName = $1 || $2, capName, intro;
-            if (subName) { // Named subpattern
-                if (!data.hasOwnProperty(subName)) {
-                    throw new ReferenceError("undefined property " + $0);
-                }
-                if ($1) { // Named subpattern was wrapped in a capturing group
-                    capName = outerCapNames[numOuterCaps];
-                    outerCapsMap[++numOuterCaps] = ++numCaps;
-                    // If it's a named group, preserve the name. Otherwise, use the subpattern name
-                    // as the capture name
-                    intro = "(?<" + (capName || subName) + ">";
-                } else {
-                    intro = "(?:";
-                }
-                numPriorCaps = numCaps;
-                return intro + data[subName].pattern.replace(subparts, function (match, paren, backref) {
-                    if (paren) { // Capturing group
-                        capName = data[subName].names[numCaps - numPriorCaps];
-                        ++numCaps;
-                        if (capName) { // If the current capture has a name, preserve the name
-                            return "(?<" + capName + ">";
-                        }
-                    } else if (backref) { // Backreference
-                        return "\\" + (+backref + numPriorCaps); // Rewrite the backreference
-                    }
-                    return match;
-                }) + ")";
-            }
-            if ($3) { // Capturing group
-                capName = outerCapNames[numOuterCaps];
-                outerCapsMap[++numOuterCaps] = ++numCaps;
-                if (capName) { // If the current capture has a name, preserve the name
-                    return "(?<" + capName + ">";
-                }
-            } else if ($4) { // Backreference
-                return "\\" + outerCapsMap[+$4]; // Rewrite the backreference
-            }
-            return $0;
-        });
-
-        return XRegExp(pattern, flags);
-    };
-
-}(XRegExp));
-
-
-/***** prototypes.js *****/
-
-/*!
- * XRegExp Prototype Methods v1.0.0
- * (c) 2012 Steven Levithan <http://xregexp.com/>
- * MIT License
- */
-
-/**
- * Adds a collection of methods to `XRegExp.prototype`. RegExp objects copied by XRegExp are also
- * augmented with any `XRegExp.prototype` methods. Hence, the following work equivalently:
- *
- * XRegExp('[a-z]', 'ig').xexec('abc');
- * XRegExp(/[a-z]/ig).xexec('abc');
- * XRegExp.globalize(/[a-z]/i).xexec('abc');
- */
-(function (XRegExp) {
-    "use strict";
-
-/**
- * Copy properties of `b` to `a`.
- * @private
- * @param {Object} a Object that will receive new properties.
- * @param {Object} b Object whose properties will be copied.
- */
-    function extend(a, b) {
-        for (var p in b) {
-            if (b.hasOwnProperty(p)) {
-                a[p] = b[p];
-            }
-        }
-        //return a;
-    }
-
-    extend(XRegExp.prototype, {
-
-/**
- * Implicitly calls the regex's `test` method with the first value in the provided arguments array.
- * @memberOf XRegExp.prototype
- * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.apply`.
- * @param {Array} args Array with the string to search as its first value.
- * @returns {Boolean} Whether the regex matched the provided value.
- * @example
- *
- * XRegExp('[a-z]').apply(null, ['abc']); // -> true
- */
-        apply: function (context, args) {
-            return this.test(args[0]);
-        },
-
-/**
- * Implicitly calls the regex's `test` method with the provided string.
- * @memberOf XRegExp.prototype
- * @param {*} context Ignored. Accepted only for congruity with `Function.prototype.call`.
- * @param {String} str String to search.
- * @returns {Boolean} Whether the regex matched the provided value.
- * @example
- *
- * XRegExp('[a-z]').call(null, 'abc'); // -> true
- */
-        call: function (context, str) {
-            return this.test(str);
-        },
-
-/**
- * Implicitly calls {@link #XRegExp.forEach}.
- * @memberOf XRegExp.prototype
- * @example
- *
- * XRegExp('\\d').forEach('1a2345', function (match, i) {
- *   if (i % 2) this.push(+match[0]);
- * }, []);
- * // -> [2, 4]
- */
-        forEach: function (str, callback, context) {
-            return XRegExp.forEach(str, this, callback, context);
-        },
-
-/**
- * Implicitly calls {@link #XRegExp.globalize}.
- * @memberOf XRegExp.prototype
- * @example
- *
- * var globalCopy = XRegExp('regex').globalize();
- * globalCopy.global; // -> true
- */
-        globalize: function () {
-            return XRegExp.globalize(this);
-        },
-
-/**
- * Implicitly calls {@link #XRegExp.exec}.
- * @memberOf XRegExp.prototype
- * @example
- *
- * var match = XRegExp('U\\+(?<hex>[0-9A-F]{4})').xexec('U+2620');
- * match.hex; // -> '2620'
- */
-        xexec: function (str, pos, sticky) {
-            return XRegExp.exec(str, this, pos, sticky);
-        },
-
-/**
- * Implicitly calls {@link #XRegExp.test}.
- * @memberOf XRegExp.prototype
- * @example
- *
- * XRegExp('c').xtest('abc'); // -> true
- */
-        xtest: function (str, pos, sticky) {
-            return XRegExp.test(str, this, pos, sticky);
-        }
-
-    });
-
-}(XRegExp));
-
diff --git a/static/admin/js/vendor/xregexp/xregexp.min.js b/static/admin/js/vendor/xregexp/xregexp.min.js
deleted file mode 100644
index a1905588..00000000
--- a/static/admin/js/vendor/xregexp/xregexp.min.js
+++ /dev/null
@@ -1,18 +0,0 @@
-//XRegExp 2.0.0 <xregexp.com> MIT License
-var XRegExp;XRegExp=XRegExp||function(n){"use strict";function v(n,i,r){var u;for(u in t.prototype)t.prototype.hasOwnProperty(u)&&(n[u]=t.prototype[u]);return n.xregexp={captureNames:i,isNative:!!r},n}function g(n){return(n.global?"g":"")+(n.ignoreCase?"i":"")+(n.multiline?"m":"")+(n.extended?"x":"")+(n.sticky?"y":"")}function o(n,r,u){if(!t.isRegExp(n))throw new TypeError("type RegExp expected");var f=i.replace.call(g(n)+(r||""),h,"");return u&&(f=i.replace.call(f,new RegExp("["+u+"]+","g"),"")),n=n.xregexp&&!n.xregexp.isNative?v(t(n.source,f),n.xregexp.captureNames?n.xregexp.captureNames.slice(0):null):v(new RegExp(n.source,f),null,!0)}function a(n,t){var i=n.length;if(Array.prototype.lastIndexOf)return n.lastIndexOf(t);while(i--)if(n[i]===t)return i;return-1}function s(n,t){return Object.prototype.toString.call(n).toLowerCase()==="[object "+t+"]"}function d(n){return n=n||{},n==="all"||n.all?n={natives:!0,extensibility:!0}:s(n,"string")&&(n=t.forEach(n,/[^\s,]+/,function(n){this[n]=!0},{})),n}function ut(n,t,i,u){var o=p.length,s=null,e,f;y=!0;try{while(o--)if(f=p[o],(f.scope==="all"||f.scope===i)&&(!f.trigger||f.trigger.call(u))&&(f.pattern.lastIndex=t,e=r.exec.call(f.pattern,n),e&&e.index===t)){s={output:f.handler.call(u,e,i),match:e};break}}catch(h){throw h;}finally{y=!1}return s}function b(n){t.addToken=c[n?"on":"off"],f.extensibility=n}function tt(n){RegExp.prototype.exec=(n?r:i).exec,RegExp.prototype.test=(n?r:i).test,String.prototype.match=(n?r:i).match,String.prototype.replace=(n?r:i).replace,String.prototype.split=(n?r:i).split,f.natives=n}var t,c,u,f={natives:!1,extensibility:!1},i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},r={},k={},p=[],e="default",rt="class",it={"default":/^(?:\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??)/,"class":/^(?:\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|c[A-Za-z]|[\s\S]))/},et=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,h=/([\s\S])(?=[\s\S]*\1)/g,nt=/^(?:[?*+]|{\d+(?:,\d*)?})\??/,ft=i.exec.call(/()??/,"")[1]===n,l=RegExp.prototype.sticky!==n,y=!1,w="gim"+(l?"y":"");return t=function(r,u){if(t.isRegExp(r)){if(u!==n)throw new TypeError("can't supply flags when constructing one RegExp from another");return o(r)}if(y)throw new Error("can't call the XRegExp constructor within token definition functions");var l=[],a=e,b={hasNamedCapture:!1,captureNames:[],hasFlag:function(n){return u.indexOf(n)>-1}},f=0,c,s,p;if(r=r===n?"":String(r),u=u===n?"":String(u),i.match.call(u,h))throw new SyntaxError("invalid duplicate regular expression flag");for(r=i.replace.call(r,/^\(\?([\w$]+)\)/,function(n,t){if(i.test.call(/[gy]/,t))throw new SyntaxError("can't use flag g or y in mode modifier");return u=i.replace.call(u+t,h,""),""}),t.forEach(u,/[\s\S]/,function(n){if(w.indexOf(n[0])<0)throw new SyntaxError("invalid regular expression flag "+n[0]);});f<r.length;)c=ut(r,f,a,b),c?(l.push(c.output),f+=c.match[0].length||1):(s=i.exec.call(it[a],r.slice(f)),s?(l.push(s[0]),f+=s[0].length):(p=r.charAt(f),p==="["?a=rt:p==="]"&&(a=e),l.push(p),++f));return v(new RegExp(l.join(""),i.replace.call(u,/[^gimy]+/g,"")),b.hasNamedCapture?b.captureNames:null)},c={on:function(n,t,r){r=r||{},n&&p.push({pattern:o(n,"g"+(l?"y":"")),handler:t,scope:r.scope||e,trigger:r.trigger||null}),r.customFlags&&(w=i.replace.call(w+r.customFlags,h,""))},off:function(){throw new Error("extensibility must be installed before using addToken");}},t.addToken=c.off,t.cache=function(n,i){var r=n+"/"+(i||"");return k[r]||(k[r]=t(n,i))},t.escape=function(n){return i.replace.call(n,/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},t.exec=function(n,t,i,u){var e=o(t,"g"+(u&&l?"y":""),u===!1?"y":""),f;return e.lastIndex=i=i||0,f=r.exec.call(e,n),u&&f&&f.index!==i&&(f=null),t.global&&(t.lastIndex=f?e.lastIndex:0),f},t.forEach=function(n,i,r,u){for(var e=0,o=-1,f;f=t.exec(n,i,e);)r.call(u,f,++o,n,i),e=f.index+(f[0].length||1);return u},t.globalize=function(n){return o(n,"g")},t.install=function(n){n=d(n),!f.natives&&n.natives&&tt(!0),!f.extensibility&&n.extensibility&&b(!0)},t.isInstalled=function(n){return!!f[n]},t.isRegExp=function(n){return s(n,"regexp")},t.matchChain=function(n,i){return function r(n,u){for(var o=i[u].regex?i[u]:{regex:i[u]},f=[],s=function(n){f.push(o.backref?n[o.backref]||"":n[0])},e=0;e<n.length;++e)t.forEach(n[e],o.regex,s);return u===i.length-1||!f.length?f:r(f,u+1)}([n],0)},t.replace=function(i,u,f,e){var c=t.isRegExp(u),s=u,h;return c?(e===n&&u.global&&(e="all"),s=o(u,e==="all"?"g":"",e==="all"?"":"g")):e==="all"&&(s=new RegExp(t.escape(String(u)),"g")),h=r.replace.call(String(i),s,f),c&&u.global&&(u.lastIndex=0),h},t.split=function(n,t,i){return r.split.call(n,t,i)},t.test=function(n,i,r,u){return!!t.exec(n,i,r,u)},t.uninstall=function(n){n=d(n),f.natives&&n.natives&&tt(!1),f.extensibility&&n.extensibility&&b(!1)},t.union=function(n,i){var l=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,o=0,f,h,c=function(n,t,i){var r=h[o-f];if(t){if(++o,r)return"(?<"+r+">"}else if(i)return"\\"+(+i+f);return n},e=[],r,u;if(!(s(n,"array")&&n.length))throw new TypeError("patterns must be a nonempty array");for(u=0;u<n.length;++u)r=n[u],t.isRegExp(r)?(f=o,h=r.xregexp&&r.xregexp.captureNames||[],e.push(t(r.source).source.replace(l,c))):e.push(t.escape(r));return t(e.join("|"),i)},t.version="2.0.0",r.exec=function(t){var r,f,e,o,u;if(this.global||(o=this.lastIndex),r=i.exec.apply(this,arguments),r){if(!ft&&r.length>1&&a(r,"")>-1&&(e=new RegExp(this.source,i.replace.call(g(this),"g","")),i.replace.call(String(t).slice(r.index),e,function(){for(var t=1;t<arguments.length-2;++t)arguments[t]===n&&(r[t]=n)})),this.xregexp&&this.xregexp.captureNames)for(u=1;u<r.length;++u)f=this.xregexp.captureNames[u-1],f&&(r[f]=r[u]);this.global&&!r[0].length&&this.lastIndex>r.index&&(this.lastIndex=r.index)}return this.global||(this.lastIndex=o),r},r.test=function(n){return!!r.exec.call(this,n)},r.match=function(n){if(t.isRegExp(n)){if(n.global){var u=i.match.apply(this,arguments);return n.lastIndex=0,u}}else n=new RegExp(n);return r.exec.call(n,this)},r.replace=function(n,r){var e=t.isRegExp(n),u,f,h,o;return e?(n.xregexp&&(u=n.xregexp.captureNames),n.global||(o=n.lastIndex)):n+="",s(r,"function")?f=i.replace.call(String(this),n,function(){var t=arguments,i;if(u)for(t[0]=new String(t[0]),i=0;i<u.length;++i)u[i]&&(t[0][u[i]]=t[i+1]);return e&&n.global&&(n.lastIndex=t[t.length-2]+t[0].length),r.apply(null,t)}):(h=String(this),f=i.replace.call(h,n,function(){var n=arguments;return i.replace.call(String(r),et,function(t,i,r){var f;if(i){if(f=+i,f<=n.length-3)return n[f]||"";if(f=u?a(u,i):-1,f<0)throw new SyntaxError("backreference to undefined group "+t);return n[f+1]||""}if(r==="$")return"$";if(r==="&"||+r==0)return n[0];if(r==="`")return n[n.length-1].slice(0,n[n.length-2]);if(r==="'")return n[n.length-1].slice(n[n.length-2]+n[0].length);if(r=+r,!isNaN(r)){if(r>n.length-3)throw new SyntaxError("backreference to undefined group "+t);return n[r]||""}throw new SyntaxError("invalid token "+t);})})),e&&(n.lastIndex=n.global?0:o),f},r.split=function(r,u){if(!t.isRegExp(r))return i.split.apply(this,arguments);var e=String(this),h=r.lastIndex,f=[],o=0,s;return u=(u===n?-1:u)>>>0,t.forEach(e,r,function(n){n.index+n[0].length>o&&(f.push(e.slice(o,n.index)),n.length>1&&n.index<e.length&&Array.prototype.push.apply(f,n.slice(1)),s=n[0].length,o=n.index+s)}),o===e.length?(!i.test.call(r,"")||s)&&f.push(""):f.push(e.slice(o)),r.lastIndex=h,f.length>u?f.slice(0,u):f},u=c.on,u(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4})|x(?![\dA-Fa-f]{2}))/,function(n,t){if(n[1]==="B"&&t===e)return n[0];throw new SyntaxError("invalid escape "+n[0]);},{scope:"all"}),u(/\[(\^?)]/,function(n){return n[1]?"[\\s\\S]":"\\b\\B"}),u(/(?:\(\?#[^)]*\))+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"}),u(/\\k<([\w$]+)>/,function(n){var t=isNaN(n[1])?a(this.captureNames,n[1])+1:+n[1],i=n.index+n[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("backreference to undefined group "+n[0]);return"\\"+t+(i===n.input.length||isNaN(n.input.charAt(i))?"":"(?:)")}),u(/(?:\s+|#.*)+/,function(n){return i.test.call(nt,n.input.slice(n.index+n[0].length))?"":"(?:)"},{trigger:function(){return this.hasFlag("x")},customFlags:"x"}),u(/\./,function(){return"[\\s\\S]"},{trigger:function(){return this.hasFlag("s")},customFlags:"s"}),u(/\(\?P?<([\w$]+)>/,function(n){if(!isNaN(n[1]))throw new SyntaxError("can't use integer as capture name "+n[0]);return this.captureNames.push(n[1]),this.hasNamedCapture=!0,"("}),u(/\\(\d+)/,function(n,t){if(!(t===e&&/^[1-9]/.test(n[1])&&+n[1]<=this.captureNames.length)&&n[1]!=="0")throw new SyntaxError("can't use octal escape or backreference to undefined group "+n[0]);return n[0]},{scope:"all"}),u(/\((?!\?)/,function(){return this.hasFlag("n")?"(?:":(this.captureNames.push(null),"(")},{customFlags:"n"}),typeof exports!="undefined"&&(exports.XRegExp=t),t}();
-//XRegExp Unicode Base 1.0.0
-(function(n){"use strict";function i(n){return n.replace(/[- _]+/g,"").toLowerCase()}function s(n){return n.replace(/\w{4}/g,"\\u$&")}function u(n){while(n.length<4)n="0"+n;return n}function f(n){return parseInt(n,16)}function r(n){return parseInt(n,10).toString(16)}function o(t){var e=[],i=-1,o;return n.forEach(t,/\\u(\w{4})(?:-\\u(\w{4}))?/,function(n){o=f(n[1]),o>i+1&&(e.push("\\u"+u(r(i+1))),o>i+2&&e.push("-\\u"+u(r(o-1)))),i=f(n[2]||n[1])}),i<65535&&(e.push("\\u"+u(r(i+1))),i<65534&&e.push("-\\uFFFF")),e.join("")}function e(n){return t["^"+n]||(t["^"+n]=o(t[n]))}var t={};n.install("extensibility"),n.addUnicodePackage=function(r,u){var f;if(!n.isInstalled("extensibility"))throw new Error("extensibility must be installed before adding Unicode packages");if(r)for(f in r)r.hasOwnProperty(f)&&(t[i(f)]=s(r[f]));if(u)for(f in u)u.hasOwnProperty(f)&&(t[i(u[f])]=t[i(f)])},n.addUnicodePackage({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705D0-05EA05F0-05F20620-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280840-085808A008A2-08AC0904-0939093D09500958-09610971-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDAAE0-AAEAAAF2-AAF4AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC"},{L:"Letter"}),n.addToken(/\\([pP]){(\^?)([^}]*)}/,function(n,r){var f=n[1]==="P"||n[2]?"^":"",u=i(n[3]);if(n[1]==="P"&&n[2])throw new SyntaxError("invalid double negation \\P{^");if(!t.hasOwnProperty(u))throw new SyntaxError("invalid or unknown Unicode property "+n[0]);return r==="class"?f?e(u):t[u]:"["+f+t[u]+"]"},{scope:"all"})})(XRegExp);
-//XRegExp Unicode Categories 1.2.0
-(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Categories");n.install("extensibility"),n.addUnicodePackage({Ll:"0061-007A00B500DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1D2B1D6B-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7B2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7FAFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D6A1D781D9B-1DBF2071207F2090-209C2C7C2C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A7F8A7F9A9CFAA70AADDAAF3AAF4FF70FF9EFF9F",Lo:"00AA00BA01BB01C0-01C3029405D0-05EA05F0-05F20620-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150840-085808A008A2-08AC0904-0939093D09500958-09610972-09770979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10CF10CF20D05-0D0C0D0E-0D100D12-0D3A0D3D0D4E0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC-0EDF0F000F40-0F470F49-0F6C0F88-0F8C1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA10FD-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1BBA-1BE51C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF11CF51CF62135-21382D30-2D672D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCAAE0-AAEAAAF2AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0903093A-093C093E-094F0951-0957096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F8D-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135D-135F1712-17141732-1734175217531772177317B4-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAD1BE6-1BF31C24-1C371CD0-1CD21CD4-1CE81CED1CF2-1CF41DC0-1DE61DFC-1DFF20D0-20F02CEF-2CF12D7F2DE0-2DFF302A-302F3099309AA66F-A672A674-A67DA69FA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAEB-AAEFAAF5AAF6ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065F067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0859-085B08E4-08FE0900-0902093A093C0941-0948094D0951-095709620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F8D-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135D-135F1712-17141732-1734175217531772177317B417B517B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91BAB1BE61BE81BE91BED1BEF-1BF11C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF20D0-20DC20E120E5-20F02CEF-2CF12D7F2DE0-2DFF302A-302D3099309AA66FA674-A67DA69FA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1AAECAAEDAAF6ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093B093E-09400949-094C094E094F0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1BAC1BAD1BE71BEA-1BEC1BEE1BF21BF31C24-1C2B1C341C351CE11CF21CF3302E302FA823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BAAEBAAEEAAEFAAF5ABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048920DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0B72-0B770BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19D91A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90B72-0B770BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F919DA20702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293248-324F3251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100A700AB00B600B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F3A-0F3D0F850FD0-0FD40FD90FDA104A-104F10FB1360-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2D702E00-2E2E2E30-2E3B3001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A2E3A2E3B301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100A700B600B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E085E0964096509700AF00DF40E4F0E5A0E5B0F04-0F120F140F850FD0-0FD40FD90FDA104A-104F10FB1360-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A194419451A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601BFC-1BFF1C3B-1C3F1C7E1C7F1CC0-1CC71CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2D702E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E30-2E393001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFAAF0AAF1ABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A600A800A900AC00AE-00B100B400B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F60482058F0606-0608060B060E060F06DE06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0D790E3F0F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-139917DB194019DE-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B9210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23F32400-24262440-244A249C-24E92500-26FF2701-27672794-27C427C7-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FBB2-FBC1FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C21182140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5058F060B09F209F309FB0AF10BF90E3F17DB20A0-20B9A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFBB2-FBC1FF3EFF40FFE3",So:"00A600A900AE00B00482060E060F06DE06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0D790F01-0F030F130F15-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F1390-1399194019DE-19FF1B61-1B6A1B74-1B7C210021012103-210621082109211421162117211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23F32400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26FF2701-27672794-27BF2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-324732503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-0605061C061D06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060406DD070F200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20528-05300557055805600588058B-058E059005C8-05CF05EB-05EF05F5-05FF0605061C061D070E074B074C07B2-07BF07FB-07FF082E082F083F085C085D085F-089F08A108AD-08E308FF097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B78-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D3B0D3C0D450D490D4F-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EE0-0EFF0F480F6D-0F700F980FBD0FCD0FDB-0FFF10C610C8-10CC10CE10CF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B135C137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BF4-1BFB1C38-1C3A1C4A-1C4C1C80-1CBF1CC8-1CCF1CF7-1CFF1DE7-1DFB1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F209D-209F20BA-20CF20F1-20FF218A-218F23F4-23FF2427-243F244B-245F27002B4D-2B4F2B5A-2BFF2C2F2C5F2CF4-2CF82D262D28-2D2C2D2E2D2F2D68-2D6E2D71-2D7E2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E3C-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31BB-31BF31E4-31EF321F32FF4DB6-4DBF9FCD-9FFFA48D-A48FA4C7-A4CFA62C-A63FA698-A69EA6F8-A6FFA78FA794-A79FA7AB-A7F7A82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAF7-AB00AB07AB08AB0FAB10AB17-AB1FAB27AB2F-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBC2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"},{Ll:"Lowercase_Letter",Lu:"Uppercase_Letter",Lt:"Titlecase_Letter",Lm:"Modifier_Letter",Lo:"Other_Letter",M:"Mark",Mn:"Nonspacing_Mark",Mc:"Spacing_Mark",Me:"Enclosing_Mark",N:"Number",Nd:"Decimal_Number",Nl:"Letter_Number",No:"Other_Number",P:"Punctuation",Pd:"Dash_Punctuation",Ps:"Open_Punctuation",Pe:"Close_Punctuation",Pi:"Initial_Punctuation",Pf:"Final_Punctuation",Pc:"Connector_Punctuation",Po:"Other_Punctuation",S:"Symbol",Sm:"Math_Symbol",Sc:"Currency_Symbol",Sk:"Modifier_Symbol",So:"Other_Symbol",Z:"Separator",Zs:"Space_Separator",Zl:"Line_Separator",Zp:"Paragraph_Separator",C:"Other",Cc:"Control",Cf:"Format",Co:"Private_Use",Cs:"Surrogate",Cn:"Unassigned"})})(XRegExp);
-//XRegExp Unicode Scripts 1.2.0
-(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts");n.install("extensibility"),n.addUnicodePackage({Arabic:"0600-06040606-060B060D-061A061E0620-063F0641-064A0656-065E066A-066F0671-06DC06DE-06FF0750-077F08A008A2-08AC08E4-08FEFB50-FBC1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFCFE70-FE74FE76-FEFC",Armenian:"0531-05560559-055F0561-0587058A058FFB13-FB17",Balinese:"1B00-1B4B1B50-1B7C",Bamum:"A6A0-A6F7",Batak:"1BC0-1BF31BFC-1BFF",Bengali:"0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB",Bopomofo:"02EA02EB3105-312D31A0-31BA",Braille:"2800-28FF",Buginese:"1A00-1A1B1A1E1A1F",Buhid:"1740-1753",Canadian_Aboriginal:"1400-167F18B0-18F5",Cham:"AA00-AA36AA40-AA4DAA50-AA59AA5C-AA5F",Cherokee:"13A0-13F4",Common:"0000-0040005B-0060007B-00A900AB-00B900BB-00BF00D700F702B9-02DF02E5-02E902EC-02FF0374037E038503870589060C061B061F06400660-066906DD096409650E3F0FD5-0FD810FB16EB-16ED173517361802180318051CD31CE11CE9-1CEC1CEE-1CF31CF51CF62000-200B200E-2064206A-20702074-207E2080-208E20A0-20B92100-21252127-2129212C-21312133-214D214F-215F21892190-23F32400-24262440-244A2460-26FF2701-27FF2900-2B4C2B50-2B592E00-2E3B2FF0-2FFB3000-300430063008-30203030-3037303C-303F309B309C30A030FB30FC3190-319F31C0-31E33220-325F327F-32CF3358-33FF4DC0-4DFFA700-A721A788-A78AA830-A839FD3EFD3FFDFDFE10-FE19FE30-FE52FE54-FE66FE68-FE6BFEFFFF01-FF20FF3B-FF40FF5B-FF65FF70FF9EFF9FFFE0-FFE6FFE8-FFEEFFF9-FFFD",Coptic:"03E2-03EF2C80-2CF32CF9-2CFF",Cyrillic:"0400-04840487-05271D2B1D782DE0-2DFFA640-A697A69F",Devanagari:"0900-09500953-09630966-09770979-097FA8E0-A8FB",Ethiopic:"1200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-13992D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDEAB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2E",Georgian:"10A0-10C510C710CD10D0-10FA10FC-10FF2D00-2D252D272D2D",Glagolitic:"2C00-2C2E2C30-2C5E",Greek:"0370-03730375-0377037A-037D038403860388-038A038C038E-03A103A3-03E103F0-03FF1D26-1D2A1D5D-1D611D66-1D6A1DBF1F00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2126",Gujarati:"0A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF1",Gurmukhi:"0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A75",Han:"2E80-2E992E9B-2EF32F00-2FD5300530073021-30293038-303B3400-4DB54E00-9FCCF900-FA6DFA70-FAD9",Hangul:"1100-11FF302E302F3131-318E3200-321E3260-327EA960-A97CAC00-D7A3D7B0-D7C6D7CB-D7FBFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Hanunoo:"1720-1734",Hebrew:"0591-05C705D0-05EA05F0-05F4FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FB4F",Hiragana:"3041-3096309D-309F",Inherited:"0300-036F04850486064B-0655065F0670095109521CD0-1CD21CD4-1CE01CE2-1CE81CED1CF41DC0-1DE61DFC-1DFF200C200D20D0-20F0302A-302D3099309AFE00-FE0FFE20-FE26",Javanese:"A980-A9CDA9CF-A9D9A9DEA9DF",Kannada:"0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF2",Katakana:"30A1-30FA30FD-30FF31F0-31FF32D0-32FE3300-3357FF66-FF6FFF71-FF9D",Kayah_Li:"A900-A92F",Khmer:"1780-17DD17E0-17E917F0-17F919E0-19FF",Lao:"0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF",Latin:"0041-005A0061-007A00AA00BA00C0-00D600D8-00F600F8-02B802E0-02E41D00-1D251D2C-1D5C1D62-1D651D6B-1D771D79-1DBE1E00-1EFF2071207F2090-209C212A212B2132214E2160-21882C60-2C7FA722-A787A78B-A78EA790-A793A7A0-A7AAA7F8-A7FFFB00-FB06FF21-FF3AFF41-FF5A",Lepcha:"1C00-1C371C3B-1C491C4D-1C4F",Limbu:"1900-191C1920-192B1930-193B19401944-194F",Lisu:"A4D0-A4FF",Malayalam:"0D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F",Mandaic:"0840-085B085E",Meetei_Mayek:"AAE0-AAF6ABC0-ABEDABF0-ABF9",Mongolian:"1800180118041806-180E1810-18191820-18771880-18AA",Myanmar:"1000-109FAA60-AA7B",New_Tai_Lue:"1980-19AB19B0-19C919D0-19DA19DE19DF",Nko:"07C0-07FA",Ogham:"1680-169C",Ol_Chiki:"1C50-1C7F",Oriya:"0B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B77",Phags_Pa:"A840-A877",Rejang:"A930-A953A95F",Runic:"16A0-16EA16EE-16F0",Samaritan:"0800-082D0830-083E",Saurashtra:"A880-A8C4A8CE-A8D9",Sinhala:"0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF4",Sundanese:"1B80-1BBF1CC0-1CC7",Syloti_Nagri:"A800-A82B",Syriac:"0700-070D070F-074A074D-074F",Tagalog:"1700-170C170E-1714",Tagbanwa:"1760-176C176E-177017721773",Tai_Le:"1950-196D1970-1974",Tai_Tham:"1A20-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD",Tai_Viet:"AA80-AAC2AADB-AADF",Tamil:"0B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA",Telugu:"0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F",Thaana:"0780-07B1",Thai:"0E01-0E3A0E40-0E5B",Tibetan:"0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FD40FD90FDA",Tifinagh:"2D30-2D672D6F2D702D7F",Vai:"A500-A62B",Yi:"A000-A48CA490-A4C6"})})(XRegExp);
-//XRegExp Unicode Blocks 1.2.0
-(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks");n.install("extensibility"),n.addUnicodePackage({InBasic_Latin:"0000-007F",InLatin_1_Supplement:"0080-00FF",InLatin_Extended_A:"0100-017F",InLatin_Extended_B:"0180-024F",InIPA_Extensions:"0250-02AF",InSpacing_Modifier_Letters:"02B0-02FF",InCombining_Diacritical_Marks:"0300-036F",InGreek_and_Coptic:"0370-03FF",InCyrillic:"0400-04FF",InCyrillic_Supplement:"0500-052F",InArmenian:"0530-058F",InHebrew:"0590-05FF",InArabic:"0600-06FF",InSyriac:"0700-074F",InArabic_Supplement:"0750-077F",InThaana:"0780-07BF",InNKo:"07C0-07FF",InSamaritan:"0800-083F",InMandaic:"0840-085F",InArabic_Extended_A:"08A0-08FF",InDevanagari:"0900-097F",InBengali:"0980-09FF",InGurmukhi:"0A00-0A7F",InGujarati:"0A80-0AFF",InOriya:"0B00-0B7F",InTamil:"0B80-0BFF",InTelugu:"0C00-0C7F",InKannada:"0C80-0CFF",InMalayalam:"0D00-0D7F",InSinhala:"0D80-0DFF",InThai:"0E00-0E7F",InLao:"0E80-0EFF",InTibetan:"0F00-0FFF",InMyanmar:"1000-109F",InGeorgian:"10A0-10FF",InHangul_Jamo:"1100-11FF",InEthiopic:"1200-137F",InEthiopic_Supplement:"1380-139F",InCherokee:"13A0-13FF",InUnified_Canadian_Aboriginal_Syllabics:"1400-167F",InOgham:"1680-169F",InRunic:"16A0-16FF",InTagalog:"1700-171F",InHanunoo:"1720-173F",InBuhid:"1740-175F",InTagbanwa:"1760-177F",InKhmer:"1780-17FF",InMongolian:"1800-18AF",InUnified_Canadian_Aboriginal_Syllabics_Extended:"18B0-18FF",InLimbu:"1900-194F",InTai_Le:"1950-197F",InNew_Tai_Lue:"1980-19DF",InKhmer_Symbols:"19E0-19FF",InBuginese:"1A00-1A1F",InTai_Tham:"1A20-1AAF",InBalinese:"1B00-1B7F",InSundanese:"1B80-1BBF",InBatak:"1BC0-1BFF",InLepcha:"1C00-1C4F",InOl_Chiki:"1C50-1C7F",InSundanese_Supplement:"1CC0-1CCF",InVedic_Extensions:"1CD0-1CFF",InPhonetic_Extensions:"1D00-1D7F",InPhonetic_Extensions_Supplement:"1D80-1DBF",InCombining_Diacritical_Marks_Supplement:"1DC0-1DFF",InLatin_Extended_Additional:"1E00-1EFF",InGreek_Extended:"1F00-1FFF",InGeneral_Punctuation:"2000-206F",InSuperscripts_and_Subscripts:"2070-209F",InCurrency_Symbols:"20A0-20CF",InCombining_Diacritical_Marks_for_Symbols:"20D0-20FF",InLetterlike_Symbols:"2100-214F",InNumber_Forms:"2150-218F",InArrows:"2190-21FF",InMathematical_Operators:"2200-22FF",InMiscellaneous_Technical:"2300-23FF",InControl_Pictures:"2400-243F",InOptical_Character_Recognition:"2440-245F",InEnclosed_Alphanumerics:"2460-24FF",InBox_Drawing:"2500-257F",InBlock_Elements:"2580-259F",InGeometric_Shapes:"25A0-25FF",InMiscellaneous_Symbols:"2600-26FF",InDingbats:"2700-27BF",InMiscellaneous_Mathematical_Symbols_A:"27C0-27EF",InSupplemental_Arrows_A:"27F0-27FF",InBraille_Patterns:"2800-28FF",InSupplemental_Arrows_B:"2900-297F",InMiscellaneous_Mathematical_Symbols_B:"2980-29FF",InSupplemental_Mathematical_Operators:"2A00-2AFF",InMiscellaneous_Symbols_and_Arrows:"2B00-2BFF",InGlagolitic:"2C00-2C5F",InLatin_Extended_C:"2C60-2C7F",InCoptic:"2C80-2CFF",InGeorgian_Supplement:"2D00-2D2F",InTifinagh:"2D30-2D7F",InEthiopic_Extended:"2D80-2DDF",InCyrillic_Extended_A:"2DE0-2DFF",InSupplemental_Punctuation:"2E00-2E7F",InCJK_Radicals_Supplement:"2E80-2EFF",InKangxi_Radicals:"2F00-2FDF",InIdeographic_Description_Characters:"2FF0-2FFF",InCJK_Symbols_and_Punctuation:"3000-303F",InHiragana:"3040-309F",InKatakana:"30A0-30FF",InBopomofo:"3100-312F",InHangul_Compatibility_Jamo:"3130-318F",InKanbun:"3190-319F",InBopomofo_Extended:"31A0-31BF",InCJK_Strokes:"31C0-31EF",InKatakana_Phonetic_Extensions:"31F0-31FF",InEnclosed_CJK_Letters_and_Months:"3200-32FF",InCJK_Compatibility:"3300-33FF",InCJK_Unified_Ideographs_Extension_A:"3400-4DBF",InYijing_Hexagram_Symbols:"4DC0-4DFF",InCJK_Unified_Ideographs:"4E00-9FFF",InYi_Syllables:"A000-A48F",InYi_Radicals:"A490-A4CF",InLisu:"A4D0-A4FF",InVai:"A500-A63F",InCyrillic_Extended_B:"A640-A69F",InBamum:"A6A0-A6FF",InModifier_Tone_Letters:"A700-A71F",InLatin_Extended_D:"A720-A7FF",InSyloti_Nagri:"A800-A82F",InCommon_Indic_Number_Forms:"A830-A83F",InPhags_pa:"A840-A87F",InSaurashtra:"A880-A8DF",InDevanagari_Extended:"A8E0-A8FF",InKayah_Li:"A900-A92F",InRejang:"A930-A95F",InHangul_Jamo_Extended_A:"A960-A97F",InJavanese:"A980-A9DF",InCham:"AA00-AA5F",InMyanmar_Extended_A:"AA60-AA7F",InTai_Viet:"AA80-AADF",InMeetei_Mayek_Extensions:"AAE0-AAFF",InEthiopic_Extended_A:"AB00-AB2F",InMeetei_Mayek:"ABC0-ABFF",InHangul_Syllables:"AC00-D7AF",InHangul_Jamo_Extended_B:"D7B0-D7FF",InHigh_Surrogates:"D800-DB7F",InHigh_Private_Use_Surrogates:"DB80-DBFF",InLow_Surrogates:"DC00-DFFF",InPrivate_Use_Area:"E000-F8FF",InCJK_Compatibility_Ideographs:"F900-FAFF",InAlphabetic_Presentation_Forms:"FB00-FB4F",InArabic_Presentation_Forms_A:"FB50-FDFF",InVariation_Selectors:"FE00-FE0F",InVertical_Forms:"FE10-FE1F",InCombining_Half_Marks:"FE20-FE2F",InCJK_Compatibility_Forms:"FE30-FE4F",InSmall_Form_Variants:"FE50-FE6F",InArabic_Presentation_Forms_B:"FE70-FEFF",InHalfwidth_and_Fullwidth_Forms:"FF00-FFEF",InSpecials:"FFF0-FFFF"})})(XRegExp);
-//XRegExp Unicode Properties 1.0.0
-(function(n){"use strict";if(!n.addUnicodePackage)throw new ReferenceError("Unicode Base must be loaded before Unicode Properties");n.install("extensibility"),n.addUnicodePackage({Alphabetic:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE03450370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05270531-055605590561-058705B0-05BD05BF05C105C205C405C505C705D0-05EA05F0-05F20610-061A0620-06570659-065F066E-06D306D5-06DC06E1-06E806ED-06EF06FA-06FC06FF0710-073F074D-07B107CA-07EA07F407F507FA0800-0817081A-082C0840-085808A008A2-08AC08E4-08E908F0-08FE0900-093B093D-094C094E-09500955-09630971-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BD-09C409C709C809CB09CC09CE09D709DC09DD09DF-09E309F009F10A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3E-0A420A470A480A4B0A4C0A510A59-0A5C0A5E0A70-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD-0AC50AC7-0AC90ACB0ACC0AD00AE0-0AE30B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D-0B440B470B480B4B0B4C0B560B570B5C0B5D0B5F-0B630B710B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCC0BD00BD70C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4C0C550C560C580C590C60-0C630C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD-0CC40CC6-0CC80CCA-0CCC0CD50CD60CDE0CE0-0CE30CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4C0D4E0D570D60-0D630D7A-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCF-0DD40DD60DD8-0DDF0DF20DF30E01-0E3A0E40-0E460E4D0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60ECD0EDC-0EDF0F000F40-0F470F49-0F6C0F71-0F810F88-0F970F99-0FBC1000-10361038103B-103F1050-10621065-1068106E-1086108E109C109D10A0-10C510C710CD10D0-10FA10FC-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135F1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA16EE-16F01700-170C170E-17131720-17331740-17531760-176C176E-1770177217731780-17B317B6-17C817D717DC1820-18771880-18AA18B0-18F51900-191C1920-192B1930-19381950-196D1970-19741980-19AB19B0-19C91A00-1A1B1A20-1A5E1A61-1A741AA71B00-1B331B35-1B431B45-1B4B1B80-1BA91BAC-1BAF1BBA-1BE51BE7-1BF11C00-1C351C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF31CF51CF61D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209C21022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E2160-218824B6-24E92C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2CF22CF32D00-2D252D272D2D2D30-2D672D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2DFF2E2F3005-30073021-30293031-30353038-303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31BA31F0-31FF3400-4DB54E00-9FCCA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A66EA674-A67BA67F-A697A69F-A6EFA717-A71FA722-A788A78B-A78EA790-A793A7A0-A7AAA7F8-A801A803-A805A807-A80AA80C-A827A840-A873A880-A8C3A8F2-A8F7A8FBA90A-A92AA930-A952A960-A97CA980-A9B2A9B4-A9BFA9CFAA00-AA36AA40-AA4DAA60-AA76AA7AAA80-AABEAAC0AAC2AADB-AADDAAE0-AAEFAAF2-AAF5AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEAAC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Uppercase:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E05200522052405260531-055610A0-10C510C710CD1E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F21452160-216F218324B6-24CF2C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CED2CF2A640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA660A662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BA78DA790A792A7A0A7A2A7A4A7A6A7A8A7AAFF21-FF3A",Lowercase:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02B802C002C102E0-02E40345037103730377037A-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F05210523052505270561-05871D00-1DBF1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF72071207F2090-209C210A210E210F2113212F21342139213C213D2146-2149214E2170-217F218424D0-24E92C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7D2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2CF32D00-2D252D272D2DA641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA661A663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76F-A778A77AA77CA77FA781A783A785A787A78CA78EA791A793A7A1A7A3A7A5A7A7A7A9A7F8-A7FAFB00-FB06FB13-FB17FF41-FF5A",White_Space:"0009-000D0020008500A01680180E2000-200A20282029202F205F3000",Noncharacter_Code_Point:"FDD0-FDEFFFFEFFFF",Default_Ignorable_Code_Point:"00AD034F115F116017B417B5180B-180D200B-200F202A-202E2060-206F3164FE00-FE0FFEFFFFA0FFF0-FFF8",Any:"0000-FFFF",Ascii:"0000-007F",Assigned:"0000-0377037A-037E0384-038A038C038E-03A103A3-05270531-05560559-055F0561-05870589058A058F0591-05C705D0-05EA05F0-05F40600-06040606-061B061E-070D070F-074A074D-07B107C0-07FA0800-082D0830-083E0840-085B085E08A008A2-08AC08E4-08FE0900-09770979-097F0981-09830985-098C098F09900993-09A809AA-09B009B209B6-09B909BC-09C409C709C809CB-09CE09D709DC09DD09DF-09E309E6-09FB0A01-0A030A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A3C0A3E-0A420A470A480A4B-0A4D0A510A59-0A5C0A5E0A66-0A750A81-0A830A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABC-0AC50AC7-0AC90ACB-0ACD0AD00AE0-0AE30AE6-0AF10B01-0B030B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3C-0B440B470B480B4B-0B4D0B560B570B5C0B5D0B5F-0B630B66-0B770B820B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BBE-0BC20BC6-0BC80BCA-0BCD0BD00BD70BE6-0BFA0C01-0C030C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D-0C440C46-0C480C4A-0C4D0C550C560C580C590C60-0C630C66-0C6F0C78-0C7F0C820C830C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBC-0CC40CC6-0CC80CCA-0CCD0CD50CD60CDE0CE0-0CE30CE6-0CEF0CF10CF20D020D030D05-0D0C0D0E-0D100D12-0D3A0D3D-0D440D46-0D480D4A-0D4E0D570D60-0D630D66-0D750D79-0D7F0D820D830D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60DCA0DCF-0DD40DD60DD8-0DDF0DF2-0DF40E01-0E3A0E3F-0E5B0E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB90EBB-0EBD0EC0-0EC40EC60EC8-0ECD0ED0-0ED90EDC-0EDF0F00-0F470F49-0F6C0F71-0F970F99-0FBC0FBE-0FCC0FCE-0FDA1000-10C510C710CD10D0-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A135D-137C1380-139913A0-13F41400-169C16A0-16F01700-170C170E-17141720-17361740-17531760-176C176E-1770177217731780-17DD17E0-17E917F0-17F91800-180E1810-18191820-18771880-18AA18B0-18F51900-191C1920-192B1930-193B19401944-196D1970-19741980-19AB19B0-19C919D0-19DA19DE-1A1B1A1E-1A5E1A60-1A7C1A7F-1A891A90-1A991AA0-1AAD1B00-1B4B1B50-1B7C1B80-1BF31BFC-1C371C3B-1C491C4D-1C7F1CC0-1CC71CD0-1CF61D00-1DE61DFC-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FC41FC6-1FD31FD6-1FDB1FDD-1FEF1FF2-1FF41FF6-1FFE2000-2064206A-20712074-208E2090-209C20A0-20B920D0-20F02100-21892190-23F32400-24262440-244A2460-26FF2701-2B4C2B50-2B592C00-2C2E2C30-2C5E2C60-2CF32CF9-2D252D272D2D2D30-2D672D6F2D702D7F-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2DE0-2E3B2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB3000-303F3041-30963099-30FF3105-312D3131-318E3190-31BA31C0-31E331F0-321E3220-32FE3300-4DB54DC0-9FCCA000-A48CA490-A4C6A4D0-A62BA640-A697A69F-A6F7A700-A78EA790-A793A7A0-A7AAA7F8-A82BA830-A839A840-A877A880-A8C4A8CE-A8D9A8E0-A8FBA900-A953A95F-A97CA980-A9CDA9CF-A9D9A9DEA9DFAA00-AA36AA40-AA4DAA50-AA59AA5C-AA7BAA80-AAC2AADB-AAF6AB01-AB06AB09-AB0EAB11-AB16AB20-AB26AB28-AB2EABC0-ABEDABF0-ABF9AC00-D7A3D7B0-D7C6D7CB-D7FBD800-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1D-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBC1FBD3-FD3FFD50-FD8FFD92-FDC7FDF0-FDFDFE00-FE19FE20-FE26FE30-FE52FE54-FE66FE68-FE6BFE70-FE74FE76-FEFCFEFFFF01-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDCFFE0-FFE6FFE8-FFEEFFF9-FFFD"})})(XRegExp);
-//XRegExp.matchRecursive 0.2.0
-(function(n){"use strict";function t(n,t,i,r){return{value:n,name:t,start:i,end:r}}n.matchRecursive=function(i,r,u,f,e){f=f||"",e=e||{};var g=f.indexOf("g")>-1,nt=f.indexOf("y")>-1,d=f.replace(/y/g,""),y=e.escapeChar,o=e.valueNames,v=[],b=0,h=0,s=0,c=0,p,w,l,a,k;if(r=n(r,d),u=n(u,d),y){if(y.length>1)throw new SyntaxError("can't use more than one escape character");y=n.escape(y),k=new RegExp("(?:"+y+"[\\S\\s]|(?:(?!"+n.union([r,u]).source+")[^"+y+"])+)+",f.replace(/[^im]+/g,""))}for(;;){if(y&&(s+=(n.exec(i,k,s,"sticky")||[""])[0].length),l=n.exec(i,r,s),a=n.exec(i,u,s),l&&a&&(l.index<=a.index?a=null:l=null),l||a)h=(l||a).index,s=h+(l||a)[0].length;else if(!b)break;if(nt&&!b&&h>c)break;if(l)b||(p=h,w=s),++b;else if(a&&b){if(!--b&&(o?(o[0]&&p>c&&v.push(t(o[0],i.slice(c,p),c,p)),o[1]&&v.push(t(o[1],i.slice(p,w),p,w)),o[2]&&v.push(t(o[2],i.slice(w,h),w,h)),o[3]&&v.push(t(o[3],i.slice(h,s),h,s))):v.push(i.slice(w,h)),c=s,!g))break}else throw new Error("string contains unbalanced delimiters");h===s&&++s}return g&&!nt&&o&&o[0]&&i.length>c&&v.push(t(o[0],i.slice(c),c,i.length)),v}})(XRegExp);
-//XRegExp.build 0.1.0
-(function(n){"use strict";function u(n){var i=/^(?:\(\?:\))?\^/,t=/\$(?:\(\?:\))?$/;return t.test(n.replace(/\\[\s\S]/g,""))?n.replace(i,"").replace(t,""):n}function t(t){return n.isRegExp(t)?t.xregexp&&!t.xregexp.isNative?t:n(t.source):n(t)}var i=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,r=n.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,i],"g");n.build=function(f,e,o){var w=/^\(\?([\w$]+)\)/.exec(f),l={},s=0,v,h=0,p=[0],y,a,c;w&&(o=o||"",w[1].replace(/./g,function(n){o+=o.indexOf(n)>-1?"":n}));for(c in e)e.hasOwnProperty(c)&&(a=t(e[c]),l[c]={pattern:u(a.source),names:a.xregexp.captureNames||[]});return f=t(f),y=f.xregexp.captureNames||[],f=f.source.replace(r,function(n,t,r,u,f){var o=t||r,e,c;if(o){if(!l.hasOwnProperty(o))throw new ReferenceError("undefined property "+n);return t?(e=y[h],p[++h]=++s,c="(?<"+(e||o)+">"):c="(?:",v=s,c+l[o].pattern.replace(i,function(n,t,i){if(t){if(e=l[o].names[s-v],++s,e)return"(?<"+e+">"}else if(i)return"\\"+(+i+v);return n})+")"}if(u){if(e=y[h],p[++h]=++s,e)return"(?<"+e+">"}else if(f)return"\\"+p[+f];return n}),n(f,o)}})(XRegExp);
-//XRegExp Prototype Methods 1.0.0
-(function(n){"use strict";function t(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i])}t(n.prototype,{apply:function(n,t){return this.test(t[0])},call:function(n,t){return this.test(t)},forEach:function(t,i,r){return n.forEach(t,this,i,r)},globalize:function(){return n.globalize(this)},xexec:function(t,i,r){return n.exec(t,this,i,r)},xtest:function(t,i,r){return n.test(t,this,i,r)}})})(XRegExp)
diff --git a/static/autocomplete_light/autocomplete.init.js b/static/autocomplete_light/autocomplete.init.js
deleted file mode 100644
index f44f7ac9..00000000
--- a/static/autocomplete_light/autocomplete.init.js
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-This script garantees that this will be called once in django admin.
-However, its the callback's responsability to clean up if the
-element was cloned with data - which should be the case.
-*/
-
-;(function ($) {
-    $.fn.getFormPrefix = function() {
-        /* Get the form prefix for a field.
-         *
-         * For example:
-         *
-         *     $(':input[name$=owner]').getFormsetPrefix()
-         *
-         * Would return an empty string for an input with name 'owner' but would return
-         * 'inline_model-0-' for an input named 'inline_model-0-owner'.
-         */
-        var parts = $(this).attr('name').split('-');
-        var prefix = '';
-
-        for (var i in parts) {
-            var testPrefix = parts.slice(0, -i).join('-');
-            if (! testPrefix.length) continue;
-            testPrefix += '-';
-
-            var result = $(':input[name^=' + testPrefix + ']')
-
-            if (result.length) {
-                return testPrefix;
-            }
-        }
-
-        return '';
-    }
-
-    $.fn.getFormPrefixes = function() {
-        /*
-         * Get the form prefixes for a field, from the most specific to the least.
-         *
-         * For example:
-         *
-         *      $(':input[name$=owner]').getFormPrefixes()
-         *
-         * Would return:
-         * - [''] for an input named 'owner'.
-         * - ['inline_model-0-', ''] for an input named 'inline_model-0-owner' (i.e. nested with a nested inline).
-         * - ['sections-0-items-0-', 'sections-0-', ''] for an input named 'sections-0-items-0-product'
-         *   (i.e. nested multiple time with django-nested-admin).
-         */
-        var parts = $(this).attr('name').split('-').slice(0, -1);
-        var prefixes = [];
-
-        for (i = 0; i < parts.length; i += 2) {
-            var testPrefix = parts.slice(0, -i || parts.length).join('-');
-            if (!testPrefix.length)
-                continue;
-
-            testPrefix += '-';
-
-            var result = $(':input[name^=' + testPrefix + ']')
-
-            if (result.length)
-                prefixes.push(testPrefix);
-        }
-
-        prefixes.push('');
-
-        return prefixes;
-    }
-
-    var initialized = [];
-
-    function initialize(element) {
-        if (typeof element === 'undefined' || typeof element === 'number') {
-            element = this;
-        }
-
-        if (window.__dal__initListenerIsSet !== true || initialized.indexOf(element) >= 0) {
-            return;
-        }
-
-        $(element).trigger('autocompleteLightInitialize');
-        initialized.push(element);
-    }
-
-    if (!window.__dal__initialize) {
-        window.__dal__initialize = initialize;
-
-        $(document).ready(function () {
-            $('[data-autocomplete-light-function=select2]:not([id*="__prefix__"])').each(initialize);
-        });
-
-        $(document).bind('DOMNodeInserted', function (e) {
-            $(e.target).find('[data-autocomplete-light-function=select2]').each(initialize);
-        });
-    }
-
-    // using jQuery
-    function getCookie(name) {
-        var cookieValue = null;
-        if (document.cookie && document.cookie != '') {
-            var cookies = document.cookie.split(';');
-            for (var i = 0; i < cookies.length; i++) {
-                var cookie = $.trim(cookies[i]);
-                // Does this cookie string begin with the name we want?
-                if (cookie.substring(0, name.length + 1) == (name + '=')) {
-                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
-                    break;
-                }
-            }
-        }
-        return cookieValue;
-    }
-
-    document.csrftoken = getCookie('csrftoken');
-    if (document.csrftoken === null) {
-        // Try to get CSRF token from DOM when cookie is missing
-        var $csrf = $('form :input[name="csrfmiddlewaretoken"]');
-        if ($csrf.length > 0) {
-            document.csrftoken = $csrf[0].value;
-        }
-    }
-})(yl.jQuery);
-
-// Does the same thing as django's admin/js/autocomplete.js, but uses yl.jQuery.
-(function($) {
-    'use strict';
-    var init = function($element, options) {
-        var settings = $.extend({
-            ajax: {
-                data: function(params) {
-                    return {
-                        term: params.term,
-                        page: params.page
-                    };
-                }
-            }
-        }, options);
-        $element.select2(settings);
-    };
-
-    $.fn.djangoAdminSelect2 = function(options) {
-        var settings = $.extend({}, options);
-        $.each(this, function(i, element) {
-            var $element = $(element);
-            init($element, settings);
-        });
-        return this;
-    };
-
-    $(function() {
-        // Initialize all autocomplete widgets except the one in the template
-        // form used when a new formset is added.
-        $('.admin-autocomplete').not('[name*=__prefix__]').djangoAdminSelect2();
-    });
-
-    $(document).on('formset:added', (function() {
-        return function(event, $newFormset) {
-            return $newFormset.find('.admin-autocomplete').djangoAdminSelect2();
-        };
-    })(this));
-}(yl.jQuery));
diff --git a/static/autocomplete_light/forward.js b/static/autocomplete_light/forward.js
deleted file mode 100644
index 81f812f7..00000000
--- a/static/autocomplete_light/forward.js
+++ /dev/null
@@ -1,191 +0,0 @@
-;(function($, yl) {
-    yl.forwardHandlerRegistry = yl.forwardHandlerRegistry || {};
-
-    yl.registerForwardHandler = function(name, handler) {
-        yl.forwardHandlerRegistry[name] = handler;
-    };
-
-    yl.getForwardHandler = function(name) {
-        return yl.forwardHandlerRegistry[name];
-    };
-
-    function getForwardStrategy(element) {
-        var checkForCheckboxes = function() {
-            var all = true;
-            $.each(element, function(ix, e) {
-                if ($(e).attr("type") !== "checkbox") {
-                    all = false;
-                }
-            });
-            return all;
-        };
-
-        if (element.length === 1 &&
-                element.attr("type") === "checkbox" &&
-                element.attr("value") === undefined) {
-            // Single checkbox without 'value' attribute
-            // Boolean field
-            return "exists";
-        } else if (element.length === 1 &&
-                element.attr("multiple") !== undefined) {
-            // Multiple by HTML semantics. E. g. multiple select
-            // Multiple choice field
-            return "multiple";
-        } else if (checkForCheckboxes()) {
-            // Multiple checkboxes or one checkbox with 'value' attribute.
-            // Multiple choice field represented by checkboxes
-            return "multiple";
-        } else {
-            // Other cases
-            return "single";
-        }
-    }
-
-    /**
-     * Get fields with name `name` relative to `element` with considering form
-     * prefixes.
-     * @param element the element
-     * @param name name of the field
-     * @returns jQuery object with found fields or empty jQuery object if no
-     * field was found
-     */
-    yl.getFieldRelativeTo = function(element, name) {
-        var prefixes = $(element).getFormPrefixes();
-
-        for (var i = 0; i < prefixes.length; i++) {
-            var fieldSelector = "[name=" + prefixes[i] + name + "]";
-            var field = $(fieldSelector);
-
-            if (field.length) {
-                return field;
-            }
-        }
-
-        return $();
-    };
-
-    /**
-     * Get field value which is put to forwarded dictionary
-     * @param field the field
-     * @returns forwarded value
-     */
-    yl.getValueFromField = function(field) {
-        var strategy = getForwardStrategy(field);
-        var serializedField = $(field).serializeArray();
-
-        if ((serializedField == false) && ($(field).prop('disabled'))) {
-            $(field).prop('disabled', false);
-            serializedField = $(field).serializeArray();
-            $(field).prop('disabled', true);
-        }
-
-        var getSerializedFieldElementAt = function (index) {
-            // Return serializedField[index]
-            // or null if something went wrong
-            if (serializedField.length > index) {
-                return serializedField[index];
-            } else {
-                return null;
-            }
-        };
-
-        var getValueOf = function (elem) {
-            // Return elem.value
-            // or null if something went wrong
-            if (elem.hasOwnProperty("value") &&
-                elem.value !== undefined
-            ) {
-                return elem.value;
-            } else {
-                return null;
-            }
-        };
-
-        var getSerializedFieldValueAt = function (index) {
-            // Return serializedField[index].value
-            // or null if something went wrong
-            var elem = getSerializedFieldElementAt(index);
-            if (elem !== null) {
-                return getValueOf(elem);
-            } else {
-                return null;
-            }
-        };
-
-        if (strategy === "multiple") {
-            return serializedField.map(
-                function (item) {
-                    return getValueOf(item);
-                }
-            );
-        } else if (strategy === "exists") {
-            return serializedField.length > 0;
-        } else {
-            return getSerializedFieldValueAt(0);
-        }
-    };
-
-    yl.getForwards = function(element) {
-        var forwardElem,
-            forwardList,
-            forwardedData,
-            divSelector,
-            form;
-        divSelector = "div.dal-forward-conf#dal-forward-conf-for-" +
-                element.attr("id") + ", " +
-                "div.dal-forward-conf#dal-forward-conf-for_" +
-                element.attr("id");
-        form = element.length > 0 ? $(element[0].form) : $();
-
-        forwardElem =
-            form.find(divSelector).find('script');
-        if (forwardElem.length === 0) {
-            return;
-        }
-        try {
-            forwardList = JSON.parse(forwardElem.text());
-        } catch (e) {
-            return;
-        }
-
-        if (!Array.isArray(forwardList)) {
-            return;
-        }
-
-        forwardedData = {};
-
-        $.each(forwardList, function(ix, field) {
-            var srcName, dstName;
-            if (field.type === "const") {
-                forwardedData[field.dst] = field.val;
-            } else if (field.type === "self") {
-                if (field.hasOwnProperty("dst")) {
-                    dstName = field.dst;
-                } else {
-                    dstName = "self";
-                }
-                forwardedData[dstName] = yl.getValueFromField(element);
-            } else if (field.type === "field") {
-                srcName = field.src;
-                if (field.hasOwnProperty("dst")) {
-                    dstName = field.dst;
-                } else {
-                    dstName = srcName;
-                }
-                var forwardedField = yl.getFieldRelativeTo(element, srcName);
-
-                if (!forwardedField.length) {
-                    return;
-                }
-
-                forwardedData[dstName] = yl.getValueFromField(forwardedField);
-            } else if (field.type === "javascript") {
-                var handler = yl.getForwardHandler(field.handler);
-                forwardedData[field.dst || field.handler] = handler(element);
-            }
-
-        });
-        return JSON.stringify(forwardedData);
-    };
-
-})(yl.jQuery, yl);
diff --git a/static/autocomplete_light/jquery.init.js b/static/autocomplete_light/jquery.init.js
deleted file mode 100644
index 926d8d30..00000000
--- a/static/autocomplete_light/jquery.init.js
+++ /dev/null
@@ -1,36 +0,0 @@
-var yl = yl || {};
-if (typeof django !== 'undefined' && typeof django.jQuery !== 'undefined') {
-    // If django.jQuery is already defined, use it.
-    yl.jQuery = django.jQuery;
-}
-else {
-    // We include jquery itself in our widget's media, because we need it.
-    // Normally, we expect our widget's reference to admin/js/vendor/jquery/jquery.js
-    // to be skipped, because django's own code has already included it.
-    // However, if django.jQuery is NOT defined, we know that jquery was not
-    // included before we did it ourselves. This can happen if we're not being
-    // rendered in a django admin form.
-    // However, someone ELSE'S jQuery may have been included before ours, in
-    // which case we must ensure that our jquery doesn't override theirs, since
-    // it might be a newer version that other code on the page relies on.
-    // Thus, we must run jQuery.noConflict(true) here to move our jQuery out of
-    // the way.
-    yl.jQuery = jQuery.noConflict(true);
-}
-
-// In addition to all of this, we must ensure that the global jQuery and $ are
-// defined, because Select2 requires that. jQuery will only be undefined at
-// this point if only we or django included it.
-if (typeof jQuery === 'undefined') {
-    jQuery = yl.jQuery;
-    $ = yl.jQuery;
-}
-else {
-    // jQuery IS still defined, which means someone else also included jQuery.
-    // In this situation, we need to store the old jQuery in a
-    // temp variable, set the global jQuery to our yl.jQuery, then let select2
-    // set itself up. We restore the global jQuery to its original value in
-    // jquery.post-setup.js.
-    dal_jquery_backup = jQuery.noConflict(true);
-    jQuery = yl.jQuery;
-}
diff --git a/static/autocomplete_light/jquery.post-setup.js b/static/autocomplete_light/jquery.post-setup.js
deleted file mode 100644
index eac6f5ac..00000000
--- a/static/autocomplete_light/jquery.post-setup.js
+++ /dev/null
@@ -1,7 +0,0 @@
-if (typeof dal_jquery_backup !== 'undefined') {
-    // We made a backup of the original global jQuery before forcing it to our
-    // yl.jQuery value. Now that select2 has been set up, we need to restore
-    // our backup to its rightful place.
-    jQuery = dal_jquery_backup;
-    $ = dal_jquery_backup;
-}
diff --git a/static/autocomplete_light/select2.css b/static/autocomplete_light/select2.css
deleted file mode 100644
index 0bc9dcbd..00000000
--- a/static/autocomplete_light/select2.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.select2-container {
-    min-width: 20em;
-}
-
-ul li.select2-selection__choice,
-ul li.select2-search {
-    /* Cancel out django's style */
-    list-style-type: none;
-}
-
-.errors .select2-selection {
-    /* Highlight select box with error */
-    border-color: #ba2121;
-}
diff --git a/static/autocomplete_light/select2.js b/static/autocomplete_light/select2.js
deleted file mode 100644
index eaf63579..00000000
--- a/static/autocomplete_light/select2.js
+++ /dev/null
@@ -1,122 +0,0 @@
-;(function ($) {
-    if (window.__dal__initListenerIsSet)
-        return;
-
-    $(document).on('autocompleteLightInitialize', '[data-autocomplete-light-function=select2]', function() {
-        var element = $(this);
-
-        // Templating helper
-        function template(text, is_html) {
-            if (is_html) {
-                var $result = $('<span>');
-                $result.html(text);
-                return $result;
-            } else {
-                return text;
-            }
-        }
-
-        function result_template(item) {
-            var text = template(item.text,
-                element.attr('data-html') !== undefined || element.attr('data-result-html') !== undefined
-            );
-
-            if (item.create_id) {
-                return $('<span></span>').text(text).addClass('dal-create')
-            } else {
-                return text
-            }
-        }
-
-        function selected_template(item) {
-            if (item.selected_text !== undefined) {
-                return template(item.selected_text,
-                    element.attr('data-html') !== undefined || element.attr('data-selected-html') !== undefined
-                );
-            } else {
-                return result_template(item);
-            }
-            return
-        }
-
-        var ajax = null;
-        if ($(this).attr('data-autocomplete-light-url')) {
-            ajax = {
-                url: $(this).attr('data-autocomplete-light-url'),
-                dataType: 'json',
-                delay: 250,
-
-                data: function (params) {
-                    var data = {
-                        q: params.term, // search term
-                        page: params.page,
-                        create: element.attr('data-autocomplete-light-create') && !element.attr('data-tags'),
-                        forward: yl.getForwards(element)
-                    };
-
-                    return data;
-                },
-                processResults: function (data, page) {
-                    if (element.attr('data-tags')) {
-                        $.each(data.results, function(index, value) {
-                            value.id = value.text;
-                        });
-                    }
-
-                    return data;
-                },
-                cache: true
-            };
-        }
-
-        $(this).select2({
-            tokenSeparators: element.attr('data-tags') ? [','] : null,
-            debug: true,
-            containerCssClass: ':all:',
-            placeholder: element.attr('data-placeholder') || '',
-            language: element.attr('data-autocomplete-light-language'),
-            minimumInputLength: element.attr('data-minimum-input-length') || 0,
-            allowClear: ! $(this).is('[required]'),
-            templateResult: result_template,
-            templateSelection: selected_template,
-            ajax: ajax,
-            tags: Boolean(element.attr('data-tags')),
-        });
-
-        $(this).on('select2:selecting', function (e) {
-            var data = e.params.args.data;
-
-            if (data.create_id !== true)
-                return;
-
-            e.preventDefault();
-
-            var select = $(this);
-
-            $.ajax({
-                url: $(this).attr('data-autocomplete-light-url'),
-                type: 'POST',
-                dataType: 'json',
-                data: {
-                    text: data.id,
-                    forward: yl.getForwards($(this))
-                },
-                beforeSend: function(xhr, settings) {
-                    xhr.setRequestHeader("X-CSRFToken", document.csrftoken);
-                },
-                success: function(data, textStatus, jqXHR ) {
-                    select.append(
-                        $('<option>', {value: data.id, text: data.text, selected: true})
-                    );
-                    select.trigger('change');
-                    select.select2('close');
-                }
-            });
-        });
-
-    });
-    window.__dal__initListenerIsSet = true;
-    $('[data-autocomplete-light-function=select2]:not([id*="__prefix__"])').each(function() {
-        window.__dal__initialize(this);
-    });
-})(yl.jQuery);
diff --git a/static/bootstrap_datepicker_plus/css/datepicker-widget.css b/static/bootstrap_datepicker_plus/css/datepicker-widget.css
deleted file mode 100644
index baeec507..00000000
--- a/static/bootstrap_datepicker_plus/css/datepicker-widget.css
+++ /dev/null
@@ -1,121 +0,0 @@
-@font-face {
-    font-family: 'Glyphicons Halflings';
-    src: url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.eot');
-    src: url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
-     url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff2') format('woff2'),
-     url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff') format('woff'),
-     url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/fonts/glyphicons-halflings-regular.ttf') format('truetype'),
-     url('//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/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";
-}
-
-.glyphicon-screenshot:before {
-    content: "\e087";
-}
-
-.glyphicon-trash:before {
-    content: "\e020";
-}
-
-.glyphicon-remove:before {
-    content: "\e014";
-}
-
-.bootstrap-datetimepicker-widget .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;
-}
-
-.bootstrap-datetimepicker-widget.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);
-}
-
-.bootstrap-datetimepicker-widget .list-unstyled {
-    padding-left: 0;
-    list-style: none;
-}
-
-.bootstrap-datetimepicker-widget .collapse {
-    display: none;
-}
-
-.bootstrap-datetimepicker-widget .collapse.in {
-    display: block;
-}
-
-/* fix for bootstrap4 */
-.bootstrap-datetimepicker-widget .table-condensed > thead > tr > th,
-.bootstrap-datetimepicker-widget .table-condensed > tbody > tr > td,
-.bootstrap-datetimepicker-widget .table-condensed > tfoot > tr > td {
-    padding: 5px;
-}
diff --git a/static/bootstrap_datepicker_plus/js/datepicker-widget.js b/static/bootstrap_datepicker_plus/js/datepicker-widget.js
deleted file mode 100644
index 2288b46b..00000000
--- a/static/bootstrap_datepicker_plus/js/datepicker-widget.js
+++ /dev/null
@@ -1,55 +0,0 @@
-jQuery(function ($) {
-    var datepickerDict = {};
-    var isBootstrap4 = $.fn.collapse.Constructor.VERSION.split('.').shift() == "4";
-    function fixMonthEndDate(e, picker) {
-        e.date && picker.val().length && picker.val(e.date.endOf('month').format('YYYY-MM-DD'));
-    }
-    $("[dp_config]:not([disabled])").each(function (i, element) {
-        var $element = $(element), data = {};
-        try {
-            data = JSON.parse($element.attr('dp_config'));
-        }
-        catch (x) { }
-        if (data.id && data.options) {
-            data.$element = $element.datetimepicker(data.options);
-            data.datepickerdata = $element.data("DateTimePicker");
-            datepickerDict[data.id] = data;
-            data.$element.next('.input-group-addon').on('click', function(){
-                data.datepickerdata.show();
-            });
-            if(isBootstrap4){
-                data.$element.on("dp.show", function (e) {
-                    $('.collapse.in').addClass('show');
-                });
-            }
-        }
-    });
-    $.each(datepickerDict, function (id, to_picker) {
-        if (to_picker.linked_to) {
-            var from_picker = datepickerDict[to_picker.linked_to];
-            from_picker.datepickerdata.maxDate(to_picker.datepickerdata.date() || false);
-            to_picker.datepickerdata.minDate(from_picker.datepickerdata.date() || false);
-            from_picker.$element.on("dp.change", function (e) {
-                to_picker.datepickerdata.minDate(e.date || false);
-            });
-            to_picker.$element.on("dp.change", function (e) {
-                if (to_picker.picker_type == 'MONTH') fixMonthEndDate(e, to_picker.$element);
-                from_picker.datepickerdata.maxDate(e.date || false);
-            });
-            if (to_picker.picker_type == 'MONTH') {
-                to_picker.$element.on("dp.hide", function (e) {
-                    fixMonthEndDate(e, to_picker.$element);
-                });
-                fixMonthEndDate({ date: to_picker.datepickerdata.date() }, to_picker.$element);
-            }
-        }
-    });
-    if(isBootstrap4) {
-        $('body').on('show.bs.collapse','.bootstrap-datetimepicker-widget .collapse',function(e){
-            $(e.target).addClass('in');
-        });
-        $('body').on('hidden.bs.collapse','.bootstrap-datetimepicker-widget .collapse',function(e){
-            $(e.target).removeClass('in');
-        });
-    }
-});
diff --git a/static/colorfield/colorfield.js b/static/colorfield/colorfield.js
deleted file mode 100644
index a3c2de62..00000000
--- a/static/colorfield/colorfield.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/** global: django */
-
-window.onload = function() {
-    if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined') {
-        (function($) {
-            // add colopicker to inlines added dynamically
-            $(document).on('formset:added', function onFormsetAdded(event, row) {
-                jscolor.installByClassName('jscolor');
-            });
-        }(django.jQuery));
-    }
-};
\ No newline at end of file
diff --git a/static/colorfield/jscolor/jscolor.js b/static/colorfield/jscolor/jscolor.js
deleted file mode 100755
index dbbd2342..00000000
--- a/static/colorfield/jscolor/jscolor.js
+++ /dev/null
@@ -1,1855 +0,0 @@
-/**
- * jscolor - JavaScript Color Picker
- *
- * @link    http://jscolor.com
- * @license For open source use: GPLv3
- *          For commercial use: JSColor Commercial License
- * @author  Jan Odvarko
- * @version 2.0.5
- *
- * See usage examples at http://jscolor.com/examples/
- */
-
-
-"use strict";
-
-
-if (!window.jscolor) { window.jscolor = (function () {
-
-
-var jsc = {
-
-
-    register : function () {
-        jsc.attachDOMReadyEvent(jsc.init);
-        jsc.attachEvent(document, 'mousedown', jsc.onDocumentMouseDown);
-        jsc.attachEvent(document, 'touchstart', jsc.onDocumentTouchStart);
-        jsc.attachEvent(window, 'resize', jsc.onWindowResize);
-    },
-
-
-    init : function () {
-        if (jsc.jscolor.lookupClass) {
-            jsc.jscolor.installByClassName(jsc.jscolor.lookupClass);
-        }
-    },
-
-
-    tryInstallOnElements : function (elms, className) {
-        var matchClass = new RegExp('(^|\\s)(' + className + ')(\\s*(\\{[^}]*\\})|\\s|$)', 'i');
-
-        for (var i = 0; i < elms.length; i += 1) {
-            if (elms[i].type !== undefined && elms[i].type.toLowerCase() == 'color') {
-                if (jsc.isColorAttrSupported) {
-                    // skip inputs of type 'color' if supported by the browser
-                    continue;
-                }
-            }
-            var m;
-            if (!elms[i].jscolor && elms[i].className && (m = elms[i].className.match(matchClass))) {
-                var targetElm = elms[i];
-                var optsStr = null;
-
-                var dataOptions = jsc.getDataAttr(targetElm, 'jscolor');
-                if (dataOptions !== null) {
-                    optsStr = dataOptions;
-                } else if (m[4]) {
-                    optsStr = m[4];
-                }
-
-                var opts = {};
-                if (optsStr) {
-                    try {
-                        opts = (new Function ('return (' + optsStr + ')'))();
-                    } catch(eParseError) {
-                        jsc.warn('Error parsing jscolor options: ' + eParseError + ':\n' + optsStr);
-                    }
-                }
-                targetElm.jscolor = new jsc.jscolor(targetElm, opts);
-            }
-        }
-    },
-
-
-    isColorAttrSupported : (function () {
-        var elm = document.createElement('input');
-        if (elm.setAttribute) {
-            elm.setAttribute('type', 'color');
-            if (elm.type.toLowerCase() == 'color') {
-                return true;
-            }
-        }
-        return false;
-    })(),
-
-
-    isCanvasSupported : (function () {
-        var elm = document.createElement('canvas');
-        return !!(elm.getContext && elm.getContext('2d'));
-    })(),
-
-
-    fetchElement : function (mixed) {
-        return typeof mixed === 'string' ? document.getElementById(mixed) : mixed;
-    },
-
-
-    isElementType : function (elm, type) {
-        return elm.nodeName.toLowerCase() === type.toLowerCase();
-    },
-
-
-    getDataAttr : function (el, name) {
-        var attrName = 'data-' + name;
-        var attrValue = el.getAttribute(attrName);
-        if (attrValue !== null) {
-            return attrValue;
-        }
-        return null;
-    },
-
-
-    attachEvent : function (el, evnt, func) {
-        if (el.addEventListener) {
-            el.addEventListener(evnt, func, false);
-        } else if (el.attachEvent) {
-            el.attachEvent('on' + evnt, func);
-        }
-    },
-
-
-    detachEvent : function (el, evnt, func) {
-        if (el.removeEventListener) {
-            el.removeEventListener(evnt, func, false);
-        } else if (el.detachEvent) {
-            el.detachEvent('on' + evnt, func);
-        }
-    },
-
-
-    _attachedGroupEvents : {},
-
-
-    attachGroupEvent : function (groupName, el, evnt, func) {
-        if (!jsc._attachedGroupEvents.hasOwnProperty(groupName)) {
-            jsc._attachedGroupEvents[groupName] = [];
-        }
-        jsc._attachedGroupEvents[groupName].push([el, evnt, func]);
-        jsc.attachEvent(el, evnt, func);
-    },
-
-
-    detachGroupEvents : function (groupName) {
-        if (jsc._attachedGroupEvents.hasOwnProperty(groupName)) {
-            for (var i = 0; i < jsc._attachedGroupEvents[groupName].length; i += 1) {
-                var evt = jsc._attachedGroupEvents[groupName][i];
-                jsc.detachEvent(evt[0], evt[1], evt[2]);
-            }
-            delete jsc._attachedGroupEvents[groupName];
-        }
-    },
-
-
-    attachDOMReadyEvent : function (func) {
-        var fired = false;
-        var fireOnce = function () {
-            if (!fired) {
-                fired = true;
-                func();
-            }
-        };
-
-        if (document.readyState === 'complete') {
-            setTimeout(fireOnce, 1); // async
-            return;
-        }
-
-        if (document.addEventListener) {
-            document.addEventListener('DOMContentLoaded', fireOnce, false);
-
-            // Fallback
-            window.addEventListener('load', fireOnce, false);
-
-        } else if (document.attachEvent) {
-            // IE
-            document.attachEvent('onreadystatechange', function () {
-                if (document.readyState === 'complete') {
-                    document.detachEvent('onreadystatechange', arguments.callee);
-                    fireOnce();
-                }
-            })
-
-            // Fallback
-            window.attachEvent('onload', fireOnce);
-
-            // IE7/8
-            if (document.documentElement.doScroll && window == window.top) {
-                var tryScroll = function () {
-                    if (!document.body) { return; }
-                    try {
-                        document.documentElement.doScroll('left');
-                        fireOnce();
-                    } catch (e) {
-                        setTimeout(tryScroll, 1);
-                    }
-                };
-                tryScroll();
-            }
-        }
-    },
-
-
-    warn : function (msg) {
-        if (window.console && window.console.warn) {
-            window.console.warn(msg);
-        }
-    },
-
-
-    preventDefault : function (e) {
-        if (e.preventDefault) { e.preventDefault(); }
-        e.returnValue = false;
-    },
-
-
-    captureTarget : function (target) {
-        // IE
-        if (target.setCapture) {
-            jsc._capturedTarget = target;
-            jsc._capturedTarget.setCapture();
-        }
-    },
-
-
-    releaseTarget : function () {
-        // IE
-        if (jsc._capturedTarget) {
-            jsc._capturedTarget.releaseCapture();
-            jsc._capturedTarget = null;
-        }
-    },
-
-
-    fireEvent : function (el, evnt) {
-        if (!el) {
-            return;
-        }
-        if (document.createEvent) {
-            var ev = document.createEvent('HTMLEvents');
-            ev.initEvent(evnt, true, true);
-            el.dispatchEvent(ev);
-        } else if (document.createEventObject) {
-            var ev = document.createEventObject();
-            el.fireEvent('on' + evnt, ev);
-        } else if (el['on' + evnt]) { // alternatively use the traditional event model
-            el['on' + evnt]();
-        }
-    },
-
-
-    classNameToList : function (className) {
-        return className.replace(/^\s+|\s+$/g, '').split(/\s+/);
-    },
-
-
-    // The className parameter (str) can only contain a single class name
-    hasClass : function (elm, className) {
-        if (!className) {
-            return false;
-        }
-        return -1 != (' ' + elm.className.replace(/\s+/g, ' ') + ' ').indexOf(' ' + className + ' ');
-    },
-
-
-    // The className parameter (str) can contain multiple class names separated by whitespace
-    setClass : function (elm, className) {
-        var classList = jsc.classNameToList(className);
-        for (var i = 0; i < classList.length; i += 1) {
-            if (!jsc.hasClass(elm, classList[i])) {
-                elm.className += (elm.className ? ' ' : '') + classList[i];
-            }
-        }
-    },
-
-
-    // The className parameter (str) can contain multiple class names separated by whitespace
-    unsetClass : function (elm, className) {
-        var classList = jsc.classNameToList(className);
-        for (var i = 0; i < classList.length; i += 1) {
-            var repl = new RegExp(
-                '^\\s*' + classList[i] + '\\s*|' +
-                '\\s*' + classList[i] + '\\s*$|' +
-                '\\s+' + classList[i] + '(\\s+)',
-                'g'
-            );
-            elm.className = elm.className.replace(repl, '$1');
-        }
-    },
-
-
-    getStyle : function (elm) {
-        return window.getComputedStyle ? window.getComputedStyle(elm) : elm.currentStyle;
-    },
-
-
-    setStyle : (function () {
-        var helper = document.createElement('div');
-        var getSupportedProp = function (names) {
-            for (var i = 0; i < names.length; i += 1) {
-                if (names[i] in helper.style) {
-                    return names[i];
-                }
-            }
-        };
-        var props = {
-            borderRadius: getSupportedProp(['borderRadius', 'MozBorderRadius', 'webkitBorderRadius']),
-            boxShadow: getSupportedProp(['boxShadow', 'MozBoxShadow', 'webkitBoxShadow'])
-        };
-        return function (elm, prop, value) {
-            switch (prop.toLowerCase()) {
-            case 'opacity':
-                var alphaOpacity = Math.round(parseFloat(value) * 100);
-                elm.style.opacity = value;
-                elm.style.filter = 'alpha(opacity=' + alphaOpacity + ')';
-                break;
-            default:
-                elm.style[props[prop]] = value;
-                break;
-            }
-        };
-    })(),
-
-
-    setBorderRadius : function (elm, value) {
-        jsc.setStyle(elm, 'borderRadius', value || '0');
-    },
-
-
-    setBoxShadow : function (elm, value) {
-        jsc.setStyle(elm, 'boxShadow', value || 'none');
-    },
-
-
-    getElementPos : function (e, relativeToViewport) {
-        var x=0, y=0;
-        var rect = e.getBoundingClientRect();
-        x = rect.left;
-        y = rect.top;
-        if (!relativeToViewport) {
-            var viewPos = jsc.getViewPos();
-            x += viewPos[0];
-            y += viewPos[1];
-        }
-        return [x, y];
-    },
-
-
-    getElementSize : function (e) {
-        return [e.offsetWidth, e.offsetHeight];
-    },
-
-
-    // get pointer's X/Y coordinates relative to viewport
-    getAbsPointerPos : function (e) {
-        if (!e) { e = window.event; }
-        var x = 0, y = 0;
-        if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) {
-            // touch devices
-            x = e.changedTouches[0].clientX;
-            y = e.changedTouches[0].clientY;
-        } else if (typeof e.clientX === 'number') {
-            x = e.clientX;
-            y = e.clientY;
-        }
-        return { x: x, y: y };
-    },
-
-
-    // get pointer's X/Y coordinates relative to target element
-    getRelPointerPos : function (e) {
-        if (!e) { e = window.event; }
-        var target = e.target || e.srcElement;
-        var targetRect = target.getBoundingClientRect();
-
-        var x = 0, y = 0;
-
-        var clientX = 0, clientY = 0;
-        if (typeof e.changedTouches !== 'undefined' && e.changedTouches.length) {
-            // touch devices
-            clientX = e.changedTouches[0].clientX;
-            clientY = e.changedTouches[0].clientY;
-        } else if (typeof e.clientX === 'number') {
-            clientX = e.clientX;
-            clientY = e.clientY;
-        }
-
-        x = clientX - targetRect.left;
-        y = clientY - targetRect.top;
-        return { x: x, y: y };
-    },
-
-
-    getViewPos : function () {
-        var doc = document.documentElement;
-        return [
-            (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0),
-            (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)
-        ];
-    },
-
-
-    getViewSize : function () {
-        var doc = document.documentElement;
-        return [
-            (window.innerWidth || doc.clientWidth),
-            (window.innerHeight || doc.clientHeight),
-        ];
-    },
-
-
-    redrawPosition : function () {
-
-        if (jsc.picker && jsc.picker.owner) {
-            var thisObj = jsc.picker.owner;
-
-            var tp, vp;
-
-            if (thisObj.fixed) {
-                // Fixed elements are positioned relative to viewport,
-                // therefore we can ignore the scroll offset
-                tp = jsc.getElementPos(thisObj.targetElement, true); // target pos
-                vp = [0, 0]; // view pos
-            } else {
-                tp = jsc.getElementPos(thisObj.targetElement); // target pos
-                vp = jsc.getViewPos(); // view pos
-            }
-
-            var ts = jsc.getElementSize(thisObj.targetElement); // target size
-            var vs = jsc.getViewSize(); // view size
-            var ps = jsc.getPickerOuterDims(thisObj); // picker size
-            var a, b, c;
-            switch (thisObj.position.toLowerCase()) {
-                case 'left': a=1; b=0; c=-1; break;
-                case 'right':a=1; b=0; c=1; break;
-                case 'top':  a=0; b=1; c=-1; break;
-                default:     a=0; b=1; c=1; break;
-            }
-            var l = (ts[b]+ps[b])/2;
-
-            // compute picker position
-            if (!thisObj.smartPosition) {
-                var pp = [
-                    tp[a],
-                    tp[b]+ts[b]-l+l*c
-                ];
-            } else {
-                var pp = [
-                    -vp[a]+tp[a]+ps[a] > vs[a] ?
-                        (-vp[a]+tp[a]+ts[a]/2 > vs[a]/2 && tp[a]+ts[a]-ps[a] >= 0 ? tp[a]+ts[a]-ps[a] : tp[a]) :
-                        tp[a],
-                    -vp[b]+tp[b]+ts[b]+ps[b]-l+l*c > vs[b] ?
-                        (-vp[b]+tp[b]+ts[b]/2 > vs[b]/2 && tp[b]+ts[b]-l-l*c >= 0 ? tp[b]+ts[b]-l-l*c : tp[b]+ts[b]-l+l*c) :
-                        (tp[b]+ts[b]-l+l*c >= 0 ? tp[b]+ts[b]-l+l*c : tp[b]+ts[b]-l-l*c)
-                ];
-            }
-
-            var x = pp[a];
-            var y = pp[b];
-            var positionValue = thisObj.fixed ? 'fixed' : 'absolute';
-            var contractShadow =
-                (pp[0] + ps[0] > tp[0] || pp[0] < tp[0] + ts[0]) &&
-                (pp[1] + ps[1] < tp[1] + ts[1]);
-
-            jsc._drawPosition(thisObj, x, y, positionValue, contractShadow);
-        }
-    },
-
-
-    _drawPosition : function (thisObj, x, y, positionValue, contractShadow) {
-        var vShadow = contractShadow ? 0 : thisObj.shadowBlur; // px
-
-        jsc.picker.wrap.style.position = positionValue;
-        jsc.picker.wrap.style.left = x + 'px';
-        jsc.picker.wrap.style.top = y + 'px';
-
-        jsc.setBoxShadow(
-            jsc.picker.boxS,
-            thisObj.shadow ?
-                new jsc.BoxShadow(0, vShadow, thisObj.shadowBlur, 0, thisObj.shadowColor) :
-                null);
-    },
-
-
-    getPickerDims : function (thisObj) {
-        var displaySlider = !!jsc.getSliderComponent(thisObj);
-        var dims = [
-            2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.width +
-                (displaySlider ? 2 * thisObj.insetWidth + jsc.getPadToSliderPadding(thisObj) + thisObj.sliderSize : 0),
-            2 * thisObj.insetWidth + 2 * thisObj.padding + thisObj.height +
-                (thisObj.closable ? 2 * thisObj.insetWidth + thisObj.padding + thisObj.buttonHeight : 0)
-        ];
-        return dims;
-    },
-
-
-    getPickerOuterDims : function (thisObj) {
-        var dims = jsc.getPickerDims(thisObj);
-        return [
-            dims[0] + 2 * thisObj.borderWidth,
-            dims[1] + 2 * thisObj.borderWidth
-        ];
-    },
-
-
-    getPadToSliderPadding : function (thisObj) {
-        return Math.max(thisObj.padding, 1.5 * (2 * thisObj.pointerBorderWidth + thisObj.pointerThickness));
-    },
-
-
-    getPadYComponent : function (thisObj) {
-        switch (thisObj.mode.charAt(1).toLowerCase()) {
-            case 'v': return 'v'; break;
-        }
-        return 's';
-    },
-
-
-    getSliderComponent : function (thisObj) {
-        if (thisObj.mode.length > 2) {
-            switch (thisObj.mode.charAt(2).toLowerCase()) {
-                case 's': return 's'; break;
-                case 'v': return 'v'; break;
-            }
-        }
-        return null;
-    },
-
-
-    onDocumentMouseDown : function (e) {
-        if (!e) { e = window.event; }
-        var target = e.target || e.srcElement;
-
-        if (target._jscLinkedInstance) {
-            if (target._jscLinkedInstance.showOnClick) {
-                target._jscLinkedInstance.show();
-            }
-        } else if (target._jscControlName) {
-            jsc.onControlPointerStart(e, target, target._jscControlName, 'mouse');
-        } else {
-            // Mouse is outside the picker controls -> hide the color picker!
-            if (jsc.picker && jsc.picker.owner) {
-                jsc.picker.owner.hide();
-            }
-        }
-    },
-
-
-    onDocumentTouchStart : function (e) {
-        if (!e) { e = window.event; }
-        var target = e.target || e.srcElement;
-
-        if (target._jscLinkedInstance) {
-            if (target._jscLinkedInstance.showOnClick) {
-                target._jscLinkedInstance.show();
-            }
-        } else if (target._jscControlName) {
-            jsc.onControlPointerStart(e, target, target._jscControlName, 'touch');
-        } else {
-            if (jsc.picker && jsc.picker.owner) {
-                jsc.picker.owner.hide();
-            }
-        }
-    },
-
-
-    onWindowResize : function (e) {
-        jsc.redrawPosition();
-    },
-
-
-    onParentScroll : function (e) {
-        // hide the picker when one of the parent elements is scrolled
-        if (jsc.picker && jsc.picker.owner) {
-            jsc.picker.owner.hide();
-        }
-    },
-
-
-    _pointerMoveEvent : {
-        mouse: 'mousemove',
-        touch: 'touchmove'
-    },
-    _pointerEndEvent : {
-        mouse: 'mouseup',
-        touch: 'touchend'
-    },
-
-
-    _pointerOrigin : null,
-    _capturedTarget : null,
-
-
-    onControlPointerStart : function (e, target, controlName, pointerType) {
-        var thisObj = target._jscInstance;
-
-        jsc.preventDefault(e);
-        jsc.captureTarget(target);
-
-        var registerDragEvents = function (doc, offset) {
-            jsc.attachGroupEvent('drag', doc, jsc._pointerMoveEvent[pointerType],
-                jsc.onDocumentPointerMove(e, target, controlName, pointerType, offset));
-            jsc.attachGroupEvent('drag', doc, jsc._pointerEndEvent[pointerType],
-                jsc.onDocumentPointerEnd(e, target, controlName, pointerType));
-        };
-
-        registerDragEvents(document, [0, 0]);
-
-        if (window.parent && window.frameElement) {
-            var rect = window.frameElement.getBoundingClientRect();
-            var ofs = [-rect.left, -rect.top];
-            registerDragEvents(window.parent.window.document, ofs);
-        }
-
-        var abs = jsc.getAbsPointerPos(e);
-        var rel = jsc.getRelPointerPos(e);
-        jsc._pointerOrigin = {
-            x: abs.x - rel.x,
-            y: abs.y - rel.y
-        };
-
-        switch (controlName) {
-        case 'pad':
-            // if the slider is at the bottom, move it up
-            switch (jsc.getSliderComponent(thisObj)) {
-            case 's': if (thisObj.hsv[1] === 0) { thisObj.fromHSV(null, 100, null); }; break;
-            case 'v': if (thisObj.hsv[2] === 0) { thisObj.fromHSV(null, null, 100); }; break;
-            }
-            jsc.setPad(thisObj, e, 0, 0);
-            break;
-
-        case 'sld':
-            jsc.setSld(thisObj, e, 0);
-            break;
-        }
-
-        jsc.dispatchFineChange(thisObj);
-    },
-
-
-    onDocumentPointerMove : function (e, target, controlName, pointerType, offset) {
-        return function (e) {
-            var thisObj = target._jscInstance;
-            switch (controlName) {
-            case 'pad':
-                if (!e) { e = window.event; }
-                jsc.setPad(thisObj, e, offset[0], offset[1]);
-                jsc.dispatchFineChange(thisObj);
-                break;
-
-            case 'sld':
-                if (!e) { e = window.event; }
-                jsc.setSld(thisObj, e, offset[1]);
-                jsc.dispatchFineChange(thisObj);
-                break;
-            }
-        }
-    },
-
-
-    onDocumentPointerEnd : function (e, target, controlName, pointerType) {
-        return function (e) {
-            var thisObj = target._jscInstance;
-            jsc.detachGroupEvents('drag');
-            jsc.releaseTarget();
-            // Always dispatch changes after detaching outstanding mouse handlers,
-            // in case some user interaction will occur in user's onchange callback
-            // that would intrude with current mouse events
-            jsc.dispatchChange(thisObj);
-        };
-    },
-
-
-    dispatchChange : function (thisObj) {
-        if (thisObj.valueElement) {
-            if (jsc.isElementType(thisObj.valueElement, 'input')) {
-                jsc.fireEvent(thisObj.valueElement, 'change');
-            }
-        }
-    },
-
-
-    dispatchFineChange : function (thisObj) {
-        if (thisObj.onFineChange) {
-            var callback;
-            if (typeof thisObj.onFineChange === 'string') {
-                callback = new Function (thisObj.onFineChange);
-            } else {
-                callback = thisObj.onFineChange;
-            }
-            callback.call(thisObj);
-        }
-    },
-
-
-    setPad : function (thisObj, e, ofsX, ofsY) {
-        var pointerAbs = jsc.getAbsPointerPos(e);
-        var x = ofsX + pointerAbs.x - jsc._pointerOrigin.x - thisObj.padding - thisObj.insetWidth;
-        var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth;
-
-        var xVal = x * (360 / (thisObj.width - 1));
-        var yVal = 100 - (y * (100 / (thisObj.height - 1)));
-
-        switch (jsc.getPadYComponent(thisObj)) {
-        case 's': thisObj.fromHSV(xVal, yVal, null, jsc.leaveSld); break;
-        case 'v': thisObj.fromHSV(xVal, null, yVal, jsc.leaveSld); break;
-        }
-    },
-
-
-    setSld : function (thisObj, e, ofsY) {
-        var pointerAbs = jsc.getAbsPointerPos(e);
-        var y = ofsY + pointerAbs.y - jsc._pointerOrigin.y - thisObj.padding - thisObj.insetWidth;
-
-        var yVal = 100 - (y * (100 / (thisObj.height - 1)));
-
-        switch (jsc.getSliderComponent(thisObj)) {
-        case 's': thisObj.fromHSV(null, yVal, null, jsc.leavePad); break;
-        case 'v': thisObj.fromHSV(null, null, yVal, jsc.leavePad); break;
-        }
-    },
-
-
-    _vmlNS : 'jsc_vml_',
-    _vmlCSS : 'jsc_vml_css_',
-    _vmlReady : false,
-
-
-    initVML : function () {
-        if (!jsc._vmlReady) {
-            // init VML namespace
-            var doc = document;
-            if (!doc.namespaces[jsc._vmlNS]) {
-                doc.namespaces.add(jsc._vmlNS, 'urn:schemas-microsoft-com:vml');
-            }
-            if (!doc.styleSheets[jsc._vmlCSS]) {
-                var tags = ['shape', 'shapetype', 'group', 'background', 'path', 'formulas', 'handles', 'fill', 'stroke', 'shadow', 'textbox', 'textpath', 'imagedata', 'line', 'polyline', 'curve', 'rect', 'roundrect', 'oval', 'arc', 'image'];
-                var ss = doc.createStyleSheet();
-                ss.owningElement.id = jsc._vmlCSS;
-                for (var i = 0; i < tags.length; i += 1) {
-                    ss.addRule(jsc._vmlNS + '\\:' + tags[i], 'behavior:url(#default#VML);');
-                }
-            }
-            jsc._vmlReady = true;
-        }
-    },
-
-
-    createPalette : function () {
-
-        var paletteObj = {
-            elm: null,
-            draw: null
-        };
-
-        if (jsc.isCanvasSupported) {
-            // Canvas implementation for modern browsers
-
-            var canvas = document.createElement('canvas');
-            var ctx = canvas.getContext('2d');
-
-            var drawFunc = function (width, height, type) {
-                canvas.width = width;
-                canvas.height = height;
-
-                ctx.clearRect(0, 0, canvas.width, canvas.height);
-
-                var hGrad = ctx.createLinearGradient(0, 0, canvas.width, 0);
-                hGrad.addColorStop(0 / 6, '#F00');
-                hGrad.addColorStop(1 / 6, '#FF0');
-                hGrad.addColorStop(2 / 6, '#0F0');
-                hGrad.addColorStop(3 / 6, '#0FF');
-                hGrad.addColorStop(4 / 6, '#00F');
-                hGrad.addColorStop(5 / 6, '#F0F');
-                hGrad.addColorStop(6 / 6, '#F00');
-
-                ctx.fillStyle = hGrad;
-                ctx.fillRect(0, 0, canvas.width, canvas.height);
-
-                var vGrad = ctx.createLinearGradient(0, 0, 0, canvas.height);
-                switch (type.toLowerCase()) {
-                case 's':
-                    vGrad.addColorStop(0, 'rgba(255,255,255,0)');
-                    vGrad.addColorStop(1, 'rgba(255,255,255,1)');
-                    break;
-                case 'v':
-                    vGrad.addColorStop(0, 'rgba(0,0,0,0)');
-                    vGrad.addColorStop(1, 'rgba(0,0,0,1)');
-                    break;
-                }
-                ctx.fillStyle = vGrad;
-                ctx.fillRect(0, 0, canvas.width, canvas.height);
-            };
-
-            paletteObj.elm = canvas;
-            paletteObj.draw = drawFunc;
-
-        } else {
-            // VML fallback for IE 7 and 8
-
-            jsc.initVML();
-
-            var vmlContainer = document.createElement('div');
-            vmlContainer.style.position = 'relative';
-            vmlContainer.style.overflow = 'hidden';
-
-            var hGrad = document.createElement(jsc._vmlNS + ':fill');
-            hGrad.type = 'gradient';
-            hGrad.method = 'linear';
-            hGrad.angle = '90';
-            hGrad.colors = '16.67% #F0F, 33.33% #00F, 50% #0FF, 66.67% #0F0, 83.33% #FF0'
-
-            var hRect = document.createElement(jsc._vmlNS + ':rect');
-            hRect.style.position = 'absolute';
-            hRect.style.left = -1 + 'px';
-            hRect.style.top = -1 + 'px';
-            hRect.stroked = false;
-            hRect.appendChild(hGrad);
-            vmlContainer.appendChild(hRect);
-
-            var vGrad = document.createElement(jsc._vmlNS + ':fill');
-            vGrad.type = 'gradient';
-            vGrad.method = 'linear';
-            vGrad.angle = '180';
-            vGrad.opacity = '0';
-
-            var vRect = document.createElement(jsc._vmlNS + ':rect');
-            vRect.style.position = 'absolute';
-            vRect.style.left = -1 + 'px';
-            vRect.style.top = -1 + 'px';
-            vRect.stroked = false;
-            vRect.appendChild(vGrad);
-            vmlContainer.appendChild(vRect);
-
-            var drawFunc = function (width, height, type) {
-                vmlContainer.style.width = width + 'px';
-                vmlContainer.style.height = height + 'px';
-
-                hRect.style.width =
-                vRect.style.width =
-                    (width + 1) + 'px';
-                hRect.style.height =
-                vRect.style.height =
-                    (height + 1) + 'px';
-
-                // Colors must be specified during every redraw, otherwise IE won't display
-                // a full gradient during a subsequential redraw
-                hGrad.color = '#F00';
-                hGrad.color2 = '#F00';
-
-                switch (type.toLowerCase()) {
-                case 's':
-                    vGrad.color = vGrad.color2 = '#FFF';
-                    break;
-                case 'v':
-                    vGrad.color = vGrad.color2 = '#000';
-                    break;
-                }
-            };
-
-            paletteObj.elm = vmlContainer;
-            paletteObj.draw = drawFunc;
-        }
-
-        return paletteObj;
-    },
-
-
-    createSliderGradient : function () {
-
-        var sliderObj = {
-            elm: null,
-            draw: null
-        };
-
-        if (jsc.isCanvasSupported) {
-            // Canvas implementation for modern browsers
-
-            var canvas = document.createElement('canvas');
-            var ctx = canvas.getContext('2d');
-
-            var drawFunc = function (width, height, color1, color2) {
-                canvas.width = width;
-                canvas.height = height;
-
-                ctx.clearRect(0, 0, canvas.width, canvas.height);
-
-                var grad = ctx.createLinearGradient(0, 0, 0, canvas.height);
-                grad.addColorStop(0, color1);
-                grad.addColorStop(1, color2);
-
-                ctx.fillStyle = grad;
-                ctx.fillRect(0, 0, canvas.width, canvas.height);
-            };
-
-            sliderObj.elm = canvas;
-            sliderObj.draw = drawFunc;
-
-        } else {
-            // VML fallback for IE 7 and 8
-
-            jsc.initVML();
-
-            var vmlContainer = document.createElement('div');
-            vmlContainer.style.position = 'relative';
-            vmlContainer.style.overflow = 'hidden';
-
-            var grad = document.createElement(jsc._vmlNS + ':fill');
-            grad.type = 'gradient';
-            grad.method = 'linear';
-            grad.angle = '180';
-
-            var rect = document.createElement(jsc._vmlNS + ':rect');
-            rect.style.position = 'absolute';
-            rect.style.left = -1 + 'px';
-            rect.style.top = -1 + 'px';
-            rect.stroked = false;
-            rect.appendChild(grad);
-            vmlContainer.appendChild(rect);
-
-            var drawFunc = function (width, height, color1, color2) {
-                vmlContainer.style.width = width + 'px';
-                vmlContainer.style.height = height + 'px';
-
-                rect.style.width = (width + 1) + 'px';
-                rect.style.height = (height + 1) + 'px';
-
-                grad.color = color1;
-                grad.color2 = color2;
-            };
-
-            sliderObj.elm = vmlContainer;
-            sliderObj.draw = drawFunc;
-        }
-
-        return sliderObj;
-    },
-
-
-    leaveValue : 1<<0,
-    leaveStyle : 1<<1,
-    leavePad : 1<<2,
-    leaveSld : 1<<3,
-
-
-    BoxShadow : (function () {
-        var BoxShadow = function (hShadow, vShadow, blur, spread, color, inset) {
-            this.hShadow = hShadow;
-            this.vShadow = vShadow;
-            this.blur = blur;
-            this.spread = spread;
-            this.color = color;
-            this.inset = !!inset;
-        };
-
-        BoxShadow.prototype.toString = function () {
-            var vals = [
-                Math.round(this.hShadow) + 'px',
-                Math.round(this.vShadow) + 'px',
-                Math.round(this.blur) + 'px',
-                Math.round(this.spread) + 'px',
-                this.color
-            ];
-            if (this.inset) {
-                vals.push('inset');
-            }
-            return vals.join(' ');
-        };
-
-        return BoxShadow;
-    })(),
-
-
-    //
-    // Usage:
-    // var myColor = new jscolor(<targetElement> [, <options>])
-    //
-
-    jscolor : function (targetElement, options) {
-
-        // General options
-        //
-        this.value = null; // initial HEX color. To change it later, use methods fromString(), fromHSV() and fromRGB()
-        this.valueElement = targetElement; // element that will be used to display and input the color code
-        this.styleElement = targetElement; // element that will preview the picked color using CSS backgroundColor
-        this.required = true; // whether the associated text <input> can be left empty
-        this.refine = true; // whether to refine the entered color code (e.g. uppercase it and remove whitespace)
-        this.hash = false; // whether to prefix the HEX color code with # symbol
-        this.uppercase = true; // whether to show the color code in upper case
-        this.onFineChange = null; // called instantly every time the color changes (value can be either a function or a string with javascript code)
-        this.activeClass = 'jscolor-active'; // class to be set to the target element when a picker window is open on it
-        this.overwriteImportant = false; // whether to overwrite colors of styleElement using !important
-        this.minS = 0; // min allowed saturation (0 - 100)
-        this.maxS = 100; // max allowed saturation (0 - 100)
-        this.minV = 0; // min allowed value (brightness) (0 - 100)
-        this.maxV = 100; // max allowed value (brightness) (0 - 100)
-
-        // Accessing the picked color
-        //
-        this.hsv = [0, 0, 100]; // read-only  [0-360, 0-100, 0-100]
-        this.rgb = [255, 255, 255]; // read-only  [0-255, 0-255, 0-255]
-
-        // Color Picker options
-        //
-        this.width = 181; // width of color palette (in px)
-        this.height = 101; // height of color palette (in px)
-        this.showOnClick = true; // whether to display the color picker when user clicks on its target element
-        this.mode = 'HSV'; // HSV | HVS | HS | HV - layout of the color picker controls
-        this.position = 'bottom'; // left | right | top | bottom - position relative to the target element
-        this.smartPosition = true; // automatically change picker position when there is not enough space for it
-        this.sliderSize = 16; // px
-        this.crossSize = 8; // px
-        this.closable = false; // whether to display the Close button
-        this.closeText = 'Close';
-        this.buttonColor = '#000000'; // CSS color
-        this.buttonHeight = 18; // px
-        this.padding = 12; // px
-        this.backgroundColor = '#FFFFFF'; // CSS color
-        this.borderWidth = 1; // px
-        this.borderColor = '#BBBBBB'; // CSS color
-        this.borderRadius = 8; // px
-        this.insetWidth = 1; // px
-        this.insetColor = '#BBBBBB'; // CSS color
-        this.shadow = true; // whether to display shadow
-        this.shadowBlur = 15; // px
-        this.shadowColor = 'rgba(0,0,0,0.2)'; // CSS color
-        this.pointerColor = '#4C4C4C'; // px
-        this.pointerBorderColor = '#FFFFFF'; // px
-        this.pointerBorderWidth = 1; // px
-        this.pointerThickness = 2; // px
-        this.zIndex = 1000;
-        this.container = null; // where to append the color picker (BODY element by default)
-
-
-        for (var opt in options) {
-            if (options.hasOwnProperty(opt)) {
-                this[opt] = options[opt];
-            }
-        }
-
-
-        this.hide = function () {
-            if (isPickerOwner()) {
-                detachPicker();
-            }
-        };
-
-
-        this.show = function () {
-            drawPicker();
-        };
-
-
-        this.redraw = function () {
-            if (isPickerOwner()) {
-                drawPicker();
-            }
-        };
-
-
-        this.importColor = function () {
-            if (!this.valueElement) {
-                this.exportColor();
-            } else {
-                if (jsc.isElementType(this.valueElement, 'input')) {
-                    if (!this.refine) {
-                        if (!this.fromString(this.valueElement.value, jsc.leaveValue)) {
-                            if (this.styleElement) {
-                                this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage;
-                                this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor;
-                                this.styleElement.style.color = this.styleElement._jscOrigStyle.color;
-                            }
-                            this.exportColor(jsc.leaveValue | jsc.leaveStyle);
-                        }
-                    } else if (!this.required && /^\s*$/.test(this.valueElement.value)) {
-                        this.valueElement.value = '';
-                        if (this.styleElement) {
-                            this.styleElement.style.backgroundImage = this.styleElement._jscOrigStyle.backgroundImage;
-                            this.styleElement.style.backgroundColor = this.styleElement._jscOrigStyle.backgroundColor;
-                            this.styleElement.style.color = this.styleElement._jscOrigStyle.color;
-                        }
-                        this.exportColor(jsc.leaveValue | jsc.leaveStyle);
-
-                    } else if (this.fromString(this.valueElement.value)) {
-                        // managed to import color successfully from the value -> OK, don't do anything
-                    } else {
-                        this.exportColor();
-                    }
-                } else {
-                    // not an input element -> doesn't have any value
-                    this.exportColor();
-                }
-            }
-        };
-
-
-        this.exportColor = function (flags) {
-            if (!(flags & jsc.leaveValue) && this.valueElement) {
-                var value = this.toString();
-                if (this.uppercase) { value = value.toUpperCase(); }
-                if (this.hash) { value = '#' + value; }
-
-                if (jsc.isElementType(this.valueElement, 'input')) {
-                    this.valueElement.value = value;
-                } else {
-                    this.valueElement.innerHTML = value;
-                }
-            }
-            if (!(flags & jsc.leaveStyle)) {
-                if (this.styleElement) {
-                    var bgColor = '#' + this.toString();
-                    var fgColor = this.isLight() ? '#000' : '#FFF';
-
-                    this.styleElement.style.backgroundImage = 'none';
-                    this.styleElement.style.backgroundColor = bgColor;
-                    this.styleElement.style.color = fgColor;
-
-                    if (this.overwriteImportant) {
-                        this.styleElement.setAttribute('style',
-                            'background: ' + bgColor + ' !important; ' +
-                            'color: ' + fgColor + ' !important;'
-                        );
-                    }
-                }
-            }
-            if (!(flags & jsc.leavePad) && isPickerOwner()) {
-                redrawPad();
-            }
-            if (!(flags & jsc.leaveSld) && isPickerOwner()) {
-                redrawSld();
-            }
-        };
-
-
-        // h: 0-360
-        // s: 0-100
-        // v: 0-100
-        //
-        this.fromHSV = function (h, s, v, flags) { // null = don't change
-            if (h !== null) {
-                if (isNaN(h)) { return false; }
-                h = Math.max(0, Math.min(360, h));
-            }
-            if (s !== null) {
-                if (isNaN(s)) { return false; }
-                s = Math.max(0, Math.min(100, this.maxS, s), this.minS);
-            }
-            if (v !== null) {
-                if (isNaN(v)) { return false; }
-                v = Math.max(0, Math.min(100, this.maxV, v), this.minV);
-            }
-
-            this.rgb = HSV_RGB(
-                h===null ? this.hsv[0] : (this.hsv[0]=h),
-                s===null ? this.hsv[1] : (this.hsv[1]=s),
-                v===null ? this.hsv[2] : (this.hsv[2]=v)
-            );
-
-            this.exportColor(flags);
-        };
-
-
-        // r: 0-255
-        // g: 0-255
-        // b: 0-255
-        //
-        this.fromRGB = function (r, g, b, flags) { // null = don't change
-            if (r !== null) {
-                if (isNaN(r)) { return false; }
-                r = Math.max(0, Math.min(255, r));
-            }
-            if (g !== null) {
-                if (isNaN(g)) { return false; }
-                g = Math.max(0, Math.min(255, g));
-            }
-            if (b !== null) {
-                if (isNaN(b)) { return false; }
-                b = Math.max(0, Math.min(255, b));
-            }
-
-            var hsv = RGB_HSV(
-                r===null ? this.rgb[0] : r,
-                g===null ? this.rgb[1] : g,
-                b===null ? this.rgb[2] : b
-            );
-            if (hsv[0] !== null) {
-                this.hsv[0] = Math.max(0, Math.min(360, hsv[0]));
-            }
-            if (hsv[2] !== 0) {
-                this.hsv[1] = hsv[1]===null ? null : Math.max(0, this.minS, Math.min(100, this.maxS, hsv[1]));
-            }
-            this.hsv[2] = hsv[2]===null ? null : Math.max(0, this.minV, Math.min(100, this.maxV, hsv[2]));
-
-            // update RGB according to final HSV, as some values might be trimmed
-            var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]);
-            this.rgb[0] = rgb[0];
-            this.rgb[1] = rgb[1];
-            this.rgb[2] = rgb[2];
-
-            this.exportColor(flags);
-        };
-
-
-        this.fromString = function (str, flags) {
-            var m;
-            if (m = str.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)) {
-                // HEX notation
-                //
-
-                if (m[1].length === 6) {
-                    // 6-char notation
-                    this.fromRGB(
-                        parseInt(m[1].substr(0,2),16),
-                        parseInt(m[1].substr(2,2),16),
-                        parseInt(m[1].substr(4,2),16),
-                        flags
-                    );
-                } else {
-                    // 3-char notation
-                    this.fromRGB(
-                        parseInt(m[1].charAt(0) + m[1].charAt(0),16),
-                        parseInt(m[1].charAt(1) + m[1].charAt(1),16),
-                        parseInt(m[1].charAt(2) + m[1].charAt(2),16),
-                        flags
-                    );
-                }
-                return true;
-
-            } else if (m = str.match(/^\W*rgba?\(([^)]*)\)\W*$/i)) {
-                var params = m[1].split(',');
-                var re = /^\s*(\d*)(\.\d+)?\s*$/;
-                var mR, mG, mB;
-                if (
-                    params.length >= 3 &&
-                    (mR = params[0].match(re)) &&
-                    (mG = params[1].match(re)) &&
-                    (mB = params[2].match(re))
-                ) {
-                    var r = parseFloat((mR[1] || '0') + (mR[2] || ''));
-                    var g = parseFloat((mG[1] || '0') + (mG[2] || ''));
-                    var b = parseFloat((mB[1] || '0') + (mB[2] || ''));
-                    this.fromRGB(r, g, b, flags);
-                    return true;
-                }
-            }
-            return false;
-        };
-
-
-        this.toString = function () {
-            return (
-                (0x100 | Math.round(this.rgb[0])).toString(16).substr(1) +
-                (0x100 | Math.round(this.rgb[1])).toString(16).substr(1) +
-                (0x100 | Math.round(this.rgb[2])).toString(16).substr(1)
-            );
-        };
-
-
-        this.toHEXString = function () {
-            return '#' + this.toString().toUpperCase();
-        };
-
-
-        this.toRGBString = function () {
-            return ('rgb(' +
-                Math.round(this.rgb[0]) + ',' +
-                Math.round(this.rgb[1]) + ',' +
-                Math.round(this.rgb[2]) + ')'
-            );
-        };
-
-
-        this.isLight = function () {
-            return (
-                0.213 * this.rgb[0] +
-                0.715 * this.rgb[1] +
-                0.072 * this.rgb[2] >
-                255 / 2
-            );
-        };
-
-
-        this._processParentElementsInDOM = function () {
-            if (this._linkedElementsProcessed) { return; }
-            this._linkedElementsProcessed = true;
-
-            var elm = this.targetElement;
-            do {
-                // If the target element or one of its parent nodes has fixed position,
-                // then use fixed positioning instead
-                //
-                // Note: In Firefox, getComputedStyle returns null in a hidden iframe,
-                // that's why we need to check if the returned style object is non-empty
-                var currStyle = jsc.getStyle(elm);
-                if (currStyle && currStyle.position.toLowerCase() === 'fixed') {
-                    this.fixed = true;
-                }
-
-                if (elm !== this.targetElement) {
-                    // Ensure to attach onParentScroll only once to each parent element
-                    // (multiple targetElements can share the same parent nodes)
-                    //
-                    // Note: It's not just offsetParents that can be scrollable,
-                    // that's why we loop through all parent nodes
-                    if (!elm._jscEventsAttached) {
-                        jsc.attachEvent(elm, 'scroll', jsc.onParentScroll);
-                        elm._jscEventsAttached = true;
-                    }
-                }
-            } while ((elm = elm.parentNode) && !jsc.isElementType(elm, 'body'));
-        };
-
-
-        // r: 0-255
-        // g: 0-255
-        // b: 0-255
-        //
-        // returns: [ 0-360, 0-100, 0-100 ]
-        //
-        function RGB_HSV (r, g, b) {
-            r /= 255;
-            g /= 255;
-            b /= 255;
-            var n = Math.min(Math.min(r,g),b);
-            var v = Math.max(Math.max(r,g),b);
-            var m = v - n;
-            if (m === 0) { return [ null, 0, 100 * v ]; }
-            var h = r===n ? 3+(b-g)/m : (g===n ? 5+(r-b)/m : 1+(g-r)/m);
-            return [
-                60 * (h===6?0:h),
-                100 * (m/v),
-                100 * v
-            ];
-        }
-
-
-        // h: 0-360
-        // s: 0-100
-        // v: 0-100
-        //
-        // returns: [ 0-255, 0-255, 0-255 ]
-        //
-        function HSV_RGB (h, s, v) {
-            var u = 255 * (v / 100);
-
-            if (h === null) {
-                return [ u, u, u ];
-            }
-
-            h /= 60;
-            s /= 100;
-
-            var i = Math.floor(h);
-            var f = i%2 ? h-i : 1-(h-i);
-            var m = u * (1 - s);
-            var n = u * (1 - s * f);
-            switch (i) {
-                case 6:
-                case 0: return [u,n,m];
-                case 1: return [n,u,m];
-                case 2: return [m,u,n];
-                case 3: return [m,n,u];
-                case 4: return [n,m,u];
-                case 5: return [u,m,n];
-            }
-        }
-
-
-        function detachPicker () {
-            jsc.unsetClass(THIS.targetElement, THIS.activeClass);
-            jsc.picker.wrap.parentNode.removeChild(jsc.picker.wrap);
-            delete jsc.picker.owner;
-        }
-
-
-        function drawPicker () {
-
-            // At this point, when drawing the picker, we know what the parent elements are
-            // and we can do all related DOM operations, such as registering events on them
-            // or checking their positioning
-            THIS._processParentElementsInDOM();
-
-            if (!jsc.picker) {
-                jsc.picker = {
-                    owner: null,
-                    wrap : document.createElement('div'),
-                    box : document.createElement('div'),
-                    boxS : document.createElement('div'), // shadow area
-                    boxB : document.createElement('div'), // border
-                    pad : document.createElement('div'),
-                    padB : document.createElement('div'), // border
-                    padM : document.createElement('div'), // mouse/touch area
-                    padPal : jsc.createPalette(),
-                    cross : document.createElement('div'),
-                    crossBY : document.createElement('div'), // border Y
-                    crossBX : document.createElement('div'), // border X
-                    crossLY : document.createElement('div'), // line Y
-                    crossLX : document.createElement('div'), // line X
-                    sld : document.createElement('div'),
-                    sldB : document.createElement('div'), // border
-                    sldM : document.createElement('div'), // mouse/touch area
-                    sldGrad : jsc.createSliderGradient(),
-                    sldPtrS : document.createElement('div'), // slider pointer spacer
-                    sldPtrIB : document.createElement('div'), // slider pointer inner border
-                    sldPtrMB : document.createElement('div'), // slider pointer middle border
-                    sldPtrOB : document.createElement('div'), // slider pointer outer border
-                    btn : document.createElement('div'),
-                    btnT : document.createElement('span') // text
-                };
-
-                jsc.picker.pad.appendChild(jsc.picker.padPal.elm);
-                jsc.picker.padB.appendChild(jsc.picker.pad);
-                jsc.picker.cross.appendChild(jsc.picker.crossBY);
-                jsc.picker.cross.appendChild(jsc.picker.crossBX);
-                jsc.picker.cross.appendChild(jsc.picker.crossLY);
-                jsc.picker.cross.appendChild(jsc.picker.crossLX);
-                jsc.picker.padB.appendChild(jsc.picker.cross);
-                jsc.picker.box.appendChild(jsc.picker.padB);
-                jsc.picker.box.appendChild(jsc.picker.padM);
-
-                jsc.picker.sld.appendChild(jsc.picker.sldGrad.elm);
-                jsc.picker.sldB.appendChild(jsc.picker.sld);
-                jsc.picker.sldB.appendChild(jsc.picker.sldPtrOB);
-                jsc.picker.sldPtrOB.appendChild(jsc.picker.sldPtrMB);
-                jsc.picker.sldPtrMB.appendChild(jsc.picker.sldPtrIB);
-                jsc.picker.sldPtrIB.appendChild(jsc.picker.sldPtrS);
-                jsc.picker.box.appendChild(jsc.picker.sldB);
-                jsc.picker.box.appendChild(jsc.picker.sldM);
-
-                jsc.picker.btn.appendChild(jsc.picker.btnT);
-                jsc.picker.box.appendChild(jsc.picker.btn);
-
-                jsc.picker.boxB.appendChild(jsc.picker.box);
-                jsc.picker.wrap.appendChild(jsc.picker.boxS);
-                jsc.picker.wrap.appendChild(jsc.picker.boxB);
-            }
-
-            var p = jsc.picker;
-
-            var displaySlider = !!jsc.getSliderComponent(THIS);
-            var dims = jsc.getPickerDims(THIS);
-            var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize);
-            var padToSliderPadding = jsc.getPadToSliderPadding(THIS);
-            var borderRadius = Math.min(
-                THIS.borderRadius,
-                Math.round(THIS.padding * Math.PI)); // px
-            var padCursor = 'crosshair';
-
-            // wrap
-            p.wrap.style.clear = 'both';
-            p.wrap.style.width = (dims[0] + 2 * THIS.borderWidth) + 'px';
-            p.wrap.style.height = (dims[1] + 2 * THIS.borderWidth) + 'px';
-            p.wrap.style.zIndex = THIS.zIndex;
-
-            // picker
-            p.box.style.width = dims[0] + 'px';
-            p.box.style.height = dims[1] + 'px';
-
-            p.boxS.style.position = 'absolute';
-            p.boxS.style.left = '0';
-            p.boxS.style.top = '0';
-            p.boxS.style.width = '100%';
-            p.boxS.style.height = '100%';
-            jsc.setBorderRadius(p.boxS, borderRadius + 'px');
-
-            // picker border
-            p.boxB.style.position = 'relative';
-            p.boxB.style.border = THIS.borderWidth + 'px solid';
-            p.boxB.style.borderColor = THIS.borderColor;
-            p.boxB.style.background = THIS.backgroundColor;
-            jsc.setBorderRadius(p.boxB, borderRadius + 'px');
-
-            // IE hack:
-            // If the element is transparent, IE will trigger the event on the elements under it,
-            // e.g. on Canvas or on elements with border
-            p.padM.style.background =
-            p.sldM.style.background =
-                '#FFF';
-            jsc.setStyle(p.padM, 'opacity', '0');
-            jsc.setStyle(p.sldM, 'opacity', '0');
-
-            // pad
-            p.pad.style.position = 'relative';
-            p.pad.style.width = THIS.width + 'px';
-            p.pad.style.height = THIS.height + 'px';
-
-            // pad palettes (HSV and HVS)
-            p.padPal.draw(THIS.width, THIS.height, jsc.getPadYComponent(THIS));
-
-            // pad border
-            p.padB.style.position = 'absolute';
-            p.padB.style.left = THIS.padding + 'px';
-            p.padB.style.top = THIS.padding + 'px';
-            p.padB.style.border = THIS.insetWidth + 'px solid';
-            p.padB.style.borderColor = THIS.insetColor;
-
-            // pad mouse area
-            p.padM._jscInstance = THIS;
-            p.padM._jscControlName = 'pad';
-            p.padM.style.position = 'absolute';
-            p.padM.style.left = '0';
-            p.padM.style.top = '0';
-            p.padM.style.width = (THIS.padding + 2 * THIS.insetWidth + THIS.width + padToSliderPadding / 2) + 'px';
-            p.padM.style.height = dims[1] + 'px';
-            p.padM.style.cursor = padCursor;
-
-            // pad cross
-            p.cross.style.position = 'absolute';
-            p.cross.style.left =
-            p.cross.style.top =
-                '0';
-            p.cross.style.width =
-            p.cross.style.height =
-                crossOuterSize + 'px';
-
-            // pad cross border Y and X
-            p.crossBY.style.position =
-            p.crossBX.style.position =
-                'absolute';
-            p.crossBY.style.background =
-            p.crossBX.style.background =
-                THIS.pointerBorderColor;
-            p.crossBY.style.width =
-            p.crossBX.style.height =
-                (2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px';
-            p.crossBY.style.height =
-            p.crossBX.style.width =
-                crossOuterSize + 'px';
-            p.crossBY.style.left =
-            p.crossBX.style.top =
-                (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2) - THIS.pointerBorderWidth) + 'px';
-            p.crossBY.style.top =
-            p.crossBX.style.left =
-                '0';
-
-            // pad cross line Y and X
-            p.crossLY.style.position =
-            p.crossLX.style.position =
-                'absolute';
-            p.crossLY.style.background =
-            p.crossLX.style.background =
-                THIS.pointerColor;
-            p.crossLY.style.height =
-            p.crossLX.style.width =
-                (crossOuterSize - 2 * THIS.pointerBorderWidth) + 'px';
-            p.crossLY.style.width =
-            p.crossLX.style.height =
-                THIS.pointerThickness + 'px';
-            p.crossLY.style.left =
-            p.crossLX.style.top =
-                (Math.floor(crossOuterSize / 2) - Math.floor(THIS.pointerThickness / 2)) + 'px';
-            p.crossLY.style.top =
-            p.crossLX.style.left =
-                THIS.pointerBorderWidth + 'px';
-
-            // slider
-            p.sld.style.overflow = 'hidden';
-            p.sld.style.width = THIS.sliderSize + 'px';
-            p.sld.style.height = THIS.height + 'px';
-
-            // slider gradient
-            p.sldGrad.draw(THIS.sliderSize, THIS.height, '#000', '#000');
-
-            // slider border
-            p.sldB.style.display = displaySlider ? 'block' : 'none';
-            p.sldB.style.position = 'absolute';
-            p.sldB.style.right = THIS.padding + 'px';
-            p.sldB.style.top = THIS.padding + 'px';
-            p.sldB.style.border = THIS.insetWidth + 'px solid';
-            p.sldB.style.borderColor = THIS.insetColor;
-
-            // slider mouse area
-            p.sldM._jscInstance = THIS;
-            p.sldM._jscControlName = 'sld';
-            p.sldM.style.display = displaySlider ? 'block' : 'none';
-            p.sldM.style.position = 'absolute';
-            p.sldM.style.right = '0';
-            p.sldM.style.top = '0';
-            p.sldM.style.width = (THIS.sliderSize + padToSliderPadding / 2 + THIS.padding + 2 * THIS.insetWidth) + 'px';
-            p.sldM.style.height = dims[1] + 'px';
-            p.sldM.style.cursor = 'default';
-
-            // slider pointer inner and outer border
-            p.sldPtrIB.style.border =
-            p.sldPtrOB.style.border =
-                THIS.pointerBorderWidth + 'px solid ' + THIS.pointerBorderColor;
-
-            // slider pointer outer border
-            p.sldPtrOB.style.position = 'absolute';
-            p.sldPtrOB.style.left = -(2 * THIS.pointerBorderWidth + THIS.pointerThickness) + 'px';
-            p.sldPtrOB.style.top = '0';
-
-            // slider pointer middle border
-            p.sldPtrMB.style.border = THIS.pointerThickness + 'px solid ' + THIS.pointerColor;
-
-            // slider pointer spacer
-            p.sldPtrS.style.width = THIS.sliderSize + 'px';
-            p.sldPtrS.style.height = sliderPtrSpace + 'px';
-
-            // the Close button
-            function setBtnBorder () {
-                var insetColors = THIS.insetColor.split(/\s+/);
-                var outsetColor = insetColors.length < 2 ? insetColors[0] : insetColors[1] + ' ' + insetColors[0] + ' ' + insetColors[0] + ' ' + insetColors[1];
-                p.btn.style.borderColor = outsetColor;
-            }
-            p.btn.style.display = THIS.closable ? 'block' : 'none';
-            p.btn.style.position = 'absolute';
-            p.btn.style.left = THIS.padding + 'px';
-            p.btn.style.bottom = THIS.padding + 'px';
-            p.btn.style.padding = '0 15px';
-            p.btn.style.height = THIS.buttonHeight + 'px';
-            p.btn.style.border = THIS.insetWidth + 'px solid';
-            setBtnBorder();
-            p.btn.style.color = THIS.buttonColor;
-            p.btn.style.font = '12px sans-serif';
-            p.btn.style.textAlign = 'center';
-            try {
-                p.btn.style.cursor = 'pointer';
-            } catch(eOldIE) {
-                p.btn.style.cursor = 'hand';
-            }
-            p.btn.onmousedown = function () {
-                THIS.hide();
-            };
-            p.btnT.style.lineHeight = THIS.buttonHeight + 'px';
-            p.btnT.innerHTML = '';
-            p.btnT.appendChild(document.createTextNode(THIS.closeText));
-
-            // place pointers
-            redrawPad();
-            redrawSld();
-
-            // If we are changing the owner without first closing the picker,
-            // make sure to first deal with the old owner
-            if (jsc.picker.owner && jsc.picker.owner !== THIS) {
-                jsc.unsetClass(jsc.picker.owner.targetElement, THIS.activeClass);
-            }
-
-            // Set the new picker owner
-            jsc.picker.owner = THIS;
-
-            // The redrawPosition() method needs picker.owner to be set, that's why we call it here,
-            // after setting the owner
-            if (jsc.isElementType(container, 'body')) {
-                jsc.redrawPosition();
-            } else {
-                jsc._drawPosition(THIS, 0, 0, 'relative', false);
-            }
-
-            if (p.wrap.parentNode != container) {
-                container.appendChild(p.wrap);
-            }
-
-            jsc.setClass(THIS.targetElement, THIS.activeClass);
-        }
-
-
-        function redrawPad () {
-            // redraw the pad pointer
-            switch (jsc.getPadYComponent(THIS)) {
-            case 's': var yComponent = 1; break;
-            case 'v': var yComponent = 2; break;
-            }
-            var x = Math.round((THIS.hsv[0] / 360) * (THIS.width - 1));
-            var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1));
-            var crossOuterSize = (2 * THIS.pointerBorderWidth + THIS.pointerThickness + 2 * THIS.crossSize);
-            var ofs = -Math.floor(crossOuterSize / 2);
-            jsc.picker.cross.style.left = (x + ofs) + 'px';
-            jsc.picker.cross.style.top = (y + ofs) + 'px';
-
-            // redraw the slider
-            switch (jsc.getSliderComponent(THIS)) {
-            case 's':
-                var rgb1 = HSV_RGB(THIS.hsv[0], 100, THIS.hsv[2]);
-                var rgb2 = HSV_RGB(THIS.hsv[0], 0, THIS.hsv[2]);
-                var color1 = 'rgb(' +
-                    Math.round(rgb1[0]) + ',' +
-                    Math.round(rgb1[1]) + ',' +
-                    Math.round(rgb1[2]) + ')';
-                var color2 = 'rgb(' +
-                    Math.round(rgb2[0]) + ',' +
-                    Math.round(rgb2[1]) + ',' +
-                    Math.round(rgb2[2]) + ')';
-                jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2);
-                break;
-            case 'v':
-                var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 100);
-                var color1 = 'rgb(' +
-                    Math.round(rgb[0]) + ',' +
-                    Math.round(rgb[1]) + ',' +
-                    Math.round(rgb[2]) + ')';
-                var color2 = '#000';
-                jsc.picker.sldGrad.draw(THIS.sliderSize, THIS.height, color1, color2);
-                break;
-            }
-        }
-
-
-        function redrawSld () {
-            var sldComponent = jsc.getSliderComponent(THIS);
-            if (sldComponent) {
-                // redraw the slider pointer
-                switch (sldComponent) {
-                case 's': var yComponent = 1; break;
-                case 'v': var yComponent = 2; break;
-                }
-                var y = Math.round((1 - THIS.hsv[yComponent] / 100) * (THIS.height - 1));
-                jsc.picker.sldPtrOB.style.top = (y - (2 * THIS.pointerBorderWidth + THIS.pointerThickness) - Math.floor(sliderPtrSpace / 2)) + 'px';
-            }
-        }
-
-
-        function isPickerOwner () {
-            return jsc.picker && jsc.picker.owner === THIS;
-        }
-
-
-        function blurValue () {
-            THIS.importColor();
-        }
-
-
-        // Find the target element
-        if (typeof targetElement === 'string') {
-            var id = targetElement;
-            var elm = document.getElementById(id);
-            if (elm) {
-                this.targetElement = elm;
-            } else {
-                jsc.warn('Could not find target element with ID \'' + id + '\'');
-            }
-        } else if (targetElement) {
-            this.targetElement = targetElement;
-        } else {
-            jsc.warn('Invalid target element: \'' + targetElement + '\'');
-        }
-
-        if (this.targetElement._jscLinkedInstance) {
-            jsc.warn('Cannot link jscolor twice to the same element. Skipping.');
-            return;
-        }
-        this.targetElement._jscLinkedInstance = this;
-
-        // Find the value element
-        this.valueElement = jsc.fetchElement(this.valueElement);
-        // Find the style element
-        this.styleElement = jsc.fetchElement(this.styleElement);
-
-        var THIS = this;
-        var container =
-            this.container ?
-            jsc.fetchElement(this.container) :
-            document.getElementsByTagName('body')[0];
-        var sliderPtrSpace = 3; // px
-
-        // For BUTTON elements it's important to stop them from sending the form when clicked
-        // (e.g. in Safari)
-        if (jsc.isElementType(this.targetElement, 'button')) {
-            if (this.targetElement.onclick) {
-                var origCallback = this.targetElement.onclick;
-                this.targetElement.onclick = function (evt) {
-                    origCallback.call(this, evt);
-                    return false;
-                };
-            } else {
-                this.targetElement.onclick = function () { return false; };
-            }
-        }
-
-        /*
-        var elm = this.targetElement;
-        do {
-            // If the target element or one of its offsetParents has fixed position,
-            // then use fixed positioning instead
-            //
-            // Note: In Firefox, getComputedStyle returns null in a hidden iframe,
-            // that's why we need to check if the returned style object is non-empty
-            var currStyle = jsc.getStyle(elm);
-            if (currStyle && currStyle.position.toLowerCase() === 'fixed') {
-                this.fixed = true;
-            }
-
-            if (elm !== this.targetElement) {
-                // attach onParentScroll so that we can recompute the picker position
-                // when one of the offsetParents is scrolled
-                if (!elm._jscEventsAttached) {
-                    jsc.attachEvent(elm, 'scroll', jsc.onParentScroll);
-                    elm._jscEventsAttached = true;
-                }
-            }
-        } while ((elm = elm.offsetParent) && !jsc.isElementType(elm, 'body'));
-        */
-
-        // valueElement
-        if (this.valueElement) {
-            if (jsc.isElementType(this.valueElement, 'input')) {
-                var updateField = function () {
-                    THIS.fromString(THIS.valueElement.value, jsc.leaveValue);
-                    jsc.dispatchFineChange(THIS);
-                };
-                jsc.attachEvent(this.valueElement, 'keyup', updateField);
-                jsc.attachEvent(this.valueElement, 'input', updateField);
-                jsc.attachEvent(this.valueElement, 'blur', blurValue);
-                this.valueElement.setAttribute('autocomplete', 'off');
-            }
-        }
-
-        // styleElement
-        if (this.styleElement) {
-            this.styleElement._jscOrigStyle = {
-                backgroundImage : this.styleElement.style.backgroundImage,
-                backgroundColor : this.styleElement.style.backgroundColor,
-                color : this.styleElement.style.color
-            };
-        }
-
-        if (this.value) {
-            // Try to set the color from the .value option and if unsuccessful,
-            // export the current color
-            this.fromString(this.value) || this.exportColor();
-        } else {
-            this.importColor();
-        }
-    }
-
-};
-
-
-//================================
-// Public properties and methods
-//================================
-
-
-// By default, search for all elements with class="jscolor" and install a color picker on them.
-//
-// You can change what class name will be looked for by setting the property jscolor.lookupClass
-// anywhere in your HTML document. To completely disable the automatic lookup, set it to null.
-//
-jsc.jscolor.lookupClass = 'jscolor';
-
-
-jsc.jscolor.installByClassName = function (className) {
-    var inputElms = document.getElementsByTagName('input');
-    var buttonElms = document.getElementsByTagName('button');
-
-    jsc.tryInstallOnElements(inputElms, className);
-    jsc.tryInstallOnElements(buttonElms, className);
-};
-
-
-jsc.register();
-
-
-return jsc.jscolor;
-
-
-})(); }
diff --git a/static/colorfield/jscolor/jscolor.min.js b/static/colorfield/jscolor/jscolor.min.js
deleted file mode 100755
index b80f38eb..00000000
--- a/static/colorfield/jscolor/jscolor.min.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";if(!window.jscolor){window.jscolor=(function(){var jsc={register:function(){jsc.attachDOMReadyEvent(jsc.init);jsc.attachEvent(document,'mousedown',jsc.onDocumentMouseDown);jsc.attachEvent(document,'touchstart',jsc.onDocumentTouchStart);jsc.attachEvent(window,'resize',jsc.onWindowResize)},init:function(){if(jsc.jscolor.lookupClass){jsc.jscolor.installByClassName(jsc.jscolor.lookupClass)}},tryInstallOnElements:function(elms,className){var matchClass=new RegExp('(^|\\s)('+className+')(\\s*(\\{[^}]*\\})|\\s|$)','i');for(var i=0;i<elms.length;i+=1){if(elms[i].type!==undefined&&elms[i].type.toLowerCase()=='color'){if(jsc.isColorAttrSupported){continue}}var m;if(!elms[i].jscolor&&elms[i].className&&(m=elms[i].className.match(matchClass))){var targetElm=elms[i];var optsStr=null;var dataOptions=jsc.getDataAttr(targetElm,'jscolor');if(dataOptions!==null){optsStr=dataOptions}else if(m[4]){optsStr=m[4]}var opts={};if(optsStr){try{opts=(new Function('return ('+optsStr+')'))()}catch(eParseError){jsc.warn('Error parsing jscolor options: '+eParseError+':\n'+optsStr)}}targetElm.jscolor=new jsc.jscolor(targetElm,opts)}}},isColorAttrSupported:(function(){var elm=document.createElement('input');if(elm.setAttribute){elm.setAttribute('type','color');if(elm.type.toLowerCase()=='color'){return true}}return false})(),isCanvasSupported:(function(){var elm=document.createElement('canvas');return!!(elm.getContext&&elm.getContext('2d'))})(),fetchElement:function(mixed){return typeof mixed==='string'?document.getElementById(mixed):mixed},isElementType:function(elm,type){return elm.nodeName.toLowerCase()===type.toLowerCase()},getDataAttr:function(el,name){var attrName='data-'+name;var attrValue=el.getAttribute(attrName);if(attrValue!==null){return attrValue}return null},attachEvent:function(el,evnt,func){if(el.addEventListener){el.addEventListener(evnt,func,false)}else if(el.attachEvent){el.attachEvent('on'+evnt,func)}},detachEvent:function(el,evnt,func){if(el.removeEventListener){el.removeEventListener(evnt,func,false)}else if(el.detachEvent){el.detachEvent('on'+evnt,func)}},_attachedGroupEvents:{},attachGroupEvent:function(groupName,el,evnt,func){if(!jsc._attachedGroupEvents.hasOwnProperty(groupName)){jsc._attachedGroupEvents[groupName]=[]}jsc._attachedGroupEvents[groupName].push([el,evnt,func]);jsc.attachEvent(el,evnt,func)},detachGroupEvents:function(groupName){if(jsc._attachedGroupEvents.hasOwnProperty(groupName)){for(var i=0;i<jsc._attachedGroupEvents[groupName].length;i+=1){var evt=jsc._attachedGroupEvents[groupName][i];jsc.detachEvent(evt[0],evt[1],evt[2])}delete jsc._attachedGroupEvents[groupName]}},attachDOMReadyEvent:function(func){var fired=false;var fireOnce=function(){if(!fired){fired=true;func()}};if(document.readyState==='complete'){setTimeout(fireOnce,1);return}if(document.addEventListener){document.addEventListener('DOMContentLoaded',fireOnce,false);window.addEventListener('load',fireOnce,false)}else if(document.attachEvent){document.attachEvent('onreadystatechange',function(){if(document.readyState==='complete'){document.detachEvent('onreadystatechange',arguments.callee);fireOnce()}});window.attachEvent('onload',fireOnce);if(document.documentElement.doScroll&&window==window.top){var tryScroll=function(){if(!document.body){return}try{document.documentElement.doScroll('left');fireOnce()}catch(e){setTimeout(tryScroll,1)}};tryScroll()}}},warn:function(msg){if(window.console&&window.console.warn){window.console.warn(msg)}},preventDefault:function(e){if(e.preventDefault){e.preventDefault()}e.returnValue=false},captureTarget:function(target){if(target.setCapture){jsc._capturedTarget=target;jsc._capturedTarget.setCapture()}},releaseTarget:function(){if(jsc._capturedTarget){jsc._capturedTarget.releaseCapture();jsc._capturedTarget=null}},fireEvent:function(el,evnt){if(!el){return}if(document.createEvent){var ev=document.createEvent('HTMLEvents');ev.initEvent(evnt,true,true);el.dispatchEvent(ev)}else if(document.createEventObject){var ev=document.createEventObject();el.fireEvent('on'+evnt,ev)}else if(el['on'+evnt]){el['on'+evnt]()}},classNameToList:function(className){return className.replace(/^\s+|\s+$/g,'').split(/\s+/)},hasClass:function(elm,className){if(!className){return false}return -1!=(' '+elm.className.replace(/\s+/g,' ')+' ').indexOf(' '+className+' ')},setClass:function(elm,className){var classList=jsc.classNameToList(className);for(var i=0;i<classList.length;i+=1){if(!jsc.hasClass(elm,classList[i])){elm.className+=(elm.className?' ':'')+classList[i]}}},unsetClass:function(elm,className){var classList=jsc.classNameToList(className);for(var i=0;i<classList.length;i+=1){var repl=new RegExp('^\\s*'+classList[i]+'\\s*|\\s*'+classList[i]+'\\s*$|\\s+'+classList[i]+'(\\s+)','g');elm.className=elm.className.replace(repl,'$1')}},getStyle:function(elm){return window.getComputedStyle?window.getComputedStyle(elm):elm.currentStyle},setStyle:(function(){var helper=document.createElement('div');var getSupportedProp=function(names){for(var i=0;i<names.length;i+=1){if(names[i]in helper.style){return names[i]}}};var props={borderRadius:getSupportedProp(['borderRadius','MozBorderRadius','webkitBorderRadius']),boxShadow:getSupportedProp(['boxShadow','MozBoxShadow','webkitBoxShadow'])};return function(elm,prop,value){switch(prop.toLowerCase()){case 'opacity':var alphaOpacity=Math.round(parseFloat(value)*100);elm.style.opacity=value;elm.style.filter='alpha(opacity='+alphaOpacity+')';break;default:elm.style[props[prop]]=value;break}}})(),setBorderRadius:function(elm,value){jsc.setStyle(elm,'borderRadius',value||'0')},setBoxShadow:function(elm,value){jsc.setStyle(elm,'boxShadow',value||'none')},getElementPos:function(e,relativeToViewport){var x=0,y=0;var rect=e.getBoundingClientRect();x=rect.left;y=rect.top;if(!relativeToViewport){var viewPos=jsc.getViewPos();x+=viewPos[0];y+=viewPos[1]}return[x,y]},getElementSize:function(e){return[e.offsetWidth,e.offsetHeight]},getAbsPointerPos:function(e){if(!e){e=window.event}var x=0,y=0;if(typeof e.changedTouches!=='undefined'&&e.changedTouches.length){x=e.changedTouches[0].clientX;y=e.changedTouches[0].clientY}else if(typeof e.clientX==='number'){x=e.clientX;y=e.clientY}return{x:x,y:y}},getRelPointerPos:function(e){if(!e){e=window.event}var target=e.target||e.srcElement;var targetRect=target.getBoundingClientRect();var x=0,y=0;var clientX=0,clientY=0;if(typeof e.changedTouches!=='undefined'&&e.changedTouches.length){clientX=e.changedTouches[0].clientX;clientY=e.changedTouches[0].clientY}else if(typeof e.clientX==='number'){clientX=e.clientX;clientY=e.clientY}x=clientX-targetRect.left;y=clientY-targetRect.top;return{x:x,y:y}},getViewPos:function(){var doc=document.documentElement;return[(window.pageXOffset||doc.scrollLeft)-(doc.clientLeft||0),(window.pageYOffset||doc.scrollTop)-(doc.clientTop||0)]},getViewSize:function(){var doc=document.documentElement;return[(window.innerWidth||doc.clientWidth),(window.innerHeight||doc.clientHeight)]},redrawPosition:function(){if(jsc.picker&&jsc.picker.owner){var thisObj=jsc.picker.owner;var tp,vp;if(thisObj.fixed){tp=jsc.getElementPos(thisObj.targetElement,true);vp=[0,0];}else{tp=jsc.getElementPos(thisObj.targetElement);vp=jsc.getViewPos();}var ts=jsc.getElementSize(thisObj.targetElement);var vs=jsc.getViewSize();var ps=jsc.getPickerOuterDims(thisObj);var a,b,c;switch(thisObj.position.toLowerCase()){case 'left':a=1;b=0;c=-1;break;case 'right':a=1;b=0;c=1;break;case 'top':a=0;b=1;c=-1;break;default:a=0;b=1;c=1;break}var l=(ts[b]+ps[b])/2;if(!thisObj.smartPosition){var pp=[tp[a],tp[b]+ts[b]-l+l*c]}else{var pp=[-vp[a]+tp[a]+ps[a]>vs[a]?(-vp[a]+tp[a]+ts[a]/2>vs[a]/2&&tp[a]+ts[a]-ps[a]>=0?tp[a]+ts[a]-ps[a]:tp[a]):tp[a],-vp[b]+tp[b]+ts[b]+ps[b]-l+l*c>vs[b]?(-vp[b]+tp[b]+ts[b]/2>vs[b]/2&&tp[b]+ts[b]-l-l*c>=0?tp[b]+ts[b]-l-l*c:tp[b]+ts[b]-l+l*c):(tp[b]+ts[b]-l+l*c>=0?tp[b]+ts[b]-l+l*c:tp[b]+ts[b]-l-l*c)]}var x=pp[a];var y=pp[b];var positionValue=thisObj.fixed?'fixed':'absolute';var contractShadow=(pp[0]+ps[0]>tp[0]||pp[0]<tp[0]+ts[0])&&(pp[1]+ps[1]<tp[1]+ts[1]);jsc._drawPosition(thisObj,x,y,positionValue,contractShadow)}},_drawPosition:function(thisObj,x,y,positionValue,contractShadow){var vShadow=contractShadow?0:thisObj.shadowBlur;jsc.picker.wrap.style.position=positionValue;jsc.picker.wrap.style.left=x+'px';jsc.picker.wrap.style.top=y+'px';jsc.setBoxShadow(jsc.picker.boxS,thisObj.shadow?new jsc.BoxShadow(0,vShadow,thisObj.shadowBlur,0,thisObj.shadowColor):null)},getPickerDims:function(thisObj){var displaySlider=!!jsc.getSliderComponent(thisObj);var dims=[2*thisObj.insetWidth+2*thisObj.padding+thisObj.width+(displaySlider?2*thisObj.insetWidth+jsc.getPadToSliderPadding(thisObj)+thisObj.sliderSize:0),2*thisObj.insetWidth+2*thisObj.padding+thisObj.height+(thisObj.closable?2*thisObj.insetWidth+thisObj.padding+thisObj.buttonHeight:0)];return dims},getPickerOuterDims:function(thisObj){var dims=jsc.getPickerDims(thisObj);return[dims[0]+2*thisObj.borderWidth,dims[1]+2*thisObj.borderWidth]},getPadToSliderPadding:function(thisObj){return Math.max(thisObj.padding,1.5*(2*thisObj.pointerBorderWidth+thisObj.pointerThickness))},getPadYComponent:function(thisObj){switch(thisObj.mode.charAt(1).toLowerCase()){case 'v':return 'v';break}return 's'},getSliderComponent:function(thisObj){if(thisObj.mode.length>2){switch(thisObj.mode.charAt(2).toLowerCase()){case 's':return 's';break;case 'v':return 'v';break}}return null},onDocumentMouseDown:function(e){if(!e){e=window.event}var target=e.target||e.srcElement;if(target._jscLinkedInstance){if(target._jscLinkedInstance.showOnClick){target._jscLinkedInstance.show()}}else if(target._jscControlName){jsc.onControlPointerStart(e,target,target._jscControlName,'mouse')}else{if(jsc.picker&&jsc.picker.owner){jsc.picker.owner.hide()}}},onDocumentTouchStart:function(e){if(!e){e=window.event}var target=e.target||e.srcElement;if(target._jscLinkedInstance){if(target._jscLinkedInstance.showOnClick){target._jscLinkedInstance.show()}}else if(target._jscControlName){jsc.onControlPointerStart(e,target,target._jscControlName,'touch')}else{if(jsc.picker&&jsc.picker.owner){jsc.picker.owner.hide()}}},onWindowResize:function(e){jsc.redrawPosition()},onParentScroll:function(e){if(jsc.picker&&jsc.picker.owner){jsc.picker.owner.hide()}},_pointerMoveEvent:{mouse:'mousemove',touch:'touchmove'},_pointerEndEvent:{mouse:'mouseup',touch:'touchend'},_pointerOrigin:null,_capturedTarget:null,onControlPointerStart:function(e,target,controlName,pointerType){var thisObj=target._jscInstance;jsc.preventDefault(e);jsc.captureTarget(target);var registerDragEvents=function(doc,offset){jsc.attachGroupEvent('drag',doc,jsc._pointerMoveEvent[pointerType],jsc.onDocumentPointerMove(e,target,controlName,pointerType,offset));jsc.attachGroupEvent('drag',doc,jsc._pointerEndEvent[pointerType],jsc.onDocumentPointerEnd(e,target,controlName,pointerType))};registerDragEvents(document,[0,0]);if(window.parent&&window.frameElement){var rect=window.frameElement.getBoundingClientRect();var ofs=[-rect.left,-rect.top];registerDragEvents(window.parent.window.document,ofs)}var abs=jsc.getAbsPointerPos(e);var rel=jsc.getRelPointerPos(e);jsc._pointerOrigin={x:abs.x-rel.x,y:abs.y-rel.y};switch(controlName){case 'pad':switch(jsc.getSliderComponent(thisObj)){case 's':if(thisObj.hsv[1]===0){thisObj.fromHSV(null,100,null)};break;case 'v':if(thisObj.hsv[2]===0){thisObj.fromHSV(null,null,100)};break}jsc.setPad(thisObj,e,0,0);break;case 'sld':jsc.setSld(thisObj,e,0);break}jsc.dispatchFineChange(thisObj)},onDocumentPointerMove:function(e,target,controlName,pointerType,offset){return function(e){var thisObj=target._jscInstance;switch(controlName){case 'pad':if(!e){e=window.event}jsc.setPad(thisObj,e,offset[0],offset[1]);jsc.dispatchFineChange(thisObj);break;case 'sld':if(!e){e=window.event}jsc.setSld(thisObj,e,offset[1]);jsc.dispatchFineChange(thisObj);break}}},onDocumentPointerEnd:function(e,target,controlName,pointerType){return function(e){var thisObj=target._jscInstance;jsc.detachGroupEvents('drag');jsc.releaseTarget();jsc.dispatchChange(thisObj)}},dispatchChange:function(thisObj){if(thisObj.valueElement){if(jsc.isElementType(thisObj.valueElement,'input')){jsc.fireEvent(thisObj.valueElement,'change')}}},dispatchFineChange:function(thisObj){if(thisObj.onFineChange){var callback;if(typeof thisObj.onFineChange==='string'){callback=new Function(thisObj.onFineChange)}else{callback=thisObj.onFineChange}callback.call(thisObj)}},setPad:function(thisObj,e,ofsX,ofsY){var pointerAbs=jsc.getAbsPointerPos(e);var x=ofsX+pointerAbs.x-jsc._pointerOrigin.x-thisObj.padding-thisObj.insetWidth;var y=ofsY+pointerAbs.y-jsc._pointerOrigin.y-thisObj.padding-thisObj.insetWidth;var xVal=x*(360/(thisObj.width-1));var yVal=100-(y*(100/(thisObj.height-1)));switch(jsc.getPadYComponent(thisObj)){case 's':thisObj.fromHSV(xVal,yVal,null,jsc.leaveSld);break;case 'v':thisObj.fromHSV(xVal,null,yVal,jsc.leaveSld);break}},setSld:function(thisObj,e,ofsY){var pointerAbs=jsc.getAbsPointerPos(e);var y=ofsY+pointerAbs.y-jsc._pointerOrigin.y-thisObj.padding-thisObj.insetWidth;var yVal=100-(y*(100/(thisObj.height-1)));switch(jsc.getSliderComponent(thisObj)){case 's':thisObj.fromHSV(null,yVal,null,jsc.leavePad);break;case 'v':thisObj.fromHSV(null,null,yVal,jsc.leavePad);break}},_vmlNS:'jsc_vml_',_vmlCSS:'jsc_vml_css_',_vmlReady:false,initVML:function(){if(!jsc._vmlReady){var doc=document;if(!doc.namespaces[jsc._vmlNS]){doc.namespaces.add(jsc._vmlNS,'urn:schemas-microsoft-com:vml')}if(!doc.styleSheets[jsc._vmlCSS]){var tags=['shape','shapetype','group','background','path','formulas','handles','fill','stroke','shadow','textbox','textpath','imagedata','line','polyline','curve','rect','roundrect','oval','arc','image'];var ss=doc.createStyleSheet();ss.owningElement.id=jsc._vmlCSS;for(var i=0;i<tags.length;i+=1){ss.addRule(jsc._vmlNS+'\\:'+tags[i],'behavior:url(#default#VML);')}}jsc._vmlReady=true}},createPalette:function(){var paletteObj={elm:null,draw:null};if(jsc.isCanvasSupported){var canvas=document.createElement('canvas');var ctx=canvas.getContext('2d');var drawFunc=function(width,height,type){canvas.width=width;canvas.height=height;ctx.clearRect(0,0,canvas.width,canvas.height);var hGrad=ctx.createLinearGradient(0,0,canvas.width,0);hGrad.addColorStop(0/6,'#F00');hGrad.addColorStop(1/6,'#FF0');hGrad.addColorStop(2/6,'#0F0');hGrad.addColorStop(3/6,'#0FF');hGrad.addColorStop(4/6,'#00F');hGrad.addColorStop(5/6,'#F0F');hGrad.addColorStop(6/6,'#F00');ctx.fillStyle=hGrad;ctx.fillRect(0,0,canvas.width,canvas.height);var vGrad=ctx.createLinearGradient(0,0,0,canvas.height);switch(type.toLowerCase()){case 's':vGrad.addColorStop(0,'rgba(255,255,255,0)');vGrad.addColorStop(1,'rgba(255,255,255,1)');break;case 'v':vGrad.addColorStop(0,'rgba(0,0,0,0)');vGrad.addColorStop(1,'rgba(0,0,0,1)');break}ctx.fillStyle=vGrad;ctx.fillRect(0,0,canvas.width,canvas.height)};paletteObj.elm=canvas;paletteObj.draw=drawFunc}else{jsc.initVML();var vmlContainer=document.createElement('div');vmlContainer.style.position='relative';vmlContainer.style.overflow='hidden';var hGrad=document.createElement(jsc._vmlNS+':fill');hGrad.type='gradient';hGrad.method='linear';hGrad.angle='90';hGrad.colors='16.67% #F0F, 33.33% #00F, 50% #0FF, 66.67% #0F0, 83.33% #FF0';var hRect=document.createElement(jsc._vmlNS+':rect');hRect.style.position='absolute';hRect.style.left=-1+'px';hRect.style.top=-1+'px';hRect.stroked=false;hRect.appendChild(hGrad);vmlContainer.appendChild(hRect);var vGrad=document.createElement(jsc._vmlNS+':fill');vGrad.type='gradient';vGrad.method='linear';vGrad.angle='180';vGrad.opacity='0';var vRect=document.createElement(jsc._vmlNS+':rect');vRect.style.position='absolute';vRect.style.left=-1+'px';vRect.style.top=-1+'px';vRect.stroked=false;vRect.appendChild(vGrad);vmlContainer.appendChild(vRect);var drawFunc=function(width,height,type){vmlContainer.style.width=width+'px';vmlContainer.style.height=height+'px';hRect.style.width=vRect.style.width=(width+1)+'px';hRect.style.height=vRect.style.height=(height+1)+'px';hGrad.color='#F00';hGrad.color2='#F00';switch(type.toLowerCase()){case 's':vGrad.color=vGrad.color2='#FFF';break;case 'v':vGrad.color=vGrad.color2='#000';break}};paletteObj.elm=vmlContainer;paletteObj.draw=drawFunc}return paletteObj},createSliderGradient:function(){var sliderObj={elm:null,draw:null};if(jsc.isCanvasSupported){var canvas=document.createElement('canvas');var ctx=canvas.getContext('2d');var drawFunc=function(width,height,color1,color2){canvas.width=width;canvas.height=height;ctx.clearRect(0,0,canvas.width,canvas.height);var grad=ctx.createLinearGradient(0,0,0,canvas.height);grad.addColorStop(0,color1);grad.addColorStop(1,color2);ctx.fillStyle=grad;ctx.fillRect(0,0,canvas.width,canvas.height)};sliderObj.elm=canvas;sliderObj.draw=drawFunc}else{jsc.initVML();var vmlContainer=document.createElement('div');vmlContainer.style.position='relative';vmlContainer.style.overflow='hidden';var grad=document.createElement(jsc._vmlNS+':fill');grad.type='gradient';grad.method='linear';grad.angle='180';var rect=document.createElement(jsc._vmlNS+':rect');rect.style.position='absolute';rect.style.left=-1+'px';rect.style.top=-1+'px';rect.stroked=false;rect.appendChild(grad);vmlContainer.appendChild(rect);var drawFunc=function(width,height,color1,color2){vmlContainer.style.width=width+'px';vmlContainer.style.height=height+'px';rect.style.width=(width+1)+'px';rect.style.height=(height+1)+'px';grad.color=color1;grad.color2=color2};sliderObj.elm=vmlContainer;sliderObj.draw=drawFunc}return sliderObj},leaveValue:1<<0,leaveStyle:1<<1,leavePad:1<<2,leaveSld:1<<3,BoxShadow:(function(){var BoxShadow=function(hShadow,vShadow,blur,spread,color,inset){this.hShadow=hShadow;this.vShadow=vShadow;this.blur=blur;this.spread=spread;this.color=color;this.inset=!!inset};BoxShadow.prototype.toString=function(){var vals=[Math.round(this.hShadow)+'px',Math.round(this.vShadow)+'px',Math.round(this.blur)+'px',Math.round(this.spread)+'px',this.color];if(this.inset){vals.push('inset')}return vals.join(' ')};return BoxShadow})(),jscolor:function(targetElement,options){this.value=null;this.valueElement=targetElement;this.styleElement=targetElement;this.required=true;this.refine=true;this.hash=false;this.uppercase=true;this.onFineChange=null;this.activeClass='jscolor-active';this.overwriteImportant=false;this.minS=0;this.maxS=100;this.minV=0;this.maxV=100;this.hsv=[0,0,100];this.rgb=[255,255,255];this.width=181;this.height=101;this.showOnClick=true;this.mode='HSV';this.position='bottom';this.smartPosition=true;this.sliderSize=16;this.crossSize=8;this.closable=false;this.closeText='Close';this.buttonColor='#000000';this.buttonHeight=18;this.padding=12;this.backgroundColor='#FFFFFF';this.borderWidth=1;this.borderColor='#BBBBBB';this.borderRadius=8;this.insetWidth=1;this.insetColor='#BBBBBB';this.shadow=true;this.shadowBlur=15;this.shadowColor='rgba(0,0,0,0.2)';this.pointerColor='#4C4C4C';this.pointerBorderColor='#FFFFFF';this.pointerBorderWidth=1;this.pointerThickness=2;this.zIndex=1000;this.container=null;for(var opt in options){if(options.hasOwnProperty(opt)){this[opt]=options[opt]}}this.hide=function(){if(isPickerOwner()){detachPicker()}};this.show=function(){drawPicker()};this.redraw=function(){if(isPickerOwner()){drawPicker()}};this.importColor=function(){if(!this.valueElement){this.exportColor()}else{if(jsc.isElementType(this.valueElement,'input')){if(!this.refine){if(!this.fromString(this.valueElement.value,jsc.leaveValue)){if(this.styleElement){this.styleElement.style.backgroundImage=this.styleElement._jscOrigStyle.backgroundImage;this.styleElement.style.backgroundColor=this.styleElement._jscOrigStyle.backgroundColor;this.styleElement.style.color=this.styleElement._jscOrigStyle.color}this.exportColor(jsc.leaveValue|jsc.leaveStyle)}}else if(!this.required&&/^\s*$/.test(this.valueElement.value)){this.valueElement.value='';if(this.styleElement){this.styleElement.style.backgroundImage=this.styleElement._jscOrigStyle.backgroundImage;this.styleElement.style.backgroundColor=this.styleElement._jscOrigStyle.backgroundColor;this.styleElement.style.color=this.styleElement._jscOrigStyle.color}this.exportColor(jsc.leaveValue|jsc.leaveStyle)}else if(this.fromString(this.valueElement.value)){}else{this.exportColor()}}else{this.exportColor()}}};this.exportColor=function(flags){if(!(flags&jsc.leaveValue)&&this.valueElement){var value=this.toString();if(this.uppercase){value=value.toUpperCase()}if(this.hash){value='#'+value}if(jsc.isElementType(this.valueElement,'input')){this.valueElement.value=value}else{this.valueElement.innerHTML=value}}if(!(flags&jsc.leaveStyle)){if(this.styleElement){var bgColor='#'+this.toString();var fgColor=this.isLight()?'#000':'#FFF';this.styleElement.style.backgroundImage='none';this.styleElement.style.backgroundColor=bgColor;this.styleElement.style.color=fgColor;if(this.overwriteImportant){this.styleElement.setAttribute('style','background: '+bgColor+' !important; color: '+fgColor+' !important;')}}}if(!(flags&jsc.leavePad)&&isPickerOwner()){redrawPad()}if(!(flags&jsc.leaveSld)&&isPickerOwner()){redrawSld()}};this.fromHSV=function(h,s,v,flags){if(h!==null){if(isNaN(h)){return false}h=Math.max(0,Math.min(360,h))}if(s!==null){if(isNaN(s)){return false}s=Math.max(0,Math.min(100,this.maxS,s),this.minS)}if(v!==null){if(isNaN(v)){return false}v=Math.max(0,Math.min(100,this.maxV,v),this.minV)}this.rgb=HSV_RGB(h===null?this.hsv[0]:(this.hsv[0]=h),s===null?this.hsv[1]:(this.hsv[1]=s),v===null?this.hsv[2]:(this.hsv[2]=v));this.exportColor(flags)};this.fromRGB=function(r,g,b,flags){if(r!==null){if(isNaN(r)){return false}r=Math.max(0,Math.min(255,r))}if(g!==null){if(isNaN(g)){return false}g=Math.max(0,Math.min(255,g))}if(b!==null){if(isNaN(b)){return false}b=Math.max(0,Math.min(255,b))}var hsv=RGB_HSV(r===null?this.rgb[0]:r,g===null?this.rgb[1]:g,b===null?this.rgb[2]:b);if(hsv[0]!==null){this.hsv[0]=Math.max(0,Math.min(360,hsv[0]))}if(hsv[2]!==0){this.hsv[1]=hsv[1]===null?null:Math.max(0,this.minS,Math.min(100,this.maxS,hsv[1]))}this.hsv[2]=hsv[2]===null?null:Math.max(0,this.minV,Math.min(100,this.maxV,hsv[2]));var rgb=HSV_RGB(this.hsv[0],this.hsv[1],this.hsv[2]);this.rgb[0]=rgb[0];this.rgb[1]=rgb[1];this.rgb[2]=rgb[2];this.exportColor(flags)};this.fromString=function(str,flags){var m;if(m=str.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i)){if(m[1].length===6){this.fromRGB(parseInt(m[1].substr(0,2),16),parseInt(m[1].substr(2,2),16),parseInt(m[1].substr(4,2),16),flags)}else{this.fromRGB(parseInt(m[1].charAt(0)+m[1].charAt(0),16),parseInt(m[1].charAt(1)+m[1].charAt(1),16),parseInt(m[1].charAt(2)+m[1].charAt(2),16),flags)}return true}else if(m=str.match(/^\W*rgba?\(([^)]*)\)\W*$/i)){var params=m[1].split(',');var re=/^\s*(\d*)(\.\d+)?\s*$/;var mR,mG,mB;if(params.length>=3&&(mR=params[0].match(re))&&(mG=params[1].match(re))&&(mB=params[2].match(re))){var r=parseFloat((mR[1]||'0')+(mR[2]||''));var g=parseFloat((mG[1]||'0')+(mG[2]||''));var b=parseFloat((mB[1]||'0')+(mB[2]||''));this.fromRGB(r,g,b,flags);return true}}return false};this.toString=function(){return((0x100|Math.round(this.rgb[0])).toString(16).substr(1)+(0x100|Math.round(this.rgb[1])).toString(16).substr(1)+(0x100|Math.round(this.rgb[2])).toString(16).substr(1))};this.toHEXString=function(){return '#'+this.toString().toUpperCase()};this.toRGBString=function(){return('rgb('+Math.round(this.rgb[0])+','+Math.round(this.rgb[1])+','+Math.round(this.rgb[2])+')')};this.isLight=function(){return(0.213*this.rgb[0]+0.715*this.rgb[1]+0.072*this.rgb[2]>255/2)};this._processParentElementsInDOM=function(){if(this._linkedElementsProcessed){return}this._linkedElementsProcessed=true;var elm=this.targetElement;do{var currStyle=jsc.getStyle(elm);if(currStyle&&currStyle.position.toLowerCase()==='fixed'){this.fixed=true}if(elm!==this.targetElement){if(!elm._jscEventsAttached){jsc.attachEvent(elm,'scroll',jsc.onParentScroll);elm._jscEventsAttached=true}}}while((elm=elm.parentNode)&&!jsc.isElementType(elm,'body'))};function RGB_HSV(r,g,b){r/=255;g/=255;b/=255;var n=Math.min(Math.min(r,g),b);var v=Math.max(Math.max(r,g),b);var m=v-n;if(m===0){return[null,0,100*v]}var h=r===n?3+(b-g)/m:(g===n?5+(r-b)/m:1+(g-r)/m);return[60*(h===6?0:h),100*(m/v),100*v]}function HSV_RGB(h,s,v){var u=255*(v/100);if(h===null){return[u,u,u]}h/=60;s/=100;var i=Math.floor(h);var f=i%2?h-i:1-(h-i);var m=u*(1-s);var n=u*(1-s*f);switch(i){case 6:case 0:return[u,n,m];case 1:return[n,u,m];case 2:return[m,u,n];case 3:return[m,n,u];case 4:return[n,m,u];case 5:return[u,m,n]}}function detachPicker(){jsc.unsetClass(THIS.targetElement,THIS.activeClass);jsc.picker.wrap.parentNode.removeChild(jsc.picker.wrap);delete jsc.picker.owner}function drawPicker(){THIS._processParentElementsInDOM();if(!jsc.picker){jsc.picker={owner:null,wrap:document.createElement('div'),box:document.createElement('div'),boxS:document.createElement('div'),boxB:document.createElement('div'),pad:document.createElement('div'),padB:document.createElement('div'),padM:document.createElement('div'),padPal:jsc.createPalette(),cross:document.createElement('div'),crossBY:document.createElement('div'),crossBX:document.createElement('div'),crossLY:document.createElement('div'),crossLX:document.createElement('div'),sld:document.createElement('div'),sldB:document.createElement('div'),sldM:document.createElement('div'),sldGrad:jsc.createSliderGradient(),sldPtrS:document.createElement('div'),sldPtrIB:document.createElement('div'),sldPtrMB:document.createElement('div'),sldPtrOB:document.createElement('div'),btn:document.createElement('div'),btnT:document.createElement('span')};jsc.picker.pad.appendChild(jsc.picker.padPal.elm);jsc.picker.padB.appendChild(jsc.picker.pad);jsc.picker.cross.appendChild(jsc.picker.crossBY);jsc.picker.cross.appendChild(jsc.picker.crossBX);jsc.picker.cross.appendChild(jsc.picker.crossLY);jsc.picker.cross.appendChild(jsc.picker.crossLX);jsc.picker.padB.appendChild(jsc.picker.cross);jsc.picker.box.appendChild(jsc.picker.padB);jsc.picker.box.appendChild(jsc.picker.padM);jsc.picker.sld.appendChild(jsc.picker.sldGrad.elm);jsc.picker.sldB.appendChild(jsc.picker.sld);jsc.picker.sldB.appendChild(jsc.picker.sldPtrOB);jsc.picker.sldPtrOB.appendChild(jsc.picker.sldPtrMB);jsc.picker.sldPtrMB.appendChild(jsc.picker.sldPtrIB);jsc.picker.sldPtrIB.appendChild(jsc.picker.sldPtrS);jsc.picker.box.appendChild(jsc.picker.sldB);jsc.picker.box.appendChild(jsc.picker.sldM);jsc.picker.btn.appendChild(jsc.picker.btnT);jsc.picker.box.appendChild(jsc.picker.btn);jsc.picker.boxB.appendChild(jsc.picker.box);jsc.picker.wrap.appendChild(jsc.picker.boxS);jsc.picker.wrap.appendChild(jsc.picker.boxB)}var p=jsc.picker;var displaySlider=!!jsc.getSliderComponent(THIS);var dims=jsc.getPickerDims(THIS);var crossOuterSize=(2*THIS.pointerBorderWidth+THIS.pointerThickness+2*THIS.crossSize);var padToSliderPadding=jsc.getPadToSliderPadding(THIS);var borderRadius=Math.min(THIS.borderRadius,Math.round(THIS.padding*Math.PI));var padCursor='crosshair';p.wrap.style.clear='both';p.wrap.style.width=(dims[0]+2*THIS.borderWidth)+'px';p.wrap.style.height=(dims[1]+2*THIS.borderWidth)+'px';p.wrap.style.zIndex=THIS.zIndex;p.box.style.width=dims[0]+'px';p.box.style.height=dims[1]+'px';p.boxS.style.position='absolute';p.boxS.style.left='0';p.boxS.style.top='0';p.boxS.style.width='100%';p.boxS.style.height='100%';jsc.setBorderRadius(p.boxS,borderRadius+'px');p.boxB.style.position='relative';p.boxB.style.border=THIS.borderWidth+'px solid';p.boxB.style.borderColor=THIS.borderColor;p.boxB.style.background=THIS.backgroundColor;jsc.setBorderRadius(p.boxB,borderRadius+'px');p.padM.style.background=p.sldM.style.background='#FFF';jsc.setStyle(p.padM,'opacity','0');jsc.setStyle(p.sldM,'opacity','0');p.pad.style.position='relative';p.pad.style.width=THIS.width+'px';p.pad.style.height=THIS.height+'px';p.padPal.draw(THIS.width,THIS.height,jsc.getPadYComponent(THIS));p.padB.style.position='absolute';p.padB.style.left=THIS.padding+'px';p.padB.style.top=THIS.padding+'px';p.padB.style.border=THIS.insetWidth+'px solid';p.padB.style.borderColor=THIS.insetColor;p.padM._jscInstance=THIS;p.padM._jscControlName='pad';p.padM.style.position='absolute';p.padM.style.left='0';p.padM.style.top='0';p.padM.style.width=(THIS.padding+2*THIS.insetWidth+THIS.width+padToSliderPadding/2)+'px';p.padM.style.height=dims[1]+'px';p.padM.style.cursor=padCursor;p.cross.style.position='absolute';p.cross.style.left=p.cross.style.top='0';p.cross.style.width=p.cross.style.height=crossOuterSize+'px';p.crossBY.style.position=p.crossBX.style.position='absolute';p.crossBY.style.background=p.crossBX.style.background=THIS.pointerBorderColor;p.crossBY.style.width=p.crossBX.style.height=(2*THIS.pointerBorderWidth+THIS.pointerThickness)+'px';p.crossBY.style.height=p.crossBX.style.width=crossOuterSize+'px';p.crossBY.style.left=p.crossBX.style.top=(Math.floor(crossOuterSize/2)-Math.floor(THIS.pointerThickness/2)-THIS.pointerBorderWidth)+'px';p.crossBY.style.top=p.crossBX.style.left='0';p.crossLY.style.position=p.crossLX.style.position='absolute';p.crossLY.style.background=p.crossLX.style.background=THIS.pointerColor;p.crossLY.style.height=p.crossLX.style.width=(crossOuterSize-2*THIS.pointerBorderWidth)+'px';p.crossLY.style.width=p.crossLX.style.height=THIS.pointerThickness+'px';p.crossLY.style.left=p.crossLX.style.top=(Math.floor(crossOuterSize/2)-Math.floor(THIS.pointerThickness/2))+'px';p.crossLY.style.top=p.crossLX.style.left=THIS.pointerBorderWidth+'px';p.sld.style.overflow='hidden';p.sld.style.width=THIS.sliderSize+'px';p.sld.style.height=THIS.height+'px';p.sldGrad.draw(THIS.sliderSize,THIS.height,'#000','#000');p.sldB.style.display=displaySlider?'block':'none';p.sldB.style.position='absolute';p.sldB.style.right=THIS.padding+'px';p.sldB.style.top=THIS.padding+'px';p.sldB.style.border=THIS.insetWidth+'px solid';p.sldB.style.borderColor=THIS.insetColor;p.sldM._jscInstance=THIS;p.sldM._jscControlName='sld';p.sldM.style.display=displaySlider?'block':'none';p.sldM.style.position='absolute';p.sldM.style.right='0';p.sldM.style.top='0';p.sldM.style.width=(THIS.sliderSize+padToSliderPadding/2+THIS.padding+2*THIS.insetWidth)+'px';p.sldM.style.height=dims[1]+'px';p.sldM.style.cursor='default';p.sldPtrIB.style.border=p.sldPtrOB.style.border=THIS.pointerBorderWidth+'px solid '+THIS.pointerBorderColor;p.sldPtrOB.style.position='absolute';p.sldPtrOB.style.left= -(2*THIS.pointerBorderWidth+THIS.pointerThickness)+'px';p.sldPtrOB.style.top='0';p.sldPtrMB.style.border=THIS.pointerThickness+'px solid '+THIS.pointerColor;p.sldPtrS.style.width=THIS.sliderSize+'px';p.sldPtrS.style.height=sliderPtrSpace+'px';function setBtnBorder(){var insetColors=THIS.insetColor.split(/\s+/);var outsetColor=insetColors.length<2?insetColors[0]:insetColors[1]+' '+insetColors[0]+' '+insetColors[0]+' '+insetColors[1];p.btn.style.borderColor=outsetColor}p.btn.style.display=THIS.closable?'block':'none';p.btn.style.position='absolute';p.btn.style.left=THIS.padding+'px';p.btn.style.bottom=THIS.padding+'px';p.btn.style.padding='0 15px';p.btn.style.height=THIS.buttonHeight+'px';p.btn.style.border=THIS.insetWidth+'px solid';setBtnBorder();p.btn.style.color=THIS.buttonColor;p.btn.style.font='12px sans-serif';p.btn.style.textAlign='center';try{p.btn.style.cursor='pointer'}catch(eOldIE){p.btn.style.cursor='hand'}p.btn.onmousedown=function(){THIS.hide()};p.btnT.style.lineHeight=THIS.buttonHeight+'px';p.btnT.innerHTML='';p.btnT.appendChild(document.createTextNode(THIS.closeText));redrawPad();redrawSld();if(jsc.picker.owner&&jsc.picker.owner!==THIS){jsc.unsetClass(jsc.picker.owner.targetElement,THIS.activeClass)}jsc.picker.owner=THIS;if(jsc.isElementType(container,'body')){jsc.redrawPosition()}else{jsc._drawPosition(THIS,0,0,'relative',false)}if(p.wrap.parentNode!=container){container.appendChild(p.wrap)}jsc.setClass(THIS.targetElement,THIS.activeClass)}function redrawPad(){switch(jsc.getPadYComponent(THIS)){case 's':var yComponent=1;break;case 'v':var yComponent=2;break}var x=Math.round((THIS.hsv[0]/360)*(THIS.width-1));var y=Math.round((1-THIS.hsv[yComponent]/100)*(THIS.height-1));var crossOuterSize=(2*THIS.pointerBorderWidth+THIS.pointerThickness+2*THIS.crossSize);var ofs= -Math.floor(crossOuterSize/2);jsc.picker.cross.style.left=(x+ofs)+'px';jsc.picker.cross.style.top=(y+ofs)+'px';switch(jsc.getSliderComponent(THIS)){case 's':var rgb1=HSV_RGB(THIS.hsv[0],100,THIS.hsv[2]);var rgb2=HSV_RGB(THIS.hsv[0],0,THIS.hsv[2]);var color1='rgb('+Math.round(rgb1[0])+','+Math.round(rgb1[1])+','+Math.round(rgb1[2])+')';var color2='rgb('+Math.round(rgb2[0])+','+Math.round(rgb2[1])+','+Math.round(rgb2[2])+')';jsc.picker.sldGrad.draw(THIS.sliderSize,THIS.height,color1,color2);break;case 'v':var rgb=HSV_RGB(THIS.hsv[0],THIS.hsv[1],100);var color1='rgb('+Math.round(rgb[0])+','+Math.round(rgb[1])+','+Math.round(rgb[2])+')';var color2='#000';jsc.picker.sldGrad.draw(THIS.sliderSize,THIS.height,color1,color2);break}}function redrawSld(){var sldComponent=jsc.getSliderComponent(THIS);if(sldComponent){switch(sldComponent){case 's':var yComponent=1;break;case 'v':var yComponent=2;break}var y=Math.round((1-THIS.hsv[yComponent]/100)*(THIS.height-1));jsc.picker.sldPtrOB.style.top=(y-(2*THIS.pointerBorderWidth+THIS.pointerThickness)-Math.floor(sliderPtrSpace/2))+'px'}}function isPickerOwner(){return jsc.picker&&jsc.picker.owner===THIS}function blurValue(){THIS.importColor()}if(typeof targetElement==='string'){var id=targetElement;var elm=document.getElementById(id);if(elm){this.targetElement=elm}else{jsc.warn('Could not find target element with ID \''+id+'\'')}}else if(targetElement){this.targetElement=targetElement}else{jsc.warn('Invalid target element: \''+targetElement+'\'')}if(this.targetElement._jscLinkedInstance){jsc.warn('Cannot link jscolor twice to the same element. Skipping.');return}this.targetElement._jscLinkedInstance=this;this.valueElement=jsc.fetchElement(this.valueElement);this.styleElement=jsc.fetchElement(this.styleElement);var THIS=this;var container=this.container?jsc.fetchElement(this.container):document.getElementsByTagName('body')[0];var sliderPtrSpace=3;if(jsc.isElementType(this.targetElement,'button')){if(this.targetElement.onclick){var origCallback=this.targetElement.onclick;this.targetElement.onclick=function(evt){origCallback.call(this,evt);return false}}else{this.targetElement.onclick=function(){return false}}}if(this.valueElement){if(jsc.isElementType(this.valueElement,'input')){var updateField=function(){THIS.fromString(THIS.valueElement.value,jsc.leaveValue);jsc.dispatchFineChange(THIS)};jsc.attachEvent(this.valueElement,'keyup',updateField);jsc.attachEvent(this.valueElement,'input',updateField);jsc.attachEvent(this.valueElement,'blur',blurValue);this.valueElement.setAttribute('autocomplete','off')}}if(this.styleElement){this.styleElement._jscOrigStyle={backgroundImage:this.styleElement.style.backgroundImage,backgroundColor:this.styleElement.style.backgroundColor,color:this.styleElement.style.color}}if(this.value){this.fromString(this.value)||this.exportColor()}else{this.importColor()}}};jsc.jscolor.lookupClass='jscolor';jsc.jscolor.installByClassName=function(className){var inputElms=document.getElementsByTagName('input');var buttonElms=document.getElementsByTagName('button');jsc.tryInstallOnElements(inputElms,className);jsc.tryInstallOnElements(buttonElms,className)};jsc.register();return jsc.jscolor})()}
\ No newline at end of file
diff --git a/static/debug_toolbar/css/print.css b/static/debug_toolbar/css/print.css
deleted file mode 100644
index cde64990..00000000
--- a/static/debug_toolbar/css/print.css
+++ /dev/null
@@ -1,3 +0,0 @@
-#djDebug {
-  display: none !important;
-}
diff --git a/static/debug_toolbar/css/toolbar.css b/static/debug_toolbar/css/toolbar.css
deleted file mode 100644
index eaaacf6c..00000000
--- a/static/debug_toolbar/css/toolbar.css
+++ /dev/null
@@ -1,646 +0,0 @@
-/* http://www.positioniseverything.net/easyclearing.html */
-#djDebug .djdt-clearfix:after {
-    content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden;
-}
-#djDebug .djdt-clearfix {display: inline-block;}
-/* Hides from IE-mac \*/
-#djDebug .djdt-clearfix {display: block;}
-* html #djDebug .djdt-clearfix {height: 1%;}
-/* end hide from IE-mac */
-
-/* Debug Toolbar CSS Reset, adapted from Eric Meyer's CSS Reset */
-#djDebug {color:#000;background:#FFF;}
-#djDebug, #djDebug div, #djDebug span, #djDebug applet, #djDebug object, #djDebug iframe,
-#djDebug h1, #djDebug h2, #djDebug h3, #djDebug h4, #djDebug h5, #djDebug h6, #djDebug p, #djDebug blockquote, #djDebug pre,
-#djDebug a, #djDebug abbr, #djDebug acronym, #djDebug address, #djDebug big, #djDebug cite, #djDebug code,
-#djDebug del, #djDebug dfn, #djDebug em, #djDebug font, #djDebug img, #djDebug ins, #djDebug kbd, #djDebug q, #djDebug s, #djDebug samp,
-#djDebug small, #djDebug strike, #djDebug strong, #djDebug sub, #djDebug sup, #djDebug tt, #djDebug var,
-#djDebug b, #djDebug u, #djDebug i, #djDebug center,
-#djDebug dl, #djDebug dt, #djDebug dd, #djDebug ol, #djDebug ul, #djDebug li,
-#djDebug fieldset, #djDebug form, #djDebug label, #djDebug legend,
-#djDebug table, #djDebug caption, #djDebug tbody, #djDebug tfoot, #djDebug thead, #djDebug tr, #djDebug th, #djDebug td,
-#djDebug button {
-	margin:0;
-	padding:0;
-	min-width:0;
-	width:auto;
-	border:0;
-	outline:0;
-	font-size:12px;
-	line-height:1.5em;
-	color:#000;
-	vertical-align:baseline;
-	background-color:transparent;
-	font-family:sans-serif;
-	text-align:left;
-	text-shadow: none;
-	white-space: normal;
-	-webkit-transition: none;
-    -moz-transition: none;
-    -o-transition: none;
-    transition: none;
-}
-
-#djDebug button, #djDebug a.button {
-	background-color: #eee;
-	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eee), color-stop(100%, #cccccc));
-	background-image: -webkit-linear-gradient(top, #eee, #cccccc);
-	background-image: -moz-linear-gradient(top, #eee, #cccccc);
-	background-image: -ms-linear-gradient(top, #eee, #cccccc);
-	background-image: -o-linear-gradient(top, #eee, #cccccc);
-	background-image: linear-gradient(top, #eee, #cccccc);
-	border: 1px solid #ccc;
-	border-bottom: 1px solid #bbb;
-	-webkit-border-radius: 3px;
-	-moz-border-radius: 3px;
-	border-radius: 3px;
-	color: #333;
-	line-height: 1;
-	padding: 0 8px;
-	text-align: center;
-	text-shadow: 0 1px 0 #eee;
-}
-
-#djDebug button:hover, #djDebug a.button:hover {
-    background-color: #ddd;
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ddd), color-stop(100%, #bbb));
-    background-image: -webkit-linear-gradient(top, #ddd, #bbb);
-    background-image: -moz-linear-gradient(top, #ddd, #bbb);
-    background-image: -ms-linear-gradient(top, #ddd, #bbb);
-    background-image: -o-linear-gradient(top, #ddd, #bbb);
-    background-image: linear-gradient(top, #ddd, #bbb);
-    border-color: #bbb;
-    border-bottom-color: #999;
-    cursor: pointer;
-    text-shadow: 0 1px 0 #ddd;
-}
-
-#djDebug button:active, #djDebug a.button:active {
-    border: 1px solid #aaa;
-    border-bottom: 1px solid #888;
-    -webkit-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-    -moz-box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-    box-shadow: inset 0 0 5px 2px #aaa, 0 1px 0 0 #eee;
-}
-
-#djDebug #djDebugToolbar {
-	background-color:#111;
-	width:200px;
-	z-index:100000000;
-	position:fixed;
-	top:0;
-	bottom:0;
-	right:0;
-	opacity:0.9;
-	overflow-y: auto;
-}
-
-#djDebug #djDebugToolbar small {
-	color:#999;
-}
-
-#djDebug #djDebugToolbar ul {
-	margin:0;
-	padding:0;
-	list-style:none;
-}
-
-#djDebug #djDebugToolbar li {
-	border-bottom:1px solid #222;
-	color:#fff;
-	display:block;
-	font-weight:bold;
-	float:none;
-	margin:0;
-	padding:0;
-	position:relative;
-	width:auto;
-}
-
-#djDebug #djDebugToolbar input[type=checkbox] {
-	float: right;
-	margin: 10px;
-}
-
-#djDebug #djDebugToolbar li>a,
-#djDebug #djDebugToolbar li>div.djdt-contentless  {
-	font-weight:normal;
-	font-style:normal;
-	text-decoration:none;
-	display:block;
-	font-size:16px;
-	padding:10px 10px 5px 25px;
-	color:#fff;
-}
-#djDebug #djDebugToolbar li>div.djdt-disabled {
-	font-style: italic;
-	color: #999;
-}
-
-#djDebug #djDebugToolbar li a:hover {
-	color:#111;
-	background-color:#ffc;
-}
-
-#djDebug #djDebugToolbar li.djdt-active {
-	background: #333 no-repeat left center;
-	background-image: url(../img/indicator.png);
-	padding-left:10px;
-}
-
-#djDebug #djDebugToolbar li.djdt-active a:hover {
-	color:#b36a60;
-	background-color:transparent;
-}
-
-#djDebug #djDebugToolbar li small {
-	font-size:12px;
-	color:#999;
-	font-style:normal;
-	text-decoration:none;
-	font-variant:small-caps;
-}
-
-#djDebug #djDebugToolbarHandle {
-	position:fixed;
-	background-color:#fff;
-	border:1px solid #111;
-	top:30px;
-	right:0;
-	z-index:100000000;
-	opacity:0.75;
-}
-
-#djDebug #djShowToolBarButton {
-	display:block;
-	height:75px;
-	width:30px;
-	border-right:none;
-	border-bottom:4px solid #fff;
-	border-top:4px solid #fff;
-	border-left:4px solid #fff;
-	color:#fff;
-	font-size:10px;
-	font-weight:bold;
-	text-decoration:none;
-	text-align:center;
-	text-indent:-999999px;
-	background: #000 no-repeat left center;
-	background-image: url(../img/djdt_vertical.png);
-	opacity:0.5;
-}
-
-#djDebug #djShowToolBarButton:hover {
-	background-color:#111;
-	border-top-color:#FFE761;
-	border-left-color:#FFE761;
-	border-bottom-color:#FFE761;
-	cursor:move;
-	opacity:1.0;
-}
-
-#djDebug code {
-	display:block;
-	font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace;
-	font-size: 12px;
-	white-space:pre;
-	overflow:auto;
-}
-
-#djDebug .djDebugOdd {
-	background-color:#f5f5f5;
-}
-
-#djDebug .djdt-panelContent {
-	display:none;
-	position:fixed;
-	margin:0;
-	top:0;
-	right:200px;
-	bottom:0;
-	left:0px;
-	background-color:#eee;
-	color:#666;
-	z-index:100000000;
-}
-
-#djDebug .djdt-panelContent > div {
-	border-bottom:1px solid #ddd;
-}
-
-#djDebug .djDebugPanelTitle {
-	position:absolute;
-	background-color:#ffc;
-	color:#666;
-	padding-left:20px;
-	top:0;
-	right:0;
-	left:0;
-	height:50px;
-}
-
-#djDebug .djDebugPanelTitle code {
-	display:inline;
-	font-size:inherit;
-}
-
-#djDebug .djDebugPanelContent {
-	position:absolute;
-	top:50px;
-	right:0;
-	bottom:0;
-	left:0;
-	height:auto;
-	padding:5px 0 0 20px;
-}
-
-#djDebug .djDebugPanelContent .djdt-loader {
-	display:block;
-	margin:80px auto;
-}
-
-#djDebug .djDebugPanelContent .djdt-scroll {
-	height:100%;
-	overflow:auto;
-	display:block;
-	padding:0 10px 0 0;
-}
-
-#djDebug h3 {
-	font-size:24px;
-	font-weight:normal;
-	line-height:50px;
-}
-
-#djDebug h4 {
-	font-size:20px;
-	font-weight:bold;
-	margin-top:0.8em;
-}
-
-#djDebug .djdt-panelContent table {
-	border:1px solid #ccc;
-	border-collapse:collapse;
-	width:100%;
-	background-color:#fff;
-	display:table;
-	margin-top:0.8em;
-	overflow: auto;
-}
-#djDebug .djdt-panelContent tbody td,
-#djDebug .djdt-panelContent tbody th {
-	vertical-align:top;
-	padding:2px 3px;
-}
-#djDebug .djdt-panelContent tbody td.djdt-time {
-    text-align: center;
-}
-
-#djDebug .djdt-panelContent thead th {
-	padding:1px 6px 1px 3px;
-	text-align:left;
-	font-weight:bold;
-	font-size:14px;
-    white-space: nowrap;
-}
-#djDebug .djdt-panelContent tbody th {
-	width:12em;
-	text-align:right;
-	color:#666;
-	padding-right:.5em;
-}
-
-#djDebug .djTemplateContext {
-	background-color:#fff;
-}
-
-/*
-#djDebug .djdt-panelContent p a:hover, #djDebug .djdt-panelContent dd a:hover {
-	color:#111;
-	background-color:#ffc;
-}
-
-#djDebug .djdt-panelContent p {
-	padding:0 5px;
-}
-
-#djDebug .djdt-panelContent p, #djDebug .djdt-panelContent table, #djDebug .djdt-panelContent ol, #djDebug .djdt-panelContent ul, #djDebug .djdt-panelContent dl {
-	margin:5px 0 15px;
-	background-color:#fff;
-}
-#djDebug .djdt-panelContent table {
-	clear:both;
-	border:0;
-	padding:0;
-	margin:0;
-	border-collapse:collapse;
-	border-spacing:0;
-}
-
-#djDebug .djdt-panelContent table a {
-	color:#000;
-	padding:2px 4px;
-}
-#djDebug .djdt-panelContent table a:hover {
-	background-color:#ffc;
-}
-
-#djDebug .djdt-panelContent table th {
-	background-color:#333;
-	font-weight:bold;
-	color:#fff;
-	padding:3px 7px 3px;
-	text-align:left;
-	cursor:pointer;
-}
-#djDebug .djdt-panelContent table td {
-	padding:5px 10px;
-	font-size:14px;
-	background-color:#fff;
-	color:#000;
-	vertical-align:top;
-	border:0;
-}
-#djDebug .djdt-panelContent table tr.djDebugOdd td {
-  background-color:#eee;
-}
-*/
-
-#djDebug .djdt-panelContent .djDebugClose {
-	display:block;
-	position:absolute;
-	top:4px;
-	right:15px;
-	height:40px;
-	width:40px;
-	background: no-repeat center center;
-	background-image: url(../img/close.png);
-}
-
-#djDebug .djdt-panelContent .djDebugClose:hover {
-	background-image: url(../img/close_hover.png);
-}
-
-#djDebug .djdt-panelContent .djDebugClose.djDebugBack {
-	background-image: url(../img/back.png);
-}
-
-#djDebug .djdt-panelContent .djDebugClose.djDebugBack:hover  {
-	background-image: url(../img/back_hover.png);
-}
-
-#djDebug .djdt-panelContent dt, #djDebug .djdt-panelContent dd {
-	display:block;
-}
-
-#djDebug .djdt-panelContent dt {
-	margin-top:0.75em;
-}
-
-#djDebug .djdt-panelContent dd {
-	margin-left:10px;
-}
-
-#djDebug a.toggleTemplate {
-	padding:4px;
-	background-color:#bbb;
-	-webkit-border-radius:3px;
-	-moz-border-radius:3px;
-	border-radius:3px;
-}
-
-#djDebug a.toggleTemplate:hover {
-	padding:4px;
-	background-color:#444;
-	color:#ffe761;
-	-webkit-border-radius:3px;
-	-moz-border-radius:3px;
-	border-radius:3px;
-}
-
-
-#djDebug .djDebugSqlWrap {
-	position:relative;
-}
-
-#djDebug .djDebugCollapsed {
-    display: none;
-    text-decoration: none;
-    color: #333;
-}
-
-#djDebug .djDebugUncollapsed {
-    color: #333;
-    text-decoration: none;
-}
-
-#djDebug .djUnselected {
-    display: none;
-}
-#djDebug tr.djHiddenByDefault {
-    display: none;
-}
-#djDebug tr.djSelected {
-    display: table-row;
-}
-
-#djDebug .djDebugSql {
-	word-break:break-word;
-	z-index:100000002;
-}
-
-#djDebug .djSQLDetailsDiv tbody th {
-	text-align: left;
-}
-
-#djDebug .djSqlExplain td {
-	white-space: pre;
-}
-
-#djDebug span.djDebugLineChart {
-	background-color:#777;
-	height:3px;
-	position:absolute;
-	bottom:0;
-	top:0;
-	left:0;
-	display:block;
-	z-index:1000000001;
-}
-#djDebug span.djDebugLineChartWarning {
-	background-color:#900;
-}
-
-#djDebug .highlight  { color:#000; }
-#djDebug .highlight .err { color:#000; } /* Error */
-#djDebug .highlight .g { color:#000; } /* Generic */
-#djDebug .highlight .k { color:#000; font-weight:bold } /* Keyword */
-#djDebug .highlight .o { color:#000; } /* Operator */
-#djDebug .highlight .n { color:#000; } /* Name */
-#djDebug .highlight .mi { color:#000; font-weight:bold } /* Literal.Number.Integer */
-#djDebug .highlight .l { color:#000; } /* Literal */
-#djDebug .highlight .x { color:#000; } /* Other */
-#djDebug .highlight .p { color:#000; } /* Punctuation */
-#djDebug .highlight .m { color:#000; font-weight:bold } /* Literal.Number */
-#djDebug .highlight .s { color:#333 } /* Literal.String */
-#djDebug .highlight .w { color:#888888 } /* Text.Whitespace */
-#djDebug .highlight .il { color:#000; font-weight:bold } /* Literal.Number.Integer.Long */
-#djDebug .highlight .na { color:#333 } /* Name.Attribute */
-#djDebug .highlight .nt { color:#000; font-weight:bold } /* Name.Tag */
-#djDebug .highlight .nv { color:#333 } /* Name.Variable */
-#djDebug .highlight .s2 { color:#333 } /* Literal.String.Double */
-#djDebug .highlight .cp { color:#333 } /* Comment.Preproc */
-
-#djDebug .djdt-timeline {
-    width: 30%;
-}
-#djDebug .djDebugTimeline {
-    position: relative;
-    height: 100%;
-    min-height: 100%;
-}
-#djDebug div.djDebugLineChart {
-    position: absolute;
-    left: 0;
-    right: 0;
-    top: 0;
-    bottom: 0;
-    vertical-align: middle;
-}
-#djDebug div.djDebugLineChart strong {
-    text-indent: -10000em;
-    display: block;
-    font-weight: normal;
-    vertical-align: middle;
-    background-color:#ccc;
-}
-
-#djDebug div.djDebugLineChartWarning strong {
-    background-color:#900;
-}
-
-#djDebug .djDebugInTransaction div.djDebugLineChart strong {
-    background-color: #d3ff82;
-}
-#djDebug .djDebugStartTransaction div.djDebugLineChart strong {
-    border-left: 1px solid #94b24d;
-}
-#djDebug .djDebugEndTransaction div.djDebugLineChart strong {
-    border-right: 1px solid #94b24d;
-}
-
-#djDebug .djdt-panelContent ul.djdt-stats {
-    position: relative;
-    list-style-type: none;
-}
-#djDebug .djdt-panelContent ul.djdt-stats li {
-    width: 30%;
-    float: left;
-}
-#djDebug .djdt-panelContent ul.djdt-stats li strong.djdt-label {
-    display: block;
-}
-#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-color {
-    height: 12px;
-    width: 3px;
-    display: inline-block;
-}
-#djDebug .djdt-panelContent ul.djdt-stats li span.djdt-info {
-    display: block;
-    padding-left: 5px;
-}
-
-#djDebug .djdt-panelContent thead th {
-    white-space: nowrap;
-}
-#djDebug .djDebugRowWarning .djdt-time {
-    color: red;
-}
-#djdebug .djdt-panelContent table .djdt-toggle {
-    width: 14px;
-    padding-top: 3px;
-}
-#djDebug .djdt-panelContent table .djdt-actions {
-    min-width: 70px;
-    white-space: nowrap;
-}
-#djdebug .djdt-panelContent table .djdt-color {
-    width: 3px;
-}
-#djdebug .djdt-panelContent table .djdt-color span {
-    width: 3px;
-    height: 12px;
-    overflow: hidden;
-    padding: 0;
-}
-#djDebug .djToggleSwitch {
-    text-decoration: none;
-    border: 1px solid #999;
-    height: 12px;
-    width: 12px;
-    line-height: 12px;
-    text-align: center;
-    color: #777;
-    display: inline-block;
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFF', endColorstr='#DCDCDC'); /* for IE */
-    background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#DCDCDC)); /* for webkit browsers */
-    background:-moz-linear-gradient(center top , #FFFFFF 0pt, #DCDCDC 100%) repeat scroll 0 0 transparent;
-}
-#djDebug .djNoToggleSwitch {
-    height: 14px;
-    width: 14px;
-    display: inline-block;
-}
-
-#djDebug .djSQLDetailsDiv {
-    margin-top:0.8em;
-}
-#djDebug pre {
-	white-space: -moz-pre-wrap;  /* Mozilla, since 1999    */
-	white-space: -pre-wrap;      /* Opera 4-6              */
-	white-space: -o-pre-wrap;    /* Opera 7                */
-	white-space: pre-wrap;       /* CSS-3                  */
-	word-wrap: break-word;       /* Internet Explorer 5.5+ */
-    color: #555;
-    border:1px solid #ccc;
-    border-collapse:collapse;
-    background-color:#fff;
-    display:block;
-    overflow: auto;
-    padding:2px 3px;
-    margin-bottom: 3px;
-    font-family:Consolas, Monaco, "Bitstream Vera Sans Mono", "Lucida Console", monospace;
-}
-#djDebug .djdt-stack span {
-    color: #000;
-    font-weight: bold;
-}
-#djDebug .djdt-stack span.djdt-path,
-#djDebug .djdt-stack pre.djdt-locals,
-#djDebug .djdt-stack pre.djdt-locals span {
-    color: #777;
-    font-weight: normal;
-}
-#djDebug .djdt-stack span.djdt-code {
-    font-weight: normal;
-}
-#djDebug .djdt-stack pre.djdt-locals {
-	margin: 0 27px 27px 27px;
-}
-
-#djDebug .djdt-width-20 {
-    width: 20%;
-}
-#djDebug .djdt-width-60 {
-    width: 60%;
-}
-#djDebug .djdt-highlighted {
-    background-color: lightgrey;
-}
-.djdt-hidden {
-    display: none;
-}
diff --git a/static/debug_toolbar/img/ajax-loader.gif b/static/debug_toolbar/img/ajax-loader.gif
deleted file mode 100644
index a7c3f2bacbe630950c16f53e3c27dd840f2e8622..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 404
zcmZ?wbhEHb)Mnsj_{hNU?%lhzw6s;LRsl)He^Smxsfi`2DGKG8B^e5dS&0=n`H3ld
znR#jX42nNl7`PZ17!?0=`?-b$J39ur8tEA@GXjNlfS3VfAOn+8OCQJSX*X{)e?H13
zeJ||u>DC8kZ4r?R)6{G4&Dyt|CtcU`diyE8Uq?3owA-;j!N^AxXd>8TMr31bj{uEP
z;7?56IIHFOnwrlu67PNQNtrQY{;7pt&RzvNJJ_?&Ze06Pg>MsMs)$s6#HZT6Q+}5p
z&C*E<I=&ueA`^;<Acq+MO<XxEEBa3UBYrO7?UfHJdzM^TuwobAGVVjKeUi;OpPxMU
z@@LSj8EZ_>81%TGdiiN4(8Lw%U?wsno9F=b>WnG7*rn?>{@R)9v%+M)yIi1FiTcrX
vD}VECG@HG3ZvWp+k0+)$$G&~0?NxTdRajt8g3>tw(O*m=3=Gzwa03GXAUBr*

diff --git a/static/debug_toolbar/img/back.png b/static/debug_toolbar/img/back.png
deleted file mode 100644
index aef96c126ed416459c614d62341490584aba1bd2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 574
zcmV-E0>S->P)<h;3K|Lk000e1NJLTq001HY001Hg1^@s6I!6n_00067Nkl<Zcmds*
z(Q4vA6o!3>-0s!BgwG)4cHdyZ+r`D(g+726eE=V)7rhXKw$ijF24d2vP-zowHDz{w
z=ztC<8FLt`bl|7snVfSzCNn29ZE)LoJa(jhNVyRDpSA`^bsdoKQfee6N`x^y;~oR#
zw^WQoH5J3x21rY4zyQ!SL@X{y2SF^WQx~LX3hMiQF_}!ZNs<&0`mh}U(>oO8Usa$q
zP2cl87iA4&c*X$JHG#Ng&eQ2MBLOOa;yBJKU|LlmH<Z(SJ}(5b!IuU>E*hlGhhW3B
zDG<F*U}|55rG{8!ozXykQN;S1SZ_9}Yp~O6hRT85yC8jPcj&>Mo|ob_jD+5nSq{6{
z79W)`CA+D=3*wn(LxEh~d1B~?DyafdcFa!QS@9HzqYnl_us0ieLTK<1sHFJ2XV2De
zr7(z1z&HSD>H|>}t>I*XxxRk{gtFtevX{ajHUZKENQ>Alm0K1`R8j!!+A$-r<26zZ
zv8m#AMj-rGgQV78js3-{?2N^FF58zbXtUYOdO<@>x}X_K{A#tbR^k!MRN|Eu`a?;Q
zyd3$Xx1hehe@<`=_)CF6-WMK>My#VErj~J3RIh`QTLl7Loc8d{xK4y&xKY;$^le`!
zlt3*ktING|y4uN}E5vYZT*BK@DFYyd@3;K71SLo6ClW&F!^VyGAE;taIbhOiVE_OC
M07*qoM6N<$f}|Y*7ytkO

diff --git a/static/debug_toolbar/img/back_hover.png b/static/debug_toolbar/img/back_hover.png
deleted file mode 100644
index 2ce3edaf8007361915f4f6824f1488749182dda5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 613
zcmV-r0-F7aP)<h;3K|Lk000e1NJLTq001HY001Hg1^@s6I!6n_0006kNkl<Zcmds*
zPs<Wf6vq7!vu)Lv@G}UrZPzleWlXq}NP>zYs1M*Sia-mBu&}anp^HRwY+k1%+6a=g
zh@wT%?LN=}yFD{E50{Vz9^UcXd!F-S{@gkDt!R(cY86=>vx*^{|B6*K+BX3OZ&+nk
zh6`hugSp{BPFby4VUO0x4FOWKnkWEV&ETa4NnjFK$-W@hyr%imyq!<YqThpXj+h??
z-hT;luFNQXc+ZTlUND2xC#f)oIUbmX4<s&1K6?4YjIOje01@V9FZyLLwK9;DCB5$6
zhPg_}<shiVLFz1F*1097dYHR+I1FmKAZ(q;o<D|B2*Hc4GcL#pM(jQlqh=!K{y2GN
zSPj(P1!=Rl!!=vpY@1J6`bT_r{SxA4nAA&Q3f`vnE=W$V1_8nG`NMlDDj*W4SI2Wz
zasi3l!FNY*elQ~`h~wMGjTFV--{P+>HVa|kO<*E`RNaB)c<2~#nD1Y|07ByUE%8Da
zcoUE+Kx*#5;_0K(dyOJe6ac$%ToD|&jU*S|ba6W<5bdo&(SWxm{KJahiih=ZUSGbT
z&F^<YFKF<j3z~n4zkEK_5)Uu$5--}ild@;Ma38$^eOtEd>w8As2IzZ|vkU~v|6ya4
zX<9|}6Z^M{(t~itzUH~b5=HX|U2pS@Ir`>Vv7N}L6WLDSJot7(1Zopl4egdQW}Ur4
zDZD~#!s}KW1;7Tm|KYzSxFW0LC<x&kF|FTEN8)OI1uc7c00000NkvXXu0mjfjN}_;

diff --git a/static/debug_toolbar/img/close.png b/static/debug_toolbar/img/close.png
deleted file mode 100644
index ce4317f2f71859e3c7a015d14430ffe5e7a06b5d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 498
zcmV<O0S*3%P)<h;3K|Lk000e1NJLTq001HY001Hg1ONa4kWRx%0005GNkl<ZcmchZ
zUFsS!6vbx|^XikEa18@_bq9rcEf!x3U4Rc=fJ-VA1_a@1TXoX$gO=*}$C`S2!DezD
zO=fDL=RhzY{77!@+!%#KF?C3>JNzs1+c%-;JxvJ06CP3RA+IPWc%1WWBP5{@ga&`4
zBm@}{T6*AvjOt5g=F?dl&F#$GVMdQ2Zwb=Hsf1L?BQ?yh4pDM?b&voF$`1tL<Q9^-
zsf|HE8+ouyLec;tj7ckq%Zq%EX7MVQHx|-&<PvREf}HzT$k^QoDjDqX4HvMu{f;fp
za1u8)zCxyt_EB7qhYMSS*!uBaro@ogcIT&?@YyIq+kHZ6?)DN#)U%!C3xs}Q2@+nw
zK!{gYbG?X?>She!!+fbBz^h%#1t1&?m&3ROAl~B$gblIxINreSs#q*+E_(y(z2dJn
zoK<Xc{}sz*TZ_G%uwsz;6XJq<^0aH2Z1uE1qK%ICY0uu;A^qboKftZ~ieEon3f{<~
zG<~WlO#<aH-+RmBo*=C1h5FsU7i!Ow@%g7Vn%m|l!+A((>0#&@Rg^UXGE&VCdP;>C
oP*D0G|5`Z5)Fs94hX3UJ23oH|sU6@<nE(I)07*qoM6N<$g8h-^0{{R3

diff --git a/static/debug_toolbar/img/close_hover.png b/static/debug_toolbar/img/close_hover.png
deleted file mode 100644
index 6b4d96e86d979c7edaf054c6d7c6eabe02d4ea57..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 706
zcmV;z0zLhSP)<h;3K|Lk000e1NJLTq001HY001Hg1^@s6I!6n_0007sNkl<Zcmds*
z&uSA<6o>l|v+c^4=ra^%+noy$F^USdS{Djp(S=mH@Bz9KDuqVHKdmKdQ)_8UOgkp&
zB$JNTXd<mCt^c+j?+<ce$ef$WJ&Z0q@WC)M=kPH(bLZR)NFxkGM=_{yI}CQt4M?y}
za20nIzJd(+oqOEBA#zI5QjjGr<fb7qtSH(FFnFjX6&X`d%8c2HOeGc#YE&<6Q6;wk
zaEx>P$V~Msa=llf^0SAue&;4FojJ~dYq%##W;{v6H6>SHzo50r30{B!_xj7ZUNXbI
zM9N&!yX<`wmw;T8NZBNk;S#*L8C_H^^I+B_lZlCN>x7?QM4>c5Eq<Np5*gu)nVyh>
zTBfHm5*3+d-VV0l>XmcUSbR!hc7~QOoYdzjfBpp3XYbLc+&rya8|89MZ_{*CB<S~P
z>=)KZ$6>Vs8AwpudrLYFDxS?#3ABjQeQ~F{{oC}2oB13?<FK|(?b0Si1G1)k)MjKH
zhzxaKsI9LU3$2Wvrtcp@GR3dfXL@t_tT7+88Id9VVWTLOm(O*gS!VZrT;fYpOBg|I
zZgCTdpeGK>9(Bi2y^5X@i&*_Mx-ku*8(8quST^g&`A4yy_|e#<NT8tw&1(7je%&mP
zj-Sm2dLq`qcq)?DmtD|GkLTE8g<DtYXs1T|#SKVA8<_SsR_R+<r{d%dE*CWu7c_o}
zzs(esfm(@6yrv!d=)GD<O~hYf-<CG_^}Q$`1H?1QB~Anc|8Ow!MWZ6-3F}c&&mcUm
zNklWDAQPo0*~H-)_sEB5!FD3pD(dY7j#J-GXkbk#GcMh7y4++h05#k+HsKk?o<IOO
ong8-{2@XebOyPFGu_LYb2MbPr1vbzMkpKVy07*qoM6N<$f-dJllK=n!

diff --git a/static/debug_toolbar/img/djdt_vertical.png b/static/debug_toolbar/img/djdt_vertical.png
deleted file mode 100644
index a05d3afa3a7001098f84daaef1afa8027b83b770..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 882
zcmV-&1C9KNP)<h;3K|Lk000e1NJLTq001Ze002t}0ssI2jr>y10009yNkl<ZcmeH}
zQD{<M9LJ}d{>zDm8c75ZG9Mxwgi$zJ4@Kn~4(eqxU8G~PK`50A+m@6pY%*)s(oL2G
zHAyovRs;ry=;U7+lODteeGz=|!C^@DpmyM{!(~HJc2t7<;rHbIaz2;e{hf1cBOo9k
zAlLx{fk35FX*8O_!9g00);zJrVk!TntE;OyQbMd$D$mydpU+1uu92msrPhd7S65pj
zcDvn(#kpK=qXvvd<G(c3gxG90W7cA^$m8+aS__#>=5RP%E|*HBHp3?r3T-x9EEX%3
zO0fUwblT-|NhFenDCu-M*q!C7ghC<E1C&<K&u}<gu7PAS$zU*$iA^R`xn`_ZD;g_{
z#meXNWgI@A&tNdf<#MT1s@LniUN8QW7YYS7n~gxMP$=+6rdTZAo)L*eV8rmZCjzm<
z;eacu)#^$ynM?*_cDo&c7|beMk;!CMicu&OaKd1*Kp=oX40bKtuho;OR0>N*qfrFn
zL?VGLm(6C!s*=fMuw*<QM<52TU#^o#B!WO33<m2J`~7|dVvomDuh{8yA`t6zy7fBI
zYPCD}5-?buY%XI<vGy^@?c~Oa?SY%$%8T1;?bnl+-=~JIpCOS*O%=nMdpq75F{qRM
zf(DAizZX7lJi;pQ(}EYztc)~Jd}nzW|NH(!oOj6??9uc8b<Gn4^p4BeqgOxl=*8gs
zjq3YHrZ05&@U}dfe}4@V&w5mi`$JFK!=Zy6Ordtb9}n>MN)$bc$-bkf_=tUng$Hlj
zhF-_+el6MHD1A)N8eOBkl5UhH2#x;V1NRuvRH<j73D5(SR?tsJ_!bmYDKOZbj9tjY
zYSX1!tXS!+L&$E0VE!?F>8C!;Rl`7^{KPrwF)-m~?>PRGuN4-U>`nw?FsN|RKyF?n
zKC(R{5b?l>!PtPZ2Z0zK3!tRx)0JX<vg0r|WtSrmgIR?u(wVy}#X2bMUy7Rz2d5hX
zG1#?mzgACvNExxDGdhhx>`iPQ{r>F3i(|c2>QiP8OTLNULm&pP4_jShy@*UA5HANO
z>J=~gZy*qZtEOJ@edh=Q@fDqTWqrD?8rGg|BOo9kAZQeS09~?fgUxpE)Bpeg07*qo
IM6N<$g4PV2Q~&?~

diff --git a/static/debug_toolbar/img/indicator.png b/static/debug_toolbar/img/indicator.png
deleted file mode 100644
index 828a6c01c4bbcdcceade3d7987573dbc44582fc3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 436
zcmV;l0ZaagP)<h;3K|Lk000e1NJLTq000yK000yS1ONa4CxF$40004dNkl<ZcmZva
zJ4-`B5QWd?#wQUJtgP$=8yo+C*ocLl5G%p|pn_m)Y3Tz|jGaY_6oOWkMlgt2NDv<&
zVv)zaG0Ba|ZnBP(u*oi-!(ML4m)Xpj5g0-Q9srG2*ZkR16n$imV2vhQ(jm-6Bij>H
zGlmg%jNS+7hfxT2kG$mLbT;*kVFCsiiJ&cQgQBRlyggb>L7;^OYN(<@&mTxA{<qqI
zAiZan4__(-hA5*%CuCGIsCz&l$giIy-%us2h=9;4p$#+%wLw6t#Kp!neB@Dp&sFP?
zHfVJBu#zZzB1dou6|UJ%m3p)^J9D$SG>QIBwk9GMB#n(POaY8Ild<FnTgT@aj;6`|
z{trGq$Im{#I{iw6+MsTwF4wLI3QUUaXtV`}{?5T()&$P|@?`9*bD7oMblHsXFYKDB
z*actr=T6HW1QaCd2nphukaf@1_wo5O<rd|AR0Pzy5#_G0z$mY-;0;%7r;ScU9+Cw3
e3j&-gjeY^Gj@@8oq9@w`0000<MNUMnLSTZ>dcdLp

diff --git a/static/debug_toolbar/js/redirect.js b/static/debug_toolbar/js/redirect.js
deleted file mode 100644
index f73d9e52..00000000
--- a/static/debug_toolbar/js/redirect.js
+++ /dev/null
@@ -1 +0,0 @@
-document.getElementById('redirect_to').focus();
diff --git a/static/debug_toolbar/js/toolbar.js b/static/debug_toolbar/js/toolbar.js
deleted file mode 100644
index 76839f26..00000000
--- a/static/debug_toolbar/js/toolbar.js
+++ /dev/null
@@ -1,324 +0,0 @@
-(function () {
-    var $$ = {
-        on: function(root, eventName, selector, fn) {
-            root.addEventListener(eventName, function(event) {
-                var target = event.target.closest(selector);
-                if (root.contains(target)) {
-                    fn.call(target, event);
-                }
-            });
-        },
-        show: function(element) {
-            element.style.display = 'block';
-        },
-        hide: function(element) {
-            element.style.display = 'none';
-        },
-        toggle: function(element, value) {
-            if (value) {
-                $$.show(element);
-            } else {
-                $$.hide(element);
-            }
-        },
-        visible: function(element) {
-            style = getComputedStyle(element);
-            return style.display !== 'none';
-        },
-        executeScripts: function(root) {
-            root.querySelectorAll('script').forEach(function(e) {
-                var clone = document.createElement('script');
-                clone.src = e.src;
-                root.appendChild(clone);
-            });
-        },
-    };
-
-    var onKeyDown = function(event) {
-        if (event.keyCode == 27) {
-            djdt.hide_one_level();
-        }
-    };
-
-    var ajax = function(url, init) {
-        init = Object.assign({credentials: 'same-origin'}, init);
-        return fetch(url, init).then(function(response) {
-            if (response.ok) {
-                return response.text();
-            } else {
-                var win = document.querySelector('#djDebugWindow');
-                win.innerHTML = '<div class="djDebugPanelTitle"><a class="djDebugClose djDebugBack" href=""></a><h3>'+response.status+': '+response.statusText+'</h3></div>';
-                $$.show(win);
-                return Promise.reject();
-            }
-        });
-    };
-
-    var djdt = {
-        handleDragged: false,
-        events: {
-            ready: []
-        },
-        isReady: false,
-        init: function() {
-            var djDebug = document.querySelector('#djDebug');
-            $$.show(djDebug);
-            $$.on(djDebug.querySelector('#djDebugPanelList'), 'click', 'li a', function(event) {
-                event.preventDefault();
-                if (!this.className) {
-                    return;
-                }
-                var current = djDebug.querySelector('#' + this.className);
-                if ($$.visible(current)) {
-                    djdt.hide_panels();
-                } else {
-                    djdt.hide_panels();
-
-                    $$.show(current);
-                    this.parentElement.classList.add('djdt-active');
-
-                    var inner = current.querySelector('.djDebugPanelContent .djdt-scroll'),
-                        store_id = djDebug.dataset.storeId;
-                    if (store_id && inner.children.length === 0) {
-                        var url = djDebug.dataset.renderPanelUrl;
-                        var url_params = new URLSearchParams();
-                        url_params.append('store_id', store_id);
-                        url_params.append('panel_id', this.className);
-                        url += '?' + url_params.toString();
-                        ajax(url).then(function(body) {
-                            inner.previousElementSibling.remove();  // Remove AJAX loader
-                            inner.innerHTML = body;
-                            $$.executeScripts(inner);
-                        });
-                    }
-                }
-            });
-            $$.on(djDebug, 'click', 'a.djDebugClose', function(event) {
-                event.preventDefault();
-                djdt.hide_one_level();
-            });
-            $$.on(djDebug, 'click', '.djDebugPanelButton input[type=checkbox]', function() {
-                djdt.cookie.set(this.dataset.cookie, this.checked ? 'on' : 'off', {
-                    path: '/',
-                    expires: 10
-                });
-            });
-
-            // Used by the SQL and template panels
-            $$.on(djDebug, 'click', '.remoteCall', function(event) {
-                event.preventDefault();
-
-                var name = this.tagName.toLowerCase();
-                var ajax_data = {};
-
-                if (name == 'button') {
-                    var form = this.closest('form');
-                    ajax_data.url = this.getAttribute('formaction');
-
-                    if (form) {
-                        ajax_data.body = new FormData(form);
-                        ajax_data.method = form.getAttribute('method') || 'POST';
-                    }
-                }
-
-                if (name == 'a') {
-                    ajax_data.url = this.getAttribute('href');
-                }
-
-                ajax(ajax_data.url, ajax_data).then(function(body) {
-                    var win = djDebug.querySelector('#djDebugWindow');
-                    win.innerHTML = body;
-                    $$.executeScripts(win);
-                    $$.show(win);
-                });
-            });
-
-            // Used by the cache, profiling and SQL panels
-            $$.on(djDebug, 'click', 'a.djToggleSwitch', function(event) {
-                event.preventDefault();
-                var self = this;
-                var id = this.dataset.toggleId;
-                var open_me = this.textContent == this.dataset.toggleOpen;
-                if (id === '' || !id) {
-                    return;
-                }
-                var name = this.dataset.toggleName;
-                var container = this.closest('.djDebugPanelContent').querySelector('#' + name + '_' + id);
-                container.querySelectorAll('.djDebugCollapsed').forEach(function(e) {
-                    $$.toggle(e, open_me);
-                });
-                container.querySelectorAll('.djDebugUncollapsed').forEach(function(e) {
-                    $$.toggle(e, !open_me);
-                });
-                this.closest('.djDebugPanelContent').querySelectorAll('.djToggleDetails_' + id).forEach(function(e) {
-                    if (open_me) {
-                        e.classList.add('djSelected');
-                        e.classList.remove('djUnselected');
-                        self.textContent = self.dataset.toggleClose;
-                    } else {
-                        e.classList.remove('djSelected');
-                        e.classList.add('djUnselected');
-                        self.textContent = self.dataset.toggleOpen;
-                    }
-                    var switch_ = e.querySelector('.djToggleSwitch')
-                    if (switch_) switch_.textContent = self.textContent;
-                });
-            });
-
-            djDebug.querySelector('#djHideToolBarButton').addEventListener('click', function(event) {
-                event.preventDefault();
-                djdt.hide_toolbar(true);
-            });
-            djDebug.querySelector('#djShowToolBarButton').addEventListener('click', function(event) {
-                event.preventDefault();
-                if (!djdt.handleDragged) {
-                    djdt.show_toolbar();
-                }
-            });
-            var startPageY, baseY;
-            var handle = document.querySelector('#djDebugToolbarHandle');
-            var onHandleMove = function(event) {
-                // Chrome can send spurious mousemove events, so don't do anything unless the
-                // cursor really moved.  Otherwise, it will be impossible to expand the toolbar
-                // due to djdt.handleDragged being set to true.
-                if (djdt.handleDragged || event.pageY != startPageY) {
-                    var top = baseY + event.pageY;
-
-                    if (top < 0) {
-                        top = 0;
-                    } else if (top + handle.offsetHeight > window.innerHeight) {
-                        top = window.innerHeight - handle.offsetHeight;
-                    }
-
-                    handle.style.top = top + 'px';
-                    djdt.handleDragged = true;
-                }
-            };
-            djDebug.querySelector('#djShowToolBarButton').addEventListener('mousedown', function(event) {
-                event.preventDefault();
-                startPageY = event.pageY;
-                baseY = handle.offsetTop - startPageY;
-                document.addEventListener('mousemove', onHandleMove);
-            });
-            document.addEventListener('mouseup', function (event) {
-                document.removeEventListener('mousemove', onHandleMove);
-                if (djdt.handleDragged) {
-                    event.preventDefault();
-                    djdt.cookie.set('djdttop', handle.offsetTop, {
-                        path: '/',
-                        expires: 10
-                    });
-                    setTimeout(function () {
-                        djdt.handleDragged = false;
-                    }, 10);
-                }
-            });
-            if (djdt.cookie.get('djdt') == 'hide') {
-                djdt.hide_toolbar(false);
-            } else {
-                djdt.show_toolbar();
-            }
-            djdt.isReady = true;
-            djdt.events.ready.forEach(function(callback) {
-                callback(djdt);
-            });
-        },
-        hide_panels: function() {
-            $$.hide(djDebug.querySelector('#djDebugWindow'));
-            djDebug.querySelectorAll('.djdt-panelContent').forEach(function(e) {
-                $$.hide(e);
-            });
-            djDebug.querySelectorAll('#djDebugToolbar li').forEach(function(e) {
-                e.classList.remove('djdt-active');
-            });
-        },
-        hide_toolbar: function(setCookie) {
-            djdt.hide_panels();
-            $$.hide(djDebug.querySelector('#djDebugToolbar'));
-
-            var handle = document.querySelector('#djDebugToolbarHandle');
-            $$.show(handle);
-            // set handle position
-            var handleTop = djdt.cookie.get('djdttop');
-            if (handleTop) {
-                handleTop = Math.min(handleTop, window.innerHeight - handle.offsetHeight);
-                handle.style.top = handleTop + 'px';
-            }
-
-            document.removeEventListener('keydown', onKeyDown);
-
-            if (setCookie) {
-                djdt.cookie.set('djdt', 'hide', {
-                    path: '/',
-                    expires: 10
-                });
-            }
-        },
-        hide_one_level: function(skipDebugWindow) {
-            if ($$.visible(djDebug.querySelector('#djDebugWindow'))) {
-                $$.hide(djDebug.querySelector('#djDebugWindow'));
-            } else if (djDebug.querySelector('#djDebugToolbar li.djdt-active')) {
-                djdt.hide_panels();
-            } else {
-                djdt.hide_toolbar(true);
-            }
-        },
-        show_toolbar: function() {
-            document.addEventListener('keydown', onKeyDown);
-            $$.hide(djDebug.querySelector('#djDebugToolbarHandle'));
-            $$.show(djDebug.querySelector('#djDebugToolbar'));
-            djdt.cookie.set('djdt', 'show', {
-                path: '/',
-                expires: 10
-            });
-        },
-        ready: function(callback){
-            if (djdt.isReady) {
-                callback(djdt);
-            } else {
-                djdt.events.ready.push(callback);
-            }
-        },
-        cookie: {
-            get: function(key){
-                if (document.cookie.indexOf(key) === -1) return null;
-
-                var cookieArray = document.cookie.split('; '),
-                    cookies = {};
-
-                cookieArray.forEach(function(e){
-                    var parts = e.split('=');
-                    cookies[ parts[0] ] = parts[1];
-                });
-
-                return cookies[ key ];
-            },
-            set: function(key, value, options){
-                options = options || {};
-
-                if (typeof options.expires === 'number') {
-                    var days = options.expires, t = options.expires = new Date();
-                    t.setDate(t.getDate() + days);
-                }
-
-                document.cookie = [
-                    encodeURIComponent(key) + '=' + String(value),
-                    options.expires ? '; expires=' + options.expires.toUTCString() : '',
-                    options.path    ? '; path=' + options.path : '',
-                    options.domain  ? '; domain=' + options.domain : '',
-                    options.secure  ? '; secure' : ''
-                ].join('');
-
-                return value;
-            }
-        },
-    };
-    window.djdt = {
-        show_toolbar: djdt.show_toolbar,
-        hide_toolbar: djdt.hide_toolbar,
-        init: djdt.init,
-        close: djdt.hide_one_level,
-        cookie: djdt.cookie,
-    };
-    document.addEventListener('DOMContentLoaded', djdt.init);
-})();
diff --git a/static/debug_toolbar/js/toolbar.timer.js b/static/debug_toolbar/js/toolbar.timer.js
deleted file mode 100644
index b6959948..00000000
--- a/static/debug_toolbar/js/toolbar.timer.js
+++ /dev/null
@@ -1,52 +0,0 @@
-(function () {
-    // Browser timing remains hidden unless we can successfully access the performance object
-    var perf = window.performance || window.msPerformance ||
-               window.webkitPerformance || window.mozPerformance;
-    if (!perf)
-        return;
-
-    var rowCount = 0,
-        timingOffset = perf.timing.navigationStart,
-        timingEnd = perf.timing.loadEventEnd,
-        totalTime = timingEnd - timingOffset;
-    function getLeft(stat) {
-        return ((perf.timing[stat] - timingOffset) / (totalTime)) * 100.0;
-    }
-    function getCSSWidth(stat, endStat) {
-        var width = ((perf.timing[endStat] - perf.timing[stat]) / (totalTime)) * 100.0;
-        // Calculate relative percent (same as sql panel logic)
-        width = 100.0 * width / (100.0 - getLeft(stat));
-        return (width < 1) ? "2px" : width + "%";
-    }
-    function addRow(stat, endStat) {
-        rowCount++;
-        var row = document.createElement('tr');
-        row.className = (rowCount % 2) ? 'djDebugOdd' : 'djDebugEven';
-        if (endStat) {
-            // Render a start through end bar
-            row.innerHTML = '<td>' + stat.replace('Start', '') + '</td>' +
-                            '<td class="djdt-timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong>&#160;</strong></div></div></td>' +
-                            '<td>' + (perf.timing[stat] - timingOffset) + ' (+' + (perf.timing[endStat] - perf.timing[stat]) + ')</td>';
-            row.querySelector('strong').style.width = getCSSWidth(stat, endStat);
-        } else {
-            // Render a point in time
-            row.innerHTML = '<td>' + stat + '</td>' +
-                            '<td class="djdt-timeline"><div class="djDebugTimeline"><div class="djDebugLineChart"><strong>&#160;</strong></div></div></td>' +
-                            '<td>' + (perf.timing[stat] - timingOffset) + '</td>';
-            row.querySelector('strong').style.width = '2px';
-        }
-        row.querySelector('.djDebugLineChart').style.left = getLeft(stat) + '%';
-        document.querySelector('#djDebugBrowserTimingTableBody').appendChild(row);
-    }
-
-    // This is a reasonably complete and ordered set of timing periods (2 params) and events (1 param)
-    addRow('domainLookupStart', 'domainLookupEnd');
-    addRow('connectStart', 'connectEnd');
-    addRow('requestStart', 'responseEnd'); // There is no requestEnd
-    addRow('responseStart', 'responseEnd');
-    addRow('domLoading', 'domComplete'); // Spans the events below
-    addRow('domInteractive');
-    addRow('domContentLoadedEventStart', 'domContentLoadedEventEnd');
-    addRow('loadEventStart', 'loadEventEnd');
-    document.querySelector('#djDebugBrowserTiming').classList.remove('djdt-hidden');
-})();
diff --git a/static/django_tables2/bootstrap.css b/static/django_tables2/bootstrap.css
deleted file mode 100644
index 80aaef22..00000000
--- a/static/django_tables2/bootstrap.css
+++ /dev/null
@@ -1,8 +0,0 @@
-.table-container th.asc:after {
-    content: '\0000a0\0025b2';
-    float: right;
-}
-.table-container th.desc:after {
-    content: '\0000a0\0025bc';
-    float: right;
-}
diff --git a/static/django_tables2/themes/paleblue/css/screen.css b/static/django_tables2/themes/paleblue/css/screen.css
deleted file mode 100644
index f0c6343c..00000000
--- a/static/django_tables2/themes/paleblue/css/screen.css
+++ /dev/null
@@ -1,127 +0,0 @@
-table.paleblue {
-    border-collapse: collapse;
-    border-color: #CCC;
-    border: 1px solid #DDD;
-}
-
-table.paleblue,
-table.paleblue +  ul.pagination {
-    font: normal 11px/14px 'Lucida Grande', Verdana, Helvetica, Arial, sans-serif;
-}
-
-table.paleblue a:link,
-table.paleblue a:visited,
-table.paleblue + ul.pagination > li > a {
-    color: #5B80B2;
-    text-decoration: none;
-    font-weight: bold;
-}
-
-table.paleblue a:hover {
-    color: #036;
-}
-
-table.paleblue td,
-table.paleblue th {
-    padding: 5px;
-    line-height: 13px;
-    border-bottom: 1px solid #EEE;
-    border-left: 1px solid #DDD;
-    text-align: left;
-}
-
-table.paleblue thead th:first-child,
-table.paleblue thead td:first-child {
-    border-left: none !important;
-}
-
-table.paleblue thead th,
-table.paleblue thead td {
-    background: #FCFCFC url(../img/header-bg.png) left bottom repeat-x;
-    border-bottom: 1px solid #DDD;
-    padding: 2px 5px;
-    font-size: 11px;
-    vertical-align: middle;
-    color: #666;
-}
-
-table.paleblue thead th > a:link,
-table.paleblue thead th > a:visited {
-    color: #666;
-}
-
-table.paleblue thead th.orderable > a {
-    padding-right: 20px;
-    background: url(../img/arrow-inactive-up.png) right center no-repeat;
-}
-table.paleblue thead th.orderable.asc > a {
-    background-image: url(../img/arrow-active-up.png);
-}
-table.paleblue thead th.orderable.desc > a {
-    background-image: url(../img/arrow-active-down.png);
-}
-
-table.paleblue tr.odd {
-    background-color: #EDF3FE;
-}
-
-table.paleblue tr.even {
-    background-color: white;
-}
-
-table.paleblue + ul.pagination {
-    background: white url(../img/pagination-bg.gif) left 180% repeat-x;
-    overflow: auto;
-    margin: 0;
-    padding: 10px;
-    border: 1px solid #DDD;
-    list-style: none;
-}
-
-table.paleblue + ul.pagination > li {
-    float: left;
-    line-height: 22px;
-    margin-left: 10px;
-}
-
-table.paleblue + ul.pagination > li:first-child {
-    margin-left: 0;
-}
-
-table.paleblue + ul.pagination > li.cardinality {
-    float: right;
-    color: #8d8d8d;
-}
-
-table.paleblue > tbody > tr > td > span.true,
-table.paleblue > tbody > tr > td > span.false {
-    background-position: top left;
-    background-repeat: no-repeat;
-    display: inline-block;
-    height: 10px;
-    overflow: hidden;
-    text-indent: -200px;
-    width: 10px;
-}
-
-table.paleblue > tbody > tr > td > .missing {
-    background: transparent url(../img/missing.png) right center no-repeat;
-    color: #717171;
-    padding-right: 20px;
-}
-
-table.paleblue > tbody > tr > td > .missing:hover {
-    color: #333;
-}
-
-table.paleblue > tbody > tr > td > span.true {
-    background-image: url(../img/true.gif);
-}
-
-table.paleblue > tbody > tr > td > span.false {
-    background-image: url(../img/false.gif);
-}
-
-div.table-container {
-    display: inline-block;
-}
diff --git a/static/django_tables2/themes/paleblue/img/arrow-active-down.png b/static/django_tables2/themes/paleblue/img/arrow-active-down.png
deleted file mode 100644
index fbf6073e30f35e52a1b24d60b65d34b5a2d41240..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 216
zcmeAS@N?(olHy`uVBq!ia0vp^AT}EZ8<70<f&Ungk}PqJC<)F_D=AMbN@Z|N$xljE
z@XSq2PYp^<OsOn9nQ8-6RORX77*cU7=}Pv`{WBXI54JPf-#Ek+w8i2XcU<U3?}{1;
zN1g>M|L?Bd-^lvkprKVFLgHWZ%S&ftc-o8XjEoMIG>V8@{Yk0#KbP~2_>(`!FVr{8
zeHg^6{J5Q8UP5BxS_aLs%RkuD-tRid62_90tkI&$cJV})1B1c=hQkN-+!7Wj`2bzP
N;OXk;vd$@?2>?vVQ0@Q#

diff --git a/static/django_tables2/themes/paleblue/img/arrow-active-up.png b/static/django_tables2/themes/paleblue/img/arrow-active-up.png
deleted file mode 100644
index e9b0e5856e8a6d0667c4daa33eb0aa5e2dec035f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 202
zcmeAS@N?(olHy`uVBq!ia0vp^AT}EZ8<70<f&Ungk}PqJC<)F_D=AMbN@Z|N$xljE
z@XSq2PYp^<OsOn9nQ8-6l;i2*7*cU7DaC=gO85W&<`>?kJv|D)4!83s6sncD=1KjR
zaFAH$=-|K*s_3!k!bA0Dk^k`qY#S5192;1dt+@SNI>MpnyL`waduER{Qy7>0P*zs<
xxcF#>KF<$_H$rk7I-?tS<k|ita62?GGR(5o>vdI3UJA6A!PC{xWt~$(695?`MI`_L

diff --git a/static/django_tables2/themes/paleblue/img/arrow-inactive-down.png b/static/django_tables2/themes/paleblue/img/arrow-inactive-down.png
deleted file mode 100644
index 0c16ab34668fd7431f75a9db2d6663bcb1d6522b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 246
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*D5XW_Y?dhE&{2`t$$4J+o><XQPt=4^M*QGo6?n1;!ITDK1F&
zuBq9hAI9u3i<yb(!>fB65}CVLdrn+D0R$To4mSN?w{Bg+zy0<975=3({V4hV?k<nR
zZOM;P3``2nI=Z@&`|AJmJu5CMGLo^co1>_x*eGawH^G!4t)r`pYewz!bFv%K1ZHP2
qC$u$W#LP0}k?=kBgt38vnc+r|)6&;Rdj0|3$l&Sf=d#Wzp$Pz!!Cp}S

diff --git a/static/django_tables2/themes/paleblue/img/arrow-inactive-up.png b/static/django_tables2/themes/paleblue/img/arrow-inactive-up.png
deleted file mode 100644
index d3f32459ca3664e1dd3a74bde63bb1310263bf5a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 210
zcmeAS@N?(olHy`uVBq!ia0vp^AT}EZ8<70<f&Ungk}PqJC<)F_D=AMbN@Z|N$xljE
z@XSq2PYp^<OsOn9nQ8-6RO0F47*cVorgtOn0R<kG`x?B}8(5exEKOjR=oQqsWXPa=
z(Q$)dkjupBYrcD@+dmBO%G_{VqO+E#GeAA1hw;3ff{@&o)-_u*)_PuxT6|4w{!i`P
z6PD@@?`uO>hK6}Lax``*zPJ51rTCcX-<hX->uuLFFf&|Upl8Qq7XAikKZB>MpUXO@
GgeCwP=Soxn

diff --git a/static/django_tables2/themes/paleblue/img/false.gif b/static/django_tables2/themes/paleblue/img/false.gif
deleted file mode 100644
index 1b4ee5814570885705399533f1182f8b0491c5fb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 176
zcmZ?wbhEHb<YM4rIKsqmPf_vzzkmP#|9@y~{6J6d<B}y$JUqVc+xI*n;YCu?r<E(8
zMMQi%aNv1V)T`3c&+FEG-M#z$#EGwpir)42GY|n3f3h$#FfcLbfYgHQWMI`@pdfR?
x!K7cq#o@IT)8lgv6ECbYWN>`H-TFR%!C^)o_GDj!gPtK1gc27Dv@$SQ0{~`FJvsmY

diff --git a/static/django_tables2/themes/paleblue/img/header-bg.png b/static/django_tables2/themes/paleblue/img/header-bg.png
deleted file mode 100644
index c0d2027d606c1f9f55aaef644f22cb77cd69cd61..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 130
zcmeAS@N?(olHy`uVBq!ia0vp^f<P?5!2~4hgPA#ilw^r(L`iUdT1k0gQ7VIDN`6wR
zf@f}GdTLN=VoGJ<$y6JlA{9>;$B>F!Nq_$Tw`cBb=xi)8Sk>Ox*y@+)+h@DD>cnMc
afdmFSA!*SMTzsuS^$eb_elF{r5}E)}r6v;q

diff --git a/static/django_tables2/themes/paleblue/img/missing.png b/static/django_tables2/themes/paleblue/img/missing.png
deleted file mode 100644
index aa3c8ab2c97b04d66b3c06aef7192baa6fc53fa8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 509
zcmV<Z0RsMsP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzpGibPRCwBaQ$0%qK@i=1V5-v?O#Xz8
zRepeArC3C`O0S6ucPIo7(uPz*1UW2n33^Qsk${Z^v=J<9Ed_srN;H>)m_pV!o1Cm`
z?gn0FX5ZY)?Cvb%oU<tO3fg`gPe`(<T^Ht4zyq)nu6=RVmiQuYPjyVPUxBSx|9ixf
zC&2ARJ}X2J3l4b^aSu4AI$0n=ZOC@Ew73c90LxQv124et-uuTLQ*GA1PIK9uk}pJ^
zf#{&q=`^8bD%!4L7*-r7qE@Tb1b7exd@vXYP)uti9>vjj#HX=fmdj--RCnjn4|o^c
zpAM+r^E_I!(!TGre!tJi*X#9!s$$zVwQ7ZVtybe<Jy{xU(Z4YAl}bgv64!AY3v2(*
zAgmVxP@+P!TCFlo)5KyXlVQk3i{Q;hqrt}GvEYWoA)`FpqPPWJ*Jqw|x7)SixX3xc
z8<<n_eC!;^hFM>QJD*PC4sZ!P1BV#n8}*Qra)Oy(!@OSs28u`UZTJAbL^1gFNCCWo
z)QBgJfYSEc=i}rtO>PzW6XFfvfa+v{9{~mcVMl$dHqw(U00000NkvXXu0mjf!&KnN

diff --git a/static/django_tables2/themes/paleblue/img/pagination-bg.gif b/static/django_tables2/themes/paleblue/img/pagination-bg.gif
deleted file mode 100644
index f8402b809dc1efec80db6e466d789f88429a79a8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 273
zcmZ?wbhEHb6l9QRIKsg2{rmT~Z{I$D{`}ReSAYNh{q^hDhYue<gTSXJPo8}I`0?Sx
zhwt9K`~Ca(j~_o?ym;~T>(@t*9{u_A=gpfpKY#xG_U+rVXV3oq`}hC<e+Fzo@h1yd
zSO-Lc>||i=Q&8(m$()z5YF*CjUEw<COLDKftb1Rh_xHep57#xM`cEV!p3JeDK4nFT
zSFhE&8*9FCy{Ov%ATQNNZ}#yCTdL0b$>001<4;4tjrTwH+&%FA_x~E6rskH`CdQ7=
zuI>)uzWxal`<SOpoi=?6|E$?_=FVbTuyE1h1!BvVuUNT^bIsay>(>Zw+Pr1!Chi?O
LckSMx$Y2cs9wnNk

diff --git a/static/django_tables2/themes/paleblue/img/true.gif b/static/django_tables2/themes/paleblue/img/true.gif
deleted file mode 100644
index 73992827403791d6c1a75a079880e41dce7e0214..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 299
zcmZ?wbhEHb<YM4rxXQ%fwAS8bt>b?NhTQ$x_deWPc4O)NkN2|oXRf%p{M+wuUw(Z#
z`TWGXJ8Mf07p=Or^7yl3mtJ2C+~V)C-fh~&DX}}E_C4PF@Y93ee}B)tGUw-?pC_Il
zZ#vO%{oS?y|Nqw=uUUR`+4?){5_iQh&<rU4WMO1rU}De#*#Pnr1Dl6KV?%%ij{wWU
z2Z9VHj15Nxq%x``7?=-nPSvnzIL~;Y!AVH4Vd5f&Ts`3z3m6WR7>Q{xM6OkFieY2o
T4)tf0@^WEj=4)bdWUvMRbX#E6

diff --git a/static/polymorphic/css/polymorphic_inlines.css b/static/polymorphic/css/polymorphic_inlines.css
deleted file mode 100644
index 0da9ae09..00000000
--- a/static/polymorphic/css/polymorphic_inlines.css
+++ /dev/null
@@ -1,34 +0,0 @@
-.polymorphic-add-choice {
-  position: relative;
-  clear: left;
-}
-
-.polymorphic-add-choice a:focus {
-  text-decoration: none;
-}
-
-.polymorphic-type-menu {
-  position: absolute;
-  top: 2.2em;
-  left: 0.5em;
-  border: 1px solid #ccc;
-  border-radius: 4px;
-  padding: 2px;
-  background-color: #fff;
-  z-index: 1000;
-}
-
-.polymorphic-type-menu ul {
-  padding: 2px;
-  margin: 0;
-}
-
-.polymorphic-type-menu li {
-  list-style: none inside none;
-  padding: 4px 8px;
-}
-
-.inline-related.empty-form {
-  /* needed for grapelli, which uses grp-empty-form */
-  display: none;
-}
diff --git a/static/polymorphic/js/polymorphic_inlines.js b/static/polymorphic/js/polymorphic_inlines.js
deleted file mode 100644
index 89225fc9..00000000
--- a/static/polymorphic/js/polymorphic_inlines.js
+++ /dev/null
@@ -1,338 +0,0 @@
-/*global DateTimeShortcuts, SelectFilter*/
-
-// This is a slightly adapted version of Django's inlines.js
-// Forked for polymorphic by Diederik van der Boor
-
-/**
- * Django admin inlines
- *
- * Based on jQuery Formset 1.1
- * @author Stanislaus Madueke (stan DOT madueke AT gmail DOT com)
- * @requires jQuery 1.2.6 or later
- *
- * Copyright (c) 2009, Stanislaus Madueke
- * All rights reserved.
- *
- * Spiced up with Code from Zain Memon's GSoC project 2009
- * and modified for Django by Jannis Leidel, Travis Swicegood and Julien Phalip.
- *
- * Licensed under the New BSD License
- * See: http://www.opensource.org/licenses/bsd-license.php
- */
-(function($) {
-    'use strict';
-    $.fn.polymorphicFormset = function(opts) {
-        var options = $.extend({}, $.fn.polymorphicFormset.defaults, opts);
-        var $this = $(this);
-        var $parent = $this.parent();
-        var updateElementIndex = function(el, prefix, ndx) {
-            var id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))");
-            var replacement = prefix + "-" + ndx;
-            if ($(el).prop("for")) {
-                $(el).prop("for", $(el).prop("for").replace(id_regex, replacement));
-            }
-            if (el.id) {
-                el.id = el.id.replace(id_regex, replacement);
-            }
-            if (el.name) {
-                el.name = el.name.replace(id_regex, replacement);
-            }
-        };
-        var totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off");
-        var nextIndex = parseInt(totalForms.val(), 10);
-        var maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off");
-        // only show the add button if we are allowed to add more items,
-        // note that max_num = None translates to a blank string.
-        var showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0;
-        $this.each(function(i) {
-            $(this).not("." + options.emptyCssClass).addClass(options.formCssClass);
-        });
-        if ($this.length && showAddButton) {
-            var addContainer;
-            var menuButton;
-            var addButtons;
-
-            if(options.childTypes == null) {
-              throw Error("The polymorphic fieldset options.childTypes is not defined!");
-            }
-
-            // For Polymorphic inlines, the add button opens a menu.
-            var menu = '<div class="polymorphic-type-menu" style="display: none;"><ul>';
-            for (var i = 0; i < options.childTypes.length; i++) {
-                var obj = options.childTypes[i];
-                menu += '<li><a href="#" data-type="' + obj.type + '">' + obj.name + '</a></li>';
-            }
-            menu += '</ul></div>';
-
-            if ($this.prop("tagName") === "TR") {
-                // If forms are laid out as table rows, insert the
-                // "add" button in a new table row:
-                var numCols = this.eq(-1).children().length;
-                $parent.append('<tr class="' + options.addCssClass + ' polymorphic-add-choice"><td colspan="' + numCols + '"><a href="#">' + options.addText + "</a>" + menu + "</tr>");
-                addContainer = $parent.find("tr:last > td");
-                menuButton = addContainer.children('a');
-                addButtons = addContainer.find("li a");
-            } else {
-                // Otherwise, insert it immediately after the last form:
-                $this.filter(":last").after('<div class="' + options.addCssClass + ' polymorphic-add-choice"><a href="#">' + options.addText + "</a>" + menu + "</div>");
-                addContainer = $this.filter(":last").next();
-                menuButton = addContainer.children('a');
-                addButtons = addContainer.find("li a");
-            }
-
-            menuButton.click(function(event) {
-                event.preventDefault();
-                event.stopPropagation();  // for menu hide
-                var $menu = $(event.target).next('.polymorphic-type-menu');
-
-                if(! $menu.is(':visible')) {
-                    var hideMenu = function() {
-                        $menu.slideUp(50);
-                        $(document).unbind('click', hideMenu);
-                    };
-
-                    $(document).click(hideMenu);
-                }
-
-                $menu.slideToggle(50);
-            });
-
-            addButtons.click(function(event) {
-                event.preventDefault();
-                var polymorphicType = $(event.target).attr('data-type');  // Select polymorphic type.
-                var template = $("#" + polymorphicType + "-empty");
-                var row = template.clone(true);
-                row.removeClass(options.emptyCssClass)
-                .addClass(options.formCssClass)
-                .attr("id", options.prefix + "-" + nextIndex);
-                if (row.is("tr")) {
-                    // If the forms are laid out in table rows, insert
-                    // the remove button into the last table cell:
-                    row.children(":last").append('<div><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></div>");
-                } else if (row.is("ul") || row.is("ol")) {
-                    // If they're laid out as an ordered/unordered list,
-                    // insert an <li> after the last list item:
-                    row.append('<li><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></li>");
-                } else {
-                    // Otherwise, just insert the remove button as the
-                    // last child element of the form's container:
-                    row.children(":first").append('<span><a class="' + options.deleteCssClass + '" href="#">' + options.deleteText + "</a></span>");
-                }
-                row.find("*").each(function() {
-                    updateElementIndex(this, options.prefix, totalForms.val());
-                });
-                // Insert the new form when it has been fully edited
-                row.insertBefore($(template));
-                // Update number of total forms
-                $(totalForms).val(parseInt(totalForms.val(), 10) + 1);
-                nextIndex += 1;
-                // Hide add button in case we've hit the max, except we want to add infinitely
-                if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) {
-                    addButtons.parent().hide();
-                }
-                // The delete button of each row triggers a bunch of other things
-                row.find("a." + options.deleteCssClass).click(function(e1) {
-                    e1.preventDefault();
-                    // Remove the parent form containing this button:
-                    row.remove();
-                    nextIndex -= 1;
-                    // If a post-delete callback was provided, call it with the deleted form:
-                    if (options.removed) {
-                        options.removed(row);
-                    }
-                    $(document).trigger('formset:removed', [row, options.prefix]);
-                    // Update the TOTAL_FORMS form count.
-                    var forms = $("." + options.formCssClass);
-                    $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length);
-                    // Show add button again once we drop below max
-                    if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) {
-                        addButtons.parent().show();
-                    }
-                    // Also, update names and ids for all remaining form controls
-                    // so they remain in sequence:
-                    var i, formCount;
-                    var updateElementCallback = function() {
-                        updateElementIndex(this, options.prefix, i);
-                    };
-                    for (i = 0, formCount = forms.length; i < formCount; i++) {
-                        updateElementIndex($(forms).get(i), options.prefix, i);
-                        $(forms.get(i)).find("*").each(updateElementCallback);
-                    }
-                });
-                // If a post-add callback was supplied, call it with the added form:
-                if (options.added) {
-                    options.added(row);
-                }
-                $(document).trigger('formset:added', [row, options.prefix]);
-            });
-        }
-        return this;
-    };
-
-    /* Setup plugin defaults */
-    $.fn.polymorphicFormset.defaults = {
-        prefix: "form",          // The form prefix for your django formset
-        addText: "add another",      // Text for the add link
-        childTypes: null,           // defined by the client.
-        deleteText: "remove",      // Text for the delete link
-        addCssClass: "add-row",      // CSS class applied to the add link
-        deleteCssClass: "delete-row",  // CSS class applied to the delete link
-        emptyCssClass: "empty-row",    // CSS class applied to the empty row
-        formCssClass: "dynamic-form",  // CSS class applied to each form in a formset
-        added: null,          // Function called each time a new form is added
-        removed: null,          // Function called each time a form is deleted
-        addButton: null       // Existing add button to use
-    };
-
-
-    // Tabular inlines ---------------------------------------------------------
-    $.fn.tabularPolymorphicFormset = function(options) {
-        var $rows = $(this);
-        var alternatingRows = function(row) {
-            $($rows.selector).not(".add-row").removeClass("row1 row2")
-            .filter(":even").addClass("row1").end()
-            .filter(":odd").addClass("row2");
-        };
-
-        var reinitDateTimeShortCuts = function() {
-            // Reinitialize the calendar and clock widgets by force
-            if (typeof DateTimeShortcuts !== "undefined") {
-                $(".datetimeshortcuts").remove();
-                DateTimeShortcuts.init();
-            }
-        };
-
-        var updateSelectFilter = function() {
-            // If any SelectFilter widgets are a part of the new form,
-            // instantiate a new SelectFilter instance for it.
-            if (typeof SelectFilter !== 'undefined') {
-                $('.selectfilter').each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], false);
-                });
-                $('.selectfilterstacked').each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], true);
-                });
-            }
-        };
-
-        var initPrepopulatedFields = function(row) {
-            row.find('.prepopulated_field').each(function() {
-                var field = $(this),
-                    input = field.find('input, select, textarea'),
-                    dependency_list = input.data('dependency_list') || [],
-                    dependencies = [];
-                $.each(dependency_list, function(i, field_name) {
-                    dependencies.push('#' + row.find('.field-' + field_name).find('input, select, textarea').attr('id'));
-                });
-                if (dependencies.length) {
-                    input.prepopulate(dependencies, input.attr('maxlength'));
-                }
-            });
-        };
-
-        $rows.polymorphicFormset({
-            prefix: options.prefix,
-            addText: options.addText,
-            childTypes: options.childTypes,
-            formCssClass: "dynamic-" + options.prefix,
-            deleteCssClass: "inline-deletelink",
-            deleteText: options.deleteText,
-            emptyCssClass: "empty-form",
-            removed: alternatingRows,
-            added: function(row) {
-                initPrepopulatedFields(row);
-                reinitDateTimeShortCuts();
-                updateSelectFilter();
-                alternatingRows(row);
-            },
-            addButton: options.addButton
-        });
-
-        return $rows;
-    };
-
-    // Stacked inlines ---------------------------------------------------------
-    $.fn.stackedPolymorphicFormset = function(options) {
-        var $rows = $(this);
-        var updateInlineLabel = function(row) {
-            $($rows.selector).find(".inline_label").each(function(i) {
-                var count = i + 1;
-                $(this).html($(this).html().replace(/(#\d+)/g, "#" + count));
-            });
-        };
-
-        var reinitDateTimeShortCuts = function() {
-            // Reinitialize the calendar and clock widgets by force, yuck.
-            if (typeof DateTimeShortcuts !== "undefined") {
-                $(".datetimeshortcuts").remove();
-                DateTimeShortcuts.init();
-            }
-        };
-
-        var updateSelectFilter = function() {
-            // If any SelectFilter widgets were added, instantiate a new instance.
-            if (typeof SelectFilter !== "undefined") {
-                $(".selectfilter").each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], false);
-                });
-                $(".selectfilterstacked").each(function(index, value) {
-                    var namearr = value.name.split('-');
-                    SelectFilter.init(value.id, namearr[namearr.length - 1], true);
-                });
-            }
-        };
-
-        var initPrepopulatedFields = function(row) {
-            row.find('.prepopulated_field').each(function() {
-                var field = $(this),
-                    input = field.find('input, select, textarea'),
-                    dependency_list = input.data('dependency_list') || [],
-                    dependencies = [];
-                $.each(dependency_list, function(i, field_name) {
-                    dependencies.push('#' + row.find('.form-row .field-' + field_name).find('input, select, textarea').attr('id'));
-                });
-                if (dependencies.length) {
-                    input.prepopulate(dependencies, input.attr('maxlength'));
-                }
-            });
-        };
-
-        $rows.polymorphicFormset({
-            prefix: options.prefix,
-            addText: options.addText,
-            childTypes: options.childTypes,
-            formCssClass: "dynamic-" + options.prefix,
-            deleteCssClass: "inline-deletelink",
-            deleteText: options.deleteText,
-            emptyCssClass: "empty-form",
-            removed: updateInlineLabel,
-            added: function(row) {
-                initPrepopulatedFields(row);
-                reinitDateTimeShortCuts();
-                updateSelectFilter();
-                updateInlineLabel(row);
-            },
-            addButton: options.addButton
-        });
-
-        return $rows;
-    };
-
-    $(document).ready(function() {
-        $(".js-inline-polymorphic-admin-formset").each(function() {
-            var data = $(this).data(),
-                inlineOptions = data.inlineFormset;
-            switch(data.inlineType) {
-            case "stacked":
-                $(inlineOptions.name + "-group .inline-related").stackedPolymorphicFormset(inlineOptions.options);
-                break;
-            case "tabular":
-                $(inlineOptions.name + "-group .tabular.inline-related tbody tr").tabularPolymorphicFormset(inlineOptions.options);
-                break;
-            }
-        });
-    });
-})(django.jQuery);
diff --git a/static/rest_framework/css/bootstrap-theme.min.css b/static/rest_framework/css/bootstrap-theme.min.css
deleted file mode 100644
index 5b8a17d0..00000000
--- a/static/rest_framework/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,11 +0,0 @@
-@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");/*!
- * bootswatch v3.3.7
- * Homepage: http://bootswatch.com
- * Copyright 2012-2016 Thomas Park
- * Licensed under MIT
- * Based on Bootstrap
-*//*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,*:before,*:after{background:transparent !important;color:#000 !important;-webkit-box-shadow:none !important;box-shadow:none !important;text-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important}.label{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #ddd !important}}@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-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#3e3f3a;background-color:#ffffff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#93c54b;text-decoration:none}a:hover,a:focus{color:#79a736;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #f8f5f0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:400;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#98978b}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#98978b}.text-primary{color:#325d88}a.text-primary:hover,a.text-primary:focus{color:#244363}.text-success{color:#93c54b}a.text-success:hover,a.text-success:focus{color:#79a736}.text-info{color:#29abe0}a.text-info:hover,a.text-info:focus{color:#1b8dbb}.text-warning{color:#f47c3c}a.text-warning:hover,a.text-warning:focus{color:#ef5c0e}.text-danger{color:#d9534f}a.text-danger:hover,a.text-danger:focus{color:#c9302c}.bg-primary{color:#fff;background-color:#325d88}a.bg-primary:hover,a.bg-primary:focus{background-color:#244363}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #f8f5f0}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #98978b}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #dfd7ca}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#3e3f3a}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #dfd7ca;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#ffffff;background-color:#333333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#8e8c84;background-color:#f5f5f5;border:1px solid #cccccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#98978b;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #dfd7ca}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #dfd7ca}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #dfd7ca}.table .table{background-color:#ffffff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #dfd7ca}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #dfd7ca}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f8f5f0}.table-hover>tbody>tr:hover{background-color:#f8f5f0}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f8f5f0}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#f0e9df}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:0.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #dfd7ca}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:inherit;border:0;border-bottom:1px solid transparent}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:13px;font-size:14px;line-height:1.42857143;color:#3e3f3a}.form-control{display:block;width:100%;height:46px;padding:12px 16px;font-size:14px;line-height:1.42857143;color:#3e3f3a;background-color:#ffffff;background-image:none;border:1px solid #dfd7ca;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:transparent;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(0,0,0,0.6)}.form-control::-moz-placeholder{color:#dfd7ca;opacity:1}.form-control:-ms-input-placeholder{color:#dfd7ca}.form-control::-webkit-input-placeholder{color:#dfd7ca}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#f8f5f0;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:46px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:66px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:13px;padding-bottom:13px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:66px;line-height:66px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:66px;line-height:66px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:66px;min-height:38px;padding:21px 30px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:57.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:46px;height:46px;line-height:46px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:66px;height:66px;line-height:66px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#93c54b}.has-success .form-control{border-color:#93c54b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#79a736;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c1de98;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c1de98}.has-success .input-group-addon{color:#93c54b;border-color:#93c54b;background-color:#dff0d8}.has-success .form-control-feedback{color:#93c54b}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#f47c3c}.has-warning .form-control{border-color:#f47c3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#ef5c0e;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f9bd9d;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #f9bd9d}.has-warning .input-group-addon{color:#f47c3c;border-color:#f47c3c;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#f47c3c}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#d9534f}.has-error .form-control{border-color:#d9534f;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#c9302c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eba5a3}.has-error .input-group-addon{color:#d9534f;border-color:#d9534f;background-color:#f2dede}.has-error .form-control-feedback{color:#d9534f}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#7f8177}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:13px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:33px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:13px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:21px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:12px 16px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#ffffff;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:0.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#ffffff;background-color:#3e3f3a;border-color:transparent}.btn-default:focus,.btn-default.focus{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:hover{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#ffffff;background-color:#242422;border-color:rgba(0,0,0,0)}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#ffffff;background-color:#121210;border-color:rgba(0,0,0,0)}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#3e3f3a;border-color:transparent}.btn-default .badge{color:#3e3f3a;background-color:#ffffff}.btn-primary{color:#ffffff;background-color:#325d88;border-color:transparent}.btn-primary:focus,.btn-primary.focus{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:hover{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#ffffff;background-color:#244363;border-color:rgba(0,0,0,0)}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#ffffff;background-color:#1b3249;border-color:rgba(0,0,0,0)}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#325d88;border-color:transparent}.btn-primary .badge{color:#325d88;background-color:#ffffff}.btn-success{color:#ffffff;background-color:#93c54b;border-color:transparent}.btn-success:focus,.btn-success.focus{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:hover{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#ffffff;background-color:#79a736;border-color:rgba(0,0,0,0)}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#ffffff;background-color:#658c2d;border-color:rgba(0,0,0,0)}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#93c54b;border-color:transparent}.btn-success .badge{color:#93c54b;background-color:#ffffff}.btn-info{color:#ffffff;background-color:#29abe0;border-color:transparent}.btn-info:focus,.btn-info.focus{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:hover{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#ffffff;background-color:#1b8dbb;border-color:rgba(0,0,0,0)}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#ffffff;background-color:#17759c;border-color:rgba(0,0,0,0)}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#29abe0;border-color:transparent}.btn-info .badge{color:#29abe0;background-color:#ffffff}.btn-warning{color:#ffffff;background-color:#f47c3c;border-color:transparent}.btn-warning:focus,.btn-warning.focus{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:hover{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#ffffff;background-color:#ef5c0e;border-color:rgba(0,0,0,0)}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#ffffff;background-color:#ce4f0c;border-color:rgba(0,0,0,0)}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f47c3c;border-color:transparent}.btn-warning .badge{color:#f47c3c;background-color:#ffffff}.btn-danger{color:#ffffff;background-color:#d9534f;border-color:transparent}.btn-danger:focus,.btn-danger.focus{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:hover{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#ffffff;background-color:#c9302c;border-color:rgba(0,0,0,0)}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#ffffff;background-color:#ac2925;border-color:rgba(0,0,0,0)}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:transparent}.btn-danger .badge{color:#d9534f;background-color:#ffffff}.btn-link{color:#93c54b;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#79a736;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#dfd7ca;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity 0.15s linear;-o-transition:opacity 0.15s linear;transition:opacity 0.15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:0.35s;-o-transition-duration:0.35s;transition-duration:0.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#ffffff;border:1px solid #dfd7ca;border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);-webkit-background-clip:padding-box;background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#f8f5f0}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#98978b;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#98978b;background-color:#f8f5f0}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#98978b;text-decoration:none;outline:0;background-color:#f8f5f0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#dfd7ca}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#dfd7ca;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:66px;padding:20px 30px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:66px;line-height:66px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:12px 16px;font-size:14px;font-weight:normal;line-height:1;color:#3e3f3a;text-align:center;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:20px 30px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#f8f5f0}.nav>li.disabled>a{color:#dfd7ca}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#dfd7ca;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#f8f5f0;border-color:#93c54b}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #dfd7ca}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#dfd7ca #dfd7ca #dfd7ca}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#98978b;background-color:#ffffff;border:1px solid #dfd7ca;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #dfd7ca}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #dfd7ca;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#ffffff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#98978b;background-color:#f8f5f0}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #dfd7ca}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #dfd7ca;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#ffffff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:60px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:20px 15px;font-size:18px;line-height:20px;height:60px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:13px;margin-bottom:13px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:10px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:20px;padding-bottom:20px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:7px;margin-bottom:7px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7px;margin-bottom:7px}.navbar-btn.btn-sm{margin-top:15px;margin-bottom:15px}.navbar-btn.btn-xs{margin-top:19px;margin-bottom:19px}.navbar-text{margin-top:20px;margin-bottom:20px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left !important}.navbar-right{float:right !important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#3e3f3a;border-color:#3e3f3a}.navbar-default .navbar-brand{color:#ffffff}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-text{color:#8e8c84}.navbar-default .navbar-nav>li>a{color:#98978b}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#ffffff;background-color:#393a35}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#cccccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:transparent}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#393a35}.navbar-default .navbar-toggle .icon-bar{background-color:#98978b}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#3e3f3a}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#393a35;color:#ffffff}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#98978b}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#393a35}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#cccccc;background-color:transparent}}.navbar-default .navbar-link{color:#98978b}.navbar-default .navbar-link:hover{color:#ffffff}.navbar-default .btn-link{color:#98978b}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#ffffff}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#cccccc}.navbar-inverse{background-color:#93c54b;border-color:#93c54b}.navbar-inverse .navbar-brand{color:#ffffff}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-text{color:#dfd7ca}.navbar-inverse .navbar-nav>li>a{color:#6b9430}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#ffffff;background-color:#89be3d}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:transparent}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#89be3d}.navbar-inverse .navbar-toggle .icon-bar{background-color:#6b9430}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#81b33a}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#89be3d;color:#ffffff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#93c54b}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#93c54b}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#6b9430}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#ffffff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#ffffff;background-color:#89be3d}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444444;background-color:transparent}}.navbar-inverse .navbar-link{color:#6b9430}.navbar-inverse .navbar-link:hover{color:#ffffff}.navbar-inverse .btn-link{color:#6b9430}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#ffffff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f8f5f0;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#dfd7ca}.breadcrumb>.active{color:#98978b}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:12px 16px;line-height:1.42857143;text-decoration:none;color:#98978b;background-color:#f8f5f0;border:1px solid #dfd7ca;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#8e8c84;background-color:#dfd7ca;border-color:#dfd7ca}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#8e8c84;background-color:#dfd7ca;border-color:#dfd7ca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#dfd7ca;background-color:#f8f5f0;border-color:#dfd7ca;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:20px 30px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#dfd7ca}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#dfd7ca;background-color:#f8f5f0;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#ffffff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#ffffff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#3e3f3a}.label-default[href]:hover,.label-default[href]:focus{background-color:#242422}.label-primary{background-color:#325d88}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#244363}.label-success{background-color:#93c54b}.label-success[href]:hover,.label-success[href]:focus{background-color:#79a736}.label-info{background-color:#29abe0}.label-info[href]:hover,.label-info[href]:focus{background-color:#1b8dbb}.label-warning{background-color:#f47c3c}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ef5c0e}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:normal;color:#ffffff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#93c54b;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#ffffff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#ffffff;background-color:#93c54b}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#f8f5f0}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#e8decd}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#f8f5f0;border:1px solid #dfd7ca;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#93c54b}.thumbnail .caption{padding:9px;color:#3e3f3a}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#93c54b;border-color:transparent;color:#ffffff}.alert-success hr{border-top-color:rgba(0,0,0,0)}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#29abe0;border-color:transparent;color:#ffffff}.alert-info hr{border-top-color:rgba(0,0,0,0)}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#f47c3c;border-color:transparent;color:#ffffff}.alert-warning hr{border-top-color:rgba(0,0,0,0)}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#d9534f;border-color:transparent;color:#ffffff}.alert-danger hr{border-top-color:rgba(0,0,0,0)}.alert-danger .alert-link{color:#e6e6e6}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#ffffff;text-align:center;background-color:#325d88;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width 0.6s ease;-o-transition:width 0.6s ease;transition:width 0.6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#93c54b}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-info{background-color:#29abe0}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-warning{background-color:#f47c3c}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-o-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#ffffff;border:1px solid #dfd7ca}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#3e3f3a}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:inherit}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#3e3f3a;background-color:#f8f5f0}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#f8f5f0;color:#dfd7ca;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#dfd7ca}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#3e3f3a;background-color:#f8f5f0;border-color:#dfd7ca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#3e3f3a}.list-group-item-success{color:#93c54b;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#93c54b}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#93c54b;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#93c54b;border-color:#93c54b}.list-group-item-info{color:#29abe0;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#29abe0}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#29abe0;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#29abe0;border-color:#29abe0}.list-group-item-warning{color:#f47c3c;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#f47c3c}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#f47c3c;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#f47c3c;border-color:#f47c3c}.list-group-item-danger{color:#d9534f;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#d9534f}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#d9534f;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#d9534f;border-color:#d9534f}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#ffffff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f8f5f0;border-top:1px solid #dfd7ca;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #dfd7ca}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #dfd7ca}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #dfd7ca}.panel-default{border-color:#dfd7ca}.panel-default>.panel-heading{color:#3e3f3a;background-color:#f8f5f0;border-color:#dfd7ca}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#dfd7ca}.panel-default>.panel-heading .badge{color:#f8f5f0;background-color:#3e3f3a}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#dfd7ca}.panel-primary{border-color:#325d88}.panel-primary>.panel-heading{color:#ffffff;background-color:#325d88;border-color:#325d88}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#325d88}.panel-primary>.panel-heading .badge{color:#325d88;background-color:#ffffff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#325d88}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#93c54b;background-color:#93c54b;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#93c54b;background-color:#93c54b}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#29abe0;background-color:#29abe0;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#29abe0;background-color:#29abe0}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#f47c3c;background-color:#f47c3c;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#f47c3c;background-color:#f47c3c}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#d9534f;background-color:#d9534f;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#d9534f;background-color:#d9534f}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f8f5f0;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000000;text-shadow:0 0 0 transparent;opacity:0.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000000;text-decoration:none;cursor:pointer;opacity:0.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#ffffff;border:1px solid #f8f5f0;border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);-webkit-background-clip:padding-box;background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:0.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #f8f5f0}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #f8f5f0}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:1;filter:alpha(opacity=100)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#ffffff;text-align:center;background-color:#3e3f3a;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#3e3f3a}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#3e3f3a}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#3e3f3a}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#3e3f3a}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#ffffff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #dfd7ca;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f8f5f0;border-bottom:1px solid #f0e9df;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#b9a78a;border-top-color:#dfd7ca;bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#ffffff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#b9a78a;border-right-color:#dfd7ca}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#ffffff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#b9a78a;border-bottom-color:#dfd7ca;top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#ffffff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#b9a78a;border-left-color:#dfd7ca}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#ffffff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:0.5;filter:alpha(opacity=50);font-size:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:-webkit-gradient(linear, left top, right top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#ffffff;text-decoration:none;opacity:0.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #ffffff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#ffffff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#ffffff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right !important}.pull-left{float:left !important}.hide{display:none !important}.show{display:block !important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none !important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}.sandstone{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.navbar .nav>li>a{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.navbar-form input,.navbar-form .form-control{border:none}.btn{border:none;font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.btn:hover{border-color:transparent}.btn-lg{line-height:26px}.btn-default:hover{background-color:#393a35}input,.form-control{-webkit-box-shadow:none;box-shadow:none}input:focus,.form-control:focus{border-color:#dfd7ca;-webkit-box-shadow:none;box-shadow:none}.nav{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{border-color:#dfd7ca}.nav-tabs>li>a{background-color:#f8f5f0;border-color:#dfd7ca;color:#98978b}.nav-tabs>li.disabled>a:hover{background-color:#f8f5f0}.nav-pills a{color:#98978b}.nav-pills li>a{border:1px solid transparent}.nav-pills li.active>a,.nav-pills li>a:hover{border-color:#dfd7ca}.nav-pills li.disabled>a{border-color:transparent}.breadcrumb{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase;border:1px solid #dfd7ca}.breadcrumb a{color:#98978b}.pagination{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.pager{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.pager li>a{color:#98978b}.dropdown-menu>li>a{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.alert a,.alert .alert-link{color:#fff}.tooltip{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.progress{border-radius:10px;background-color:#dfd7ca;-webkit-box-shadow:none;box-shadow:none}.progress-bar{-webkit-box-shadow:none;box-shadow:none}.list-group-item{padding:16px 24px}.well{-webkit-box-shadow:none;box-shadow:none}.panel{-webkit-box-shadow:none;box-shadow:none}.panel .panel-heading,.panel .panel-title{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase;color:#fff}.panel .panel-footer{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.panel-default .panel-heading,.panel-default .panel-title,.panel-default .panel-footer{color:#98978b}
diff --git a/static/rest_framework/css/bootstrap-tweaks.css b/static/rest_framework/css/bootstrap-tweaks.css
deleted file mode 100644
index c2fcb303..00000000
--- a/static/rest_framework/css/bootstrap-tweaks.css
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
-
-This CSS file contains some tweaks specific to the included Bootstrap theme.
-It's separate from `style.css` so that it can be easily overridden by replacing
-a single block in the template.
-
-*/
-
-.form-actions {
-  background: transparent;
-  border-top-color: transparent;
-  padding-top: 0;
-  text-align: right;
-}
-
-#generic-content-form textarea {
-  font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
-  font-size: 80%;
-}
-
-.navbar-inverse .brand a {
-  color: #999999;
-}
-.navbar-inverse .brand:hover a {
-  color: white;
-  text-decoration: none;
-}
-
-/* custom navigation styles */
-.navbar {
-  width: 100%;
-  position: fixed;
-  left: 0;
-  top: 0;
-}
-
-.navbar {
-  background: #2C2C2C;
-  color: white;
-  border: none;
-  border-top: 5px solid #A30000;
-  border-radius: 0px;
-}
-
-.navbar .nav li, .navbar .nav li a, .navbar .brand:hover {
-  color: white;
-}
-
-.nav-list > .active > a, .nav-list > .active > a:hover {
-  background: #2C2C2C;
-}
-
-.navbar .dropdown-menu li a, .navbar .dropdown-menu li {
-  color: #A30000;
-}
-
-.navbar .dropdown-menu li a:hover {
-  background: #EEEEEE;
-  color: #C20000;
-}
-
-ul.breadcrumb {
-  margin: 70px 0 0 0;
-}
-
-.breadcrumb li.active a {
-  color: #777;
-}
-
-.pagination>.disabled>a,
-.pagination>.disabled>a:hover,
-.pagination>.disabled>a:focus {
-  cursor: not-allowed;
-  pointer-events: none;
-}
-
-.pager>.disabled>a,
-.pager>.disabled>a:hover,
-.pager>.disabled>a:focus {
-  pointer-events: none;
-}
-
-.pager .next {
-  margin-left: 10px;
-}
-
-/*=== dabapps bootstrap styles ====*/
-
-html {
-  width:100%;
-  background: none;
-}
-
-/*body, .navbar .container-fluid {
-  max-width: 1150px;
-  margin: 0 auto;
-}*/
-
-body {
-  background: url("../img/grid.png") repeat-x;
-  background-attachment: fixed;
-}
-
-#content {
-  margin: 0;
-  padding-bottom: 60px;
-}
-
-/* sticky footer and footer */
-html, body {
-  height: 100%;
-}
-
-.wrapper {
-  position: relative;
-  top: 0;
-  left: 0;
-  padding-top: 60px;
-  margin: -60px 0;
-  min-height: 100%;
-}
-
-.form-switcher {
-  margin-bottom: 0;
-}
-
-.well {
-  -webkit-box-shadow: none;
-     -moz-box-shadow: none;
-          box-shadow: none;
-}
-
-.well .form-actions {
-  padding-bottom: 0;
-  margin-bottom: 0;
-}
-
-.well form {
-  margin-bottom: 0;
-}
-
-.nav-tabs {
-  border: 0;
-}
-
-.nav-tabs > li {
-  float: right;
-}
-
-.nav-tabs li a {
-  margin-right: 0;
-}
-
-.nav-tabs > .active > a {
-  background: #F5F5F5;
-}
-
-.nav-tabs > .active > a:hover {
-  background: #F5F5F5;
-}
-
-.tabbable.first-tab-active .tab-content {
-  border-top-right-radius: 0;
-}
-
-footer {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  clear: both;
-  z-index: 10;
-  height: 60px;
-  width: 95%;
-  margin: 0 2.5%;
-}
-
-footer p {
-  text-align: center;
-  color: gray;
-  border-top: 1px solid #DDDDDD;
-  padding-top: 10px;
-}
-
-footer a {
-  color: gray !important;
-  font-weight: bold;
-}
-
-footer a:hover {
-  color: gray;
-}
-
-.page-header {
-  border-bottom: none;
-  padding-bottom: 0px;
-  margin: 0;
-}
-
-/* custom general page styles */
-.hero-unit h1, .hero-unit h2 {
-  color: #A30000;
-}
-
-body a {
-  color: #A30000;
-}
-
-body a:hover {
-  color: #c20000;
-}
-
-.request-info {
-  clear:both;
-}
-
-.horizontal-checkbox label {
-  padding-top: 0;
-}
-
-.horizontal-checkbox label {
-  padding-top: 0 !important;
-}
-
-.horizontal-checkbox input {
-  float: left;
-  width: 20px;
-  margin-top: 3px;
-}
-
-.modal-footer form {
-  margin-left: 5px;
-  margin-right: 5px;
-}
diff --git a/static/rest_framework/css/bootstrap.min.css b/static/rest_framework/css/bootstrap.min.css
deleted file mode 100644
index ed3905e0..00000000
--- a/static/rest_framework/css/bootstrap.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;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}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;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)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/static/rest_framework/css/default.css b/static/rest_framework/css/default.css
deleted file mode 100644
index 86fef177..00000000
--- a/static/rest_framework/css/default.css
+++ /dev/null
@@ -1,82 +0,0 @@
-/* The navbar is fixed at >= 980px wide, so add padding to the body to prevent
-content running up underneath it. */
-
-h1 {
-  font-weight: 300;
-}
-
-h2, h3 {
-  font-weight: 300;
-}
-
-.resource-description, .response-info {
-  margin-bottom: 2em;
-}
-
-.version:before {
-  content: "v";
-  opacity: 0.6;
-  padding-right: 0.25em;
-}
-
-.version {
-  font-size: 70%;
-}
-
-.format-option {
-  font-family: Menlo, Consolas, "Andale Mono", "Lucida Console", monospace;
-}
-
-.button-form {
-  float: right;
-  margin-right: 1em;
-}
-
-td.nested {
-  padding: 0 !important;
-}
-
-td.nested > table {
-  margin: 0;
-}
-
-form select, form input, form textarea {
-  width: 90%;
-}
-
-form select[multiple] {
-  height: 150px;
-}
-
-/* To allow tooltips to work on disabled elements */
-.disabled-tooltip-shield {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-}
-
-.errorlist {
-  margin-top: 0.5em;
-}
-
-pre {
-  overflow: auto;
-  word-wrap: normal;
-  white-space: pre;
-  font-size: 12px;
-}
-
-.page-header {
-  border-bottom: none;
-  padding-bottom: 0px;
-}
-
-#filtersModal form input[type=submit] {
-    width: auto;
-}
-
-#filtersModal .modal-body h2 {
-    margin-top: 0
-}
diff --git a/static/rest_framework/css/font-awesome-4.0.3.css b/static/rest_framework/css/font-awesome-4.0.3.css
deleted file mode 100644
index 048cff97..00000000
--- a/static/rest_framework/css/font-awesome-4.0.3.css
+++ /dev/null
@@ -1,1338 +0,0 @@
-/*!
- *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */
-/* FONT PATH
- * -------------------------- */
-@font-face {
-  font-family: 'FontAwesome';
-  src: url('../fonts/fontawesome-webfont.eot?v=4.0.3');
-  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-.fa {
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: normal;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-/* makes the font 33% larger relative to the icon container */
-.fa-lg {
-  font-size: 1.3333333333333333em;
-  line-height: 0.75em;
-  vertical-align: -15%;
-}
-.fa-2x {
-  font-size: 2em;
-}
-.fa-3x {
-  font-size: 3em;
-}
-.fa-4x {
-  font-size: 4em;
-}
-.fa-5x {
-  font-size: 5em;
-}
-.fa-fw {
-  width: 1.2857142857142858em;
-  text-align: center;
-}
-.fa-ul {
-  padding-left: 0;
-  margin-left: 2.142857142857143em;
-  list-style-type: none;
-}
-.fa-ul > li {
-  position: relative;
-}
-.fa-li {
-  position: absolute;
-  left: -2.142857142857143em;
-  width: 2.142857142857143em;
-  top: 0.14285714285714285em;
-  text-align: center;
-}
-.fa-li.fa-lg {
-  left: -1.8571428571428572em;
-}
-.fa-border {
-  padding: .2em .25em .15em;
-  border: solid 0.08em #eeeeee;
-  border-radius: .1em;
-}
-.pull-right {
-  float: right;
-}
-.pull-left {
-  float: left;
-}
-.fa.pull-left {
-  margin-right: .3em;
-}
-.fa.pull-right {
-  margin-left: .3em;
-}
-.fa-spin {
-  -webkit-animation: spin 2s infinite linear;
-  -moz-animation: spin 2s infinite linear;
-  -o-animation: spin 2s infinite linear;
-  animation: spin 2s infinite linear;
-}
-@-moz-keyframes spin {
-  0% {
-    -moz-transform: rotate(0deg);
-  }
-  100% {
-    -moz-transform: rotate(359deg);
-  }
-}
-@-webkit-keyframes spin {
-  0% {
-    -webkit-transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(359deg);
-  }
-}
-@-o-keyframes spin {
-  0% {
-    -o-transform: rotate(0deg);
-  }
-  100% {
-    -o-transform: rotate(359deg);
-  }
-}
-@-ms-keyframes spin {
-  0% {
-    -ms-transform: rotate(0deg);
-  }
-  100% {
-    -ms-transform: rotate(359deg);
-  }
-}
-@keyframes spin {
-  0% {
-    transform: rotate(0deg);
-  }
-  100% {
-    transform: rotate(359deg);
-  }
-}
-.fa-rotate-90 {
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-  -webkit-transform: rotate(90deg);
-  -moz-transform: rotate(90deg);
-  -ms-transform: rotate(90deg);
-  -o-transform: rotate(90deg);
-  transform: rotate(90deg);
-}
-.fa-rotate-180 {
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
-  -webkit-transform: rotate(180deg);
-  -moz-transform: rotate(180deg);
-  -ms-transform: rotate(180deg);
-  -o-transform: rotate(180deg);
-  transform: rotate(180deg);
-}
-.fa-rotate-270 {
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
-  -webkit-transform: rotate(270deg);
-  -moz-transform: rotate(270deg);
-  -ms-transform: rotate(270deg);
-  -o-transform: rotate(270deg);
-  transform: rotate(270deg);
-}
-.fa-flip-horizontal {
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
-  -webkit-transform: scale(-1, 1);
-  -moz-transform: scale(-1, 1);
-  -ms-transform: scale(-1, 1);
-  -o-transform: scale(-1, 1);
-  transform: scale(-1, 1);
-}
-.fa-flip-vertical {
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
-  -webkit-transform: scale(1, -1);
-  -moz-transform: scale(1, -1);
-  -ms-transform: scale(1, -1);
-  -o-transform: scale(1, -1);
-  transform: scale(1, -1);
-}
-.fa-stack {
-  position: relative;
-  display: inline-block;
-  width: 2em;
-  height: 2em;
-  line-height: 2em;
-  vertical-align: middle;
-}
-.fa-stack-1x,
-.fa-stack-2x {
-  position: absolute;
-  left: 0;
-  width: 100%;
-  text-align: center;
-}
-.fa-stack-1x {
-  line-height: inherit;
-}
-.fa-stack-2x {
-  font-size: 2em;
-}
-.fa-inverse {
-  color: #ffffff;
-}
-/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
-   readers do not read off random characters that represent icons */
-.fa-glass:before {
-  content: "\f000";
-}
-.fa-music:before {
-  content: "\f001";
-}
-.fa-search:before {
-  content: "\f002";
-}
-.fa-envelope-o:before {
-  content: "\f003";
-}
-.fa-heart:before {
-  content: "\f004";
-}
-.fa-star:before {
-  content: "\f005";
-}
-.fa-star-o:before {
-  content: "\f006";
-}
-.fa-user:before {
-  content: "\f007";
-}
-.fa-film:before {
-  content: "\f008";
-}
-.fa-th-large:before {
-  content: "\f009";
-}
-.fa-th:before {
-  content: "\f00a";
-}
-.fa-th-list:before {
-  content: "\f00b";
-}
-.fa-check:before {
-  content: "\f00c";
-}
-.fa-times:before {
-  content: "\f00d";
-}
-.fa-search-plus:before {
-  content: "\f00e";
-}
-.fa-search-minus:before {
-  content: "\f010";
-}
-.fa-power-off:before {
-  content: "\f011";
-}
-.fa-signal:before {
-  content: "\f012";
-}
-.fa-gear:before,
-.fa-cog:before {
-  content: "\f013";
-}
-.fa-trash-o:before {
-  content: "\f014";
-}
-.fa-home:before {
-  content: "\f015";
-}
-.fa-file-o:before {
-  content: "\f016";
-}
-.fa-clock-o:before {
-  content: "\f017";
-}
-.fa-road:before {
-  content: "\f018";
-}
-.fa-download:before {
-  content: "\f019";
-}
-.fa-arrow-circle-o-down:before {
-  content: "\f01a";
-}
-.fa-arrow-circle-o-up:before {
-  content: "\f01b";
-}
-.fa-inbox:before {
-  content: "\f01c";
-}
-.fa-play-circle-o:before {
-  content: "\f01d";
-}
-.fa-rotate-right:before,
-.fa-repeat:before {
-  content: "\f01e";
-}
-.fa-refresh:before {
-  content: "\f021";
-}
-.fa-list-alt:before {
-  content: "\f022";
-}
-.fa-lock:before {
-  content: "\f023";
-}
-.fa-flag:before {
-  content: "\f024";
-}
-.fa-headphones:before {
-  content: "\f025";
-}
-.fa-volume-off:before {
-  content: "\f026";
-}
-.fa-volume-down:before {
-  content: "\f027";
-}
-.fa-volume-up:before {
-  content: "\f028";
-}
-.fa-qrcode:before {
-  content: "\f029";
-}
-.fa-barcode:before {
-  content: "\f02a";
-}
-.fa-tag:before {
-  content: "\f02b";
-}
-.fa-tags:before {
-  content: "\f02c";
-}
-.fa-book:before {
-  content: "\f02d";
-}
-.fa-bookmark:before {
-  content: "\f02e";
-}
-.fa-print:before {
-  content: "\f02f";
-}
-.fa-camera:before {
-  content: "\f030";
-}
-.fa-font:before {
-  content: "\f031";
-}
-.fa-bold:before {
-  content: "\f032";
-}
-.fa-italic:before {
-  content: "\f033";
-}
-.fa-text-height:before {
-  content: "\f034";
-}
-.fa-text-width:before {
-  content: "\f035";
-}
-.fa-align-left:before {
-  content: "\f036";
-}
-.fa-align-center:before {
-  content: "\f037";
-}
-.fa-align-right:before {
-  content: "\f038";
-}
-.fa-align-justify:before {
-  content: "\f039";
-}
-.fa-list:before {
-  content: "\f03a";
-}
-.fa-dedent:before,
-.fa-outdent:before {
-  content: "\f03b";
-}
-.fa-indent:before {
-  content: "\f03c";
-}
-.fa-video-camera:before {
-  content: "\f03d";
-}
-.fa-picture-o:before {
-  content: "\f03e";
-}
-.fa-pencil:before {
-  content: "\f040";
-}
-.fa-map-marker:before {
-  content: "\f041";
-}
-.fa-adjust:before {
-  content: "\f042";
-}
-.fa-tint:before {
-  content: "\f043";
-}
-.fa-edit:before,
-.fa-pencil-square-o:before {
-  content: "\f044";
-}
-.fa-share-square-o:before {
-  content: "\f045";
-}
-.fa-check-square-o:before {
-  content: "\f046";
-}
-.fa-arrows:before {
-  content: "\f047";
-}
-.fa-step-backward:before {
-  content: "\f048";
-}
-.fa-fast-backward:before {
-  content: "\f049";
-}
-.fa-backward:before {
-  content: "\f04a";
-}
-.fa-play:before {
-  content: "\f04b";
-}
-.fa-pause:before {
-  content: "\f04c";
-}
-.fa-stop:before {
-  content: "\f04d";
-}
-.fa-forward:before {
-  content: "\f04e";
-}
-.fa-fast-forward:before {
-  content: "\f050";
-}
-.fa-step-forward:before {
-  content: "\f051";
-}
-.fa-eject:before {
-  content: "\f052";
-}
-.fa-chevron-left:before {
-  content: "\f053";
-}
-.fa-chevron-right:before {
-  content: "\f054";
-}
-.fa-plus-circle:before {
-  content: "\f055";
-}
-.fa-minus-circle:before {
-  content: "\f056";
-}
-.fa-times-circle:before {
-  content: "\f057";
-}
-.fa-check-circle:before {
-  content: "\f058";
-}
-.fa-question-circle:before {
-  content: "\f059";
-}
-.fa-info-circle:before {
-  content: "\f05a";
-}
-.fa-crosshairs:before {
-  content: "\f05b";
-}
-.fa-times-circle-o:before {
-  content: "\f05c";
-}
-.fa-check-circle-o:before {
-  content: "\f05d";
-}
-.fa-ban:before {
-  content: "\f05e";
-}
-.fa-arrow-left:before {
-  content: "\f060";
-}
-.fa-arrow-right:before {
-  content: "\f061";
-}
-.fa-arrow-up:before {
-  content: "\f062";
-}
-.fa-arrow-down:before {
-  content: "\f063";
-}
-.fa-mail-forward:before,
-.fa-share:before {
-  content: "\f064";
-}
-.fa-expand:before {
-  content: "\f065";
-}
-.fa-compress:before {
-  content: "\f066";
-}
-.fa-plus:before {
-  content: "\f067";
-}
-.fa-minus:before {
-  content: "\f068";
-}
-.fa-asterisk:before {
-  content: "\f069";
-}
-.fa-exclamation-circle:before {
-  content: "\f06a";
-}
-.fa-gift:before {
-  content: "\f06b";
-}
-.fa-leaf:before {
-  content: "\f06c";
-}
-.fa-fire:before {
-  content: "\f06d";
-}
-.fa-eye:before {
-  content: "\f06e";
-}
-.fa-eye-slash:before {
-  content: "\f070";
-}
-.fa-warning:before,
-.fa-exclamation-triangle:before {
-  content: "\f071";
-}
-.fa-plane:before {
-  content: "\f072";
-}
-.fa-calendar:before {
-  content: "\f073";
-}
-.fa-random:before {
-  content: "\f074";
-}
-.fa-comment:before {
-  content: "\f075";
-}
-.fa-magnet:before {
-  content: "\f076";
-}
-.fa-chevron-up:before {
-  content: "\f077";
-}
-.fa-chevron-down:before {
-  content: "\f078";
-}
-.fa-retweet:before {
-  content: "\f079";
-}
-.fa-shopping-cart:before {
-  content: "\f07a";
-}
-.fa-folder:before {
-  content: "\f07b";
-}
-.fa-folder-open:before {
-  content: "\f07c";
-}
-.fa-arrows-v:before {
-  content: "\f07d";
-}
-.fa-arrows-h:before {
-  content: "\f07e";
-}
-.fa-bar-chart-o:before {
-  content: "\f080";
-}
-.fa-twitter-square:before {
-  content: "\f081";
-}
-.fa-facebook-square:before {
-  content: "\f082";
-}
-.fa-camera-retro:before {
-  content: "\f083";
-}
-.fa-key:before {
-  content: "\f084";
-}
-.fa-gears:before,
-.fa-cogs:before {
-  content: "\f085";
-}
-.fa-comments:before {
-  content: "\f086";
-}
-.fa-thumbs-o-up:before {
-  content: "\f087";
-}
-.fa-thumbs-o-down:before {
-  content: "\f088";
-}
-.fa-star-half:before {
-  content: "\f089";
-}
-.fa-heart-o:before {
-  content: "\f08a";
-}
-.fa-sign-out:before {
-  content: "\f08b";
-}
-.fa-linkedin-square:before {
-  content: "\f08c";
-}
-.fa-thumb-tack:before {
-  content: "\f08d";
-}
-.fa-external-link:before {
-  content: "\f08e";
-}
-.fa-sign-in:before {
-  content: "\f090";
-}
-.fa-trophy:before {
-  content: "\f091";
-}
-.fa-github-square:before {
-  content: "\f092";
-}
-.fa-upload:before {
-  content: "\f093";
-}
-.fa-lemon-o:before {
-  content: "\f094";
-}
-.fa-phone:before {
-  content: "\f095";
-}
-.fa-square-o:before {
-  content: "\f096";
-}
-.fa-bookmark-o:before {
-  content: "\f097";
-}
-.fa-phone-square:before {
-  content: "\f098";
-}
-.fa-twitter:before {
-  content: "\f099";
-}
-.fa-facebook:before {
-  content: "\f09a";
-}
-.fa-github:before {
-  content: "\f09b";
-}
-.fa-unlock:before {
-  content: "\f09c";
-}
-.fa-credit-card:before {
-  content: "\f09d";
-}
-.fa-rss:before {
-  content: "\f09e";
-}
-.fa-hdd-o:before {
-  content: "\f0a0";
-}
-.fa-bullhorn:before {
-  content: "\f0a1";
-}
-.fa-bell:before {
-  content: "\f0f3";
-}
-.fa-certificate:before {
-  content: "\f0a3";
-}
-.fa-hand-o-right:before {
-  content: "\f0a4";
-}
-.fa-hand-o-left:before {
-  content: "\f0a5";
-}
-.fa-hand-o-up:before {
-  content: "\f0a6";
-}
-.fa-hand-o-down:before {
-  content: "\f0a7";
-}
-.fa-arrow-circle-left:before {
-  content: "\f0a8";
-}
-.fa-arrow-circle-right:before {
-  content: "\f0a9";
-}
-.fa-arrow-circle-up:before {
-  content: "\f0aa";
-}
-.fa-arrow-circle-down:before {
-  content: "\f0ab";
-}
-.fa-globe:before {
-  content: "\f0ac";
-}
-.fa-wrench:before {
-  content: "\f0ad";
-}
-.fa-tasks:before {
-  content: "\f0ae";
-}
-.fa-filter:before {
-  content: "\f0b0";
-}
-.fa-briefcase:before {
-  content: "\f0b1";
-}
-.fa-arrows-alt:before {
-  content: "\f0b2";
-}
-.fa-group:before,
-.fa-users:before {
-  content: "\f0c0";
-}
-.fa-chain:before,
-.fa-link:before {
-  content: "\f0c1";
-}
-.fa-cloud:before {
-  content: "\f0c2";
-}
-.fa-flask:before {
-  content: "\f0c3";
-}
-.fa-cut:before,
-.fa-scissors:before {
-  content: "\f0c4";
-}
-.fa-copy:before,
-.fa-files-o:before {
-  content: "\f0c5";
-}
-.fa-paperclip:before {
-  content: "\f0c6";
-}
-.fa-save:before,
-.fa-floppy-o:before {
-  content: "\f0c7";
-}
-.fa-square:before {
-  content: "\f0c8";
-}
-.fa-bars:before {
-  content: "\f0c9";
-}
-.fa-list-ul:before {
-  content: "\f0ca";
-}
-.fa-list-ol:before {
-  content: "\f0cb";
-}
-.fa-strikethrough:before {
-  content: "\f0cc";
-}
-.fa-underline:before {
-  content: "\f0cd";
-}
-.fa-table:before {
-  content: "\f0ce";
-}
-.fa-magic:before {
-  content: "\f0d0";
-}
-.fa-truck:before {
-  content: "\f0d1";
-}
-.fa-pinterest:before {
-  content: "\f0d2";
-}
-.fa-pinterest-square:before {
-  content: "\f0d3";
-}
-.fa-google-plus-square:before {
-  content: "\f0d4";
-}
-.fa-google-plus:before {
-  content: "\f0d5";
-}
-.fa-money:before {
-  content: "\f0d6";
-}
-.fa-caret-down:before {
-  content: "\f0d7";
-}
-.fa-caret-up:before {
-  content: "\f0d8";
-}
-.fa-caret-left:before {
-  content: "\f0d9";
-}
-.fa-caret-right:before {
-  content: "\f0da";
-}
-.fa-columns:before {
-  content: "\f0db";
-}
-.fa-unsorted:before,
-.fa-sort:before {
-  content: "\f0dc";
-}
-.fa-sort-down:before,
-.fa-sort-asc:before {
-  content: "\f0dd";
-}
-.fa-sort-up:before,
-.fa-sort-desc:before {
-  content: "\f0de";
-}
-.fa-envelope:before {
-  content: "\f0e0";
-}
-.fa-linkedin:before {
-  content: "\f0e1";
-}
-.fa-rotate-left:before,
-.fa-undo:before {
-  content: "\f0e2";
-}
-.fa-legal:before,
-.fa-gavel:before {
-  content: "\f0e3";
-}
-.fa-dashboard:before,
-.fa-tachometer:before {
-  content: "\f0e4";
-}
-.fa-comment-o:before {
-  content: "\f0e5";
-}
-.fa-comments-o:before {
-  content: "\f0e6";
-}
-.fa-flash:before,
-.fa-bolt:before {
-  content: "\f0e7";
-}
-.fa-sitemap:before {
-  content: "\f0e8";
-}
-.fa-umbrella:before {
-  content: "\f0e9";
-}
-.fa-paste:before,
-.fa-clipboard:before {
-  content: "\f0ea";
-}
-.fa-lightbulb-o:before {
-  content: "\f0eb";
-}
-.fa-exchange:before {
-  content: "\f0ec";
-}
-.fa-cloud-download:before {
-  content: "\f0ed";
-}
-.fa-cloud-upload:before {
-  content: "\f0ee";
-}
-.fa-user-md:before {
-  content: "\f0f0";
-}
-.fa-stethoscope:before {
-  content: "\f0f1";
-}
-.fa-suitcase:before {
-  content: "\f0f2";
-}
-.fa-bell-o:before {
-  content: "\f0a2";
-}
-.fa-coffee:before {
-  content: "\f0f4";
-}
-.fa-cutlery:before {
-  content: "\f0f5";
-}
-.fa-file-text-o:before {
-  content: "\f0f6";
-}
-.fa-building-o:before {
-  content: "\f0f7";
-}
-.fa-hospital-o:before {
-  content: "\f0f8";
-}
-.fa-ambulance:before {
-  content: "\f0f9";
-}
-.fa-medkit:before {
-  content: "\f0fa";
-}
-.fa-fighter-jet:before {
-  content: "\f0fb";
-}
-.fa-beer:before {
-  content: "\f0fc";
-}
-.fa-h-square:before {
-  content: "\f0fd";
-}
-.fa-plus-square:before {
-  content: "\f0fe";
-}
-.fa-angle-double-left:before {
-  content: "\f100";
-}
-.fa-angle-double-right:before {
-  content: "\f101";
-}
-.fa-angle-double-up:before {
-  content: "\f102";
-}
-.fa-angle-double-down:before {
-  content: "\f103";
-}
-.fa-angle-left:before {
-  content: "\f104";
-}
-.fa-angle-right:before {
-  content: "\f105";
-}
-.fa-angle-up:before {
-  content: "\f106";
-}
-.fa-angle-down:before {
-  content: "\f107";
-}
-.fa-desktop:before {
-  content: "\f108";
-}
-.fa-laptop:before {
-  content: "\f109";
-}
-.fa-tablet:before {
-  content: "\f10a";
-}
-.fa-mobile-phone:before,
-.fa-mobile:before {
-  content: "\f10b";
-}
-.fa-circle-o:before {
-  content: "\f10c";
-}
-.fa-quote-left:before {
-  content: "\f10d";
-}
-.fa-quote-right:before {
-  content: "\f10e";
-}
-.fa-spinner:before {
-  content: "\f110";
-}
-.fa-circle:before {
-  content: "\f111";
-}
-.fa-mail-reply:before,
-.fa-reply:before {
-  content: "\f112";
-}
-.fa-github-alt:before {
-  content: "\f113";
-}
-.fa-folder-o:before {
-  content: "\f114";
-}
-.fa-folder-open-o:before {
-  content: "\f115";
-}
-.fa-smile-o:before {
-  content: "\f118";
-}
-.fa-frown-o:before {
-  content: "\f119";
-}
-.fa-meh-o:before {
-  content: "\f11a";
-}
-.fa-gamepad:before {
-  content: "\f11b";
-}
-.fa-keyboard-o:before {
-  content: "\f11c";
-}
-.fa-flag-o:before {
-  content: "\f11d";
-}
-.fa-flag-checkered:before {
-  content: "\f11e";
-}
-.fa-terminal:before {
-  content: "\f120";
-}
-.fa-code:before {
-  content: "\f121";
-}
-.fa-reply-all:before {
-  content: "\f122";
-}
-.fa-mail-reply-all:before {
-  content: "\f122";
-}
-.fa-star-half-empty:before,
-.fa-star-half-full:before,
-.fa-star-half-o:before {
-  content: "\f123";
-}
-.fa-location-arrow:before {
-  content: "\f124";
-}
-.fa-crop:before {
-  content: "\f125";
-}
-.fa-code-fork:before {
-  content: "\f126";
-}
-.fa-unlink:before,
-.fa-chain-broken:before {
-  content: "\f127";
-}
-.fa-question:before {
-  content: "\f128";
-}
-.fa-info:before {
-  content: "\f129";
-}
-.fa-exclamation:before {
-  content: "\f12a";
-}
-.fa-superscript:before {
-  content: "\f12b";
-}
-.fa-subscript:before {
-  content: "\f12c";
-}
-.fa-eraser:before {
-  content: "\f12d";
-}
-.fa-puzzle-piece:before {
-  content: "\f12e";
-}
-.fa-microphone:before {
-  content: "\f130";
-}
-.fa-microphone-slash:before {
-  content: "\f131";
-}
-.fa-shield:before {
-  content: "\f132";
-}
-.fa-calendar-o:before {
-  content: "\f133";
-}
-.fa-fire-extinguisher:before {
-  content: "\f134";
-}
-.fa-rocket:before {
-  content: "\f135";
-}
-.fa-maxcdn:before {
-  content: "\f136";
-}
-.fa-chevron-circle-left:before {
-  content: "\f137";
-}
-.fa-chevron-circle-right:before {
-  content: "\f138";
-}
-.fa-chevron-circle-up:before {
-  content: "\f139";
-}
-.fa-chevron-circle-down:before {
-  content: "\f13a";
-}
-.fa-html5:before {
-  content: "\f13b";
-}
-.fa-css3:before {
-  content: "\f13c";
-}
-.fa-anchor:before {
-  content: "\f13d";
-}
-.fa-unlock-alt:before {
-  content: "\f13e";
-}
-.fa-bullseye:before {
-  content: "\f140";
-}
-.fa-ellipsis-h:before {
-  content: "\f141";
-}
-.fa-ellipsis-v:before {
-  content: "\f142";
-}
-.fa-rss-square:before {
-  content: "\f143";
-}
-.fa-play-circle:before {
-  content: "\f144";
-}
-.fa-ticket:before {
-  content: "\f145";
-}
-.fa-minus-square:before {
-  content: "\f146";
-}
-.fa-minus-square-o:before {
-  content: "\f147";
-}
-.fa-level-up:before {
-  content: "\f148";
-}
-.fa-level-down:before {
-  content: "\f149";
-}
-.fa-check-square:before {
-  content: "\f14a";
-}
-.fa-pencil-square:before {
-  content: "\f14b";
-}
-.fa-external-link-square:before {
-  content: "\f14c";
-}
-.fa-share-square:before {
-  content: "\f14d";
-}
-.fa-compass:before {
-  content: "\f14e";
-}
-.fa-toggle-down:before,
-.fa-caret-square-o-down:before {
-  content: "\f150";
-}
-.fa-toggle-up:before,
-.fa-caret-square-o-up:before {
-  content: "\f151";
-}
-.fa-toggle-right:before,
-.fa-caret-square-o-right:before {
-  content: "\f152";
-}
-.fa-euro:before,
-.fa-eur:before {
-  content: "\f153";
-}
-.fa-gbp:before {
-  content: "\f154";
-}
-.fa-dollar:before,
-.fa-usd:before {
-  content: "\f155";
-}
-.fa-rupee:before,
-.fa-inr:before {
-  content: "\f156";
-}
-.fa-cny:before,
-.fa-rmb:before,
-.fa-yen:before,
-.fa-jpy:before {
-  content: "\f157";
-}
-.fa-ruble:before,
-.fa-rouble:before,
-.fa-rub:before {
-  content: "\f158";
-}
-.fa-won:before,
-.fa-krw:before {
-  content: "\f159";
-}
-.fa-bitcoin:before,
-.fa-btc:before {
-  content: "\f15a";
-}
-.fa-file:before {
-  content: "\f15b";
-}
-.fa-file-text:before {
-  content: "\f15c";
-}
-.fa-sort-alpha-asc:before {
-  content: "\f15d";
-}
-.fa-sort-alpha-desc:before {
-  content: "\f15e";
-}
-.fa-sort-amount-asc:before {
-  content: "\f160";
-}
-.fa-sort-amount-desc:before {
-  content: "\f161";
-}
-.fa-sort-numeric-asc:before {
-  content: "\f162";
-}
-.fa-sort-numeric-desc:before {
-  content: "\f163";
-}
-.fa-thumbs-up:before {
-  content: "\f164";
-}
-.fa-thumbs-down:before {
-  content: "\f165";
-}
-.fa-youtube-square:before {
-  content: "\f166";
-}
-.fa-youtube:before {
-  content: "\f167";
-}
-.fa-xing:before {
-  content: "\f168";
-}
-.fa-xing-square:before {
-  content: "\f169";
-}
-.fa-youtube-play:before {
-  content: "\f16a";
-}
-.fa-dropbox:before {
-  content: "\f16b";
-}
-.fa-stack-overflow:before {
-  content: "\f16c";
-}
-.fa-instagram:before {
-  content: "\f16d";
-}
-.fa-flickr:before {
-  content: "\f16e";
-}
-.fa-adn:before {
-  content: "\f170";
-}
-.fa-bitbucket:before {
-  content: "\f171";
-}
-.fa-bitbucket-square:before {
-  content: "\f172";
-}
-.fa-tumblr:before {
-  content: "\f173";
-}
-.fa-tumblr-square:before {
-  content: "\f174";
-}
-.fa-long-arrow-down:before {
-  content: "\f175";
-}
-.fa-long-arrow-up:before {
-  content: "\f176";
-}
-.fa-long-arrow-left:before {
-  content: "\f177";
-}
-.fa-long-arrow-right:before {
-  content: "\f178";
-}
-.fa-apple:before {
-  content: "\f179";
-}
-.fa-windows:before {
-  content: "\f17a";
-}
-.fa-android:before {
-  content: "\f17b";
-}
-.fa-linux:before {
-  content: "\f17c";
-}
-.fa-dribbble:before {
-  content: "\f17d";
-}
-.fa-skype:before {
-  content: "\f17e";
-}
-.fa-foursquare:before {
-  content: "\f180";
-}
-.fa-trello:before {
-  content: "\f181";
-}
-.fa-female:before {
-  content: "\f182";
-}
-.fa-male:before {
-  content: "\f183";
-}
-.fa-gittip:before {
-  content: "\f184";
-}
-.fa-sun-o:before {
-  content: "\f185";
-}
-.fa-moon-o:before {
-  content: "\f186";
-}
-.fa-archive:before {
-  content: "\f187";
-}
-.fa-bug:before {
-  content: "\f188";
-}
-.fa-vk:before {
-  content: "\f189";
-}
-.fa-weibo:before {
-  content: "\f18a";
-}
-.fa-renren:before {
-  content: "\f18b";
-}
-.fa-pagelines:before {
-  content: "\f18c";
-}
-.fa-stack-exchange:before {
-  content: "\f18d";
-}
-.fa-arrow-circle-o-right:before {
-  content: "\f18e";
-}
-.fa-arrow-circle-o-left:before {
-  content: "\f190";
-}
-.fa-toggle-left:before,
-.fa-caret-square-o-left:before {
-  content: "\f191";
-}
-.fa-dot-circle-o:before {
-  content: "\f192";
-}
-.fa-wheelchair:before {
-  content: "\f193";
-}
-.fa-vimeo-square:before {
-  content: "\f194";
-}
-.fa-turkish-lira:before,
-.fa-try:before {
-  content: "\f195";
-}
-.fa-plus-square-o:before {
-  content: "\f196";
-}
diff --git a/static/rest_framework/css/prettify.css b/static/rest_framework/css/prettify.css
deleted file mode 100644
index d437aff6..00000000
--- a/static/rest_framework/css/prettify.css
+++ /dev/null
@@ -1,30 +0,0 @@
-.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;
-  background-color: #f7f7f9;
-  border: 1px solid #e1e1e8;
-}
-.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;
-}
\ No newline at end of file
diff --git a/static/rest_framework/docs/css/base.css b/static/rest_framework/docs/css/base.css
deleted file mode 100644
index b81fdef5..00000000
--- a/static/rest_framework/docs/css/base.css
+++ /dev/null
@@ -1,352 +0,0 @@
-h1 {
-    font-size: 45px;
-}
-
-.intro-code {
-    margin-top: 20px;
-}
-
-pre.highlight code * {
-  white-space: nowrap;    // this sets all children inside to nowrap
-}
-
-pre.highlight {
-  overflow-x: auto;       // this sets the scrolling in x
-}
-
-pre.highlight code {
-  white-space: pre;       // forces <code> to respect <pre> formatting
-}
-
-.main-container {
-  padding-left: 30px;
-  padding-right: 30px;
-}
-
-.btn:focus,
-.btn:focus:active {
-  outline: none;
-}
-
-.sidebar {
-  overflow: auto;
-  font-family: verdana;
-  font-size: 12px;
-  font-weight: 200;
-  background-color: #2e353d;
-  position: fixed;
-  top: 0px;
-  width: 225px;
-  height: 100%;
-  color: #FFF;
-}
-
-.sidebar .brand {
-    background-color: #23282e;
-    display: block;
-    text-align: center;
-    padding: 25px 0;
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-.sidebar .brand a {
-    color: #FFF;
-}
-
-.sidebar .brand a:hover,
-.sidebar .brand a:active,
-.sidebar .brand a:focus {
-  text-decoration: none;
-}
-
-.sidebar .toggle-btn {
-  display: none;
-}
-
-.sidebar .menu-list {
-  width: inherit;
-}
-
-.sidebar .menu-list ul,
-.sidebar .menu-list li {
-  background: #2e353d;
-  list-style: none;
-  padding: 0px;
-  margin: 0px;
-  line-height: 35px;
-  cursor: pointer;
-}
-
-.sidebar .menu-list ul :not(collapsed) .arrow:before,
-.sidebar .menu-list li :not(collapsed) .arrow:before {
-  font-family: FontAwesome;
-  content: "\f078";
-  display: inline-block;
-  padding-left: 10px;
-  padding-right: 10px;
-  vertical-align: middle;
-  float: right;
-}
-
-.sidebar .menu-list ul .active,
-.sidebar .menu-list li .active {
-  border-left: 3px solid #d19b3d;
-  background-color: #4f5b69;
-}
-
-.sidebar .menu-list ul .sub-menu li.active,
-.sidebar .menu-list li .sub-menu li.active {
-  color: #d19b3d;
-}
-
-.sidebar .menu-list ul .sub-menu li.active a,
-.sidebar .menu-list li .sub-menu li.active a {
-  color: #d19b3d;
-}
-
-.sidebar .menu-list ul .sub-menu li,
-.sidebar .menu-list li .sub-menu li {
-  background-color: #181c20;
-  border: none;
-  border-bottom: 1px solid #23282e;
-  margin-left: 0px;
-  text-indent: 10px;
-}
-
-.sidebar .menu-list ul .sub-menu li:hover,
-.sidebar .menu-list li .sub-menu li:hover {
-  background-color: #020203;
-}
-
-
-.sidebar .menu-list ul .sub-menu li a,
-.sidebar .menu-list li .sub-menu li a {
-  display: block;
-}
-
-.sidebar .menu-list ul .sub-menu li a:before,
-.sidebar .menu-list li .sub-menu li a:before {
-  font-family: FontAwesome;
-  content: "\f105";
-  display: inline-block;
-  padding-left: 10px;
-  padding-right: 10px;
-  vertical-align: middle;
-}
-
-.sidebar .menu-list li {
-  padding-left: 0px;
-  border-left: 3px solid #2e353d;
-  border-bottom: 1px solid #23282e;
-}
-
-.sidebar .menu-list li a {
-  text-decoration: none;
-  color: white;
-}
-
-.sidebar .menu-list li a i {
-  padding-left: 10px;
-  width: 20px;
-  padding-right: 20px;
-}
-
-.sidebar .menu-list li:hover {
-  border-left: 3px solid #d19b3d;
-  background-color: #4f5b69;
-  -webkit-transition: all 1s ease;
-  -moz-transition: all 1s ease;
-  -o-transition: all 1s ease;
-  -ms-transition: all 1s ease;
-  transition: all 1s ease;
-}
-
-.sidebar #menu-content {
-  padding-bottom: 70px;
-}
-
-body {
-  margin: 0px;
-  padding: 0px;
-}
-
-.coredocs-section-title {
-    margin-top: 20px;
-    padding-bottom: 10px;
-    border-bottom: 1px solid lightgrey;
-}
-
-.coredocs-link-title a,
-.coredocs-section-title a {
-  display: none;
-}
-
-.coredocs-link-title a,
-.coredocs-section-title a {
-  text-decoration: none;
-}
-
-.coredocs-link-title:hover a,
-.coredocs-section-title:hover a {
-  display: inline;
-  font-size: 20px;
-}
-
-.coredocs-section-title:last-child {
-    margin-top: 0;
-}
-
-
-/* @group Language Switcher */
-
-.sidebar .menu-list.menu-list-bottom {
-    margin-bottom: 0;
-    position: fixed;
-    width: inherit;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    border-top: 1px solid #23282e;
-}
-
-.sidebar .menu-list-bottom li span {
-  float: right;
-  margin-right: 20px;
-  color: #d19b3d;
-}
-
-/* @end Language Switcher */
-
-
-/* @group Docs Content */
-
-.docs-content .meta .label {
-    vertical-align: middle;
-    font-size: 14px;
-    font-weight: normal;
-}
-
-.docs-content .meta code {
-    vertical-align: middle;
-    padding: .2em .6em .3em;
-    font-size: 14px;
-}
-
-.docs-content .btn {
-  font-size: inherit;
-}
-
-.code-samples pre {
-  margin-top: 20px;
-}
-
-/* @end Docs Content */
-
-
-@media (max-width: 767px) {
-  .main-container {
-    padding-left: 15px;
-    padding-right: 15px;
-  }
-
-  .sidebar {
-    position: relative;
-    width: 100%;
-    margin-bottom: 10px;
-    overflow: visible;
-  }
-
-  .sidebar .toggle-btn {
-    display: block;
-    cursor: pointer;
-    position: absolute;
-    right: 10px;
-    top: 10px;
-    z-index: 10 !important;
-    padding: 3px;
-    width: 40px;
-    text-align: center;
-  }
-
-  .sidebar .menu-list.menu-list-bottom {
-    position: static;
-  }
-
-  .sidebar .brand {
-    margin-top: 0;
-    margin-bottom: 0;
-
-    text-align: left !important;
-    font-size: 22px;
-    padding: 0;
-    padding-left: 20px;
-    line-height: 50px !important;
-  }
-}
-
-@media (min-width: 767px) {
-  .sidebar .menu-list .menu-content {
-    display: block;
-  }
-  #main {
-    width:calc(100% - 225px);
-    float: right;
-  }
-}
-
-@media (min-width: 992px) {
-  .modal-lg {
-      width: 980px;
-  }
-}
-
-.api-modal .modal-title .fa {
-  color: #93c54b;
-}
-
-.api-modal .modal-body .request-awaiting {
-  padding: 35px 10px;
-  color: #7F8177;
-  text-align: center;
-}
-
-.api-modal .modal-body .meta {
-  margin-bottom: 20px;
-}
-
-.api-modal .modal-body .meta .label {
-    vertical-align: middle;
-    font-size: 14px;
-    font-weight: normal;
-}
-
-.api-modal .modal-body .meta code {
-    vertical-align: middle;
-    padding: .2em .6em .3em;
-    font-size: 14px;
-}
-
-.api-modal .modal-content .toggle-view {
-  text-align: right;
-  float: right;
-}
-
-.api-modal .modal-content .response .well {
-  margin: 0;
-  max-height: 550px;
-}
-
-.highlight {
-    background-color: #f7f7f9
-}
-
-.checkbox label.control-label {
-    font-weight: bold
-}
-
-@media (min-width: 768px) {
-    .navbar-nav.navbar-right:last-child {
-        margin-right: 0 !important;
-    }
-}
diff --git a/static/rest_framework/docs/css/highlight.css b/static/rest_framework/docs/css/highlight.css
deleted file mode 100644
index 03754534..00000000
--- a/static/rest_framework/docs/css/highlight.css
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-This is the GitHub theme for highlight.js
-
-github.com style (c) Vasily Polovnyov <vast@whiteants.net>
-
-*/
-
-.hljs {
-  display: block;
-  overflow-x: auto;
-  padding: 0.5em;
-  color: #333;
-  -webkit-text-size-adjust: none;
-}
-
-.hljs-comment,
-.diff .hljs-header,
-.hljs-javadoc {
-  color: #998;
-  font-style: italic;
-}
-
-.hljs-keyword,
-.css .rule .hljs-keyword,
-.hljs-winutils,
-.nginx .hljs-title,
-.hljs-subst,
-.hljs-request,
-.hljs-status {
-  color: #333;
-  font-weight: bold;
-}
-
-.hljs-number,
-.hljs-hexcolor,
-.ruby .hljs-constant {
-  color: #008080;
-}
-
-.hljs-string,
-.hljs-tag .hljs-value,
-.hljs-phpdoc,
-.hljs-dartdoc,
-.tex .hljs-formula {
-  color: #d14;
-}
-
-.hljs-title,
-.hljs-id,
-.scss .hljs-preprocessor {
-  color: #900;
-  font-weight: bold;
-}
-
-.hljs-list .hljs-keyword,
-.hljs-subst {
-  font-weight: normal;
-}
-
-.hljs-class .hljs-title,
-.hljs-type,
-.vhdl .hljs-literal,
-.tex .hljs-command {
-  color: #458;
-  font-weight: bold;
-}
-
-.hljs-tag,
-.hljs-tag .hljs-title,
-.hljs-rule .hljs-property,
-.django .hljs-tag .hljs-keyword {
-  color: #000080;
-  font-weight: normal;
-}
-
-.hljs-attribute,
-.hljs-variable,
-.lisp .hljs-body,
-.hljs-name {
-  color: #008080;
-}
-
-.hljs-regexp {
-  color: #009926;
-}
-
-.hljs-symbol,
-.ruby .hljs-symbol .hljs-string,
-.lisp .hljs-keyword,
-.clojure .hljs-keyword,
-.scheme .hljs-keyword,
-.tex .hljs-special,
-.hljs-prompt {
-  color: #990073;
-}
-
-.hljs-built_in {
-  color: #0086b3;
-}
-
-.hljs-preprocessor,
-.hljs-pragma,
-.hljs-pi,
-.hljs-doctype,
-.hljs-shebang,
-.hljs-cdata {
-  color: #999;
-  font-weight: bold;
-}
-
-.hljs-deletion {
-  background: #fdd;
-}
-
-.hljs-addition {
-  background: #dfd;
-}
-
-.diff .hljs-change {
-  background: #0086b3;
-}
-
-.hljs-chunk {
-  color: #aaa;
-}
diff --git a/static/rest_framework/docs/css/jquery.json-view.min.css b/static/rest_framework/docs/css/jquery.json-view.min.css
deleted file mode 100644
index a0756813..00000000
--- a/static/rest_framework/docs/css/jquery.json-view.min.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.json-view{position:relative}
-.json-view .collapser{width:20px;height:18px;display:block;position:absolute;left:-1.7em;top:-.2em;z-index:5;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAD1JREFUeNpiYGBgOADE%2F3Hgw0DM4IRHgSsDFOzFInmMAQnY49ONzZRjDFiADT7dMLALiE8y4AGW6LoBAgwAuIkf%2F%2FB7O9sAAAAASUVORK5CYII%3D);background-repeat:no-repeat;background-position:center center;opacity:.5;cursor:pointer}
-.json-view .collapsed{-ms-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-khtml-transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg)}
-.json-view .bl{display:block;padding-left:20px;margin-left:-20px;position:relative}
-.json-view{font-family:monospace}
-.json-view ul{list-style-type:none;padding-left:2em;border-left:1px dotted;margin:.3em}
-.json-view ul li{position:relative}
-.json-view .comments,.json-view .dots{display:none;-moz-user-select:none;-ms-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}
-.json-view .comments{padding-left:.8em;font-style:italic;color:#888}
-.json-view .bool,.json-view .null,.json-view .num,.json-view .undef{font-weight:700;color:#1A01CC}
-.json-view .str{color:#800}
\ No newline at end of file
diff --git a/static/rest_framework/docs/img/favicon.ico b/static/rest_framework/docs/img/favicon.ico
deleted file mode 100644
index 17b2c5d983c9b13b29af3fa0f30bc0c6dc1ae44c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5430
zcmeHK+fBnj5L_b)NC%i7L>b{Tq7gda6KH@s=z@<F!bb`*vqlpgqdV?$J{t>SX*1r(
z%x>(<>0;K|g>5#5tG9<svm3wbzx+4EUlF^7>m?rU#!s^?;(86k(5=-l>lN%BcKy?g
z$nRl8h3#F}c`5ypTuDt#pS%$Lo)*r=7*TUE{jesMcdf97+Qd_GG5wGq%df4!&WQPZ
z{rUTduD@XZ)cX5C%^l3qb=1c7r+t_7eF;o4-)DN*7RG(%dEA>22(Bf+)4A7r_w?F#
zgQfK1R?DBlL*GXjf4ff;wRX@t1bWn+3%%ElGcVkm-{}zaA7k`Ok<Y8No^{GopLIEG
z#cQRLo0oa*r#|a)*ovn*^i#;Wm{*^1MXk&E%BMdUkGiF(^VITM>9p$4c~Zze%&X71
zqSobn<<p;wN8M7?d1`sBbXxW2JSk)!=GA9hQR{NP^6AgTqi!kcJhi-5I{&FZo>}$z
wPoFpZ+Oywy{-xfD7@oiGD`q&JyTSE2c&;nKZ|Bd_b#t!!TmRv(W`6bh1hJ*gHvj+t

diff --git a/static/rest_framework/docs/img/grid.png b/static/rest_framework/docs/img/grid.png
deleted file mode 100644
index 878c3ed5c196539c4e2da35b7787ab08e98b9cca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1458
zcmeAS@N?(olHy`uVBq!ia0vp^Q49=>MjUKFR#nCEMj*vm;1OBOz`!jG!i)^F=12fl
z<Yk6LltlRYSS9D@>LsS+C#C9D<Q4!`GcedxSOJ;2sU?XD6}dTi#a0!zN?;XMKsHEN
zUr7P1q$Jx`DZ)2E!8yMuRl!8hM9)CUj!Qv7!KNrB%__*n4XPc;vsKC{DJihh*Do(G
z*DE*H%P&gTH?*|0)Hg8FH!{)%s?aU2%qvN((9J7Wh8O}f$0fBmxhS)sBr`ux0c37s
zQhsTPt&$SRA~=A!GbI^rPeEx>4%n8IWc}2f)ZEm(l45;BJwtuC;Xu7MDalsFrAb+-
z$t7TS!;J%bz$r0ZA4%9oA5*oBKFCE#E`)d=EDH3$9hZ$hJS^?Fp4#&|GB7Z|@^o<w
zshIQj?!hAIPyvUFa?Fj39{jf#F>^SSJTd6tq0S!DeK!2h*Tl*`P5Yzc8-3Bx*#7*P
z_lIZyDoaaS`}OwX=Dx>2?#<D!t}0>BS1xgR(Q!d=p|X>EOCN`<pp_D;faS3^)x^U>
zXA4VQu*xH8*v`wH|7Kg_&!-n1cjuav&3^o%1B-!38l2qsw5vX{)ww9+?vCFTf>ud~
zg*GO3KC`e=!r@T3xzf`*c)d-IUlfFk;PBjy4K6tmi!A&4@cAEP$Px9s?lqTci7~T+
z-}^{4afY_30{uixxSHt*N>9t^Tda&0H5mQ_1`yCs#p`NH*8Km)_~-KFoNo=!_8c#s
zWAa>N-HQ`bo%5fbxey)esBZQ2{nIXNu`Os-bmok|{*PU&?;Wq;K7ViC-rR_~+KOL=
zH4)jidxUns0>)Izao*FaI~PF{%uT~Dk@j=8|5Dta{K8wv>d|%Hcb{Lgz3+r2sU6kg
zmTAw9&-`i8w14I8wx>P5N6NF;+MlVs*O$JfT6WJou)_P>@A@uXTleG5F;Ur%rwkr}
z9Cy=jOL!Yh{`u60)j+55f37_IN$UUe9sghL7uuB@5hwlYz5Q2<eUaI<M$aqHK~nO&
zd#*7TCu+Cfdu3gE{6aLV)#<*4`koNEdG7b0o4u@l1WB4e6WeE2zU<9?{$YA;>Eoi?
z8|G~6tcc3~n|batFcfpX-rfHA^NYK3=QY>WxaPaUGs?d6cXxkJIsW|O^e4z^d}6ZQ
z{XhH5lWzwfnEw0KbC6*c*P{6UH^(HL+Z_Lz)%(e&^e>X(pJ#64-W$DObB_40RoL^?
hufEOi_HxMn<eq$PhVnkSKkA@T)zj6_Wt~$(69B@oPZ9tC

diff --git a/static/rest_framework/docs/js/api.js b/static/rest_framework/docs/js/api.js
deleted file mode 100644
index e6120cd8..00000000
--- a/static/rest_framework/docs/js/api.js
+++ /dev/null
@@ -1,321 +0,0 @@
-var responseDisplay = 'data'
-var coreapi = window.coreapi
-var schema = window.schema
-
-function normalizeKeys (arr) {
-  var _normarr = [];
-  for (var i = 0; i < arr.length; i++) {
-    _normarr = _normarr.concat(arr[i].split(' > '));
-  }
-  return _normarr;
-}
-
-function normalizeHTTPHeader (str) {
-  // Capitalize HTTP headers for display.
-  return (str.charAt(0).toUpperCase() + str.substring(1))
-    .replace(/-(.)/g, function ($1) {
-      return $1.toUpperCase()
-    })
-    .replace(/(Www)/g, function ($1) {
-      return 'WWW'
-    })
-    .replace(/(Xss)/g, function ($1) {
-      return 'XSS'
-    })
-    .replace(/(Md5)/g, function ($1) {
-      return 'MD5'
-    })
-}
-
-function formEntries (form) {
-  // Polyfill for new FormData(form).entries()
-  var formData = new FormData(form)
-  if (formData.entries !== undefined) {
-    return Array.from(formData.entries())
-  }
-
-  var entries = []
-
-  for (var i = 0; i < form.elements.length; i++) {
-    var element = form.elements[i]
-
-    if (!element.name) {
-      continue
-    }
-
-    if (element.type === 'file') {
-      for (var j = 0; j < element.files.length; j++) {
-        entries.push([element.name, element.files[j]])
-      }
-    } else if (element.type === 'select-multiple' || element.type === 'select-one') {
-      for (var j = 0; j < element.selectedOptions.length; j++) {
-        entries.push([element.name, element.selectedOptions[j].value])
-      }
-    } else if (element.type === 'checkbox') {
-      if (element.checked) {
-        entries.push([element.name, element.value])
-      }
-    } else {
-      entries.push([element.name, element.value])
-    }
-  }
-
-  return entries
-}
-
-$(function () {
-  var $selectedAuthentication = $('#selected-authentication')
-  var $authControl = $('#auth-control')
-  var $authTokenModal = $('#auth_token_modal')
-  var $authBasicModal = $('#auth_basic_modal')
-  var $authSessionModal = $('#auth_session_modal')
-
-  // Language Control
-  $('#language-control li').click(function (event) {
-    event.preventDefault()
-    var $languageMenuItem = $(this).find('a')
-    var $languageControls = $(this).closest('ul').find('li')
-    var $languageControlLinks = $languageControls.find('a')
-    var language = $languageMenuItem.data('language')
-
-    $languageControlLinks.not('[data-language="' + language + '"]').parent().removeClass('active')
-    $languageControlLinks.filter('[data-language="' + language + '"]').parent().addClass('active')
-
-    $('#selected-language').text(language)
-
-    var $codeBlocks = $('pre.highlight')
-    $codeBlocks.not('[data-language="' + language + '"]').addClass('hide')
-    $codeBlocks.filter('[data-language="' + language + '"]').removeClass('hide')
-  })
-
-  // API Explorer
-  $('form.api-interaction').submit(function (event) {
-    event.preventDefault()
-
-    var $form = $(this).closest('form')
-    var $requestMethod = $form.find('.request-method')
-    var $requestUrl = $form.find('.request-url')
-    var $toggleView = $form.closest('.modal-content').find('.toggle-view')
-    var $responseStatusCode = $form.find('.response-status-code')
-    var $meta = $form.find('.meta')
-    var $responseRawResponse = $form.find('.response-raw-response')
-    var $requestAwaiting = $form.find('.request-awaiting')
-    var $responseRaw = $form.find('.response-raw')
-    var $responseData = $form.find('.response-data')
-    var key = normalizeKeys($form.data('key'))
-    var params = {}
-    var entries = formEntries($form.get()[0])
-
-    for (var i = 0; i < entries.length; i++) {
-      var entry = entries[i]
-      var paramKey = entry[0]
-      var paramValue = entry[1]
-      var $elem = $form.find('[name="' + paramKey + '"]')
-      var dataType = $elem.data('type') || 'string'
-
-      if (dataType === 'integer' && paramValue) {
-        var value = parseInt(paramValue)
-        if (!isNaN(value)) {
-          params[paramKey] = value
-        }
-      } else if (dataType === 'number' && paramValue) {
-        var value = parseFloat(paramValue)
-        if (!isNaN(value)) {
-          params[paramKey] = value
-        }
-      } else if (dataType === 'boolean' && paramValue) {
-        var value = {
-          'true': true,
-          'false': false
-        }[paramValue.toLowerCase()]
-        if (value !== undefined) {
-          params[paramKey] = value
-        }
-      } else if (dataType === 'array' && paramValue) {
-        try {
-          params[paramKey] = JSON.parse(paramValue)
-        } catch (err) {
-          // Ignore malformed JSON
-        }
-      } else if (dataType === 'object' && paramValue) {
-        try {
-          params[paramKey] = JSON.parse(paramValue)
-        } catch (err) {
-          // Ignore malformed JSON
-        }
-      } else if (dataType === 'string' && paramValue) {
-        params[paramKey] = paramValue
-      }
-    }
-
-    $form.find(':checkbox').each(function (index) {
-      // Handle unselected checkboxes
-      var name = $(this).attr('name')
-      if (!params.hasOwnProperty(name)) {
-        params[name] = false
-      }
-    })
-
-    function requestCallback (request) {
-      // Fill in the "GET /foo/" display.
-      var parser = document.createElement('a')
-      parser.href = request.url
-      var method = request.options.method
-      var path = parser.pathname + parser.hash + parser.search
-
-      $requestMethod.text(method)
-      $requestUrl.text(path)
-    }
-
-    function responseCallback (response, responseText) {
-      // Display the 'Data'/'Raw' control.
-      $toggleView.removeClass('hide')
-
-      // Fill in the "200 OK" display.
-      $responseStatusCode.removeClass('label-success').removeClass('label-danger')
-      if (response.ok) {
-        $responseStatusCode.addClass('label-success')
-      } else {
-        $responseStatusCode.addClass('label-danger')
-      }
-      $responseStatusCode.text(response.status)
-      $meta.removeClass('hide')
-
-      // Fill in the Raw HTTP response display.
-      var panelText = 'HTTP/1.1 ' + response.status + ' ' + response.statusText + '\n'
-      response.headers.forEach(function (header, key) {
-        panelText += normalizeHTTPHeader(key) + ': ' + header + '\n'
-      })
-      if (responseText) {
-        panelText += '\n' + responseText
-      }
-      $responseRawResponse.text(panelText)
-    }
-
-    // Instantiate a client to make the outgoing request.
-    var options = {
-      requestCallback: requestCallback,
-      responseCallback: responseCallback
-    }
-
-    // Setup authentication options.
-    if (window.auth && window.auth.type === 'token') {
-      // Header authentication
-      options.auth = new coreapi.auth.TokenAuthentication({
-        scheme: window.auth.scheme,
-        token: window.auth.token
-      })
-    } else if (window.auth && window.auth.type === 'basic') {
-      // Basic authentication
-      options.auth = new coreapi.auth.BasicAuthentication({
-        username: window.auth.username,
-        password: window.auth.password
-      })
-    } else if (window.auth && window.auth.type === 'session') {
-      // Session authentication
-      options.auth = new coreapi.auth.SessionAuthentication({
-        csrfCookieName: 'csrftoken',
-        csrfHeaderName: 'X-CSRFToken'
-      })
-    }
-
-    var client = new coreapi.Client(options)
-    client.action(schema, key, params).then(function (data) {
-      var response = JSON.stringify(data, null, 2)
-      $requestAwaiting.addClass('hide')
-      $responseRaw.addClass('hide')
-      $responseData.addClass('hide').text('').jsonView(response)
-
-      if (responseDisplay === 'data') {
-        $responseData.removeClass('hide')
-      } else {
-        $responseRaw.removeClass('hide')
-      }
-    }).catch(function (error) {
-      var response = JSON.stringify(error.content, null, 2)
-      $requestAwaiting.addClass('hide')
-      $responseRaw.addClass('hide')
-      $responseData.addClass('hide').text('').jsonView(response)
-
-      if (responseDisplay === 'data') {
-        $responseData.removeClass('hide')
-      } else {
-        $responseRaw.removeClass('hide')
-      }
-    })
-  })
-
-  // 'Data'/'Raw' control
-  $('.toggle-view button').click(function () {
-    var $modalContent = $(this).closest('.modal-content')
-    var $modalResponseRaw = $modalContent.find('.response-raw')
-    var $modalResponseData = $modalContent.find('.response-data')
-
-    responseDisplay = $(this).data('display-toggle')
-
-    $(this).removeClass('btn-default').addClass('btn-info').siblings().removeClass('btn-info')
-
-    if (responseDisplay === 'raw') {
-      $modalResponseRaw.removeClass('hide')
-      $modalResponseData.addClass('hide')
-    } else {
-      $modalResponseData.removeClass('hide')
-      $modalResponseRaw.addClass('hide')
-    }
-  })
-
-  // Authentication: none
-  $authControl.find("[data-auth='none']").click(function (event) {
-    event.preventDefault()
-    window.auth = null
-    $selectedAuthentication.text('none')
-    $authControl.find("[data-auth]").closest('li').removeClass('active')
-    $authControl.find("[data-auth='none']").closest('li').addClass('active')
-  })
-
-  // Authentication: token
-  $('form.authentication-token-form').submit(function (event) {
-    event.preventDefault()
-    var $form = $(this).closest('form')
-    var scheme = $form.find('input#scheme').val()
-    var token = $form.find('input#token').val()
-    window.auth = {
-      'type': 'token',
-      'scheme': scheme,
-      'token': token
-    }
-    $selectedAuthentication.text('token')
-    $authControl.find("[data-auth]").closest('li').removeClass('active')
-    $authControl.find("[data-auth='token']").closest('li').addClass('active')
-    $authTokenModal.modal('hide')
-  })
-
-  // Authentication: basic
-  $('form.authentication-basic-form').submit(function (event) {
-    event.preventDefault()
-    var $form = $(this).closest('form')
-    var username = $form.find('input#username').val()
-    var password = $form.find('input#password').val()
-    window.auth = {
-      'type': 'basic',
-      'username': username,
-      'password': password
-    }
-    $selectedAuthentication.text('basic')
-    $authControl.find("[data-auth]").closest('li').removeClass('active')
-    $authControl.find("[data-auth='basic']").closest('li').addClass('active')
-    $authBasicModal.modal('hide')
-  })
-
-  // Authentication: session
-  $('form.authentication-session-form').submit(function (event) {
-    event.preventDefault()
-    window.auth = {
-      'type': 'session'
-    }
-    $selectedAuthentication.text('session')
-    $authControl.find("[data-auth]").closest('li').removeClass('active')
-    $authControl.find("[data-auth='session']").closest('li').addClass('active')
-    $authSessionModal.modal('hide')
-  })
-})
diff --git a/static/rest_framework/docs/js/highlight.pack.js b/static/rest_framework/docs/js/highlight.pack.js
deleted file mode 100644
index a5818dfb..00000000
--- a/static/rest_framework/docs/js/highlight.pack.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&amp;").replace(/</gm,"&lt;").replace(/>/gm,"&gt;")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){var n=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return n=n.map(function(e){return e.replace(/^lang(uage)?-/,"")}),n.filter(function(e){return N(e)||/no(-?)highlight|plain|text/.test(e)})[0]}function i(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function o(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function u(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset<r[0].offset?e:r:"start"==r[0].event?e:r:e.length?e:r}function o(e){function r(e){return" "+e.nodeName+'="'+n(e.value)+'"'}l+="<"+t(e)+Array.prototype.map.call(e.attributes,r).join("")+">"}function u(e){l+="</"+t(e)+">"}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);f.reverse().forEach(o)}else"start"==g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function c(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,o){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),o&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&o.tE&&(a.tE+=(a.e?"|":"")+o.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(i(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,o);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function s(e,t,a,i){function o(e,n){for(var t=0;t<n.c.length;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function f(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=E.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function p(e,n,t,r){var a=r?"":x.classPrefix,i='<span class="'+a,o=t?"":"</span>";return i+=e+'">',i+n+o}function d(){if(!L.k)return n(y);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=p(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(y)}return e+n(y.substr(t))}function h(){if(L.sL&&!w[L.sL])return n(y);var e=L.sL?s(L.sL,y,!0,M[L.sL]):l(y);return L.r>0&&(B+=e.r),"continuous"==L.subLanguageMode&&(M[L.sL]=e.top),p(e.language,e.value,!1,!0)}function b(){return void 0!==L.sL?h():d()}function v(e,t){var r=e.cN?p(e.cN,"",!0):"";e.rB?(k+=r,y=""):e.eB?(k+=n(t)+r,y=""):(k+=r,y=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(y+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(y+=t),k+=b();do L.cN&&(k+="</span>"),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),y="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(f(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"<unnamed>")+'"');return y+=t,t.length||1}var E=N(e);if(!E)throw new Error('Unknown language: "'+e+'"');c(E);var R,L=i||E,M={},k="";for(R=L;R!=E;R=R.parent)R.cN&&(k=p(R.cN,"",!0)+k);var y="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+="</span>");return{r:B,value:k,language:e,top:L}}catch(S){if(-1!=S.message.indexOf("Illegal"))return{r:0,value:n(t)};throw S}}function l(e,t){t=t||x.languages||Object.keys(w);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(N(n)){var t=s(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function f(e){return x.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,x.tabReplace)})),x.useBR&&(e=e.replace(/\n/g,"<br>")),e}function g(e,n,t){var r=n?E[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=a(e);if(!/no(-?)highlight|plain|text/.test(n)){var t;x.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ \/]*>/g,"\n")):t=e;var r=t.textContent,i=n?s(n,r,!0):l(r),c=o(t);if(c.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=i.value,i.value=u(c,o(p),r)}i.value=f(i.value),e.innerHTML=i.value,e.className=g(e.className,n,i.language),e.result={language:i.language,re:i.r},i.second_best&&(e.second_best={language:i.second_best.language,re:i.second_best.r})}}function d(e){x=i(x,e)}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function b(){addEventListener("DOMContentLoaded",h,!1),addEventListener("load",h,!1)}function v(n,t){var r=w[n]=t(e);r.aliases&&r.aliases.forEach(function(e){E[e]=n})}function m(){return Object.keys(w)}function N(e){return w[e]||w[E[e]]}var x={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},w={},E={};return e.highlight=s,e.highlightAuto=l,e.fixMarkup=f,e.highlightBlock=p,e.configure=d,e.initHighlighting=h,e.initHighlightingOnLoad=b,e.registerLanguage=v,e.listLanguages=m,e.getLanguage=N,e.inherit=i,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},i={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},o=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:i,l:o,i:"</",c:[t,e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:o,c:[e.UTM]},{cN:"variable",b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",e:/;/,eW:!0,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"pi",r:10,v:[{b:/^\s*('|")use strict('|")/},{b:/^\s*('|")use asm('|")/}]},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",b:"\\b(0[xXbBoO][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{bK:"import",e:"[;$]",k:"import from as",c:[e.ASM,e.QSM]},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]}]}});hljs.registerLanguage("scss",function(e){{var t="[a-zA-Z-][a-zA-Z0-9_-]*",i={cN:"variable",b:"(\\$"+t+")\\b"},r={cN:"function",b:t+"\\(",rB:!0,eE:!0,e:"\\("},o={cN:"hexcolor",b:"#[0-9A-Fa-f]+"};({cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[r,o,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"important",b:"!important"}]}})}return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,r,{cN:"id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{cN:"pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{cN:"pseudo",b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},i,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{cN:"value",b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{cN:"value",b:":",e:";",c:[r,i,o,e.CSSNM,e.QSM,e.ASM,{cN:"important",b:"!important"}]},{cN:"at_rule",b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[r,i,e.QSM,e.ASM,o,e.CSSNM,{cN:"preprocessor",b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("mel",function(e){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:"</",c:[e.CNM,e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE]},{cN:"variable",v:[{b:"\\$\\d"},{b:"[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)"},{b:"\\*(\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)",r:0}]},e.CLCM,e.CBCM]}});hljs.registerLanguage("d",function(e){var r={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"},t="(0|[1-9][\\d_]*)",a="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",i="0[bB][01_]+",n="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",c="0[xX]"+n,_="([eE][+-]?"+a+")",d="("+a+"(\\.\\d*|"+_+")|\\d+\\."+a+a+"|\\."+t+_+"?)",o="(0[xX]("+n+"\\."+n+"|\\.?"+n+")[pP][+-]?"+a+")",s="("+t+"|"+i+"|"+c+")",l="("+o+"|"+d+")",u="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};",b={cN:"number",b:"\\b"+s+"(L|u|U|Lu|LU|uL|UL)?",r:0},f={cN:"number",b:"\\b("+l+"([fF]|L|i|[fF]i|Li)?|"+s+"(i|[fF]i|Li))",r:0},g={cN:"string",b:"'("+u+"|.)",e:"'",i:"."},h={b:u,r:0},p={cN:"string",b:'"',c:[h],e:'"[cwd]?'},w={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5},N={cN:"string",b:"`",e:"`[cwd]?"},A={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10},F={cN:"string",b:'q"\\{',e:'\\}"'},m={cN:"shebang",b:"^#!",e:"$",r:5},y={cN:"preprocessor",b:"#(line)",e:"$",r:5},L={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"},v=e.C("\\/\\+","\\+\\/",{c:["self"],r:10});return{l:e.UIR,k:r,c:[e.CLCM,e.CBCM,v,A,p,w,N,F,f,b,g,m,y,L]}});hljs.registerLanguage("ruleslanguage",function(T){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[T.CLCM,T.CBCM,T.ASM,T.QSM,T.CNM,{cN:"array",b:"#[a-zA-Z .]+"}]}});hljs.registerLanguage("actionscript",function(e){var a="[a-zA-Z_$][a-zA-Z0-9_$]*",c="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",t={cN:"rest_arg",b:"[.]{3}",e:a,r:10};return{aliases:["as"],k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"package",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"preprocessor",bK:"import include",e:";"},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,t]},{cN:"type",b:":",e:c,r:10}]}]}});hljs.registerLanguage("coffeescript",function(e){var c={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"},n="[A-Za-z$_][0-9A-Za-z$_]*",t={cN:"subst",b:/#\{/,e:/}/,k:c},r=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,t]},{b:/"/,e:/"/,c:[e.BE,t]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[t,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+n},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];t.c=r;var i=e.inherit(e.TM,{b:n}),s="(\\(.*\\))?\\s*\\B[-=]>",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(r)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:r.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("tex",function(c){var e={cN:"command",b:"\\\\[a-zA-Zа-яА-я]+[\\*]?"},m={cN:"command",b:"\\\\[^a-zA-Zа-яА-я0-9]"},r={cN:"special",b:"[{}\\[\\]\\&#~]",r:0};return{c:[{b:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",rB:!0,c:[e,m,{cN:"number",b:" *=",e:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",eB:!0}],r:10},e,m,r,{cN:"formula",b:"\\$\\$",e:"\\$\\$",c:[e,m,r],r:0},{cN:"formula",b:"\\$",e:"\\$",c:[e,m,r],r:0},c.C("%","$",{r:0})]}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"</",c:[e.CLCM,e.CBCM,e.QSM,{cN:"string",b:"'",e:"[^\\\\]'"},{cN:"string",b:"`",e:"`"},{cN:"number",b:e.CNR+"[dflsi]?",r:0},e.CNM]}});hljs.registerLanguage("vbscript-html",function(s){return{sL:"xml",subLanguageMode:"continuous",c:[{b:"<%",e:"%>",sL:"vbscript"}]}});hljs.registerLanguage("haskell",function(e){var c=[e.C("--","$"),e.C("{-","-}",{c:["self"]})],a={cN:"pragma",b:"{-#",e:"#-}"},i={cN:"preprocessor",b:"^#",e:"$"},n={cN:"type",b:"\\b[A-Z][\\w']*",r:0},t={cN:"container",b:"\\(",e:"\\)",i:'"',c:[a,i,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"})].concat(c)},l={cN:"container",b:"{",e:"}",c:t.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{cN:"module",b:"\\bmodule\\b",e:"where",k:"module where",c:[t].concat(c),i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e:"$",k:"import|0 qualified as hiding",c:[t].concat(c),i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[n,t].concat(c)},{cN:"typedef",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[a,n,t,l].concat(c)},{cN:"default",bK:"default",e:"$",c:[n,t].concat(c)},{cN:"infix",bK:"infix infixl infixr",e:"$",c:[e.CNM].concat(c)},{cN:"foreign",b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[n,e.QSM].concat(c)},{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},a,i,e.QSM,e.CNM,n,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}].concat(c)}});hljs.registerLanguage("scilab",function(e){var n=[e.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[e.BE,{b:"''"}]}];return{aliases:["sci"],k:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function endfunction",e:"$",k:"function endfunction|10",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",r:0,c:n},e.C("//","$")].concat(n)}});hljs.registerLanguage("profile",function(e){return{c:[e.CNM,{cN:"built_in",b:"{",e:"}$",eB:!0,eE:!0,c:[e.ASM,e.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[e.UTM],r:0}]}});hljs.registerLanguage("thrift",function(e){var t="bool byte i16 i32 i64 double string binary";return{k:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:t,literal:"true false"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:"class",bK:"struct enum service exception",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:"\\b(set|list|map)\\s*<",e:">",k:t,c:["self"]}]}});hljs.registerLanguage("matlab",function(e){var a=[e.CNM,{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]}],s={r:0,c:[{cN:"operator",b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},s.c[0]]},{cN:"matrix",b:"\\[",e:"\\]",c:a,r:0,starts:s},{cN:"cell",b:"\\{",e:/}/,c:a,r:0,starts:s},{b:/\)/,r:0,starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(a)}});hljs.registerLanguage("vbscript",function(e){return{aliases:["vbs"],cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}});hljs.registerLanguage("capnproto",function(t){return{aliases:["capnp"],k:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},c:[t.QSM,t.NM,t.HCM,{cN:"shebang",b:/@0x[\w\d]{16};/,i:/\n/},{cN:"number",b:/@\d+\b/},{cN:"class",bK:"struct enum",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]},{cN:"class",bK:"interface",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]}]}});hljs.registerLanguage("xl",function(e){var t="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",o={keyword:"if then else do while until for loop import with is as where when by data constant",literal:"true false nil",type:"integer real text name boolean symbol infix prefix postfix block tree",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at",module:t,id:"text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons"},a={cN:"constant",b:"[A-Z][A-Z_0-9]+",r:0},r={cN:"variable",b:"([A-Z][a-z_0-9]+)+",r:0},i={cN:"id",b:"[a-z][a-z_0-9]+",r:0},l={cN:"string",b:'"',e:'"',i:"\\n"},n={cN:"string",b:"'",e:"'",i:"\\n"},s={cN:"string",b:"<<",e:">>"},c={cN:"number",b:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?",r:10},_={cN:"import",bK:"import",e:"$",k:{keyword:"import",module:t},r:0,c:[l]},d={cN:"function",b:"[a-z].*->"};return{aliases:["tao"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:o,c:[e.CLCM,e.CBCM,l,n,s,d,_,a,r,i,c,e.NM]}});hljs.registerLanguage("scala",function(e){var t={cN:"annotation",b:"@[A-Za-z]+"},a={cN:"string",b:'u?r?"""',e:'"""',r:10},r={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},c={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},i={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},l={cN:"class",bK:"class object trait type",e:/[:={\[(\n;]/,c:[{cN:"keyword",bK:"extends with",r:10},i]},n={cN:"function",bK:"def val",e:/[:={\[(\n;]/,c:[i]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,a,e.QSM,r,c,n,l,e.CNM,t]}});hljs.registerLanguage("elixir",function(e){var n="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",r="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",c={cN:"subst",b:"#\\{",e:"}",l:n,k:b},a={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},i={cN:"function",bK:"def defp defmacro",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},s=e.inherit(i,{cN:"class",bK:"defmodule defrecord",e:/\bdo\b|$|;/}),l=[a,e.HCM,s,i,{cN:"constant",b:"(\\b[A-Z_]\\w*(.)?)+",r:0},{cN:"symbol",b:":",c:[a,{b:r}],r:0},{cN:"symbol",b:n+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];return c.c=l,{l:n,k:b,c:l}});hljs.registerLanguage("sml",function(e){return{aliases:["ml"],k:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)"},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"tag",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"char",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"tag",b:"</?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("dockerfile",function(n){return{aliases:["docker"],cI:!0,k:{built_ins:"from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env"},c:[n.HCM,{k:{built_in:"run cmd entrypoint volume add copy workdir onbuild"},b:/^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir) +/,starts:{e:/[^\\]\n/,sL:"bash",subLanguageMode:"continuous"}},{k:{built_in:"from maintainer expose env user onbuild"},b:/^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,e:/[^\\]\n/,c:[n.ASM,n.QSM,n.NM,n.HCM]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|	)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"link_reference",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link_url",e:"$"}}]}]}});hljs.registerLanguage("haml",function(s){return{cI:!0,c:[{cN:"doctype",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},s.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"title",b:"\\w+"},{cN:"value",b:"[#\\.]\\w+"},{b:"{\\s*",e:"\\s*}",eE:!0,c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"symbol",b:":\\w+"},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attribute",b:"\\w+",r:0},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]}]},{cN:"bullet",b:"^\\s*[=~]\\s*",r:0},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("fortran",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated  c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{cI:!0,aliases:["f90","f95"],k:n,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("smali",function(r){var t=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],n=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],s=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],c:[{cN:"string",b:'"',e:'"',r:0},r.C("#","$",{r:0}),{cN:"keyword",b:"\\s*\\.end\\s[a-zA-Z0-9]*",r:1},{cN:"keyword",b:"^[ ]*\\.[a-zA-Z]*",r:0},{cN:"keyword",b:"\\s:[a-zA-Z_0-9]*",r:0},{cN:"keyword",b:"\\s("+s.join("|")+")",r:1},{cN:"keyword",b:"\\[",r:0},{cN:"instruction",b:"\\s("+t.join("|")+")\\s",r:1},{cN:"instruction",b:"\\s("+t.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",r:10},{cN:"instruction",b:"\\s("+n.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",r:10},{cN:"class",b:"L[^(;:\n]*;",r:0},{cN:"function",b:'( |->)[^(\n ;"]*\\(',r:0},{cN:"function",b:"\\)",r:0},{cN:"variable",b:"[vp][0-9]+",r:0}]}});hljs.registerLanguage("julia",function(r){var e={keyword:"in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export finally for function global if immutable import importall let local macro module quote return try type typealias using while",literal:"true false ANY ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e eu eulergamma golden im nothing pi γ π φ",built_in:"ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip"},t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",o={l:t,k:e},n={cN:"type-annotation",b:/::/},a={cN:"subtype",b:/<:/},i={cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},l={cN:"char",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},c={cN:"subst",b:/\$\(/,e:/\)/,k:e},u={cN:"variable",b:"\\$"+t},d={cN:"string",c:[r.BE,c,u],v:[{b:/\w*"/,e:/"\w*/},{b:/\w*"""/,e:/"""\w*/}]},g={cN:"string",c:[r.BE,c,u],b:"`",e:"`"},s={cN:"macrocall",b:"@"+t},S={cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]};return o.c=[i,l,n,a,d,g,s,S,r.HCM],c.c=o.c,o});hljs.registerLanguage("delphi",function(e){var r="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],i={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},c={cN:"string",b:/(#\d+)+/},o={b:e.IR+"\\s*=\\s*class\\s*\\(",rB:!0,c:[e.TM]},n={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[i,c]}].concat(t)};return{cI:!0,k:r,i:/"|\$[G-Zg-z]|\/\*|<\/|\|/,c:[i,c,e.NM,o,n].concat(t)}});hljs.registerLanguage("brainfuck",function(r){var n={cN:"literal",b:"[\\+\\-]",r:0};return{aliases:["bf"],c:[r.C("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{rE:!0,r:0}),{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:!0,c:[n]},n]}});hljs.registerLanguage("ini",function(e){return{cI:!0,i:/\S/,c:[e.C(";","$"),{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:!0,k:"on off true false yes no",c:[e.QSM,e.NM],r:0}]}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},r={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},o={cN:"string",b:/"/,e:/"/,c:[t,r,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",literal:"$null $true $false",built_in:"Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",operator:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[e.HCM,e.NM,o,a,r]}});hljs.registerLanguage("gradle",function(e){return{cI:!0,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}});hljs.registerLanguage("erb",function(e){return{sL:"xml",subLanguageMode:"continuous",c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}});hljs.registerLanguage("swift",function(e){var i={keyword:"class deinit enum extension func import init let protocol static struct subscript typealias var break case continue default do else fallthrough if in for return switch where while as dynamicType is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned safe unsafe weak willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList"},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},s={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0},o=e.inherit(e.QSM,{c:[r,e.BE]});return r.c=[s],{k:i,c:[o,e.CLCM,n,t,s,{cN:"func",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/,i:/\(/}),{cN:"generics",b:/</,e:/>/,i:/>/},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",s,o,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{cN:"preprocessor",b:"(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix)"}]}});hljs.registerLanguage("lisp",function(b){var e="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"shebang",b:"^#!",e:"$"},i={cN:"literal",b:"\\b(t{1}|nil)\\b"},l={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},t=b.inherit(b.QSM,{i:null}),d=b.C(";","$",{r:0}),n={cN:"variable",b:"\\*",e:"\\*"},u={cN:"keyword",b:"[:&]"+e},N={b:e,r:0},o={b:c},s={b:"\\(",e:"\\)",c:["self",i,t,l,N]},v={cN:"quoted",c:[l,t,n,u,s,N],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:"quote"},{b:"'"+c}]},f={cN:"quoted",v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},g={cN:"list",b:"\\(\\s*",e:"\\)"},q={eW:!0,r:0};return g.c=[{cN:"keyword",v:[{b:e},{b:c}]},q],q.c=[v,f,g,i,l,t,d,n,u,o,N],{i:/\S/,c:[l,a,i,t,d,v,f,g,N]}});hljs.registerLanguage("rsl",function(e){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:"</",c:[e.CLCM,e.CBCM,e.QSM,e.ASM,e.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"shader",bK:"surface displacement light volume imager",e:"\\("},{cN:"shading",bK:"illuminate illuminance gather",e:"\\("}]}});hljs.registerLanguage("scheme",function(e){var t="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+",r="(\\-|\\+)?\\d+([./]\\d+)?",i=r+"[+\\-]"+r+"i",a={built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci<? string-ci=? string-ci>=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string<? string=? string>=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},n={cN:"shebang",b:"^#!",e:"$"},c={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},l={cN:"number",v:[{b:r,r:0},{b:i,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},s=e.QSM,o=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],u={b:t,r:0},p={cN:"variable",b:"'"+t},d={eW:!0,r:0},g={cN:"list",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[{cN:"keyword",b:t,l:t,k:a},d]};return d.c=[c,l,s,u,p,g].concat(o),{i:/\S/,c:[n,l,s,p,g].concat(o)}});hljs.registerLanguage("stata",function(e){return{aliases:["do","ado"],cI:!0,k:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",c:[{cN:"label",v:[{b:"\\$\\{?[a-zA-Z0-9_]+\\}?"},{b:"`[a-zA-Z0-9_]+'"}]},{cN:"string",v:[{b:'`"[^\r\n]*?"\''},{b:'"[^\r\n"]*"'}]},{cN:"literal",v:[{b:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},e.C("^[ 	]*\\*.*$",!1),e.CLCM,e.CBCM]}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"header",b:"^(={1,5}) .+?( \\1)?$",r:10},{cN:"header",b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",r:10},{cN:"attribute",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"attribute",b:"^\\[.+?\\]$",r:0},{cN:"blockquote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"label",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"smartquote",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{cN:"horizontal_rule",b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link_url",b:"\\w",e:"[^\\[]+",r:0},{cN:"link_label",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("php",function(e){var c={cN:"variable",b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"preprocessor",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},i]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[e.BE]},i,c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}});hljs.registerLanguage("java",function(e){var a=e.UIR+"(<"+e.UIR+">)?",t="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",c="(\\b(0b[01_]+)|\\b0[xX][a-fA-F0-9_]+|(\\b[\\d_]+(\\.[\\d_]*)?|\\.[\\d_]+)([eE][-+]?\\d+)?)[lLfF]?",r={cN:"number",b:c,r:0};return{aliases:["jsp"],k:t,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return",r:0},{cN:"function",b:"("+a+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("glsl",function(e){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[e.CLCM,e.CBCM,e.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("protobuf",function(e){return{k:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},c:[e.QSM,e.NM,e.CLCM,{cN:"class",bK:"message enum service",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:"function",bK:"rpc",e:/;/,eE:!0,k:"rpc returns"},{cN:"constant",b:/^\s*[A-Z_]+/,e:/\s*=/,eE:!0}]}});hljs.registerLanguage("gcode",function(e){var N="[A-Z_][A-Z0-9_.]*",i="\\%",c={literal:"",built_in:"",keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"},r={cN:"preprocessor",b:"([O])([0-9]+)"},l=[e.CLCM,e.CBCM,e.C(/\(/,/\)/),e.inherit(e.CNM,{b:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+e.CNR}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"keyword",b:"([G])([0-9]+\\.?[0-9]?)"},{cN:"title",b:"([M])([0-9]+\\.?[0-9]?)"},{cN:"title",b:"(VC|VS|#)",e:"(\\d+)"},{cN:"title",b:"(VZOFX|VZOFY|VZOFZ)"},{cN:"built_in",b:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",e:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{cN:"label",v:[{b:"N",e:"\\d+",i:"\\W"}]}];return{aliases:["nc"],cI:!0,l:N,k:c,c:[{cN:"preprocessor",b:i},r].concat(l)}});hljs.registerLanguage("vim",function(e){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"},i:/[{:]/,c:[e.NM,e.ASM,{cN:"string",b:/"((\\")|[^"\n])*("|\n)/},{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",r:0,c:[e.TM,{cN:"params",b:"\\(",e:"\\)"}]}]}});hljs.registerLanguage("processing",function(e){return{k:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",constant:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",variable:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width",title:"setup draw",built_in:"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("mizar",function(e){return{k:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",c:[e.C("::","$")]}});hljs.registerLanguage("vbnet",function(e){return{aliases:["vb"],cI:!0,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C("'","$",{rB:!0,c:[{cN:"xmlDocTag",b:"'''|<!--|-->",c:[e.PWM]},{cN:"xmlDocTag",b:"</?",e:">",c:[e.PWM]}]}),e.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end region externalsource"}]}});hljs.registerLanguage("q",function(e){var s={keyword:"do while select delete by update from",constant:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",typename:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:s,l:/\b(`?)[A-Za-z0-9_]+\b/,c:[e.CLCM,e.QSM,e.CNM]}});hljs.registerLanguage("livescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},s="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",i=e.inherit(e.TM,{b:s}),n={cN:"subst",b:/#\{/,e:/}/,k:t},r={cN:"subst",b:/#[A-Za-z$_]/,e:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},c=[e.BNM,{cN:"number",b:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",r:0,starts:{e:"(\\s*/)?",r:0}},{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,n,r]},{b:/"/,e:/"/,c:[e.BE,n,r]},{b:/\\/,e:/(\s|$)/,eE:!0}]},{cN:"pi",v:[{b:"//",e:"//[gim]*",c:[n,e.HCM]},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+s},{b:"``",e:"``",eB:!0,eE:!0,sL:"javascript"}];n.c=c;var a={cN:"params",b:"\\(",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(c)}]};return{aliases:["ls"],k:t,i:/\/\*/,c:c.concat([e.C("\\/\\*","\\*\\/"),e.HCM,{cN:"function",c:[i,a],rB:!0,v:[{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",e:"\\->\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",e:"[-~]{1,2}>\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",e:"!?[-~]{1,2}>\\*?"}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:s+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("haxe",function(e){var r="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";return{aliases:["hx"],k:{keyword:"break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",literal:"true false null"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end error"},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM]},{cN:"type",b:":",e:r,r:10}]}]}});hljs.registerLanguage("monkey",function(e){var n={cN:"number",r:0,v:[{b:"[$][a-fA-F0-9]+"},e.NM]};return{cI:!0,k:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},c:[e.C("#rem","#end"),e.C("'","$",{r:0}),{cN:"function",bK:"function method",e:"[(=:]|$",i:/\n/,c:[e.UTM]},{cN:"class",bK:"class interface",e:"$",c:[{bK:"extends implements"},e.UTM]},{cN:"variable",b:"\\b(self|super)\\b"},{cN:"preprocessor",bK:"import",e:"$"},{cN:"preprocessor",b:"\\s*#",e:"$",k:"if else elseif endif end then"},{cN:"pi",b:"^\\s*strict\\b"},{bK:"alias",e:"=",c:[e.UTM]},e.QSM,n]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,s,a,t]}});hljs.registerLanguage("erlang",function(e){var r="[a-z'][a-zA-Z0-9_']*",c="("+r+":"+r+"|"+r+")",a={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},n=e.C("%","$"),i={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},b={b:"fun\\s+"+r+"/\\d+"},d={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{cN:"function_name",b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},o={cN:"tuple",b:"{",e:"}",r:0},t={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},l={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0},f={b:"#"+e.UIR,r:0,rB:!0,c:[{cN:"record_name",b:"#"+e.UIR,r:0},{b:"{",e:"}",r:0}]},s={bK:"fun receive if try case",e:"end",k:a};s.c=[n,b,e.inherit(e.ASM,{cN:""}),s,d,e.QSM,i,o,t,l,f];var u=[n,b,s,d,e.QSM,i,o,t,l,f];d.c[1].c=u,o.c=u,f.c[1].c=u;var v={cN:"params",b:"\\(",e:"\\)",c:u};return{aliases:["erl"],k:a,i:"(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))",c:[{cN:"function",b:"^"+r+"\\s*\\(",e:"->",rB:!0,i:"\\(|#|//|/\\*|\\\\|:|;",c:[v,e.inherit(e.TM,{b:r})],starts:{e:";|\\.",k:a,c:u}},n,{cN:"pp",b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+e.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[v]},i,e.QSM,f,t,l,o,{b:/\.$/}]}});hljs.registerLanguage("kotlin",function(e){var a="val var get set class trait object public open private protected final enum if else do while for when break continue throw try catch finally import package is as in return fun override default companion reified inline volatile transient native";return{k:{typename:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null",keyword:a},c:[e.CLCM,{cN:"javadoc",b:"/\\*\\*",e:"\\*//*",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CBCM,{cN:"type",b:/</,e:/>/,rB:!0,eE:!1,r:0},{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:a,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,r:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"type",b:/</,e:/>/,k:"reified",r:0},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,i:/\([^\(,\s:]+,/,c:[{cN:"typename",b:/:\s*/,e:/\s*[=\)]/,eB:!0,rE:!0,r:0}]},e.CLCM,e.CBCM]},{cN:"class",bK:"class trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[e.UTM,{cN:"type",b:/</,e:/>/,eB:!0,eE:!0,r:0},{cN:"typename",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0}]},{cN:"variable",bK:"var val",e:/\s*[=:$]/,eE:!0},e.QSM,{cN:"shebang",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.CNM]}});hljs.registerLanguage("stylus",function(t){var e={cN:"variable",b:"\\$"+t.IR},o={cN:"hexcolor",b:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})",r:10},i=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],r=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],a="[\\.\\s\\n\\[\\:,]",l=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],d=["\\{","\\}","\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{aliases:["styl"],cI:!1,i:"("+d.join("|")+")",k:"if else for in",c:[t.QSM,t.ASM,t.CLCM,t.CBCM,o,{b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"class",b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"id",b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\b("+n.join("|")+")"+a,rB:!0,c:[{cN:"tag",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{cN:"pseudo",b:"&?:?:\\b("+r.join("|")+")"+a},{cN:"at_rule",b:"@("+i.join("|")+")\\b"},e,t.CSSNM,t.NM,{cN:"function",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",i:"[\\n]",rB:!0,c:[{cN:"title",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{cN:"params",b:/\(/,e:/\)/,c:[o,e,t.ASM,t.CSSNM,t.NM,t.QSM]}]},{cN:"attribute",b:"\\b("+l.reverse().join("|")+")\\b"}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",a={cN:"function",b:c+"\\(",rB:!0,eE:!0,e:"\\("},r={cN:"rule",b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{cN:"value",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]};return{cI:!0,i:/[=\/|']/,c:[e.CBCM,r,{cN:"id",b:/\#[A-Za-z0-9_-]+/},{cN:"class",b:/\.[A-Za-z0-9_-]+/,r:0},{cN:"attr_selector",b:/\[/,e:/\]/,i:"$"},{cN:"pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:c,r:0},{cN:"rules",b:"{",e:"}",i:/\S/,r:0,c:[e.CBCM,r]}]}});hljs.registerLanguage("puppet",function(e){var s="augeas computer cron exec file filebucket host interface k5login macauthorization mailalias maillist mcx mount nagios_command nagios_contact nagios_contactgroup nagios_host nagios_hostdependency nagios_hostescalation nagios_hostextinfo nagios_hostgroup nagios_service firewall nagios_servicedependency nagios_serviceescalation nagios_serviceextinfo nagios_servicegroup nagios_timeperiod notify package resources router schedule scheduled_task selboolean selmodule service ssh_authorized_key sshkey stage tidy user vlan yumrepo zfs zone zpool",r="alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",a={keyword:"and case class default define else elsif false if in import enherits node or true undef unless main settings $string "+s,literal:r,built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},i=e.C("#","$"),o={cN:"string",c:[e.BE],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},n=[o,i,{cN:"keyword",bK:"class",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"(::)?[A-Za-z_]\\w*(::\\w+)*"}),i,o]},{cN:"keyword",b:"([a-zA-Z_(::)]+ *\\{)",c:[o,i],r:0},{cN:"keyword",b:"(\\}|\\{)",r:0},{cN:"function",b:"[a-zA-Z_]+\\s*=>"},{cN:"constant",b:"(::)?(\\b[A-Z][a-z_]*(::)?)+",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0}];return{aliases:["pp"],k:a,c:n}});hljs.registerLanguage("nimrod",function(t){return{aliases:["nim"],k:{keyword:"addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template|10 try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",literal:"shared guarded stdin stdout stderr result|10 true false"},c:[{cN:"decorator",b:/{\./,e:/\.}/,r:10},{cN:"string",b:/[a-zA-Z]\w*"/,e:/"/,c:[{b:/""/}]},{cN:"string",b:/([a-zA-Z]\w*)?"""/,e:/"""/},t.QSM,{cN:"type",b:/\b[A-Z]\w+\b/,r:0},{cN:"type",b:/\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/},{cN:"number",b:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,r:0},t.HCM]}});hljs.registerLanguage("smalltalk",function(a){var r="[a-z][a-zA-Z0-9_]*",s={cN:"char",b:"\\$.{1}"},c={cN:"symbol",b:"#"+a.UIR};return{aliases:["st"],k:"self super nil true false thisContext",c:[a.C('"','"'),a.ASM,{cN:"class",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{cN:"method",b:r+":",r:0},a.CNM,c,s,{cN:"localvars",b:"\\|[ ]*"+r+"([ ]+"+r+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+r}]},{cN:"array",b:"\\#\\(",e:"\\)",c:[a.ASM,s,a.CNM,c]}]}});hljs.registerLanguage("x86asm",function(s){return{cI:!0,l:"\\.?"+s.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",literal:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0  xmm1  xmm2  xmm3  xmm4  xmm5  xmm6  xmm7  xmm8  xmm9 xmm10  xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0  ymm1  ymm2  ymm3  ymm4  ymm5  ymm6  ymm7  ymm8  ymm9 ymm10  ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0  zmm1  zmm2  zmm3  zmm4  zmm5  zmm6  zmm7  zmm8  zmm9 zmm10  zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",pseudo:"db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",preprocessor:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__  __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__  __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",built_in:"bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[s.C(";","$",{r:0}),{cN:"number",b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{cN:"number",b:"\\$[0-9][0-9A-Fa-f]*",r:0},{cN:"number",b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[HhXx]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{cN:"number",b:"\\b(?:0[HhXx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"},s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"string",b:"`",e:"[^\\\\]`",r:0},{cN:"string",b:"\\.[A-Za-z0-9]+",r:0},{cN:"label",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0},{cN:"label",b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:",r:0},{cN:"argument",b:"%[0-9]+",r:0},{cN:"built_in",b:"%!S+",r:0}]}});hljs.registerLanguage("roboconf",function(e){var n="[a-zA-Z-_][^\n{\r\n]+\\{";return{aliases:["graph","instances"],cI:!0,k:"import",c:[{cN:"facet",b:"^facet "+n,e:"}",k:"facet installer exports children extends",c:[e.HCM]},{cN:"instance-of",b:"^instance of "+n,e:"}",k:"name count channels instance-data instance-state instance of",c:[{cN:"keyword",b:"[a-zA-Z-_]+( |	)*:"},e.HCM]},{cN:"component",b:"^"+n,e:"}",l:"\\(?[a-zA-Z]+\\)?",k:"installer exports children extends imports facets alias (optional)",c:[{cN:"string",b:"\\.[a-zA-Z-_]+",e:"\\s|,|;",eE:!0},e.HCM]},e.HCM]}});hljs.registerLanguage("ruby",function(e){var c="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",b={cN:"yardoctag",b:"@[A-Za-z]+"},a={cN:"value",b:"#<",e:">"},n=[e.C("#","$",{c:[b]}),e.C("^\\=begin","^\\=end",{c:[b],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={cN:"params",b:"\\(",e:"\\)",k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]}].concat(n)},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:c}),i].concat(n)},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[t,{b:c}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(n),r:0}].concat(n);s.c=d,i.c=d;var o="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",N=[{b:/^\s*=>/,cN:"status",starts:{e:"$",c:d}},{cN:"prompt",b:"^("+o+"|"+l+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,c:n.concat(N).concat(d)}});hljs.registerLanguage("typescript",function(e){return{aliases:["ts"],k:{keyword:"in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private get set super interface extendsstatic constructor implements enum export import declare type protected",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:0},e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/</,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/,r:0},{cN:"constructor",bK:"constructor",e:/\{/,eE:!0,r:10},{cN:"module",bK:"module",e:/\{/,eE:!0},{cN:"interface",bK:"interface",e:/\{/,eE:!0},{b:/\$[(.]/},{b:"\\."+e.IR,r:0}]}});hljs.registerLanguage("handlebars",function(e){var a="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{{",e:"}}",c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a}]}]}});hljs.registerLanguage("mercury",function(e){var i={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",pragma:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses",preprocessor:"foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},r={cN:"label",b:"XXX",e:"$",eW:!0,r:0},t=e.inherit(e.CLCM,{b:"%"}),_=e.inherit(e.CBCM,{r:0});t.c.push(r),_.c.push(r);var n={cN:"number",b:"0'.\\|0[box][0-9a-fA-F]*"},a=e.inherit(e.ASM,{r:0}),o=e.inherit(e.QSM,{r:0}),l={cN:"constant",b:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",r:0};o.c.push(l);var s={cN:"built_in",v:[{b:"<=>"},{b:"<=",r:0},{b:"=>",r:0},{b:"/\\\\"},{b:"\\\\/"}]},c={cN:"built_in",v:[{b:":-\\|-->"},{b:"=",r:0}]};return{aliases:["m","moo"],k:i,c:[s,c,t,_,n,e.NM,a,o,{b:/:-/}]}});hljs.registerLanguage("fix",function(u){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:!0,rB:!1,cN:"attribute"},{b:/=/,e:/([\u2401\u0001])/,eE:!0,eB:!0,cN:"string"}]}],cI:!0}});hljs.registerLanguage("clojure",function(e){var t={built_in:"def cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",n="["+r+"]["+r+"0-9/;:]*",a="[-+]?\\d+(\\.\\d+)?",o={b:n,r:0},s={cN:"number",b:a,r:0},i=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),d={cN:"literal",b:/\b(true|false|nil)\b/},l={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+n},p=e.C("\\^\\{","\\}"),u={cN:"attribute",b:"[:]"+n},f={cN:"list",b:"\\(",e:"\\)"},h={eW:!0,r:0},y={k:t,l:n,cN:"keyword",b:n,starts:h},b=[f,i,m,p,c,u,l,s,d,o];return f.c=[e.C("comment",""),y,h],h.c=b,l.c=b,{aliases:["clj"],i:/\S/,c:[f,i,m,p,c,u,l,s,d]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={cN:"variable",v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=e.C("^(__END__|__DATA__)","\\n$",{r:5}),o=[e.BE,r,n],a=[n,e.HCM,i,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:o,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,i,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];return r.c=a,s.c=a,{aliases:["pl"],k:t,c:a}});hljs.registerLanguage("twig",function(e){var t={cN:"params",b:"\\(",e:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={cN:"function",bK:a,r:0,c:[t]},c={cN:"filter",b:/\|[A-Za-z_]+:?/,k:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",c:[r]},n="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return n=n+" "+n.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[e.C(/\{#/,/#}/),{cN:"template_tag",b:/\{%/,e:/%}/,k:n,c:[c,r]},{cN:"variable",b:/\{\{/,e:/}}/,c:[c,r]}]}});hljs.registerLanguage("livecodeserver",function(e){var r={cN:"variable",b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0},t=[e.CBCM,e.HCM,e.C("--","$"),e.C("[^:]//","$")],a=e.inherit(e.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]}),o=e.inherit(e.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:!1,k:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},c:[r,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"function",bK:"end",e:"$",c:[o,a]},{cN:"command",bK:"command on",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"command",bK:"end",e:"$",c:[o,a]},{cN:"preprocessor",b:"<\\?rev|<\\?lc|<\\?livecode",r:10},{cN:"preprocessor",b:"<\\?"},{cN:"preprocessor",b:"\\?>"},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(t),i:";$|^\\[|^="}});hljs.registerLanguage("step21",function(e){var r="[A-Z_][A-Z0-9_.]*",i="END-ISO-10303-21;",l={literal:"",built_in:"",keyword:"HEADER ENDSEC DATA"},s={cN:"preprocessor",b:"ISO-10303-21;",r:10},t=[e.CLCM,e.CBCM,e.C("/\\*\\*!","\\*/"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"'",e:"'"},{cN:"label",v:[{b:"#",e:"\\d+",i:"\\W"}]}];return{aliases:["p21","step","stp"],cI:!0,l:r,k:l,c:[{cN:"preprocessor",b:i,r:10},s].concat(t)}});hljs.registerLanguage("cpp",function(t){var i={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary intmax_t uintmax_t int8_t uint8_t int16_t uint16_t int32_t uint32_t  int64_t uint64_t int_least8_t uint_least8_t int_least16_t uint_least16_t int_least32_t uint_least32_t int_least64_t uint_least64_t int_fast8_t uint_fast8_t int_fast16_t uint_fast16_t int_fast32_t uint_fast32_t int_fast64_t uint_fast64_t intptr_t uintptr_t atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong atomic_wchar_t atomic_char16_t atomic_char32_t atomic_intmax_t atomic_uintmax_t atomic_intptr_t atomic_uintptr_t atomic_size_t atomic_ptrdiff_t atomic_int_least8_t atomic_int_least16_t atomic_int_least32_t atomic_int_least64_t atomic_uint_least8_t atomic_uint_least16_t atomic_uint_least32_t atomic_uint_least64_t atomic_int_fast8_t atomic_int_fast16_t atomic_int_fast32_t atomic_int_fast64_t atomic_uint_fast8_t atomic_uint_fast16_t atomic_uint_fast32_t atomic_uint_fast64_t",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","cc","h","c++","h++","hpp"],k:i,i:"</",c:[t.CLCM,t.CBCM,t.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},t.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:/\\\n/,r:0},{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},t.CLCM]},{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:i,c:["self"]},{b:t.IR+"::",k:i},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"\\s+)+"+t.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:t.IR+"\\s*\\(",rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:i,r:0,c:[t.CBCM]},t.CLCM,t.CBCM]}]}});hljs.registerLanguage("vala",function(e){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bK:"class interface delegate namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[e.UTM]},e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""',r:5},e.ASM,e.QSM,e.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN:"constant",b:" [A-Z_]+ ",r:0}]}});hljs.registerLanguage("http",function(t){return{aliases:["https"],i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}});hljs.registerLanguage("avrasm",function(r){return{cI:!0,l:"\\.?"+r.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",preprocessor:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[r.CBCM,r.C(";","$",{r:0}),r.CNM,r.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},r.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"label",b:"^[A-Za-z0-9_.$]+:"},{cN:"preprocessor",b:"#",e:"$"},{cN:"localvars",b:"@[0-9]+"}]}});hljs.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",i="get set args call";return{k:t,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"aspect",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+i,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+i},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("rib",function(e){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:"</",c:[e.HCM,e.CNM,e.ASM,e.QSM]}});hljs.registerLanguage("python",function(e){var r={cN:"prompt",b:/^(>>>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},l={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},c={cN:"params",b:/\(/,e:/\)/,c:["self",r,l,b]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,l,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,c]},{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("axapta",function(e){return{k:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bK:"class interface",e:"{",eE:!0,i:":",c:[{bK:"extends implements"},e.UTM]}]}});hljs.registerLanguage("nix",function(e){var t={keyword:"rec with let in inherit assert if else then",constant:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={cN:"subst",b:/\$\{/,e:/}/,k:t},r={cN:"variable",b:/[a-zA-Z0-9-_]+(\s*=)/},n={cN:"string",b:"''",e:"''",c:[i]},s={cN:"string",b:'"',e:'"',c:[i]},a=[e.NM,e.HCM,e.CBCM,n,s,r];return i.c=a,{aliases:["nixos"],k:t,c:a}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("parser3",function(r){var e=r.C("{","}",{c:["self"]});return{sL:"xml",r:0,c:[r.C("^#","$"),r.C("\\^rem{","}",{r:10,c:[e]}),{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},r.CNM]}});hljs.registerLanguage("django",function(e){var t={cN:"filter",b:/\|[A-Za-z]+:?/,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",c:[{cN:"argument",b:/"/,e:/"/},{cN:"argument",b:/'/,e:/'/}]};return{aliases:["jinja"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template_tag",b:/\{%/,e:/%}/,k:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",c:[t]},{cN:"variable",b:/\{\{/,e:/}}/,c:[t]}]}});hljs.registerLanguage("rust",function(e){var t=e.inherit(e.CBCM);return t.c.push("self"),{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self sizeof static struct super trait true type typeof unsafe unsized use virtual while yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",built_in:"assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"},l:e.IR+"!?",i:"</",c:[e.CLCM,t,e.inherit(e.QSM,{i:null}),{cN:"string",b:/r(#*)".*?"\1(?!#)/},{cN:"string",b:/'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/},{b:/'[a-zA-Z_][a-zA-Z0-9_]*/},{cN:"number",b:/\b(0[xbo][A-Fa-f0-9_]+|\d[\d_]*(\.[0-9_]+)?([eE][+-]?[0-9_]+)?)([uif](8|16|32|64|size))?/,r:0},{cN:"function",bK:"fn",e:"(\\(|<)",eE:!0,c:[e.UTM]},{cN:"preprocessor",b:"#\\!?\\[",e:"\\]"},{bK:"type",e:"(=|<)",c:[e.UTM],i:"\\S"},{bK:"trait enum",e:"({|<)",c:[e.UTM],i:"\\S"},{b:e.IR+"::"},{b:"->"}]}});hljs.registerLanguage("vhdl",function(e){var t="\\d(_|\\d)*",r="[eE][-+]?"+t,n=t+"(\\."+t+")?("+r+")?",o="\\w+",i=t+"#"+o+"(\\."+o+")?#("+r+")?",a="\\b("+i+"|"+n+")";return{cI:!0,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[e.CBCM,e.C("--","$"),e.QSM,{cN:"number",b:a,r:0},{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[e.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[e.BE]}]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)"},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"tag",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"char",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},c:[{cN:"envvar",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage("1c",function(c){var e="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",r="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",t="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку  стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",i={cN:"dquote",b:'""'},n={cN:"string",b:'"',e:'"|$',c:[i]},a={cN:"string",b:"\\|",e:'"|$',c:[i]};return{cI:!0,l:e,k:{keyword:r,built_in:t},c:[c.CLCM,c.NM,n,a,{cN:"function",b:"(процедура|функция)",e:"$",l:e,k:"процедура функция",c:[c.inherit(c.TM,{b:e}),{cN:"tail",eW:!0,c:[{cN:"params",b:"\\(",e:"\\)",l:e,k:"знач",c:[n,a]},{cN:"export",b:"экспорт",eW:!0,l:e,k:"экспорт",c:[c.CLCM]}]},c.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}});hljs.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ \\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"symbol",b:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ \\t\\n\\r]",eW:!0,eE:!0}]},{cN:"variable",eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}});hljs.registerLanguage("groovy",function(e){return{k:{typename:"byte short char int long boolean float double void",literal:"true false null",keyword:"def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.CLCM,{cN:"javadoc",b:"/\\*\\*",e:"\\*//*",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"shebang",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"label",b:"^\\s*[A-Za-z0-9_$]+:",r:0}]}});hljs.registerLanguage("erlang-repl",function(r){return{k:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"prompt",b:"^[0-9]+> ",r:10},r.C("%","$"),{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},r.ASM,r.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"title",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",
-c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{cN:"list",b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("fsharp",function(e){var t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"yield! return! let! do!abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",c:[{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"annotation",b:"\\[<",e:">\\]",r:10},{cN:"attribute",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}});hljs.registerLanguage("verilog",function(e){return{aliases:["v"],cI:!0,k:{keyword:"always and assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function if ifnone initial inout input join macromodule module nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge primitive pulldown pullup rcmos release repeat rnmos rpmos rtran rtranif0 rtranif1 specify specparam table task timescale tran tranif0 tranif1 wait while xnor xor",typename:"highz0 highz1 integer large medium pull0 pull1 real realtime reg scalared signed small strong0 strong1 supply0 supply0 supply1 supply1 time tri tri0 tri1 triand trior trireg vectored wand weak0 weak1 wire wor"},c:[e.CBCM,e.CLCM,e.QSM,{cN:"number",b:"\\b(\\d+'(b|h|o|d|B|H|O|D))?[0-9xzXZ]+",c:[e.BE],r:0},{cN:"typename",b:"\\.\\w+",r:0},{cN:"value",b:"#\\((?!parameter).+\\)"},{cN:"keyword",b:"\\+|-|\\*|/|%|<|>|=|#|`|\\!|&|\\||@|:|\\^|~|\\{|\\}",r:0}]}});hljs.registerLanguage("dos",function(e){var r=e.C(/@?rem\b/,/$/,{r:10}),t={cN:"label",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0};return{aliases:["bat","cmd"],cI:!0,k:{flow:"if else goto for in do call exit not exist errorlevel defined",operator:"equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del",built_in:"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol"},c:[{cN:"envvar",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:"function",b:t.b,e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{cN:"number",b:"\\b\\d+",r:0},r]}});hljs.registerLanguage("gherkin",function(e){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"keyword",b:"\\*"},e.C("@[^@\r\n	 ]+","$"),{cN:"string",b:"\\|",e:"\\$"},{cN:"variable",b:"<",e:">"},e.HCM,{cN:"string",b:'"""',e:'"""'},e.QSM]}});hljs.registerLanguage("xml",function(t){var e="[A-Za-z0-9\\._:-]+",s={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/</,r:0,c:[s,{cN:"attribute",b:e,r:0},{b:"=",r:0,c:[{cN:"value",c:[s],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},t.C("<!--","-->",{r:10}),{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style(?=\\s|>|$)",e:">",k:{title:"style"},c:[c],starts:{e:"</style>",rE:!0,sL:"css"}},{cN:"tag",b:"<script(?=\\s|>|$)",e:">",k:{title:"script"},c:[c],starts:{e:"</script>",rE:!0,sL:""}},s,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});hljs.registerLanguage("autohotkey",function(e){var r={cN:"escape",b:"`[\\s\\S]"},c=e.C(";","$",{r:0}),n=[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},{cN:"built_in",bK:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{cI:!0,k:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},c:n.concat([r,e.inherit(e.QSM,{c:[r]}),c,{cN:"number",b:e.NR,r:0},{cN:"var_expand",b:"%",e:"%",i:"\\n",c:[r]},{cN:"label",c:[r],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,",r:10}])}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("cs",function(e){var r="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",t=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:r,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:"<!--|-->"},{b:"</?",e:">"}]}]}),e.CLCM,e.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class namespace interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("nsis",function(e){var t={cN:"symbol",b:"\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"},n={cN:"constant",b:"\\$+{[a-zA-Z0-9_]+}"},i={cN:"variable",b:"\\$+[a-zA-Z0-9_]+",i:"\\(\\){}"},r={cN:"constant",b:"\\$+\\([a-zA-Z0-9_]+\\)"},o={cN:"params",b:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},l={cN:"constant",b:"\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"};return{cI:!1,k:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "},c:[e.HCM,e.CBCM,{cN:"string",b:'"',e:'"',i:"\\n",c:[{cN:"symbol",b:"\\$(\\\\(n|r|t)|\\$)"},t,n,i,r]},e.C(";","$",{r:0}),{cN:"function",bK:"Function PageEx Section SectionGroup SubSection",e:"$"},l,n,i,r,o,e.NM,{cN:"literal",b:e.IR+"::"+e.IR}]}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],n=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},i=function(e,r,t){return{cN:e,b:r,r:t}},s=function(r,t,a){return e.inherit({cN:r,b:t+"\\(",e:"\\(",rB:!0,eE:!0,r:0},a)},b={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,n("'"),n('"'),e.CSSNM,i("hexcolor","#[0-9A-Fa-f]+\\b"),s("function","(url|data-uri)",{starts:{cN:"string",e:"[\\)\\n]",eE:!0}}),s("function",r),b,i("variable","@@?"+r,10),i("variable","@{"+r+"}"),i("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0});var o=c.concat({b:"{",e:"}",c:a}),u={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},C={cN:"attribute",b:t,e:":",eE:!0,c:[e.CLCM,e.CBCM],i:/\S/,starts:{e:"[;}]",rE:!0,c:c,i:"[<=$]"}},l={cN:"at_rule",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},d={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:o}},p={v:[{b:"[\\.#:&\\[]",e:"[;{}]"},{b:t+"[^;]*{",e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",c:[e.CLCM,e.CBCM,u,i("keyword","all\\b"),i("variable","@{"+r+"}"),i("tag",t+"%?",0),i("id","#"+t),i("class","\\."+t,0),i("keyword","&",0),s("pseudo",":not"),s("keyword",":extend"),i("pseudo","::?"+t),{cN:"attr_selector",b:"\\[",e:"\\]"},{b:"\\(",e:"\\)",c:o},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,l,d,p,C),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("pf",function(t){var o={cN:"variable",b:/\$[\w\d#@][\w\d_]*/},e={cN:"variable",b:/</,e:/>/};return{aliases:["pf.conf"],l:/[a-z0-9_<>-]+/,k:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},c:[t.HCM,t.NM,t.QSM,o,e]}});hljs.registerLanguage("lasso",function(e){var r="[a-zA-Z_][a-zA-Z0-9_.]*",a="<\\?(lasso(script)?|=)",t="\\]|\\?>",s={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},n=e.C("<!--","-->",{r:0}),o={cN:"preprocessor",b:"\\[noprocess\\]",starts:{cN:"markup",e:"\\[/noprocess\\]",rE:!0,c:[n]}},i={cN:"preprocessor",b:"\\[/noprocess|"+a},l={cN:"variable",b:"'"+r+"'"},c=[e.CLCM,{cN:"javadoc",b:"/\\*\\*!",e:"\\*/",c:[e.PWM]},e.CBCM,e.inherit(e.CNM,{b:e.CNR+"|(-?infinity|nan)\\b"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{cN:"variable",v:[{b:"[#$]"+r},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"tag",b:"::\\s*",e:r,i:"\\W"},{cN:"attribute",v:[{b:"-"+e.UIR,r:0},{b:"(\\.\\.\\.)"}]},{cN:"subst",v:[{b:"->\\s*",c:[l]},{b:":=|/(?!\\w)=?|[-+*%=<>&|!?\\\\]+",r:0}]},{cN:"built_in",b:"\\.\\.?\\s*",r:0,c:[l]},{cN:"class",bK:"define",rE:!0,e:"\\(|=>",c:[e.inherit(e.TM,{b:e.UIR+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],cI:!0,l:r+"|&[lg]t;",k:s,c:[{cN:"preprocessor",b:t,r:0,starts:{cN:"markup",e:"\\[|"+a,rE:!0,r:0,c:[n]}},o,i,{cN:"preprocessor",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:r+"|&[lg]t;",k:s,c:[{cN:"preprocessor",b:t,r:0,starts:{cN:"markup",e:"\\[noprocess\\]|"+a,rE:!0,c:[n]}},o,i].concat(c)}},{cN:"preprocessor",b:"\\[",r:0},{cN:"shebang",b:"^#!.+lasso9\\b",r:10}].concat(c)}});hljs.registerLanguage("prolog",function(c){var r={cN:"atom",b:/[a-z][A-Za-z0-9_]*/,r:0},b={cN:"name",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},a={b:/\(/,e:/\)/,r:0},e={b:/\[/,e:/\]/},n={cN:"comment",b:/%/,e:/$/,c:[c.PWM]},t={cN:"string",b:/`/,e:/`/,c:[c.BE]},g={cN:"string",b:/0\'(\\\'|.)/},N={cN:"string",b:/0\'\\s/},o={b:/:-/},s=[r,b,a,o,e,n,c.CBCM,c.QSM,c.ASM,t,g,N,c.CNM];return a.c=s,e.c=s,{c:s.concat([{b:/\.$/}])}});hljs.registerLanguage("oxygene",function(e){var r="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",t=e.C("{","}",{r:0}),a=e.C("\\(\\*","\\*\\)",{r:10}),n={cN:"string",b:"'",e:"'",c:[{b:"''"}]},o={cN:"string",b:"(#\\d+)+"},i={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",k:r,c:[n,o]},t,a]};return{cI:!0,k:r,i:'("|\\$[G-Zg-z]|\\/\\*|</|=>|->)',c:[t,a,e.CLCM,n,o,e.NM,i,{cN:"class",b:"=\\bclass\\b",e:"end;",k:r,c:[n,o,t,a,e.CLCM,i]}]}});hljs.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},o=e.C("--","$"),n=e.C("\\(\\*","\\*\\)",{c:["self",o]}),a=[o,n,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(a),i:"//|->|=>"}});hljs.registerLanguage("makefile",function(e){var a={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage("dust",function(e){var a="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{",e:"}",r:0,c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a,r:0}]}]}});hljs.registerLanguage("clojure-repl",function(e){return{c:[{cN:"prompt",b:/^([\w.-]+|\s*#_)=>/,starts:{e:/$/,sL:"clojure",subLanguageMode:"continuous"}}]}});hljs.registerLanguage("dart",function(e){var t={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"},r={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[e.BE,t]},{b:'"""',e:'"""',c:[e.BE,t]},{b:"'",e:"'",i:"\\n",c:[e.BE,t]},{b:'"',e:'"',i:"\\n",c:[e.BE,t]}]};t.c=[e.CNM,r];var n={keyword:"assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",literal:"abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:n,c:[r,{cN:"dartdoc",b:"/\\*\\*",e:"\\*/",sL:"markdown",subLanguageMode:"continuous"},{cN:"dartdoc",b:"///",e:"$",sL:"markdown",subLanguageMode:"continuous"},e.CLCM,e.CBCM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{b:"=>"}]}});
\ No newline at end of file
diff --git a/static/rest_framework/docs/js/jquery.json-view.min.js b/static/rest_framework/docs/js/jquery.json-view.min.js
deleted file mode 100644
index ce3a6043..00000000
--- a/static/rest_framework/docs/js/jquery.json-view.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * jquery.json-view - jQuery collapsible JSON plugin
- * @version v1.0.0
- * @link http://github.com/bazh/jquery.json-view
- * @license MIT
- */
-!function(e){"use strict";var n=function(n){var a=e("<span />",{"class":"collapser",on:{click:function(){var n=e(this);n.toggleClass("collapsed");var a=n.parent().children(".block"),p=a.children("ul");n.hasClass("collapsed")?(p.hide(),a.children(".dots, .comments").show()):(p.show(),a.children(".dots, .comments").hide())}}});return n&&a.addClass("collapsed"),a},a=function(a,p){var t=e.extend({},{nl2br:!0},p),r=function(e){return e.toString()?e.toString().replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""},s=function(n,a){return e("<span />",{"class":a,html:r(n)})},l=function(a,p){switch(e.type(a)){case"object":p||(p=0);var c=e("<span />",{"class":"block"}),d=Object.keys(a).length;if(!d)return c.append(s("{","b")).append(" ").append(s("}","b"));c.append(s("{","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(s('"',"q")).append(a).append(s('"',"q")).append(": ").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("}","b")),c.append(1===Object.keys(a).length?s("// 1 item","comments"):s("// "+Object.keys(a).length+" items","comments")),c;case"array":p||(p=0);var d=a.length,c=e("<span />",{"class":"block"});if(!d)return c.append(s("[","b")).append(" ").append(s("]","b"));c.append(s("[","b"));var i=e("<ul />",{"class":"obj collapsible level"+p});return e.each(a,function(a,t){d--;var r=e("<li />").append(l(t,p+1));-1===["object","array"].indexOf(e.type(t))||e.isEmptyObject(t)||r.prepend(n()),d>0&&r.append(","),i.append(r)}),c.append(i),c.append(s("...","dots")),c.append(s("]","b")),c.append(1===a.length?s("// 1 item","comments"):s("// "+a.length+" items","comments")),c;case"string":if(a=r(a),/^(http|https|file):\/\/[^\s]+$/i.test(a))return e("<span />").append(s('"',"q")).append(e("<a />",{href:a,text:a})).append(s('"',"q"));if(t.nl2br){var o=/\n/g;o.test(a)&&(a=(a+"").replace(o,"<br />"))}var u=e("<span />",{"class":"str"}).html(a);return e("<span />").append(s('"',"q")).append(u).append(s('"',"q"));case"number":return s(a.toString(),"num");case"undefined":return s("undefined","undef");case"null":return s("null","null");case"boolean":return s(a?"true":"false","bool")}};return l(a)};return e.fn.jsonView=function(n,p){var t=e(this);if(p=e.extend({},{nl2br:!0},p),"string"==typeof n)try{n=JSON.parse(n)}catch(r){}return t.append(e("<div />",{"class":"json-view"}).append(a(n,p))),t}}(jQuery);
\ No newline at end of file
diff --git a/static/rest_framework/fonts/fontawesome-webfont.eot b/static/rest_framework/fonts/fontawesome-webfont.eot
deleted file mode 100644
index 7c79c6a6bc9a128a2a8eaffbe49a4338625fdbc2..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 38205
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
E0QL`y%>V!Z

diff --git a/static/rest_framework/fonts/fontawesome-webfont.svg b/static/rest_framework/fonts/fontawesome-webfont.svg
deleted file mode 100644
index 4b2226d6..00000000
--- a/static/rest_framework/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,414 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="fontawesomeregular" horiz-adv-x="1536" >
-<font-face units-per-em="1792" ascent="1536" descent="-256" />
-<missing-glyph horiz-adv-x="448" />
-<glyph unicode=" "  horiz-adv-x="448" />
-<glyph unicode="&#x09;" horiz-adv-x="448" />
-<glyph unicode="&#xa0;" horiz-adv-x="448" />
-<glyph unicode="&#xa8;" horiz-adv-x="1792" />
-<glyph unicode="&#xa9;" horiz-adv-x="1792" />
-<glyph unicode="&#xae;" horiz-adv-x="1792" />
-<glyph unicode="&#xb4;" horiz-adv-x="1792" />
-<glyph unicode="&#xc6;" horiz-adv-x="1792" />
-<glyph unicode="&#x2000;" horiz-adv-x="768" />
-<glyph unicode="&#x2001;" />
-<glyph unicode="&#x2002;" horiz-adv-x="768" />
-<glyph unicode="&#x2003;" />
-<glyph unicode="&#x2004;" horiz-adv-x="512" />
-<glyph unicode="&#x2005;" horiz-adv-x="384" />
-<glyph unicode="&#x2006;" horiz-adv-x="256" />
-<glyph unicode="&#x2007;" horiz-adv-x="256" />
-<glyph unicode="&#x2008;" horiz-adv-x="192" />
-<glyph unicode="&#x2009;" horiz-adv-x="307" />
-<glyph unicode="&#x200a;" horiz-adv-x="85" />
-<glyph unicode="&#x202f;" horiz-adv-x="307" />
-<glyph unicode="&#x205f;" horiz-adv-x="384" />
-<glyph unicode="&#x2122;" horiz-adv-x="1792" />
-<glyph unicode="&#x221e;" horiz-adv-x="1792" />
-<glyph unicode="&#x2260;" horiz-adv-x="1792" />
-<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
-<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
-<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
-<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
-<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
-<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
-<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
-<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
-<glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
-<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
-<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
-<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
-<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
-<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
-<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
-<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
-<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
-<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
-<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
-<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
-<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
-<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
-<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
-<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
-<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
-<glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
-<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
-<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
-<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
-<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
-<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
-<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
-<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
-<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
-<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
-<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
-<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
-<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
-<glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
-<glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
-<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
-<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
-<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
-<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
-<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
-<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
-<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
-<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
-<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
-<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
-<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
-<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
-<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
-<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
-<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
-<glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
-<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
-<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
-<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
-<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
-<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
-<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
-<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
-<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
-<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
-<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
-<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
-<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
-<glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
-<glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
-<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
-<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
-<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
-<glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
-<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
-<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
-<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
-<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
-<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
-<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
-<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
-<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
-<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
-<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
-<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
-<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
-<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
-<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
-<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
-<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
-<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
-<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
-<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
-<glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
-<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
-<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
-<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
-<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
-<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
-<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
-<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
-<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
-<glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
-<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
-<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
-<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
-<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
-<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
-<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
-<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
-<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
-<glyph unicode="&#xf116;" horiz-adv-x="1792" />
-<glyph unicode="&#xf117;" horiz-adv-x="1792" />
-<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
-<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
-<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
-<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
-<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
-<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
-<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
-<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
-<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
-<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
-<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
-<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
-<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
-<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
-<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
-<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
-<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
-<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
-<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
-<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
-<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
-<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
-<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
-<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
-<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
-<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
-<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
-<glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
-<glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
-<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
-<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
-<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
-<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
-<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
-<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
-<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
-<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
-<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
-<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
-<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
-<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
-<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
-<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
-<glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
-<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
-<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
-<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
-<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
-<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
-<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
-<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
-<glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
-<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
-<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
-<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
-<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
-<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
-<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
-<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
-<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
-<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf197;" horiz-adv-x="1792" />
-<glyph unicode="&#xf198;" horiz-adv-x="1792" />
-<glyph unicode="&#xf199;" horiz-adv-x="1792" />
-<glyph unicode="&#xf19a;" horiz-adv-x="1792" />
-<glyph unicode="&#xf19b;" horiz-adv-x="1792" />
-<glyph unicode="&#xf19c;" horiz-adv-x="1792" />
-<glyph unicode="&#xf19d;" horiz-adv-x="1792" />
-<glyph unicode="&#xf19e;" horiz-adv-x="1792" />
-<glyph unicode="&#xf500;" horiz-adv-x="1792" />
-</font>
-</defs></svg>
diff --git a/static/rest_framework/fonts/fontawesome-webfont.ttf b/static/rest_framework/fonts/fontawesome-webfont.ttf
deleted file mode 100644
index e89738de5eaf8fca33a2f2cdc5cb4929caa62b71..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 80652
zcmd4434B!5y$62Jx!dgfl1wJaOp=*N2qchXlCUL1*hxS(1pzUj2!bdoh~hR1qKGRh
zwYF;1y3o}w_SLrdruJ!H7kRd|tG>S2R@?Wq7TP{rA#?eEf9K95lK|TG|33fEKg+%6
z+<Wf1XZfAq`R!L?k|epLtRzeQbLK2xcv17+D{$pq{72``nmvboTT&#6S&)yNwXC^i
zKi?HZz8?Ah3%0J?_QNgTl##zplK2%H*Il^{*FBOX58-Utc*!*v-8gl_rzJ^IBv$s9
zO&iu-D8Etp8Hq*zhWqWCaKU-A{*J^dCn8_BY3uf@1Mj+Y<d;j5Ht&+lE?9S{bA47~
zwVy<tO<UJpy^X!gqY_L00OezsuG_j{>hTSaAdmL)uWh^R%I%Bq{=#vIHGE2vyyxxQ
zu>PXwf4+35#HOMTl7@fkt@MNGkN*dqzrXxudarck;ms?=9TzfXbVcIGGxh+E^d!f>
ztp1kWBdO@h9ZD<md(AVyQd%YQxODoTZP#3JrIe9k|BD8kL=g?$!AZ2F@I*}HFpii7
zjJtV{U4k5yib@JwjPqjDqGEJo(tvbG`n>cN>E)O$)*L%OUQ<(5(?2L3bseob+I4i%
z(X~e}J$l2@yN*6`^z%o*bo9v4Umbn#sBz47tm;_Pv94o_j;%d*>9HG*-F57d|CLTs
zlc>gL3N=cjYLt$8j>eB>jxIjhe{|c??9qFU4jg^<Xzu8%M+c7{JtiIV9E%;Bcr0^l
z@v;76+m2<A-9t5={LRS=Po8)3+>^^s&K$J;*W3T~FTeWV|2+Pm&&ML33QxpS<_UX3
zo}ee-@q2t8ugBw&J>0`QlKZ6FaOd4a?i23g?ho95bN|)-zJuoA|NMsm7K+s}nqB%Y
z{lQI|ivK_S=vvsKmRk#edAb%6i2hSQfN{*f8@=C#{(3MdvZPB=N8B5iy>ag#%Ndz%
zd|;azJHAbmj*E8`hfQQA(J-EOQqrDKvr;880iAi{Eunx`8?Q;WwYSE-ESYZWVy*F(
zDyBWrn7@r>BFSWAC`(6{$=}vkS07fh;rcptPAzWdrDR(Yf3n1{ZmbPgSS%G{s_+g8
z?`TBE8*uTOCf?S?TU)|jb#%6^y@R#4wuCfk)~1cCHg1}Q(}asx<VR<dRdUARsqa){
zCk9#;H3ox?i!Q_|#moPYpIUlB{!VqP4M?DqAOvm5q7AwfN9SoB;-8_bH7SNeU6Olz
z?R7CF<O^aLLQ2;7z_`o!fa&ZCS?_CWuQLvP`Hj1c6NfLm>@ZVV6;lsib{$)h;3&X!
zv#^nE>r1k8t{W+F*<s_v-EVx^IFt||c`~a52}luXy0lP|5?)PLbQf>LfUs0DkxY35
zA&hmqcN%Y!F$Y>O5DtZ_l&QR>OYUgz=wcmSb8^yNnjQ>PHkL5{@<?lD>qN#TZq2kl
zV*Di$^E=g?)6Z1RVL6_0`tSSJtJ;*Bj-~)(fu@d{DcY;wYCkW#w&!@JXYJY^HP^E?
zCQEfyNA@&MoHS`-<DMf`b$Q9@_bc_>XZ2cas^9s{_6MI-Cq)uIUm`L|ee%J^d;3q|
zxwSnC)nU#t^(_m0Cn*@xCMAs)wp8(Omy8LeF_j-`^X2cc)%HzmHU_(Hx@>V>-Qvq`
z>KZiO%HNyy@l}?(^Dn$><{N)&oS&(y%gk^5+Z+G+R{j~Y?$2TF2BjKgP>~<i(Yz&8
z908ymege~ugulHd>{l@+5#xb#STNuZ8r?=WCN#*;G43z#WbeP}pXPs)z27Nc6N(s*
z7!KVTtaQBluA?%jx!7OW`ifw}I-h-~p~09u-%4wQ;KqEnm7v$k5_U|!oKTDHICC?U
z%UO%D>hNJ>6>FK#cCl;NcSO4y&fF{>U=3aD2IJ-~<7dX|?|etL6`R@eA+4k~0<tmo
z)lv#jRe+GTE|tc=g%(;Bb{;L3^t8v+?15{B4qkIW560T(Y?yBCS$50bTbA`$r*D|k
z9t-M5?oH#xH{WDkyRY8A|LXLH9T%QIv%WFih`;)o=U=#EgZw-5{+p6yr!}S1d);_*
zv(zn}C7mx_Cfz9AEj=oIL6X#TTe6YWXq7Awn#usyACYI?wxodi!ZKiE%Ab<|i1Hux
zzOjpmWs?zs+0JlKq+}#75$cn1973*GP%U}VKzgLqN7adC_<>kR8WvKfSYMJobh>0d
z!tvr{#Gs=xQsl%)QZ6lGj9fo`g<n4|-mQv7EH)y6Ba8D%*jnrbMRZe62orllG5=Bb
zWvQ>tklOnC+PFB5q~+|H?r@3FXkQznBmY53W~ekX>W(B9tH3|SwvWJ~1XLheJ)N0I
z(>o?V_Wu8Me(d|W)LC!j>N`8@S%!`yX`U_3<wxa4-y5C#u#%-UvY2=+9oWx@llhUP
zJd!NAT9Q0{fs)EhN*&wm7`*U*J_~>UsHzz6Au-Z2`g~&4=#RcvTJE15t5HKCG3gq~
zrQNE0NeW>%!QQ27HO-7A+qxMxD=QAwOuIFjAAehPar8FhU^GezmgM(PUjEZ!aVvTo
z+f4ar)c6Iz7iCcIr6=E0eaZm|+(=!(&9s`76^CY2-C-SFe<+|^nd%cY8^1JuY1YJ&
zNEP13l7-rTiL2s0XS!=XLA99lj7d|~VsD&<y&3DO(LB^7r!(x$wBn`$ZR5}qs$|%R
zz$ggHOTv;oE#;+1e&?Xy39@AnB*;i|6g}3PJ`+902TysDDtWtvNPBK`?-_`+(muJR
zumt{c3@-Tl+Mmx+(>Yr5kF;8J`tNS3Nt<LfP}Wj|lqSlEYf21sY`V?Y(H;tiG~I>P
z3km=mX{w2Vehi0vgtJWyPIUIJBgSuye>Z-6WY=Q{8ZWMnxyP;FvgG!|uO7aA$(Hrw
z+_CD-;|@HQ&-QKV!ynInl1lD6!lIx2D(l%Ab2W~;IJV%Y*K9&@JhkbXpDu`9Jg(6d
z+iJYP7vu#V=X4}m3WTqqe@p2FDIs8{2q`V01X>50LF_ODG-LDB`qKNS<Rzag=kkdI
z%l>2O{^EnaD-4lj8PxQryhw9Ovnz(^<dW$U`_pleQ7KcP6)_*cd%AQf@@>f)Ef8uU
z2*Uc*F(U!YNG;Z=rsJ1-f#sUgX(1$2M8Sf-$E7Al%LWLdqj<FySfU;DzgR}qEEMhl
zX${VR$Z8kUL)BnM6zSk=2M@l+4|*KW`vbM}Y}Sf<LJrsM<C{HBz4BMCAd60FxYOo#
z*>6bc7WX_~h3j9O9*_O&uJZbsHf!YGkkdK3@Lg87({WRsC>(L4Fb~li4zjJka)fxa
zJ<+n#5wRuivR)E)-_{cKI=|)#Zn4_0Xty~X_TcLBmPr*n=oDp}nkFxCIBd?kyKP%a
z3)^<KT3lw~iBS&G6o9!v%bNT6RB5KP5wJaG*1<N8f`YMmKltB374fZIjKwj!aZOhR
zq~Sr6fGJ?7);LC;IH_ue0|)eoImLmUA)Ot{y4<pyk=?F*Kg&(jZN|54x_p_>)xWl9
z2=r7xK?qCFaWA6%eUW<(OS^n>tOSf)XGrI(<gX0%0p`64Wx)<B=hg?%kfFY1*X&p(
ze@!&)=|o#w;%Ndm@Fo!q*hQ)=`NjGdT|>tU^jX@<LLC4!Ko@p~6u}yC*8rsgJ`Q@r
z;9^0o8rhSexgtr%yLmVJuP%#Ic3Sd%`96okY3Z_X8~=~k%Gh7TVtU=idCZ8RaFz&N
zHpmplerY86j0IM%^BMVnwJ>g7V5_k36_LmfzD;9cZ2Bt60U(mW+|v56fMdYE1^I$#
zYn;WCDXavV<x=W046x2BlF?t^X-GWFuC_Uh?>H)nd^#bB7oM%}kFw5ay^Kq2z{plQ
z*kp&z*ff+Sx=PK|ch*OZe~<Q??-pw_fc<B@2~qSebB6*qO~^*_G_jbAd8$~fUGi{X
zQwRkh6Oe&OOpGunCV>qcIBxv>_<;k*S^aT##S!CCW3BP%kt1v!dz`J42aRDEB3Q^9
zD21}(34VTQ(IZF1Jhn)Zz6j{i3uu>ET5e**HtBLu3lZPM0<{ndq;MH6#$^pcf*PO;
zMvz-W$VC(*%z=WTFr*hN%2>epb!UK;F`wfv4j+HNDW7rrSOAxeqqrVmK4(7D6k(59
z>H=&TuDEgKDHL&|2wN7Yv#`e^JgPA4Vt%KQQyd--xMIJPNp#^Pj`Q2Qlz>0#cjjo8
zb50~ryxS#YuAmFBly%H=0<sRNu7C@RXaA^~4u@L0Y4x#?PIL@Q0=>lx0*)XAQmQFc
zVkB8gwmsEZe;gBw3IE}(Q$9K6HufsO;~U;;BjaoL8JTLYcN~)dnc$I_H0~)Ok20lF
zEH*-E-`3fATPOE6R2mt-pXDkWQY<G}t4s;3lu31h1_0ewXxCKmr~*`iUPv`~0a&`2
zC#jUci_&j1zGW}78#%Yd63U5%gE9KSFw7h{a0=A$euu;OmetBK9)Exl+_;PZA8#pv
zw8N)>&S}~TyokXyw@6buLX;*ub6eMzw9v-7(QKA+|L8-TdVjzepa!yjpUdH3-BzoS
z^RN#-q^Xcm5ON2MJ89*!I0RmDT*l@V565YbFRc3xzln{*{*Zi<O=B{9EkErwoY=JU
zS%&u~BgcWL%HOl4BXTB^w!K%*GqO!)M-2~m@Z94@6-^@hb=P!WUtUvFp8xsuk}+~i
z6(k`cI$UhJU}HPlF*avd_R2skKj?;tI~I#q^Vo+jdj8}BpOLd#{0W{-_<epO_x%rB
z^^9<#z(>$V6!2au+0Bx*H7*XCt+j>rd*JFSa16?@c(S!c!QKzj4ghXs#(BNfx8MKW
zBJs8JwfVZoW#4CImaWG3K089H-N*b}ZU%&_l97od>r+*??<<gao6fg!>+P0u+n#%g
zsAHWhdSusS8*aiP8m2FSuj{0_Xk|d>QoN=P1j~p30GtQ5S<zUrEQ$*o{0+J?Oy^8z
zJ}EBR-V#!O$1=ty<GlmMAGh4($MTHO%Jc7=`;~Qje?P}Q4&dnYms9_672PXb{EpK<
zgFVFj2UuXs&3KFrs@(XC@#RY|y2)==k!<tt>zQ}+72XTOe%Vit<I3&(%nMGPIoLvU
z&7UMtB#qdqJSxeq3S3NaXJ`qf$55za^J6#!QNFmd5Me>(OY{CQQmf*S4a-!rCL=&B
z(CJbN?hlE3G6w2QX%r&SuPF&0CF^DV!xjJeG^zaQE{<Hwx60z7p&Tk#7M2Qu#Tr+#
zfEOL|K#9e{bwGq&x~mf}i2av1!4Q@+k*sp2$aKe;g>7S&Sbe7~<u)HYxY-!Y=Lper
zp!?j{n8o<p*K(Z%mze?|;gvcBTn-~V5Yg>`Fyx7<ZsN5yrihr<Inm4@nOlWG6mQRn
z!Oiq;?p1T;6+e4u`t@t}&(9f0y`D(2IymLs=eK<QhGa|ojpr?MMv|&DFL}a6<Ei{9
zIWOJYyCbibSGcy1ZySHWnvC$bV_{e2)l;VW$F+?k0K@tQzN4||r53t52>${c(L58e
zQHg&n=5!keg~5Y?YTC|+Ni!3LPbVIMqgMshgqEEacs{gm<p`BJ_o|v%mCr(4{3YXO
z&sNT=xoYmny_Ney&j+UM9b|2+kF^c%<+nd||D^b`EiuB~f}e54=1y~*zy5xvee#pW
z@%z`G@0d1M+%*Z**p_ASN%ueXF;@1<u3fJfzc>38lO<&kG^fB@*scroW@{W9O-ROG
z?Ki$`92a<4V+*lVm4Oqq!r4Ns(=2x7h2|P0c!?=lQP+gi*9Iv8O(X`OOKxkDF*?Ne
zobDYgd-fcgJCZD`sVSrXWW;TobD9?$z6W<l)kH<GGFaX;tEn94ii8U46lx3L<mWMG
zbJ4d6(tK&lKhh>_|Am$cJq`G6!Mus~mfQn}2SD_BIBt{9=O676JNwgjI2{$qRA*qp
zvSkYbovCER>AZt|+W4^(V4Bja^`^ROZ@>N8x+WyW%^&~$qtIa-G4fN@WF!@+bhkh8
zwI|x$m4OtXf9h9_Hsi+CxKkHaoJx6QHS@3*=2;ynM>brCBC90_4WiIPkRH+w+RqOe
zN(FF1EwlrzVyy;i(|-KN@y|g0(=VMF60C3?yj!}~TkDMnThnx%epwbjau%!?u^sde
z<vNZhrF>S&;zAY~an5J+Sao@ENtSReJH*(HOgzJIJ)h-SLtH00GoIooB1?3c{;3Nd
zItcmYsr^Vn(q;B#D)b#vYpu7{|Nr8@8$Yqw+Un|u@z>RLLv?kx_<Oj!8-F*5zqQ@n
zhu5y9V%^<p_V`WejsMg?;UaTSe?WZ)X`M8_!!n8jMFb9_xDA0UVmTnk-p$HY2_u+l
zODFQ_WEyh$fpj*>zn@U-bhFpUq!UIUk>Ec_WYcV*tuLL-w-b>i$yiSh=vxZ!f`sbB
z-=>;v02>IL2n8amC4Bu+tzcQvxVok)_R|ElFq<CyJKBfdpwZE4JcO6=?<Lb_vt`K!
zy6hUXdAW3<v>g}#JPB|&a9k?c0rhlyvZITWpoS78Q5&7WEiJ5reQ7B^2Lk}GYoL%=
zdn%+7>()ZDog}I(uyQ4NZDW1N_=Eq-8ABTu-W@FqX$*TJcLcTYc#EuZIVuOoDNI+C
zI>q0tFbn6dkY@2Z{egH2Qe!9oV8P;$@m}5B^M*cAVYl1Lu9iPh*=}Lub)G!&2gTvy
z{mybFh(vw>iA|?mQEDd78@ej9V#}hL)08Hcr9!g@Ds0IuNn5?eUZd4*tFbnz&RR9H
zBWbC%S^^P^BN0!PhnOZ?w=EdDYUgaXr(#ZZM1DO~>#m~xQcw#9Q43}gLkhU~n2-ZN
zSIk-<ga{TkY!XyJTwwws_G{&ia4?=q#r@?IYmK?a+`48nAB4?;)!A8d{I4~gPD_kE
zW2}r*UbP}GR6&Hxvts|1ftLc(GzdveWFq7~@ggXa3Q&lwO$v>+8nHbWxKE<L1*gY=
zeTMKqP~S-y$7DnyST<>wL8t%nvp~o20mvgBjMit)x|{(&v217kK;Gm%Ge*DDkEd}3
zEcC!xm-842CmxLU*PoOw7i%S}X9dq3hdfu3$P5EU7$6d8bf|e|%Z9~Ok|{^`$n)Pj
zbm+Z9@*t5+$Fp=CZ1rzQb1A*S-<sbzBKem4QSQ)teEz}BL!z9F<871X&Yg7Ii7Xj9
zn05?!IcTin_*tbTm?ar335g?FE$v_U^|PrAOd1IxM}8rWgebGN#?48;(b3-4%oEta
zg%txt|3Y3_lh8H(lTXioY@w?%HZ7em5Ax8IbAy5CA6Qv$+WyMMU}|zCRn`!4hMJo@
zHMV%$dHrW~{`(YVcc;UlHLo$cDtp7;$U-@o3Nqefyftx&{6nLQamLR-u;+wvmTvdB
zJ#Bmwe=TUl{?u{NEmJnnTsq0(SF~UX?5f4W?R-K!>a;nkyjT2|&-h^`Q0)lX6-|y-
zd2IoUi~3Kv3m6l4zz+$=258kmIHE^D78r%v8a=4{12SEsE6Br81A-H=yVLljW!mAz
zZ!?>~I$A&okdQ`<6<~_!8j=WO#3+Sdi03dcjeVKjpH3tjrYu|h^nwZ|^TwVpeCh1v
zpJ`hJI}?`wEuRox*yL5LTveEj*?p~5%N0oAuA89xRMrq!uySK#dh&$v<1*cm>%O>Z
zO=Ym9XTkiNmu`P)`A_5S*wT4(F1w;<Z7gQH=X1uN-24^&=0~^n_BzMMcRjqmacIL@
ztL*Ssl=WoUF(%!=BBWRxGPf_&oQ$ywXQZ;Z`HC5Hwl@bRH(b2==DxGLI_A~YmAMs#
zJ275jT|-=lF<T%>K@(28nZKh;Nq5U>8jB7UBSrvR=yRd(vYP`*;+HPhnDTHj9A0I9
zUwx&cqSImVx$JtSCuC{Z7`6G?^i)mH{qZ@BE4tRvo=G?yR%Lu>da}{M<xEE%jFoim
zQ_Fl-zyF4p8*W)}!`aO54<s`CnIkiPNxDAB9`3%iB^lB<-{|5PO~1b~<ac=7)sx33
zzq7^o?j!F^&;xEwRVyp2ZH&u`lQV~2To=dD$BU&~B*`Dfq;|7#JREB8<}KkUt7bY)
zDX2RE05!m8x>n7+e%c4ZViB0LPC|dWSDQ?y(zK%Ro0605Cgn)Hvx}3u07gM+AOX_w
zkpve4C?F}UF31K#B<oqy9{AUr{a5~sC2CwzT_5MB$x>34<&_q<g*#pP+}j#!;x<k)
z6vw1`9_w^h1ytD;xOCyXr&iuOF~nJL%Km^=wr~{>Dw-vEY2y_hr!QjHD)jLV?bWz1
za6@1U{(bSqi%T==jTI_t<;-KTFcx_@ec_at-z_(uUAC~DyA{sWb*Tr9uNWV{uPIfo
z+dPWJHbKSg*(@$4q(rQ7Ptp;r%^hQ(?YewTNKu(qVYg1aDDIC`cv-_aCwL<Acm#h5
zMJlF-3b<*nkezIj_6*N~`jK;x{=4SDoAQ|JcFYunNXZIuaU5$G6F~?LEF5^;_Hbbe
z*bA)d40EvY^9^gyGzUvRHle&Y2b#*cn1Pl*xQ1syeNzm=(C{G8aQt0k-*%dzcd8>p
zzmL_AXI7`3hCXU58T#XYKJA3l><d0=jO;{c@ys36w6GW}6ZxpT4tdrGU=5QI7;hy>
zv2a47oQfj}bB~LhhNHNbrF#mFIgz3RyXYg5{~xv6G>w$e7}0LgC>2Lx6(n*T$N%eg
zkF|yPsQl>hE*<UCvBq`L;(vIg|E{tAs5XwhKeo*y@KOpprRjfYls{A^I95wdZ6gu8
zsXb~5jm@79-b>4my+5|EWAjXcl7&d<GaNMBKQ8X68K?hvN$JsdN=ucd2Z!rrSDr38
z^ylHL%1D8dtEYcV=={gvinBl{5J5|N9;mR0F8W7D<CM|K`kgMTF$m>J%nBi$iu?x{
z2ftGj%|0QHinvmm9w{RalF0@=9;Ji-BYRfTUkOT$Q~OxZF_@NeWa$HlDaDXu`|weD
z)=wQ25=a-Cs2=)9yU343sRq+51u4TSMuiR~ojH9{&~~Dal923rLE_K^7Wz~a8B{Ww
z&TvSVQjk&kjID=u<}*7F9oorrI}fq@d=(C7iiA<)ysDqw_f+xDp`A~%1AY}62U7+I
zJ_z)c4!@QvsR`EvAJpCg_ASjYkl>ra5eYsTFHVL_xFce_d3M{twrvB-w&Pir8Q|b#
zJ`f$%GU(}jrPh{;hYD`X!%RLWin5sBd4h^L6+99<K~|AH3Ry@>f}e!kWQ(MMn=A)U
zAjLaUdayOf+CarI@Hn7s!Q!KRUdVeHI03TS2(c}z-&vjISA}eP{?|H=yh?9p14B8Z
zUwtR>l+piGU3)tDP6DO2WaWVnm9mAX)c1`3p&T3FgXzRmY~aac@_!&z5qz1Tv31DS
zMoCm$z(-h9LclJY#vtrq+_>M<J+Iqs+!tr#*)wdsT(IGgw$2$k9#1CYvNmVyYizvn
zT7l;y`dugKZo*q5RN<o(;nMx2$(HXQqw?-oGN$s6A3Ie?Y3c<eH75ljSCv>>s!2{I
zYjl@PtYN67JwZBoGJlc58$jk$C5K^&5nz>}sIJr~dK83K0HP*H>|Qfg8m}$UE<g9u
zsI{f7)e^n*+{?8kEL#_6jq#4K#}n>|H?nvgB=pa{W}siM-Fvh3iT%GguL@o^=lx>;
z6V@Be^{V|1{nP+slcg?c9$ID2rj*27hB}ykG-wld0`d<OdkORb`4bT+iz(MJ;WXa?
z`ReTtZtv$(%xgUEjd|JHC5Ltn0sar|lr!D!FdT7Aa{0m`G89?cBLl>&8Fzg@i{<-`
zL1oPvV{i>@@g9t_epJ)h&vV1|<p1LZvzDEQ%5{$y)o7Y&aI&`N1}AFq@K>NQK~+4u
zhQ-!IQ42X9(Y%r_0<wihX;lIH7Q_jy@kzoqAB-1S92D0TdPeL>IOI3=q_E|S>6$+z
zRy|qvcj=_bArOavE}&+MU6f8b{gH*8Hf>w6cfM%E;}8D9$coiJU>v@3=L9)yQ9L$V
zX!5vPJy<(+(Pg(kw|M|4BjRUSKd&|N#eVvo6>6kLDfaTGew(w*W3jR~j4bfQxZLi2
z#<O8Nn4Fr8{d+nmE$?5vY{rySNFW##X)E^qM$C1yuuvS0EDF;qSg}(kmM|ImFZL<o
zw+hyprQIE#QJYf+dsjNAHm9ZqemC@^vYs+yX<6B&I5VB!iqoZKe68_fv5V$Z+W7EP
z8kkC(Y+<kA*)sNd@j#jJ0Uo7FXet?G6Ih~{&zZ;x+XUiE$RI&vXk#TlF%B3m?y{tA
ziWBEZTdtTi;vI>5K?ckHqy#+;<l#`$P?8R?ZU@mSl77%1(71}*l%zav!?vB0{GorW
zynpoDM1QgZr;!g*yO4LG4{(MNG?pp$A~9Hdhx}uIB;wCcu_`0B_li}$((i~I&qN%4
z{<77UUnMvPLAmBv*)3-MLY@x~j?wj>;WeUAdxtjswo~89U-m~%dGnMrGy#Pjk^B_V
zmR$w8Wcg{@LX#u<sVy`6X;JCTe)P*9Q7vQoX}%4!F;czg>vigl>K^jWfHYOmA7YJe
zI{s=n9uKP%!+c%7${C2Lxk$i?R2{*T*jEHkO?G!Cg*J>MOpPj0FU6f+*dItV&g76V
z1b)pJ&Z!wP(E#rzjwNY&55X=l5!R#o)VENrBjrccGxDs4XEAo+;jV=ttEC<Saie{j
zK7odgzf41ifuZ5U&=G{7!wzIEcK)(RVB~Pq5#cY}ti$ye;pCM1={2ObC26c_U89}$
zjTR`$M9*<hEoXi^n(-73li6YZl+9Y&7%@)8H8Hv^V;eEt-_rMv?(divp|j*6D{1f$
z1Drtl={J#rpio)KJX2>~7{vmN(Hc`<9+{#fpHLj)Nd9eTcO~l4NgU1bOrQL!VpqQp
zib+yUYF})TFh>{Clp6kaemgWrcO<qXdJ_pF!ro3Gu_eLxn+K6GB1T1WGm>VVJ5D~Q
z^rB8sKjecYq+-~LVDp})?U-<z(wjiNn-hJB1bf?vBocjfm(<}cJlB@W@4zcanZ@2_
zZ_&9onZz}!dt?oezEZ*lhwUB|rnxg>e;_|57^a!dOlcUVjWQBca@2J(2{ZyU8X`l3
z!ZKqBCZ5TXguooG(a*5PF(lMTyU2d2(5_-@PHjVp@6l=BYJ$lrZz=76qtMm1H8T=;
zL)Zn0K6KS|1i=Ogr#OaMVYNs06d3hV8d164|J-wa|0;h)gc6YoBu~A<c8?hm_Q;17
zFI2#eoN;Wz!mf;33vwLfrD!XFfyi>$=ZzS1s)}zl0NU8}YaCa@jC(V+kyrbM#<WPT
ziTcoV<KkbVH@+wsnuEZ^)xHH|+8}fV1)MfTnghyttlwH2l$k;dOsxT7g`FCEGo-sk
z&p7PE5R=!Hw319tbHc2WERipJYQ>+k?(iPn;jyOUHEk1n>nC<!EJ`%SV>MH%%UO0z
z>j#QY`}pTq9$fm9GT()oV^&#NTRhnmitd<MN0s}h`+dPl%?qZF>5??kC*r}T6#G;#
zT{4>ua-y&#TH0ZnA=XK;L!+!AC74DR4QTuOh2bC?SJFX#O5+DyJ}yy7B#fLm`Q*Eh
zF_YgK+uo5i(hMI&X~g#gMiv-qQ}zODLySC{h&;4W7<AJP2R7oO4DJt?#dAVaNM)ep
z9WIOKP>1rlt+aHv#vZ#wET>Bzi;ca&u1rSmPQ3G&xc}HYiM#26F&DUrAx`u3aCK}v
z5XBiDFVsi4Yh=C%cTL3z2uCAvAX#<F^f;=<iWVr?jg=c{Ka<_#`~$X#ZQni|4%q07
z)2RF_C6=D27_zeOp8lcXO3FXXFmhC13bxwh*hEAvq4#RY7(@@wXta5sv5J=WFa7?D
zaE9$8ju-iNeOQzEkMRtgh($^92t7;2-5+AMJv`>O!28fAe3N0efEC^aMGBB5Io|*;
znm#!N-*Pp!BJbKaaM^bcoHJC;|9tC{V5ij>OsjqaADrKikrhxvC#!sg?|y7=-hJ+h
z1K<B9|I_LNL-#+<x{a5OUkm4(DmH~xQVP=yTeviEPp=e12GCm@H}_T{Un3iFARA&!
zbuzHlq#14b3`-=Fy=3-4dm-PCeKUzo(0Co&;|y5Cq<f8DV!y=Zi7k_iBW_P77bG{M
z0GYCZeoL#l!ux3dC4Uy;DnK=mG!#}~Vxk0RsOA#+9jUg~6zXS*e5P&2j5eM#UdQ{B
zZRsT6pWvBx6v38^7qCQc8gFMwyj|?dwe-F;=*3<&LtgtNSHb&)pMXh%4R8NK@C1ce
zFKQy+uwRO*L`P5+-w(AlQ58J>A#I_y(psW-K8JT^i~i=~ohErf-5MqY3uB9yQZHd2
zvjZa~Xp3ZD8@!%alE$wWbO-JULWg8MMCtqzV+|Kq%teyO5p!I#pgnWsn^55C(m=2-
zc&&s31%G#_6ye;};fuGT2`1lW5MwsD{u3X+e0^7~s(RfXhwgC8H>Mxw-yH;Z#wB>&
z`%#L>5l40V**gX{bj;Fft?q!=8o^Fk`P6szvipb<L8($2AWSq6wFHPl(1k?%7ndJN
za53-Z@MH3UUNG|zzWv!|eB~aztYCe659<TwxIzx2Dfbv(p|s7$`ltjM{jxtqMEPMO
zU@DK|^M&m%J%I8N@c@dTIiS&;C+}4MtX>KFk7%?rwBt<e7M6pjX~-Gc%`>NM2*2;N
z&8GHYeSp@@0(J;^#d;j(7lv2JFaTl1RM?0Z{hjqWI5G4KuZ97UVXzgE$y@i7tD=12
zT^#R{O<qd8tGEWudQW7iLIstGnnb;@pJfv9pu|U!*I*SKK3ptCHu&b6QZ>_6XaY>I
zy0Q0#)#3Ig+TkVzzd}|0UQ<OR6WQ2gye}Z#c)w{Q@)b?YhNO9m*~~>?E8H^PXK&+)
zOL6<-#w)_ZyY=IE<Wk&!=%L~r)=GDbSBCGD?rp@YK!OOXQCLu#-Z@026M<eNJY+xY
zF>nDis^28kc{4fX92q8$_?LW8qXYst__)tzbG_lR*${^0d6!=uONX5J;|nf-!1;nR
z;Aa={tq#p%(H!~vY;JI`5@f>Qp(NlYC%k*B$?74I_QJLiviuMzi+0vZL^FH<;r2qr
zb8Cy~r-q?6ndySL5uA8v{a|qk(va@Lkaobx)kSmBI-~R3H$)mSll<qM^^KA1U#w@(
zf}k>ep!x+h^|kYM?>=wK^lWze7D}<NxqM&gWUu9N#`w<iiVAtdW7VCDJMmZj7-|JY
z)o(%?JUB8g-|nyPUijpb3vu!h4^+@)1QE@F<jb`+3Z#SRk+9t8Xs>H+0pF!brYsPI
zmJ3$apq9uww+rYAb{>=fIg39EKmqTa$Y+f=ezOaUzARX=Hn5NBUybl&pvidW^`8#j
zf4loY*wftDRarGI;N=!s?pn|l<<=D+dtqzGSHAqE2U50Fpe9w8>W+D2*iv0^=+<Bv
zuvOVw|8<*~cK-T7<HfC)G^-0TeVI_CQgLZcy>?;y6u&ad)|$TZN008T^SNbfDq%}`
z!`3x>whKNF>jv^OH>^@6@(ZNtFn2F#qXGiyrouwdsRDzCQ&kG-ltwgcC#6Ye_4l7O
zX{N$f-LY>~hnee<&D?;{A<#kbFWPh7vU&4XxAtclYgoShrq8Y~URir{;R+2o=r<a7
zB?}+0xI}?@k||()Nyx=vDFk2_b72b1L5;Sy0LN*#57gVyj&oScKKRyjGY-x4w;sHO
z-OFBM_vW9A2Cn~dv_87)oPc~u;0_~||C5orBM`WQ{Q@@Wzqo^E-rce3n&&Cd&GXl6
z+VSoyfBrL{Tp#`N^?_(KaLz8{N3&|*Hr`>Ow`ynAzQsbu|GY)=^OFN;>mcZ!a(H*m
zl+Fg^cfe||twYm&W80aacA6VEAOpqB7ROtJ7c0s7{osYbwWA#Qx&XvrY1RQkn>Q|6
zu^xSSn(rIw1-q49Y^>Ql$>wwH@{GUx*vdfQ<LqVTJa=`w&8J4{s^YRI@yN}r%))Yk
z)SQFHj$bW!ja_`rl}~q{|Aooly|X*Fh5Bh2{L+zb{!!=O%sURB>zRXUduRN7Uv*#g
zJIv!<=W)Q7hue&a``>C|?@!n>rzW%HvoGxNz4y&8U%4&wC9oPacOKx=qXM4d1X0-a
zKLRJoFe@FlDg}-OM<I<UcY&3h_BZU#0#<@?Rc*pMwdS}~Gu4}@l_l@AIny2kV)DD_
z!1l23J9N8UcNrZvr&E6Rc(%K{vZkhz%!RA#>VWU@qh6w3BEioP=-Z6|I)(Xwx=JWE
z8X376kOPuHLlCBjbXbK#M(rP;>3eKI^=5U4BD*!?zm0rab@p3b+-*HPWarF=w8md#
zvZ1(OFP3$A_{RtOa%z8DuJ5t@Jin`7W3rPC8Tl8zu6`@G4;|J$PRBYcOT#KDY=IYY
z)~P-^(3c^pAjN6ISe|NoO%~*2b$ym}CFFl`({em9<_syfuqYSThlMu<e2ja=@*QLD
zmH426;~Qr8;=?I$eOWjV4zhl@FXfDZv1vXiu4m~8<8+jSp}HtJ;>3e8!`ERRiZnEi
zMP$Jc5#>1f%D2H?2YMl9o^VB!WU&lY2fq~-8<JRz<;*j#@)(Pe*3uZnap-fR2pSqg
ziQ&r&Pe@d?ieo?NX8O%zpJeW@SkLMpxR?&uqDruyYf^|9Ae4xWOwgl(8wOL;q@~(B
zs+3k58KQ=LCKEs!2y6vd!Y)Ba6duJ!0Lg|nT$(>LZDFXYwY7KrAnja($5jo!gQVAv
zZSGvv*4NV0Hl<=}p$K_k7u^e~$VqA9qG{vGVoj9|GpDaO@9J4*9b+yQpHiyVJU5|Z
zUPGl2lMK0_{?0-DonuVaUE!Lh>8bO+BJN{DguAA^vsj>NT6a^|)}B>YFFvO=E*>6r
z#Vn3-!@43p4A3EwrXWbbnrJF;STdDPwkK&1R68gfLl?uQsp!&C<HEnp>3!KaK52%x
zLXlNwgU_NqG1yR6Wq<g&yN<HHul|L7Qf@LnW&GkZmM_e7SvbNqC?3TvySODC?rfS@
ze=gGw-u#EpZupEjZ&)cR(VDHob2u0fR8es!15H#VBXU?VFYGR`(-o!oM2(D=>c3<>
zX3R4ldkN$@#175VmNt!RS~{)S%u>K3auYXm6bxx3$8*{58ZSKe9P9b6C;_NVh7=`4
zj1ZpS7mXAxeT)VU<CvCqXuV3W&}bKUJmUGmSQa?gFdOFVB1XjI55dj}?v(9-a2WjM
zTM!c`dx^us9q?kJ-Zbj9lfFR6iVIA!z;dL{6Rfdd--u}(Vc*_{AX;#4GMpReGT&e1
z+)NoYI5xp6Vb9JgSy%&rH8$gJHObQuzJWAtqUj`#27N)gHe$m~i8W*y0<FONU38IH
zrz$xL)}M5EDt3aQjK!`iJQqp2Sq3r7;E|h*<aowo9ng8!ZRB8{2j^m3%jf8t-zn#c
zPhia}HqEOA*Z>;<$pz<`P{_!7K{Odzd(O@dmU)eAILyQ)mUZN;_K`=7elaJYN3f@5
z0o&xm4S7;s!3skuoXKlZSF7N+rh`~5z!4z5Lq^vHGgzgBaffH2xbNL8e_x!wA1goc
zF4NUA`9XrCAt{m!CHNPAAb?8pl)LSU&Xg}kl4;>vBA)4$bB0uwkay{oWj4=5GN+HY
zT4yP82a---bts`HX)S^l&tfe=*Dw~&q57mqd3)BJ$gJ73XAQ%V53JcE59CE&&e7Ev
zOi7D#x&rn1rEw<InEN!%CJdKR5eq^UfIvQN!|O=Yudk>!o^AX@&xu@3x|%IUO3Bou
zjYC7ZwMV8KUr<@$#WB2mUUjXpy>)J+s=Ailfis&jaQ-}FyQX-RlE#p1N8&l`h0w^s
z3I;#~@E~+6q+!6!1ZE`S0hI9^1dUi~rRrPC7Sy%MFWV?!S&23m>sRP;@c@1>ek`L)
za?X4gy@N11KzEb|8DMM59fZF4v=xqMgG*iy(!bC+ybB$I|0c~<agV3yahNq&&W!pW
z9Sv@*pDYLV<=K&c*bX>HOntC<j>J_XS1*?35_xct%NR#)2>jcL0W$O{82u=(lp6e?
zog*^kiBbmb({!kWb>iqClK~k^rzE7yuv-UW0liA65afU0gi`Hefe?YFX3Q#|F?;%&
z71yda{rarR)y?S(=U0ZDk>HkD+wYB(-T(P*|8~cQN#ME1!JI<aP06quksm3y)-Oyt
zd#+tk>DRZfYw5gVIxFYBJ6sl}dnsEbubsQ|6Ni@jtP>a?dFs%p_WOl2qN7$|owN|!
z*9Kd~SdZQT)Qa%S)t#4q;lVw-cQcLMU)m79`Sq=nQm@~0=kC|@xA1G(`=xKw#hgl*
zQ;M5Zf%m1LH|Rnuh=VNQTG|Wv1D4Zq$&-v}o=}X^avb2Mmxclm0wsCC=jvJOi~2h2
zU4MeN@WI!H4pJ;rC0mG7IP@m@0cJI6=-)E=>$Gfd`nUw+AIL=0z5Gj2-`XCcGwM4n
zB6Q8ri&<FccfCmuD{utNU3GgldqO;*(oxL$JncU8BS=2)XuX(i>H}FSVPY}CB5Ejv
zaXMM@)1;GB5-8n=Z5~%(3RHAety1I+Ow9ZZ;}(;t8J*>CulHJ0HH~ur8_`AM>ZAE}
z&mMl_l^0mcz!R_RW*79!O*OIgUZ+i4y!_nB^0P2eTRg78kB7zCki6?-HBIzz{kTO@
z{^;&ko)};)FTC=^;b)D9`{hOid-1NfX$zOG>Ou3xT61Hq9R(iuVqR{P4ofEr{i4`J
zX8+JLki&&(BB>SFgMxPoupc%l5H({176Bmw+e1|JcZVy&$P|MW;T@=v#)?KR1tdf7
z5iyX!d4OI4)kqsC#jXs6fpg$82Xh>hhanckEC2k%a#lc*d=TNRu)UZ^BkQt$!XB*Y
z)b;RAzuk6aqTcS%!(X@iSh%L)D&1+f-J{#OJYmO!HrH^`(A8A5rm?iB#X&_K)7)V@
zit_9O4qvOXi(C3!fk433XW_e)R-fa62b|tkMd|7++-Pmkl&h6iuk(R_w0t2X(@8<x
z1At+h1u7p2<DTc?X;D_&Fma~M=FqEl>Z|;YOPb5vwvXF_=jxVQDy%lwqR{wc8S~nQ
zi`uOYOVw5SDxd3;rcp&beW8gpVeZWj-r;dqlwV%1$aB{QIS;O#D=WxWxIMU08KxWX
zXFm_O<~Hy-bT3@#mXH23PZ9hI94u(;gpfyhC>TbHz>(l4i5RCOXd=-A#qPzz)IoMs
zX#{D)i$kl8(Tc4DtYYm_xT9|x-}u*aR$cc{U5jk@b1(y3m0<``=cx?ZuDk1-Y&N@r
z&F0hYy3Q7?^whyIg8VK~EZ}IVd+54V=NQMnJEiI|R=@rFz2Tb<%KMG~d3T>@WxW*~
zE$kUJMVGO8CWDFkvUxw+x&PgL`||s){^7i``b03PG2B!%O_yCBrd#V*diE%*majRw
zcVX|`pAOUW*dBHGD{dW$nuAqZ8*c;hN!AW?SRe(^QxY?xUtO@Nq}xbzV2RK&p??j5
zg)vAYBtAJAfh_^uOD<@n426vX=&3g4sYNZuK!2t`QkG~4btuX5@pTO;#658)Dx1R-
z)gSM^CZ|@_`qBY+tT8*ungo^m**ojb>;J~J+e5}6AzbFG+c0HPSvc94YF)l}&ctUo
zJ@^z=o#ffpg;Tyib^Y4NRkt*TXQ?f*bZwn4pVf4?#mnbE9jWrnUl41VT|V8**3_N5
zAYQj{W-zp2;r_=aG}iZ~c{bf!w!1f7e$Ae7i5a)=IPZc70T)D{0=WTC>ySVp{<Xl=
zCPu?3&<2d*pfMp?uuB!RQ<VyXKSU%ZJf2LGPc9KvG*klnkX0&vM;Igk4JnBA;P8kJ
z4_9N%9Z36XtJL)?vb%o_qpIf0gfkZNq#EkRmnW5uP(z|Dg7IYiEsL@bZhCfNZSCIW
zt*M%NdzpXY)D3mUdt%IDq3zihF5Y&>=h!qkX`Q5q$w(Sf?HcBtUOu}ewqU-eDsuMH
z`P^%9>smhRtE)}NTGUzL##^q6tX)6#`%@OSY<%#7^RAjTdqyI@e%U#}mW8|FM@ger
zKYsip`_zRSLcy5}>*5QD#yj~rIinJv4{Ga_;K_1kY_Mc?@c2uo21hPkmlW@LGHOF`
z2EqNqc^3&8lo8k~z@ng4Nsvk~SBM3zWgBPqui13<hIwVaE??Qa4Oeek(?7HE8+<mO
z_024TLHo`SCtCjOlI!L-d0H3FjD|wdnG0JzP4ll?^2|5#ukz+^K10ExeWwc}U1%>h
z!x;FPdMQJ^S_oq6k(tH>n->Zuuv2)IETkU9EDskmwQfAind(MFEHdGw=vaj;NmW=3
zD9EeX6nVg(A0(5?j9_hYq>796E3sh2X_~{s#+)*1d-4$Vz>U$)TVRehNQ$wT$zZb>
z$oKqU!6sh7x(w<nL0X%RR&On^p4hQXO#@kG)ab40+K>$GARxE3WmM!9;#~glyWhRf
z=4_uocQTtgkI(<zfvazu&wnS&zti2*#&2h@l~Q}V_*Z}0HfvT}>+IP>PqVuodSu6j
zp8OqbPtsRA>0y3lDeXr%T2hFfx0Ag-^rJ*dz)XrFmqEaQC{I{~DVfF*aNsTQhr~2`
zfq@1=-QkaeS2dQka<79`sC~vIk>tY{&|W6ON48z?Fdtx$yugekgQM|zFte2oZv}fR
z8M*c)E}8Ku4e2FJHrhid6nHd6F&f4a;$;7UsUJ3WF4~t;IgmQ0+@VCLIbz++MFVKU
zOv`OE7F-r{`)q!@soUgtJc}tLqe$LwLWm4XUKA`^F_X&0CoeTnMm#4}ob(*2I7Qnr
z*AQ?@8FWLepi^MbI^3r=h?y|8?dSyX{5XV-2Wk_SLdxktkX?CbCpqH_m}R0TkQACQ
zTe!CK5V3Hl14Y(K?i|CA%X22=T1>DOI5{hLa19!<`51X1SuCtXIv&umGX)X(9~(E>
zMPN%7b~v;Ig>*`wWFX(Bg0PAJ1rRGZYxcbbC#A#6w@*q7?mV1bcIPXXk4q;jr_b!&
z;d2dPN_O<loL-qskGuSpJC`9UTx@L*N5@#KzLVei_z(LRJ@bD54<E05=16w#J=@Px
z+Z$>Ywze-=J)5S%m6^SIL3``Mnud1utnK&A&DMAJ3+X7-q!c3xG7xi*aY4gZg|#;U
zlD0d6KQu&xfPH)lCh<t53fXYU8F#~hS}onyiWC*1Im0?=;^=S+KGE2sQb|zSuvcrs
zxP-wZRmpIH7JeK}tQo7j3e1Z5m%Cwli1DL^G%R*tw_6-etHt4Hv05!Yt2M1!Y_e>#
zMKzmM$Nw(Hja|bt4Ik<7PT?^HU+Q@I(9S`RH)Ly@yn5Y?hO-hAqMK96^IksBlfI&I
zeB!Kz%(~T+>#f0wJu|}osewSyqd9av)M&FgyXMWLU>u>)ps-vA^81?AVYlEv?a;M|
zsy9O`tgEuxpxf*a>e_cWG&uRH9+>CbxooqP$z1*-p$%>cdjGg?f>zdk*6y>fIeYcx
z*7~xtNW>nSV7+`bF5JAhy-ceE)!Nt)t5;;J%cZKe&Tu%{?1X!A@@6>{mf=i+7J$hW
zemQ`-92UIWT<^sggT?b`xj_}laN0Xajsq+(EC7vz`6yV%LtjaB3nSX4G}_>2f)`9@
z()0_0>@y<Z;5ah&Bumee5(Q#oIfNf%xoUF@H;<6;L-}3^^F41KRJi^1#T@}**jNtM
zg_$aV8m)W88#oCZItg({u%D6xITit+1bCg8Bq&;8(*>t+tR8S^w1lvy;s{*t>p<*Z
z!AhBB#e+b$MC%EavRM|72^a$ze51?muvu(2#p+)anD+arjT>in?wiqn<D~LXS*UDX
z`Q$ezKezFwpX|)uG4zS+zBl>TowzoCL#VuNe)gP2552f++V7_L`vOZA*tmjV1RfuM
zdHnv0s_2ABcy%b@W7dh`vQYb^`TzaLo9YJ|!YjsChN|l({EP+mKWTj9M928b%FE`L
ztqj*c)^OQRj(l~-)ai>R+BPf?uL|3|URy}3f0)Ju^h&{&0-9*xDD)l!VNz*Od!~r2
zAc7WKok`b`G?K;#ga)KBRru}%@sE_`<msVi1NPvCwQDL`Gu4Z&>lbE?Kb|$QR<5%9
z^w!Rn@)Z>>-B)W*#@uqHYx2y=Ha*Dt{%s$xaaCA-oh{P>uF7#r`Q$nNIhxGsD^`@Z
zbhhd~dzD-}@hs-eE?jS2T%BpHShIFR&>nzSm4D9Ua%EhlD=@94(`T)4)$o1)*2jXn
z4RyOJWp^xTuk}H0V&Z&ZGh*7_kKUV3ad1=mNBm6I{;KGCL)(lh755nOD;g+z9nnG|
z_%dUzXhIeQQCmlt`9C!H3Pfb=>2uFzPdm;Sg+)4%WCzba+t{qG`tW!x0=@+<olV+e
z@&N;eqX2D0dP9~{VnIMj6~v5)UJV{c3RmGv769boT@Qp9?GCEM<+<s!8V%WeQ#w7m
z-w~28xVwWpHN9a{gDoJ-Ws!=o%|0>RG)q;Tx{ps|lRu?R^fi>%c_!Z%1ou-)@~{<l
z)zTQPlmoUIJ-X)P9d}<Kha7(0*-+Q$wuPdqHlb+}z7P|<Z?dPZyumk7`;_sWY22qf
zRdrTVTAo}=6%qWxmP=cXy`1#<LfiqByJB*rqz9+POVX22Sm@3}N>~s`kaj@M*sd*~
zc|Pm=#7~VMebzYkW^Ln}&tCjgbv)WQZrgpc7WFI|e+^sxvgPpJJNmcwCoVou*|dJP
zD|)k$fA3$m-mBcsuV1Iy!(ZH?B<1mUEnC_9z?W^wy1j=l3QoSV+h(q<lUZ4UTquaP
z#bt!sLdY#M{2ZB`@gO_NSk-Tg&wTpRpMB{!ccq$xn*5sa+o6A#5hL<5U;T#hTW3ve
zjMnJMr^UQ3MLhvnh0uQfPi}A6J>dpO0e5|xWW4_Sit>MUpNdrc-gvzbj`s-9o-i(3
zh-e@`{^xg{i)3G!x{%#_;)kXw5uql5p9H;=K*rqNX>$hkD*_yn^TY^`A^bA6Y!YTt
zNr<3?1&;Yq0#LRh_Kut@`VCMFpIm2sN%X_#DKrn>31BM7&fU;zk(9L&?>4<shTj#W
z20%ZX1bq$45W8HcwF9JBEB>`XqHj#mxYMseX72QVfMY+CvMj4YY(63d$K}C6r~iZm
zr{R7CjPhschv>WlUZ!s;A-eCdhc2igB2X}mSkFR=Hx+grh&itg-{Df-$UO(F4}8pY
z*yY=}-&c8Sc^wZK-*~GWR#XvnfYn`o#jV`Q1HS0pkpy#m35K%Q|E#<=;ETwRPyg4~
zzwuM%5njB;OVL0uUj7!F9pZK6w^sVR&Regz+<4>hia?;Y{AX-8tNfCaCCcvxv*G;d
zH@<GfX)H-ViWAWe)rh(TZlTzhqMi$GKOn3}xCN}0CNm6k2{tN;TB~@Pdzzbj82<71
zXsJW-i5BIP4=ZJ^p+C9G6y=NNNPAxLuIZ3n9c#QVdDuF7rto*P7<d^93ib!~Yp2)i
z%->+-1e=*DZ{cgxJw56C<1GTW?}m&l3+@XpkAMc^tne=-T)-_ZhV9P<i;gCxy#s`V
zpts{O0vg#Xsa{2cte_Wx-Hh{%9aDOgWI*#xYED)@`PnA;QdP({?=JDqLH1<^v%Rcw
zm2o?}Mkc);eVc`?j{DbcNyTThPHm`~(o!)leABe6mS5h!wg*imn}(q}`Rm4y8jL?d
zpC)(&N!WMTfq4+UQ-S+5uwD)E1S}41xhLigaFtdLX$s)%0M)Dy2%qG^h%X6Y4P;jy
zpS;*J_3YTj`T3oy?^93avrnoC^dN(kWn|j=UU)J0j0N^?mS=J=J{voGs>d^bBb)df
zd&OYjRSl!{xwbx9WPNRqv0pIl$rl4YKM`tvU*N?jjpK&U@4~YYG?}4ZFL)WawS!ov
zV>8iVphW0QVb$qK7WU?`1EOkT4#=3#JceO3Nz4L0jpx<=+pBDj`fsKk)s+ojpJ;1v
z=+%K+Z;g&?uuc4WLuIui{mpuZt?KqMr5Y-4y|uDobQzu<^B51&WA=uT%Ev`VSKVN9
zRPWzkWw(tgBjzP5U`U62VbfUIqcH3v7Z&r^l%|31DwRDJ<!Po|KZF4)6+N~<QcFHA
zAXzbm*t`p(G!>G^e6Fgl>fE_-b#>Oyn_D$|ZY(zMg_o8bE=U|%FQD#Y7avmMLh5+S
z;ZIF1h#X_KFf0mPWqd}hv%aReJ9+&RA$C=%;4v^cy{vKO^!?+5nI%igC+D-7OsT-J
zFMaWYU6V~|<Ls%X*v#tpM%__)K}T?DSEhFFu36I{a1{D*F+Lr@60ko?KmsG^7ETk7
zwI#G%pg;*%0G8uKy@Wxg6JLjo9yTDfF+eC%;70_xjws2XVUy%)A~;@gge?HkvoM+g
ziPIm8)y|k!U&$eco>%WGV}4&KXqkI1Ml7FeS%h$my{05mS+`>O%P+7^CfCxNHU_7D
z>V+HcdX};2a$Grd@y8zA#I6cGaecD8xu)J(JA;?GDuQKU8;hlTvpieYGA=I58eftL
zfx?a_!_#LrE=x}iEQCGouqd)DcJ|Ut#^h}%US_&?>g-S4q4r%A3Qq2N@ZyaRPMfuB
zZ*8V)X|Q8~j6wAJtuTxz$ZCaLTfml590>}Y04bIZ=0?*A(Gs4;sEV<q#X`SgD-(ik
z64?}Y)F!pS0e}f2*GwT$fT{?&b`XZ<D2$rww$_DXpn(G#vNY|~lhaK5#u4CHB}Ccs
zv{INn6X2fncR=VcI1l4Ql2^4s?hjcuq^a0FAvzKA5?XUE#RMYWN_#nN>Ns{lz}7)I
zUKmgCNKn-Y{fN*@f*3&#Fx4f~+S7`5KNv>hhBBGFn0Bjrx=C-EY>J<0&LQFw9C2Z;
z+h@>Rw=cNn)-iJ}#LiP^^9&$yUIB0|${E16mgMKkI(fPn+WagNRIBt42h{>#W7x#L
zXUb=)1r<aDPn?1d3Ku|KgQp^+FALBWAg59vMY2gYY=`~u|HC%}4#Ep?HQS6N5{KFQ
z<e52aF3!X^9XR=G9)^DqN>F(eH4fq_Bn~G()R$7UO+pjUDyUV_C}0S(R&R}qCWhdj
z*iq{Fr>dfEvoVHE$dBJIG?i^$&75PKwgE-a`a)wOBMn7qV~nHR2p?8xR|=aI+9euB
zgEj2kDn80Es$I&dJs*A<bB%4)MUaMUrh&yco!XcDN41M4(M_Uc5R_Q=rbA~Sj4c$6
zWTWO1{+wbOh8sgZonngE=2P2sq1hOk<<r1`baG6?3hUE^Gdue^FT<5m{{u*6fZS=X
z#~zO_taQPE0~UY**avA81W+)x#N{Tjno$@+KfOJfY8AJ1i1>mb+9Bwc25bkTT6!G6
zI{i~=sIyQluMMH@j&=yJLWm?QN@(Gv3(PW0)lik~NTC`Mc2Mj<Eu<5VNpeKggvKF<
zy;)Qe?g)jGz$+-i@h}pQk#vOgc0#y#3=el;v(m#jQ`|z-N%k!v9ik{9Pl3!6n;uI+
zse?Yy-C7FVLQ)qx5@u>gRUPKNFc{hpe2KMGTN4M0Mq{Zl7$q%OlR~e$WNHmHn(mOr
zq`1mLAp1Z?gwU>zwq!@BL%bYVkJ{M<qh;2X#sf4wXi-ZC91&{U=~28*oZ3kh0u+G3
zYfsS_(K#u%6Z?%EO@ge|A`}fQd72<Y!z?6Gz=hAUG94|UzMy4VIDkJs#*;*z#oZcL
zp(FOVk~Ll)hQLAQ4m;Ce8*Q^`jJpwbQC2kzK7OiUbCvC~+hfzLvaT|BK(@5utTSg+
zkt4FI>zrw-0<E;7Tf>@KS02|i9RWBIV8)@#wQkj^SZ#jQC0iX<Rd%>7Hs<wMm{qk{
zWCX>m&?_{R*=<e^V{E4lZ&X!_tjBChnO9X5Cc`+pX(If7JiNxDx-=af(z)VxSv=Z-
zb9GgLl-8=TMn8wGwg*PCI$FnNuhSVv%Y6<-aaed5ns6qU%ZR+G@rawK5^lj$vdsk%
zBx19KU;)dy(-Dx>3X9F*Rozj&&d*i5&ee#Df(Wo$?NepMIka+wHwLXAQe{NflsU6%
z+zxRIBNcg#jyPUWzB?3zI>jf3WSQxWnp;;nj0ekA89h^N+-}hkc@jTv9e!mluM)%;
zbs2`+3Td=zg=AW-mUV>h3~{e4`<yn9?6AsS?hbhmAGufd%RcDjtsa@%6uYL=R3Q?h
zTXk6Nh{TA+q{?oq3$Z^jcihhvS@&0P$kAa&Fb3TjFEKB(IhbzIG>e~y7{DULJWhZV
z$Ix5LWYw+$yj2?_apDWI9Lg3Aky~NUU`60ftD;%`vgT5CuhW7!nL&*!G)8L3U9MWJ
zPN!96_~?`tripbs6t`N2v9ytsgAXsTVuZqgyK?5XxR?W>H&xw=DACNOFwCnGP}Fk8
zDl>)a77Qqc+Z{m@tjwjW9;+g2nnROa7|F$VA<C==U9hvLSHYaQFpVshQkY|cEY~9z
zwcV<zwVD>i$DUmD3=fPeSJa>)<86A-6XIG$z-Fn_bf<<dMR{d}mgF^x-@=?eyR7*%
zMYWW1xzZhHR=|z!Q=k~IazHU4pb}w$oDQ_WFT3Ff#1+dpk1g)?a5oGvAo~Y2%2v(p
zgzmb+C&SPLGpo96P!e#jUAI6BBKr`;O|>X~j}>pS<ICiba$9r+*2So*7G_7NTJ!)b
zjd7c%4&7Y$al8k{oDOQO1=CEBCgTNIR$Nm7#pN1SuAN(D#e>eswiai#x7;04^a=|o
zHdzXu3~D!k_twGB!iup-<%>wx!n(HuDjeATlAIHv<w2*?ci_}uSlBi(leFTW&YwdT
z$D3hld?@uX{zka@ojXmZoGCYs$A_0*|CW0HwN|&+q`ld1Q9N;puysDP{$uQp)Xcq4
zn?j^`mA%G(XmE?XdM+$siKry;2HI!ZT2_Ekf;Ddf7I$QIC;mr>Y9Un}`;FJJc|{`9
z-^eP`5K?4)M{evN9gQ)Ivh+8UDT=wU1GBf!lmQtmso=k_g?xr&l!&KZ3_Az9*8E0P
zi+U}-`{WnV=3tR(`03+Msx(gd1-|R#&qqX{Imr*3ZT1Iz{{}+=eG!d^m^rdjB)d}@
zhv6|Gg(Yc-5b`RBcykb*k*rxTX9aa6^#76}DUg)W_p?cD%^=e2hYDQ!00MXh&pi5I
z3G44!t4i6tWW-GI$p8@?0~mrqGDd}bo&*j9YpI__JtHg*t=Pz5=w`NuBnsrA174Bj
zAoLZJYFr@J5w>!s6rAJ=Rv~d9ei09fyQ*wF%r3YGod%I3J`{A1@v!mmJv2b1fr9qw
z9(DmP_#+NSJ-UFHS>9?~!b9Q<S~+}7f+BLszd8MLRjDygQ9v&8>7|;*yG03lx9S&g
z2w#aT#@!2P_+)8@v`ku!t_wS^w1>1bU}!)Hfrk-&9rN|-g4Jm8E7m9lmnE|A5eBz-
zmKRF!C6901yL8)iTJP0UXZEPd=+9l-dKT}!ZSUe9Tj6upLuQ;j`J93^sT|+7bnnK;
zm#956r(WHwU1u5#azNpdMQq);#&Du?f8KS5Ph+bs!p797E_@+7|LCG6*Qz`AS0=)Z
z<Je|#lfaMs#qQCzLG~Vp*T%&d1!7si3Ri*4!_+p(WLgYw0TEiIa1&Hv;aW%0oJJ0}
zOQyGkiDy!H7AXpoARHSYXCZ#LnyJr5Uxm47l^nDC_0D>CdBjmI$D>Co8tS9>Me{SF
zN22wq%KM_xS1TIEmXdEg`@UsYU$gAUvXv{(*>&~uSC@~;;}eIdJtkK>BIWM-PTg-u
z8g{M!Q4u*1<-bQFT5%wnLZOQ4(S`DF9$j`|+1dZG?CNXJS-BE5kIvG%z*@}$cU54F
z1YAHpAOwLxqYCxS6bI_rHy=Hb1G>CxJ4eL7M;Mzrr+@RohMS&Y*+<`mW8<FJ+oNs-
z1AO+bu7jI<yQ_W(-tkK4_MNCZj9EZ*cL8-BrbWF#gTmfkWpS2*AHFxJ{<U-V<`db?
zvpd;ev3^V&4+!&(ca5X`-;JYz?8<X*yzyMQoZW5WXyfu(#xnM~>IA#nxI7`cA~EsZ
zB0@lmq&3oJ>1t`ObO&yc#1>XDDv%tR-ePrQje|G`4N4jDr3v(wtYAU4(j_8a+ex)6
zsBQWJXkpTUEL70BNfOp!r)h1GK}%E41v~=NWkfweB~&y1@Dzf0!i*WUAl*T4m7fy)
zIJ<<Mh{|eJ*6H!O@{2CDD4>bgFWYnPZRf1A>+6^9Ik0S&)wyez(>iO}fjvvt>uN*e
z+57I@vuwSNl9o&Pmt0<tGh3y~(GzQ$T9&N2a6!sEH7#jrN-el>jd^0O{<!O`i0o29
zC;hCS4+3KjP<VTn5|R6}`M-S;;rh)@GGbg2sH^p4K=SSGQP`x33-3%XU$p$%zPr-P
ztDV;Q^R3S6<>|Znre2adYkAvU3nxxuN)Ov@(KDXfy1?z@_Owo|qeFgb>z;9S;=l){
z*y{q8=7{V8S;YQ3#xogX$>sePsI@&x#K>jXgSX4rG_VN)f6=~Cji?X_Sb^Y+5+p(&
z**FA(#%DgDj~0lyy%jMx5F64@n+QR#*h_{pn!x|00m={3mmnB@3WB`;XHCl*KVgm7
zVsZR8HqFSA$3K_q<)52L1s6=$eikcya{>>e4&!U}KQVs7KV$sF_!PdKH$ZOQ_!5p(
z-#_#>C2QsYZA?;5?oqE(uOod2c`X6lOu?h+tR(WL2##<NAz4CCz&|DTX-6dICiS{U
zcHDa5&|fcq<IzX1<mcI@dz`lX<7Zv8`9Pm+>0X*y-ktwOq^2@i&K`mRHNMSxQTG)~
zS5D`%FZ|e!M=q2tSAO!*UtOMm+~)91xAF5A9^8C!-_T#XmuHrC^Vwy|%2<VQ5$<)_
z*hAA-F1-Skt*1S_V3#9f?M{+ro8R_euzN!QRB(X9a{`T~xk-j#3s)2+n7*K6ec$L?
zqxi^&l$Y?Cp@7Z!oo%Aq)WBsi+%l#K0VRjSFVol8kLPFumj~z*q-D{1B823uYm$wX
z+X6)g`x6q)C?-iN(dPJvFfYSjC;ff2U(89dPi{=ma0g61w>C;m4gEiK{lgY8LcUti
zW04jM6b(hIrcKn;^qA49KP*2w?p`q@oth;ycU&APof9cKu(wZ_q{VSE2U;^DnfkO8
z^gEzvik@S>!VV3&_^8$uHEv_CkBx|2&=Zm$#kK+UXsKrHxT!)MeX+E_t3pS}?h&W_
z01V*Fxs-o1_6i$`bd702pWL+W)xW~}Yns#ttbK`e9ngVTHA48BZqrkcKBOTT5g)LE
zddeS+3!y6sBx`UN<Owz^NH_37t1+F2Gg-Q|ji^mcPr<5l?EO;);rgvhHup@PG`X_z
z;)rEZo!>LVvzaYCzjYcn4r<LkJ<XNnO|@s2oj+y%g|n8<W;d$;V~&H*MXpZAv&I*<
zFm4$)_qNUIyQOzZM{D`wH9adQR7NwFPTR}|ALHo<S6=B@z%!55`C6B^HI5ILS4^4O
zI(gaLmSs&H<<pFBnFH$b`Q@uFxS-+jdWSdBccXEMasBX(G2=R-PjN%vv_as~f?=i!
zwh8QEWZr`?0ocaK^}`K=k;29XOe8Lb<v39QBq7JIpnin+2+_^y4ibdXF9=I)mB3<2
zZIEpKJ`k3F?Ay`s#J#sLrDaFYWj4D@bu4$aq*v~`V%E%_o}bL#G$rva`-I*Qo|u@o
zc>dyRuUK-&WPDEpeB(v#Dz{oYp|NY~{7mn{3C&AtI6|43)`Tu!rgp-*)z4*b^gHU3
zi?5yLs{l{=K<DbIQ&!HOIkPL!^#AboCV)|u=id0d=bYL1eKM0}CX<;7S;;a<$T}op
z-@*=pAp$~JlwCvtM?g`uim14kXtl1WRdKncZQ81})mrsxS8Zc!{j9A^+iSIuIefq8
zJu}H9fO_x${y!yWo3p&@^FHhE$@QI5#o`;zudfPMjCHuZ#Ws`9VqQNsKN=|$3a3VO
z<03_FPr%>Y(m8KR9{7|DU06X@Cnq#sM0b@sRo831Zd6+f((G}2m25mpZIv36j}4j(
z;C=Nq(4g@E8s1cNzlZRAGc8BzL@rXqqENp@K`qic>gu|&5uIobG}rDcTrg*AenUPJ
zniI{)VZ<z&@^H(d#k~s~O2^uZ>~5_UGPkp^bfra@_w(r&L)I^kP0?6IokinDX1=M@
z)?IMu{%zZvTRb*<j(UN^GMqkL9TJ2^46zfC@hu6xKF4yAIi~ru{K3wdO`*zMN2n;b
zp>fKcvzFhupsB+hh9Y2r0a}cxS?e<~qsHpj78{-N{vTg3y<&XhxL~NFa@zFmU3ak=
z$8(BK?8)>E+}_FeMa6wK6k17W0?SmC_w#zy5m3%ib+?Z?AKf<p+vlUdH_~?z(X@z&
zR}xWkFXF7@k-x|z?i=~r$g?lIGy7X4?)H-)t4=_4?WcJ}8+P5$p*(yj4nY?>vaV(w
zp81BXm$8}InMH{X2Tt9Q#)WV~9tcB^Q9}r~F;>KVq)G502hIW(@e-wgk>D(Q>Dw%_
z4rpg3juR(fH+a$EP-|#^;^pPb^Yih?c0T`nb2I+L->0vnzL`D{zssL}tB#(<qjmJG
z<HZ~JbNS2VLH=Cx^QrFi6(K);fMF-4^Oh3-Z&UeHGlsQA4Bl5{9dZwau>g=riiT;)
zg!eRU!GI}(9~hZd_ybdHN?I);B)R*${0d8c)2#ooUah#pv*|jgC1i?;<P<@YY(k8g
zLKdeE;y#1pr};%^TL9_{N#&0!{_{}hsPMcw^=R*OT#@<*RaUPBibF=u67&c4nBL;W
zY-R~vou@KTh?n^L!4sf<kk`_D*;Je<cnBc8(AksuJI+BcDKrEmnHwR9z=N29f`f)p
zT0OpA5}OG{C*dZLCzysTaj$P!*W}cfyVkbs_<ry9KVG-y>C2XscFoAw0Y5=wuX+8!
zTOPc6UCUI9E`nIW)&)5$?9!`pCL8-~ZqW&zJE`zHv2j;_dU*3oyBm9UUD?t5&7di$
z9SgmF%Q?6F=H9&zeY~(Gylrtob^GS|Q>x_diR+fIoqyr}UfFd6V#W~PpQ)V#l_OV1
zrE+u?HiR#!92sSaF_i|0kxP}%_v*{sYnqS!dE%u{ukAgy>zvYAGt6$upw`%{e{uiK
z_wQfZOqKJ*t6Jv!miz3_&|^F<0i56^iwYl$HL%zp=iRkq%DA3OuV`O&XHadhl-a$`
z)<uWky65r-{<g5WaNELys_~oVPOg%due@F19{HHe^qCiOO^s?b@itoUj<Hs_&wBHr
z#?*3KGr9#ZJ*1rA^~x6%z!WU2G%Asu74{P`R#T6KL#uGDu-o%2o&YAd1KwEPx9qln
z@0<&J>w|VpmA%|qWY00^<==gH%j$=MQTN{#o>#LpG1j~K-1fDtLGcZQDU`*^I%af~
zRkV+<h*xQBdZT*(etFt~x2E5-o4mhIsgkEK=91&0p-oH5$HQk)Dl`?^3v-G>F*a2@
zlYQqRbxTeMJGyd5?cCnp%ANyrc3+vF3T}UJ%DnbXQzle5<rgKICT=}+LxsiwHF9Fc
zvfYn9xV?uwg!r4$JY3dL){9*D{;$AFp^DU2=t!cb-p+@AajSsTw2I3Dxg6JtAuViV
z;P>cvfJ<pLA>L|~-hkLbp`M02S`iMdZr((3Y9evH-jHK2a+cexH1<$k@5Xs`leX+m
zG_C8dzc|#guKnCq-m!_LHRmnd%Z}~eKWSz~dwWGFo=C()*WN1sSJRG5yPG4y<UKb{
zPe{;Z7w6yn*7vXJmeyxlX_7k@D#}6gm<lDqQq<7h+_|nLKPTQT-qpN+_nZSgmA$=l
zYj+53v&!#TG<D0wrnVw~bwzc{q!r`(F4^m<oNz%$%hbfVRbF9kyUA+{=+w{ObnQC@
zuFU(X)s*()IvW+TF6P4jm84{z&K0UC3R)@x8w>{zv;s7K452_o-6#ymjR42ds~zQd
zO>VwvMv0kpt|c>eAKpEqMA-=?YY(4H5>1klhd+e+88j^F*J8_(J*@xgu82z>c>mgi
zJ7><^c~IHOCCE382V}k#6DO1O2<0{c@dE8)2}va;5xD{%KqYQX!La}`lbnF%ADgHj
ziJioA_^}h-`?W;&__G)&BH_T{SuWh9Q5gs%We{KBH)F%N9|@h|b;`2|RZ>Vw{JSLg
zku1(1266@hi||q9LsBC9Jv@Oj%8X|d%Ckd}LL8w%NboYlX#-DFI8UbVKzU54@E_;D
zhhlYryANDzXem4qY@z)g-4lKA|3u1#3jm$a12@oYUO-Bo>;rm_)N?ZF90{R7ylX!&
z%&A?V!5i7CkOoO49cm|D-r-`7YPR2IwZs|PkbeiC`^vs!*)O7YKpTqaJ6^`G=sWbg
z(w>>V<GeX!LzT);2+6}zyT^+dWT8pmegTm>f;Usag$L2NAdyk>e<d0UC6N~P0x}|$
zjbm%~kDGK+4P!MIO&a$Qn>?;``4su8rH1jPEdaM?-ny33@rEVxLxrsu&Yhv|AHPg&
z9DJYHG0|TY{nv_;%Brf$l1qOdV+&>-tdUP9w3T^94o6X5r8e=AujIzInZ4b-&mV`s
z>v|kn!9StI2m_!bf}9+|C66>zplpx|-1d;e2Dce^nAQOgJ6C?1En}<a33FDi{`N}g
zdij~z3)<$pjq)=PiP#ia0Vl0)d-yf+`oWO+2Ub00`SK}K&pU7MozzQ$W6kynHTgBE
zU$N`ir(?$+432Fm_*1&=)BFOwR>3b&Xm=6RnxwxbjU<s)g|b3J3GoiYC2ayB5JJhL
zQC;$?{NA09$UnP4%XC*8tTyeGH@EkG@4)QY2fo+4{HcjoXIVS;tYgj_?_{~Jin)N=
zeecyvZrEqY(H+nWhGo6D{WUx_sr^8fRpavWHvnK4$}`ya{;K{p;bMg{__Ltiq$>sJ
z2bM)xiPIW1M52SAL6mWNSXXFpUn^o4xZVu<Q(8aOF~Yv*QXJa;uaR{G7%Sf#Ej^{$
zZ7GK1Jrs|y=ZgWO-{ChG=gPggdc6l>Cizi=&29j$k6^K|rDwVoTENq9-OW^`q`_Mk
ziAUB05TC4ur3~M)z+{5=*$h#<+vw5jNd;MK##fC2d>^)0$t~bB_}1ySqEu(Nb@wS%
zDe4j<4i|g{pBtnLqKvj=^?@^BhQZD3nX|3}JO*M!$rlD|Vl-nx&D@dk7GyR)24Ycr
zt%HL7$#a|o1Tmws`}}-Opt?ePesj0Y)ph#;m#s`#&VNZM;6p<CzH7eW44=3%?ED5H
zZb8pI{nP6hzi*mgR8m?WVY~h1mVjU0qn^<`<3MrOjONW2{*&-B-)&Rw>z7adJ}>Vb
zrg@rPa^0u$Q#7uLE}#KG7d*87!CQ#rbArv+Vr-M_UQ}m`5<)u04FQIM9T<feMx3uS
zUGA0ddj0x63j@B2TQ4mgH=*Sfw&L~I+3YMFF}2lq8j#qh>`wLpyHiR6ePH9uQ>%NH
z%x+sB)#$GI8*}{aC&S=kZu=Rq#U5p`haXO_54;X8(6*J?wHT^HZIpW9OAr~@mt!%2
z?-v&%<NUwwTHAA8xG=XYK6Bb_%y8FTsc#Yn!||^`YEU<RErf>aq-5_CtLEI=&@j*C
zEHGGlpLpeo53c^(SHL!${Nk$-8!o;0b<hWPN+s@8C&`LLHfl_9(D!;LMc2b{<4juv
zTv{;#+8}Oo7*p?=^CZN%NiWE2C7r|UQ2$i&+1O;HDS4P(3*QCtXD;8#OLGKuu1zdH
zpBb$_ah%1GW7iqvs^u75ShM)tO7cjmEL|}KLIina8zl(7?~K=I{eeiCF(Rk4nz*qh
z@z52m3f2U!-|mrBTw8s{Gel=AzrqLzjdqU!7!ur_9roDYpLrAAGwQ5%I(}82rT6zw
zukCLb=1uy6!8J>@SXo)qOB5y&dB4_GD;iiR`>|T3&1A5NQAqrVQ@)sSb{in6v}%w;
z7jq-#7E3Tdc9XZhb}Q_4Ggr<GwTdC9*=VX-)Yy4(sn#tS?GB^l)|PI+YCAu5*!k(j
zosEmCOh8Oy<*HL`{`aqC=7IY{ETt+bE5VzD=TpafZ@smbc+2XUGpmJ8W7O<4R8&lD
zHWX>>c1@9?d204?MTNm>RtwKC`&C^x{^@`qys=ymmJ?G-b`H=HsMU4Q76d3-LJjVW
zIxTdX;t7_f^hki`aCW~UYB!&WDv{fN;CX;xo>YSL-vV^A7`~;j7@@Z_hA7}gqo3SX
zS_{CKqI>#Skl#<6)CIVIehPgI*9FCdL1rhj73)C{h=jsd^1L-RAT2CK-*M#yaTOfm
z7|o9*o#M+}+;Zuyf$tu9PhuGrhLKB1CBWmLsoP0v;(zeg!y$<df-vCpJJ;7zJ*rns
z>zlA)|AGA*CUhFc7?S4q%t`D!ldH>{nx)E|oN{wpg{!N(%T>{4F3-uSl$x8$S1-Qd
zneRVy!(tJQ;51iM<88s|wUc+wDleb4bMpDKjAh2#Zn)t#>}H*R$EK?3TdH&GB7s1p
zHqYy;s4lCmEvv5ZdGl)NT3v4Smg!ZS?pX2grt#x9J<REUAIHb_^LQMt^5;qpZfE0=
z{7PiIjRXy}4DT|<TEnGlo|4OaqR(kIndBcLt!09zwd_HPN(C(QL?0Df-J{@RvL4g|
z{|vYfi7>H+b;BuyGJuxc)&V^oP%f#DKti~TMtPKgC4pFD#B*e<W0)}9&PT}%c@$3J
znQiWBXc!0hiw7uiW)CIKTxJk5miTKgB1`<8Ol+F843_vk_X|D9W70#VmQgKa>+D0d
zmYLq<_W3<;*XNsIpMUfq?DNxG3&=h{s*GqlCCwrrZ-#u7A#G!PfiXN=8R;`<g}V(|
zh5eE;_M!25^tj(-0!Vfrm6r85<&Vx%NEDIFQ9O26t6HS$8MbyQZAZgZtcNO{gC3A6
z6)Syhy(d_Y0YEBt;taTjm6M|p=h0X#`KRVfLryP>8C;4U+A(-|$01{+vA5IHI1%=+
zN#k<%v5EU~)*cQb=qU)*9p6uAf}YQy>x3=CDEFsbTmS?JGPP^Rfde}_cOTxe#9G_=
zvTJ1v@X5MbR=QqpE$HnnXiXemyEw0eW_d~8VnX2<KI`0GXc%8mTjI1X*>ZR{Y|=k^
z_gx^Wp)H8-Nv7KZy3Gv#29O=C-30*a7T9LF+N;{jO=9S|LL_<f1VPYg7GO;xu&?w2
zhEy#47cMMOtS?H9aQsQ*6o~74-$t%zgS|OSv1_4%<4kwFAVkOEX1hV-kG_2`T^ctD
ztwX5c_?Kv1?v}S5dH3BT`&_?1$RRrNi@^6e<O{iG^N<54Mfn08rc?)i?b^pLUgKWg
zil*VTI0=3zi5@3uHiCHrzcDq`w&^t#vJ-{Rl316=$hypfq#(tUx0u|=ktU_SK@~_U
zxrYg=eM=L#C?TTqB#uQKp9Ig?$4TqJVE@v6YSlj8rmA$jTshQH+0k+|@;P-SdjDlH
za$@2uL*u?G9FC83Z2~+k@$-eecX<UFia?SX25D)=c$xN0(<C=`B@$i#{!|N%%SqMR
z!`j5VM-uy%66z)?UXF-k`!>qSR6kl;(qkM235Qb{pzL8ZmeAT*`^r`AXlt}529YAF
z+Ld9%`5ev-@VGz>B;pL{SZRIgn4#VwAks<WctV14la%o=v=vqSI_TK(eUu18-JeQg
zDhz%`179>^a!|@{42vGxvcA#B|L*5FHCR~1;J)KgV*D`=XsnQpsTdad4%C3J0>d`>
z_^5LzOVcZRh_bly94Bdsmyao0#U;?(RDw(|86=v_@nBL?k<Wpwf(rj)gGv60DUVk5
zll?TDge3VWG{8rphd)i5e+(U^4vDxE-Xh676B`E)jo!f|J*7^NTZ;S=U)bSGn(mJ?
z+07nP{Xq2#)gM%!fFrWPlc<~_Dww<wNVP!g8o_8$jkC`QcR%}l^!?OgU-tXx`$wPu
zzkdF!zBjtQ)Z;t@CwCXhaBu0k;~_ND1T8=#HpIPUF2Lb+=vd4;&c1%O<NrVI7tT_K
zk!5DdlS!%@2hM_a^du%6az$c0kg1sSpF>AO70kMp8vgmqkN&rAl+W~;;gX%WkpM{t
z6oxFz4Vtu(UovN&QT<N!+5h`l@;@1+n21D*z@-k4*Bs6^5(@)V*(l~I1!oc*A$(bC
zuyoUrVj>z^AeF@tnnmanF#=BS<dGv~_>QkLTEFh-I|W)NgR;SNlpclrJ6YvX4#}ro
z8JjEt>IgbYUf%ypWArOV)ZmR$GDsvicrwYymDsPikM;C$2D+cN{J4C0`Vig~sy0CD
zPa=&Gq1c(5VYeEJOF$on$;VWiVb7er`_g@g-c%evnlMf>y$L3pFTDz{!M6&xhQ(H~
zL#LhW(pcZ}%dkURbU#MKj|wc+w6!mT`{wQf1GHWZ9U=nU-=DEfCy5OBoi92Q{yxPj
z!ylbSCTT(YW0N6ul<VA($;jdu`5t<uP(kJ#V%g{qOFNe71m4Dd^TAK>HJS5ogqcwV
z&qu;1`#M$sT3jBNhR#q$*h`4}OLERe>Oa}vH_ZJ7agmWH#Tjbz@s~1%;Jz6CRNADJ
z<dz4GnQ6o1Wrh_~jKj>P4aed&_&*k}kB9L;+<$O24wD4k!dQ)04Ok9slF9GNeFF*k
zcN3`jd-@WIzW$zIFxlUq3<i7p>AZ)2nZP260oKFR2pdWS@jv7$i$2Ku27>)ToiFLr
zVL!n7g18D^H`s_QCE(!_X<r)+^cO0I<qokG<ncx@6mfg3K2#s_YVAVulxkWWb|kRE
zN8U{Y*+5Y24<;zK<dh28=o0<?{qG(@R*Ph^KR7tRc|&l9;IAm}0rJ#m=nq*hvMG@Q
zeZuh(F@UqVDM%9(Eh;NJeoPY{mqtPY^~2tW>QmYc+LH;6!ad}E?8W~W<%dZ;YgV}w
z70pnQU>H}Te$!+Ug;OTh=yJ*ZO4;Ze_?A*Ce12rfgapc>lxp+?LgUDS3E-h;i2syo
zfQ>(fBvefQAu}V-4X9_*nJx-j4Ap=&lq(Qh_XZBC4F-8TyP6$1<K?6L27V(p$}QXF
z?aFhfUB>VgutLrd|1(oA#XiXWc#waFCwugwTx5zJby1j0Wl}zOHNL>V#oj=<&U9Ir
zp;UpYg2Gc)OR5OHfND1SGL>tF>KjsxG<QUMr4v%54VDh2y+&S?YQC!0=|WRuvNw?Y
z4h3OZHK1a#i_UnNx7Q5SQIu<oQm$cpDhy_s?DRYv3-8>lizwGwt9yo45YUs<GTD8O
zcA|ov;WE)8j4xpe??<xoX0kg&jNz?Sz%Y<#;G_q|(5pqXfP97_g1Ryq8^YY7cYf_b
zaJJs&@0`KRQjJLcigNN<@bx;7U2wKOVX7Id9Pgw)p}MDM*4Jo!vHUE}sn9nbD`n;J
zX&@n>5uCq*sF1eJyU4{vp=pSg<}f+wRamPUl?Nd;5Db!1!ygR>Qv+l)*1+a01Vzq)
z4H7pY&LDTY$m|v~5gki&SF{`HD{w0+rGg%s>kBDg8leV&=0dE?2r4`R0t|wO%7%-)
zti%HH!hso7SJ#3lyJ}b;eVV_u{bV0dMEU1W;`8dBJ_VAhPuys;^&!3%c5wj(QqXb5
zo?(Txb8v1C@i{$MrKng~W>CN+)&eaed0=?VSPyAcIK9<|i=B=sVc$lw6>0%9wFVp;
zhOzZlajnsSq9Gon!iqm1;grbR1sH0i6Y(mZ_h<XMz?-0njpT^I2fxPgo>Zrx7FAIx
zKogz))C7HOER;5|r;v@McKR|73-u}K?9=*taYis09OO4hv?aQgS$~Wuk4hD^Fk3zg
zBKb8pHU^7;(+G>5c$55V%4^HB+n$!aSL(}3l>5EYz!30_^qNkwYgp5V*40*lgnaVh
zrX`q`Iyxs+OnQMk^9`bEW0#!l+DImQEOLmbT6?&mc%W;e2<_1se-ILMd1IH*Po{pp
zJRV*P=2yA>4A-g1r<dCzpqv@y1cVmOIt-0!l>5tX5LKs@cw-ks!NlZQevtZ8iP0sd
z2R3${<vNvHm+sSk<l3`CU!Sq0kLQ|Zg$+l3E{YzjJL^6Zfswf{6D!F+o!`_vZ(ehg
zpyteW>aX4Vy1VyD7q%~LZ(o`cRv%iu`jAi$73#)5;ULc-c`F~UgBQ=6ckw*=&zvI{
z+UcS0)T{JRySSJhTHV9rDh5B`Str@$eDqR%Sk@TjKBAdX$^AUDhnuMQZDv6HUQIs>
z9-imOWiAm0BT^ef=^7_DM8bGSLu6JRm^5pGaB){%CR&jb*Jib=)#29Vn{K;f`2aaq
zsgTQEMagr8pWYK^eczV<q%HL8?Jlc6tm&*jzi-?8x&jjgC-d8ALujw^1y>S11fQ40
zyr+3q1-(BgKde<143rp|{IZU{WcVUS5$vGq&lfQ#T16*}U9kOENMz39mMul^O=@w9
zXMnCUr)6GC4sC?nh7O-QaM76CCp|Lh*3yd(B$gk#a?S&Dt~|6nG0+m-f8!4iFP)jZ
z|G-siL#<Z@YS!Po?#6p=+PCK3bv1#jSZ~+7&dzxwH#;wWz-=_TAGmnY-f86)OZl|D
zO!teOGd4Dd^&01x)|KNgeeI(oa~5q~HEUitIA`XntqW)OQU49kBQK#_rl~AVqc5el
z@CBvp(+H?aa4EH)wv?DQIXWrRfWUv_w{dtx;e*jxnmEnZZUfD?gW^xXz^ElkkG0qB
zqD2UnE5x_+0%a8p4%6^#g&`(Qj?$WXl#5%uy&lbHai~j|_~qX^;;?}(&0$f;$!kbA
zs^Bn^g&L5a2i4;$<lmGY>NwdyluQbeTz}m;9;<L}xU@jN*=Gxv6|i-lr~0UxN>v_a
zP4NleYHgHnj!%HLpFbPix3sUSB1rAZ<x?)xxZpR5T%W20>cvf<6z56qP^efdl)#xu
zoB=3Q*(!vfMX==yp!7p&amjz=!pP6$pG9;&e@>+?Xa58Hb97^?eX@a1bpc{I{;_GR
z9{xxk{OI9T*fZ&)hu<HCYr%fL<EEQ-;01V1*NPQgejmKTe!=IxBA=&ZdW;@VzXs&F
zTR!q?*1SD)-8>wU5K9H@_2e-@Q|G@?H=VC~Y`RvJIewpx>MGa&_v%)YQ)$aoOQ);M
zK~)9)|FmvKcq<UP0<83?1`RT<@A~>xN=E%D$aIJ-PWt8Of3GHrQI8$_Zxuex*I}nb
zQ_y<;H8dg_f2@oGsmP{+9WM-0Oz;+=YB2#th{KY!IH23eIusJ=A(!6CZ@$@o=<P%O
zZ_2Rzz9}Z(Wc{Z-LyxcKl}dYPy(uq}-vow28GC?%{(vLJe_Rhjv^WfYxd}0ca}m?C
zPPJXNmq+z{OZ6mb=5}Gd2b}^11`_?yG4gi}9pfJK8}30ZU`-ghKI)#Yyq^87>|<B}
zhMon3kvWc2nVis$WN}lRI<cg!$A*7N+kg%K(r2&-4}w7ydu*wp-}!CBw~si@T$WYJ
z+W?-W{H~(cZlw4BJE?^R=HEcUL*guK*+zcHr&-%n_K9*VXJ1O6q<2jD$;Mw`ll!O^
zpV}z4mQt_{@(+o$rS22caWP5w%ay1Wps&ar44QzY(++cRzQC~%z*&wk0j4c|naDqK
z!RH>9SX3zi2Dz<fV*fzglMh}!r)}i}-ACX5?0EfoE9&cW%f?-N@`5n3gC;DFyf6l(
zx<72t{`Qtd6LS+2H#V-4KU-#X*lfXq@WOB0J7wdKHb!eMIquOH6cn((3cX8$RrQyp
z9^7P&<OD1paZ|X_e$qnYUHXT;k&M#YQtFsPEo}{3LixFi8udD7M0h{!a+kJ5TkD-0
zO=_D1BBN%g?rLxoCCJb_QMH-op+@VjbMh^Y;T;&O(4#rXy9*(WZcj}$encYy!}|YA
zvxtdfFaP|>N8bFE_?N%l>~g9b%+<~ce_6Q9<MlgN9b4ygl~i4P^uepkLpPm#<bTvw
zg0J6p{&PL-@fUO#eQ$%@@a)#|0RUj-YJ6I!#wbbR?;GQK&2hV+{oWGY^Cj%#|5-zl
zE=i?Ha(zJ&#f6=wH1fDG6**nT1n1LBn8LLpqjfM+InqjCOgJne2$(R2bRMIXL<YZH
z&TpZOGKR}f-Kd=_eFQx~5oN@Q5Z5=P00H6;X+;3IM5yNgT4?2&9nM%xVGVulG);>z
zLB2-vnp(|fiEUF3gm0X&0#{Rw6ctli<HB_;Qs~5Ic-Ss^&1$1^km@~i<<hbwc<t{3
zd#8z0PvW)H6(USd00w%IDIF=Va5-A<z;p$f9C4Eyp8_k((Rmbh8*nu87N=8VE-a1b
zYIN}b%n?d&PP}#Z$a~lw#~)-bP9)?QV$rc7NA3yoW{Sd?(Rj<QT@5BX)A`xK`zFmY
zpB#0cd?NRUN2yN);P)N{Hq!v2K8sO@a<si@_o_u?y>@bZ+6Z}R!by{X$BH;XYP?Q0
z%<T6tCg0hff24`EHk;UI^34m>9<SXix5;hTdDIK!n}UvV_OEwcdAaU)krvz`beyO)
zG_&@>mVyV^igp&4zbTtS5!2uPW{QN^f3fAkdhHbUlQCoDaZ|L!At>0wBtv-kXyx<{
zDq#o_#J^JL6;tm>CGEv(gC~&c_k;}&ms(}E1sqnb^sSSsu%HfmghZgM7*1DOrv-{#
z@Wqrn8+@?<eiDw9u=N0cf`&bJ&A@s?HayaSpw=`CcmyGd>EO@np+h9kbjmR*lnZlV
zx|o|fDkU=po58*jmI`t1zc5Pm`p*a8*QLU(zr|lq|L{Fx4;Jst>F0Vq?*7-{QJO4V
ze&RlY<V)fuukeiC#F0ia&F~oHI|L~YEMgv5UsQyPd-dc2!ks>d_JJ){$I}-8h`}XJ
zz7?KTMAq6eVW4w=a&B2IB-z@s^sa7Y{rKr6F*`r?@u#F``ED}b_S7!Uk>9;6T3XyX
z!Jo6ZmIQTN5^IN#Wvd@pV3CsMS?P-zc^y^&l?72DQQ#b%3xuC-;6#Wf(Ns|s$R3xM
zgjKF@sP+JIdx&9FlVXxjwHP6XL6b<{`}LH31qfeJB}^1^PfKnh1m;461t{xTui$cU
z`qgUENDh6JJ#$KBFq@3<y;D*5^(ncR2C^c3)q(=>BR}DGf5Pm6IRO9z$saqyZq_v~
zb;~F6Cuy)C=D;=i@iZO~o9Py=%X&@fAIhuQEvHmQ-_Qq{{*;Q31q7O6NYrEnGY{}I
zP<<B@CJ>wD4m;$J15AMqV$M(8_|yWS+rb=ZI3fAtPu(cef{XYA@^{>8lr&PRtXJMQ
z;$sR;=)pu8#Jsce*fc&jGLr%NIHG9et4B&KK1CpxkSGZuo@g5<-VS7I7KDBuI2s?{
zu;zl;q_WtUdYoC^duBFOpW8CNG(6etFq!W)t98)jb=|XP4)bLm@ClRax|^B<9`C#y
zdqKomKKI6Ops}(fk(YChO}ERCZ)S$p-dj*$E^iAor}HVd7Wuf)NKqzlW*UQCC2a@X
znX`VTi%@cMy)U$CT(?F^y>Wo6!>DWhT;{-r;W9r?^+%;u{UnLdhRU!Un|zdk^uMQh
zGC2{uL1l`GQDs?GWxqZ@m&NF7F_z0BWQ~om-~hdwHj*Z#qGOS^oNB3nx4uqQNVp*p
zcbL!%!UTx~kPN37j)yp)Lrq<qfWRct2~#3>2u1*^(nB$b%4i0}UP{2)5HJ7Yhz~e|
zdV}>2Sx&z2+||fGBe-!z)a6{u*sf<^5k5@GqEtKcoSC&vV`?fao;Ci++%*?oRW)tV
z^m_4w`|lqt(VN^Z---KKnAsk9Pl^J2(^T@_1M+9`uZ8<x4dgl!YderGJ`}Br83Rir
zdE>XQXy|TgENu>TDdSB|c?!insMEx+Qz!M=>m+{7I{hsrOXA2nb*;bfstGGrPL;l*
zO22tEP|i-TQTv*X#?Ba32tYQFw=To{5ka|C5kfffkm`kx04$>*M;Lfwl63+3?s3g$
zR%6a!GTN9@McZsR7I7@%I7x6hQoL|l?x3n{Od<9X_OvdlPQA_j9eZ(t!OqdZ;ftVk
z1HuX{K6%s*1&Z_Z<G2UR2Vibvg>gG!eh>l%1!R*qCLauNHpj)fdN*kd2|I)$%kYyX
zxp>x?DdnA!3xmvKEWE6@qGeuqOnCk5c^BnJ@+%@;%MR-!dNYtRg@TB9cv)AZ0@p8^
z-?bih&1*?~P{{!P>I;{Zd&X6DmCjkho}NuV?Tp<TQ-jqo#K%QC%cqQ)wRp*#(ypp;
zp7OG=PmqB930J;RkETm9E)LQ%;%l4+oJvZxro_1I#f>y86sa*x@#9eyQ3S4jR|V6@
zv<d|IDiHJl{pmNqA>YP~j)AFuBmainBzWc#9Gp@em%lhpKC@yX`HuXYZyzq=-##Ck
z^iGl<Oe%Pkbj()Cs(r_g?}HQT@#7c?X81d9LHUfZ31BtH+B8%gJ?FX$V_GzNRv}NT
zKn(oyFouK26@g1Sbsw{yPhl0(8u^yv`|9g@&RdUED7bK1eRf?4tZc&^q_iT|caA~6
zBz5EQeXH&hW}Ux!gHnOGkT2ho+;`mBQv*;q<yv-C&7HCVPx|Q<w8tB$h8HPxIPKG^
z!A$1944^d#lLcfe7Fb03rLAvLLQZV&{%e27imSKoj@wMRCR=>>)~i=^C{8Ux0@-M;
zZ=3q8_;^aS;K98+=S=Zy0e9=4GH2)B2Nx)W5Z@ynNi~Fb5hi-*h4<C4uS3SeYNW?Q
zwtXp^xx-XY*gUi-7Lya0e#4M8qH6e<5_X(OlGO>eFc<)tvcr|6r0Qou5{qQ8d=5+2
z@ywIl45h}lhm3YT$`&Rm&<hdmmIM#31$xquPdLiSMTH3XwvZc~-LRRc4jwCrt>-_J
zT2LYdxsv!JgqV4XqJmVRc!P`IHUZC8loLkFDb<D>l*Mk>ieS^mNi8nPUTiaa?IyLe
zVf>ng9GEC9tiobs{UU&jO=@L$_sIP=y_WR|4&y5C<68y?Xrzn5wGZZRsBD@V(uK9A
zYM&uEZTtjBNg35GRA6)nJpc`+x)q%Ya(-J23;0mo0BH<nLDXnTxWJHxcrkQD<*%<R
z!sJ!=apsiyZh2z%W`uOgNiA~eCCuvi^8b<lCTcADgxxe?u(3;fx{kAXOl@&V3YW@~
z|CVolva3hF!e$td^a=3aE|xQ&=@U*DOCnTr^X%_l=R|oxOCb}#uE-b+(M<rQD5ZS}
ze<I2N8AJ2>z48-Jm~#US556Kl@rwLM+TJD&p8uVu<`Us#N-ZWDf}z1l;&b%JCe5BQ
z<p=ay@Fi(q7Z(VQDgxMjNL3l^eUc45)!88J;x|?yZ2IS{#_3!|Qd}d#+Fx|m3RjNO
zH{&*htk>YaTHHwY@tcKTjZ!L){yshpc9<YkDDy0#?2r7u@N;}lc^zKMYUH2uf`}7G
zf1gT4MN^9TbKFM-`Ks?Df{A}03nBk>JyyjL^_O`4)3xF6Rw~IxHvm&wV02;G=mt1L
zA7q*z-ZM%=j4Fdzep<bhP8hB9|A;pN+G#|G3ER)m2MHeUVJ9h;)njB4^iJ5Ru8BvS
zK;a09>WH+~Hh68Nu+sCw^XA7qY^}srSEqJb<py;!nfiX}N8-ber9ONw9=}%pa3xzI
z1dp+|PAtFY9@LMiOs5i>|56j*sRE-RI73=B-s^<h7;~!MmH##Pc531zHYSgKo4wz8
za&n{eT=e8*khhoR&zO;|yz%b4*<3b;1}u#in--iH=+JzeXEJ6ebf}VP5TAl2hy=7W
zB_~{6M5|?ZY*5oIp_BA*imBU<=r!m+6t1VA6BTilODCBP=Wdrb$+hyP?dJkQT;~GC
z?D6Py)|DNf-P})9roV9_oF6APDknF8*0Iv6(|K5r#UZ`Vm)^lXxzD2$^yglG|NYmW
z3y^I7qswVqxn!41*w4B3ZxwEvNFI+9w-tViUr6n6?OL+Z=5#rf`Oo==Fxrnq1chUu
z3L=QA785ru=zxDF{}L%k_9||5D-NbP1Al_2D;qY0actuR&qwwgRfE1R_oGRnbI8yH
zMXu-EO2+=7vPFX$n<oexLHh4(W-A4fmwD3hO6)wDEB(33|B+!k(;3ZG!iNe3?|Fzw
zqUVKqWG_&x1*zR%X{q8m6ev%iqvo<sCE6`Z7NjL~v={&AbCzr<hM|yeC<5b5$6_#Z
zb@=zJBWg?Na`5dWANw5BadbHd7%(HFQn^N-XO|=E-9zPJ!)0K<9x6`OVOmeaZIW78
zw&G-I&FE<&$nX~BP97A+nNMlb>mpI1f&srlt6cX;4&{f_^EL{KTQGabEI<2!#br0&
z{<e`h%t^Bgc!jIJ^B4Ku+bw#7!~6<c`ns0?U@)?R>{N{}bDL1%2W+yLx$vNa8Q;F$
zY<HP&X9a)x&MGxS##*|neO<oy6|=*j7k@t5Co(fuji{SyL`Dxz${{FFmK?|u!sx6I
zPmmi`K?vF2ZFcKvnE+C^IHo#S!s&2EQpt!@r$=Abor-H-R{sn~PV(r|tA|$$S|}AY
zFcQ`mYSXHk0<0rQ3<HH61cm0*^YZg-jj$F3nR2P54r2vFwi@x8!EKRsk=+d&`x<sd
zBH}eT*+nP2BT}>ce2TDR=_#yd$PR<2u#_Hl2-gp8jo_iajks@JL_83|Lpa$LS%-EQ
zURM=apCoJ8))mjyGyAJ5PO;=Ddj=0xMWry(BbASBzHTV7M5k*MzQT8ll#-PA85(+U
zKO>yBk{Bhxh6277kg<dT{H*Y{GR%_1zH#?1anJBQ4`Q0pY!gqYFN5VBh~(Uj1eGQb
zNsx6c0HE*WVaYt=2}f~1#bCL0I#ZwC#uEL-4m-3O$YakE0r9>FX-VN5+7Ha)NTh%z
zJsvoJ(^Mut7~fFQXmf)1;`$n}3#3!8CvqI(ykcFDT)g^=ivn^#UJ6HJJ3a}Oma)&Q
z2e6ydGI;mYpp5sjWI;3{B#r$R7nr@_ek1z><njzFHk3HWQ$5<eC>#~A#&dS8{69IH
z<77A!S7pz%k8qE|is2sR=G&d(mD#gtnC@#p-Q9{O9P?_)@ti{<@b*L64dRl(5Q90%
zmQzSyz;3#=wxNf;VX@2a*v%F@Fnr~cLQoz^4T#C5xw*IIcI7S=`mzhg9=Wx)r-A*4
znI5s2>5)`I2r|q~c|hn{iYIQ(&0X4)UDE7!${}B9ihD*^Yc)W>PIGP?pyPC!MIPgF
zkb~r>K2#b)@EmjmOy=0AVc)|BfSo@k?;!5uEr<I6jxUsCmt?rVA{2v7tTP4zk<LO3
zmJ~&a5fh+&geN7PjqW`0Bh~|Y&<Dht?LXRkUPH)mzrhN~Z?SA`#RJzCn@oNoI-<Fr
z#QmTIJ!DGhi?uE5x#axjV}CFqH3?h3y|%IsRurK>yNHUOp3{E;jFSTzNV1_Yn5p4&
z0`ZS~7mi4)MZp>rSR<>%V3r%<X-<Z)^e5S@)E`eltth|49T87(r$k}dC>|3tGc9MB
zRe2<3@d2ew8VnrgC`vK9m82aGuiWo!cgp=<hn)f;Z-u{Sf}AMHuXAM2iRXq3<U}BV
zB;Mh0DmcRNGrM6<FB56MhKR&hm&sn7N*3E4UaS)BPL}X)JA0Yfx5D8ta*GE7a-u-~
z?bk08_eEAr;Q)~O$}%PB{rD7p>v!4q&yh_e+?~~wsDa#{`WsnE(@%)6X15aq-BXGG
z1P{{#iUb?H75Qf1B@!F5K1DP6NSjz4ApJ?Zi+jjKs)oOumau=x7!uNWl|xcA=MyfJ
z1k&vFh_8i3lTj_1oxT7%!1<wkPunu;+jc?hph7M0VCN02T8fM>VyWmcOOn-<6DY9k
zeyN(hY111-pE@A>knZJWD>wunbO7?Mu`gfdC@RQxBVCNyZ2I#Nlbh1cAe9pG=rHv=
zPV*+SbKF>mWwXWc22*+Qee)4A$s)ZHGRY)20y$u_KhkM3SvMN3+pb2+7&Tsi<W95(
zP<srbJ=%!!D9rdsO+MGzaN{59t<@kU6_3XPg(PW%Amr1U9B~j$-U+~E^LfjtrprG6
z!E=WpBCJNPAcMN3r+j`dtD>fmf5E=#u-pSB!S(VDbmw6V`^%i>y%xtG9{&9<U5?>0
zBNO!M+@kL3zj9dinw|0$$M7JE%2c($ws`|G({h}^)HcL&lIJ3N0GUe0QlD{*ctD#~
z=uo=)Azc&Df2jMY8t`@`_ea2@X~Z{va>QZTZ+5m{+SQq(wp&+gZC1UoX-_0F`_lYK
zS8ZLad}d|)n2H?x^LIJT`z?-f>pGep8oOz>&T27>-ul*sCCe_hmqeyjRK^>6>L<Xg
zu<W*X{Ety<Jf<%zukqnq`;pJbD6H`77R<`6E*#@U%GhwAY|OZ(sbdbjmj9I5>99Pm
zDGZg^G!EAxEAm%~j&PoLL8reg76>B^thX}SI(|{Q&-S3tTG0l)0f08+p+pVfzGL8m
zl@5e<Ic=7y2|>xCSZHWvQ=~+X7XqWW$6<NE`{qOUvm%Q@=l-!xFTdIksE&>M?)J#@
zsc+a_<NosoDjM-M4$EIE?GHm5ELml79DK_4gnYZr;V`icujtK}nVk#fI4t;Klhb?!
z-HXGPxg_&Jb10rddBLrRNL@~0<y1!C{iKh83c*<pSi3!5h_6o44I&zh0?3qMrr-ea
z0q4>POCG_X7@)xfU?0B!rThb(&fxfw)9@>2#4twt1D*Q^c7t9g|KwME%>AAfDtlCg
zO?6mSo1OC=mR_?{Xt&vH4tZg8p>L6$-Rrbj?5XcL&Ak@Ke5ZLeFgKnyJBgPeVG?x!
z3=s}#iAJy#5C+1b;gSsv#vy7#ct+{z#2q{&=N?F=FlVq0sh8wO*uSZrWUbSDf5t35
zKvxD3P9JzlT>a8cIl=ChcmLN#qn+1q;bxS5o5ev21X3ZOY&sxZ+Tf9$r@9a$!x?tM
zqzed3M6`u!Vqv-fpj+jFA|r}?#E4<OhqY{|w8QjJ%=8O%b<`)&b)@@-yqT1tq{WdS
z%sw&=xO-c}^4mdn_ch^(?8wY}X5-3+ko>Dc0sQe>_iBAdeA;inen0j`yU_O<)%CH^
zb+o%+G4hbvuJ)_XVXM#6`gZ%Y%h?6zs{L2n3<mX*4Rp&5g-?QJ%m>`hn+()V%^pE?
zUJ9Z#vQnsFzhFm`$sk5)>Q<jm=*8Az5PCVUjgR9xTVyqxeDbZV*Qabv010{^eFKK5
z3K6){2WZC{)ntwn<N<I#+@iGr(Jzd-!+-`YW%Urh>@`SZj^ntux;|dxuB*W&Uj*c;
z1jKy+hgP?0=mbjxPFgk6^^TjjZ8d9aW^TP~&h1?#w>u^~Un<y8jU;yl^YjgGCPKH*
zDZYKyCA}@L=a)@tUQ|6xr)!LMR*kQy%6Cr6DQd2sQaWC%ZYpdqYl;>*#N^Y{a}QrL
zY5l}Xk96uJ8wA3^Gd1iGV+Eb}GB)_R@Y$fYpy|BST}2H=IVO!DKgvY4$>xV6#}}cR
zkQZ418PsSDDCpjT3WZPSW81F8L=LNDAZox&6$#nN)DQoS40uBjA)|S+IH#I5REw&?
z0a7jyHUp&%NwSo+T7Ico;nnziNv5izdGnQ6=2_~X5#K&L%mh1gsropzq756u!FR9=
z&r(#BwGg(AU6@J+$SUosIha2+kPG5rEfyK1N=y4caIr`+TySX#rqMV<#4)8>z+A#W
z3Aq`V3OC&tN798jCZ4v2_RboobpLlIn<!<Ul=>9FN96S&_mhSV0$e}$O%*#+&$3O(
z^@rqcCdUUC3-$8#8mrNwcYpDQJTR^DpOw?(cPGAo&-+sEZ!2w*ixrwq=4SwzpkY(@
z&_p@W=eXi8=LmL(9yr<JmOn2}eXMgBVZ_@mUcPqi!Gmkp3Wrl`iENClcP-UBGF)$R
zPAC0iS{%%(H$}{5*G&A<cK90gzH3D7oM&x?p=$r}OtqE=hpQ)Dc3Kk{z*lVt8Ao4h
ziENU*H4ahNz;lb7wW>rZ!AqwXtkWGDMmso+J{Jbg+|^PrTVsF`kV;bD3E1L9PS6SK
z=O?FB`~=&cGu3(+<evQl5Ad<%IP)R(`EdQM!}T9s%d@u!H=bs-hjUc>j6Ro8o8bz`
z!85mp&^M~iBU)ovvl1Mt;N~+m1=~FI`&k=+k9qa0>ABuP-n|iW)_{5oT;titd<2d-
zq<D$J@rmxN4}-vy@xP83DVh*aVk2t`Ifqc*6m|QerrOpioz)Xl-#kmDKlV3tZJW?q
z;d8{Swn%i|`8L5lyKL>12QRqv-h8?Aeum_jj@CK-m;Rw`?bOZF>lU1;&h@R^FPKwh
z(`h$pCG)n0-rVcYUvubtLgnVo>~XD6Z8Mo2jSHSjZ62EMLv^p`p3TE`|8hDvs(Q{Z
zYmTo`_t&!P_v0^V2q|6plMkJ#_JgCVsjfL=d(iq$a(e>nJLy+}1E}=6;)pRCT^hpx
z=}3_8jB=i7w1ksPdCp*OK_^260(ihys6vn#k<fMF-2+BJfOO~~1c^W-67Wa+pq+u*
z1p)Ixe^lzLw~7^ZyEUe7Ok7bk-QIrZ!Wox_{n4TvUvE`s$l=%PwZ>eR(_b;AGGv7}
zsMCQ|rV?|{+}uwu!8?V(P%s8AENCkWPH$;w85h|&VY*Nd@B>33;ukK@i3q~x#KMrH
zIZ_fUYj!!^1=YpP`M&7%vO<l|W#Qw1+Cqi4ApZ#77Tm8TJ(fpH<`IvZOSwp?47U{y
zEnFc$4&?2TX%cFWCJ{3Od7G)-TxV;DHT7)MO!=>p&LToB$@JDx<&+A))0Jz~>h*p{
zsI#iqms1q=hcBJ6@XmJo^r9;gjry3?Zm$r<OiQHxtiWIK_IRvi(ag;jmroNZo)Pus
zHy2kIxSg)%vRFx^*%4Zp*enQ<9N}_!d9hM|pg@>DVPj+*8g6=!5aBbr96hWnUc}0@
zU}UUB?v-m*-&8%J`VmG+8~|rpH)ec2z|;!e@Bu>(fp8o+Yw@&kt|qOPw__l1gB@-m
zwve<3bVV`ZK@Q*!tpGGZP*`<+ZCx$pUZUWRYF10m%F$4eBZWe}1``Gl`DmPhZP&&q
z!!_PjgTheU9=B&G3ONGN;IRo1tB_@kU(5*d83z#YmOMKQ19{K3x2Im{nu;_89kEDA
zuW3iZ9G8c+X-#9op^lDV(HN8Vq#&9C@!CAMD{oc6eMO;9!{o~o3Bm0&w3l9m)Pf&f
zRW{z>asdYXY9V?xAi!NI^EuOM;xlzYZP+-Kh1_{nH37FfP*auXKGxB}p`|-CM!cPU
zo~{1-%U#uo_IS9krsji*@?v)X#NF}@#pSuSC@Ylz;S;O{%(vlCt-EAQ5&P)w;u81M
z`aFxrQ5+34UEUOkMspjdkFW7FliMgZ+*wm|XKhOS&fKylwbiO_DqDE;@p+}qblhAz
z4-t;VKmM_Isdsh#PcPonm=}%aHS%4cnQfN;TwoJ?4C!nm4mg_Wvb9Bgb^tHw&sZyl
z$Hx+2*X&YVt-3??7?;1XCQwL-8q8m9b)<%{ZS6IoGjvO)^WqpCaT-r`k$9L77=)ys
z*0Jb$3^xc^)jU(LRukky1ksr^DuR53uo@AaPI;1QoSCslj0#aDFM#t;AEDyQF|Wtt
zjj=iBoHN+CPJU_4N)}waI3LN2*<zikVr(5dst1;B>EgxZW9#6nJ!c8XTE&xrSVw0p
zH!n6}G6WDI)wf`Q@C(0XQRA~I|FeyY&3+s=JtMr&j|cs$cC55iMsn9qVo&ErCUit|
zbE6#-BDrkVl6ZB6S+|6VjzB&u`p*szEBAC(RCFHh?oR!LeJo#D;ueE!y}YB!7isB!
zVT!+@?l-A5W9#b!bImn|q6rIE&x+L4L}neuE*=Qz#UH&fVZs{|Qwu-b+SH|SyER=+
z8$YIFt;?mwv1Eb4`|r#;^}y<R^1mlOHXBbzyB_PJm&}pP^{o+K4Lcy;5E4A4Y!~U`
zmHfW{f>kVr-bJ2e(wx*gtKmvYJUy9Qw9K7Rwy-)z7lrwT&jZm<+%7|kvAf~R?ER$J
zFaFGEOnu6_j0S_}lM<hN)FH5(*xx<k`3`w%MIohLz@)ZX%h^hsd+;2Vy3J*`mJ1gK
z#p}p*C%s;gTu)_zhdzh|gidZ5a3dX!2Oq9y{0jWA`B`0zK^!4BZsJ%o(_c8c+g<Ri
z19{1JJ&%Ocw&x0*V!hV>-F&BfKE!BO@L2~kRm+3yHr?;CCn&h(cM6Rr`>&b&ZHvWR
zB+fR4Q!zmfg&{bzx0&#twyQ=?7e!A3T?F|u!>XuKEC?C1CGsNCItkQqK9(ux1_fEB
zM>C=eRQa;1pfD7&SrO_EMZ93O+SX3`{owB3Pg-ZQScUYtxF>zSWU8GdTn<Mxm5e%&
zdp>cvfBk*qr>xZF<mgsT8GqmUk*CD_Ccp#qs}G=couKyt@*dVpZsv|@<B;d^uimXU
zL74tnen|GH%VZB^W$%q_0TdYvQ?uCu*&#owu3&Ryulyie$o?WfDm%m$`4{q^SeyLb
zdii&_5exD99+nHAN<n^4`nCKg`88&d{~`Zf{vpc~cgsJN|G~yW1i>1t-VNG9xeqd>
z31h`^tC8gy?uao;78$YwNh#t~;}0%gNDLlvA}f4fszrQ?oxCZ`c8Gn0zlMb_)iy_X
zIF_3KGvT}$sUz$dyKbkvNoe13^N#(uuv^%YR7V))8Au%#)-D=<cszUKnM2R8Pvl$o
zuwM4_)HCyi$$v>r@(a&FCd{mfiroyFVNeqCU<SJjRNHziGal#>>qrZxaLwe8j*-c2
zvKW<h^`l0hdd_}V^6fn@$RD`A5%x>vIYsh&NJw|=*kwufdU4*PdBuG5=+@aM56s@W
zb+&ZT?5!6HSG9HSerqSQ_II|WF7}7R?8z@4d+dwHgd6Y69Wy5PK0Nf%@a<c(<_oRl
z=vOw<zoaJPVUzI~P*NQ!BbeR3^YNWK9~U0yJ2lyCVXaki5)D2;Kc)X=&r1QTf*ap)
zhSW8BR#P7u;a;ZtseGYO*Dc58cz3U0U?)fUb%}@MR|kYAQ#1M)Qaha<pWLOsT>UNR
zBPar~gR&sOs~JlGRNP<&Drg>I4Z!qqf)guJgZm^$V{l<kcq;NhW+e8AwK1>}@TqfZ
zI5q)N7(!7Fy*TBCs4qec5rDWWb=%^xyxeHfl==;p7niq96QvuMF1h4A*W|J)`5pPA
z(u#y5e`$U5dvCYJmoCs*&1FRke(}QUib-=4uAHF8@du%Pz^$<z^Uqh8m4*i8+rKzu
zb(_^%K_7Pe^<rLOLs9;&<Lpv4=8k3?6Ygu99<<MyV|SRE?CUm{<?fiUB&pNgDqIo>
z>vfe?T0@~fH>}s@<?3|dL5KhRjw!COm7-neDvXDFp10|5x=B;mAU=D)?8~psweOAw
zHk$Ir1ZwrwFJ1b`WPf>nzSUUah%Bs_?rJ3=KW(eiaVpvfS$_>tQrI=Yr`FZ;kZ&H&
z?nDcseFe&#SqDznS&N*-AXHX{8<mEIvtlfY<OoVz=Zm;5kqqECjp6E=Q&h@IWAmo!
z7VTRr3iag^uYcOr5i7gn!Ln$F+gwqY|Kb~=qUr{t+IqL#dyh%&w^rWu?<WiMt^4)%
z(v82C|Guv~T3RFNJVhF&(>Tm)o@C-NUqOL1mKA4@P2u*^3Xf}z1KC*GFElOfs9NMI
zn8O;~evR4%%~g)e>C?h+rPk)8L~SfbTDw+by1ij`pkjq{{955BaZi1yEnq6Ny2j>r
zUi-5mb*-z=*yYMyVs=H{@K>uIo(1qqK*OnK!ta~bB+w~jw}tYXcuvlBy3>3vH4=Ey
zI0h<sm@9vW<@_d#Iab}VZOf|ZGkVs{p4r^!_B^yCk%-0ANqOhr<%_N=ig*jA|6{D(
z8OW)wsjFKj1b&lWS3hGWeRJ3@tzfGuTsM6K<^v!H5`T>-RHYmWQ#`sqq!o)6)I{>&
zvV#bodyRQ{Rbx9ZgVDLPrFCXU>p1pdc9ULqtifx~&0oP{$5{BBapOvgz2B18&nzt|
zinv@Bv!p()O~g|PA%&ra=mS+c-@<5>neds-EZ<`=TMY7DW}V(OphTiUNV3UE#6~7<
zPNy_L%A1oxyoG!-R6<JKPw!0oe-I<W!{n4;JmwKnL+^3h%&eQ<&Q_Qur}Jcx-Xsk~
zZ457$lQz5(?@TaJs}fWEom^{!4U~Hz>14X(fEZd8m0(n%gaK$(28O?}+`?<X->G7v
zra%2o(xH*{X-GQ+-3a(4O+OW3RH=l$XbM0wW>*0Xgm?1(R&PRkMtQ_wdRURv6D|}H
zLZNWC#6NQh3%^5#2a~Lf1R8cAkS>pUQ*7Sl$*Ls_#<$F#U32TrH*VVa$mBJ>h2_gv
zP1@dFTRST}{($^$UVd9$U8F;tHuZ6aq=Ibxu3gUugP}s4sQ>Zap@aGPg@xmb5*;<&
zn|8h^UD7gbT3emNsJVIlx-p^+ZrekC@t6}L)^sD*a#&I$a7m!(d1Ws=lv+T4n&jX%
za*+}oscqeeX#78^3xs%T`{2jBgqy_+2j3U&Lj8$mVTP%9<84;>|I`EfZ3(VdlQ)*e
zC8hUjWpz{7JcRCpQAKx>o)Y3ES}GbRBTn2-L5k$14rhS60`eIGb;BT~6<T=~+AH=>
z(CZC)*zusp6Z8(AENO09(A+G|N|aA)UeJ7?xwNF2O|3`>kFHA&u1Kz*q&1nflb5}@
zY_isD(z3(!dvi%?vy|th_bC5<(Oe?WDQ#{pWsjCLJ5#GF5`UtzKPlTpg>XB&x&DQ1
z+g_;OYu0K^`$|gonKW8+>gLQ-rA<v(UyW#sf1^osXp2HPfVx-_t74PbCun6bBpM8d
zYOf}$MWtAjSW7K9V<;oUW)=m*+zO<1&~ymbAX4-rj+7NJ3i3`Tw4mY_4;+EwSQwFe
zF^ud#F-lmE+p)spcP&E6qIF(`=in8bh4m8kr}TMPDqv4mJ{*fGD+QKS3c|3Eh9pX(
z(;|534t$2L)YriTjmMOK8m!yyIxIX`%JE8kO(`h1gVxc~RMQInp339)c&oJ<h?-O*
z01Kc>bur|yq$=ZoR~y3#^aB=%C-|g?SZg@Q<qK38Vi;)UC!S4ffn}UG1ihb{0JkEl
zkQWed%NJqxz#FNIq~)TwQcY0yR-B{O^*E=Z)zMA-`?wd2DStCe@nBA<QPVG`Z{Z{P
zYT*{69tnBXOC_rTad7e-lB5<ztyY5=aKtphtzmvWQtpaibM?$HHS7y53>jkuR%X<@
z9cDAL6y|s&$z_aLn>0F&Cnu6?Fgn0%*mFF#bq=N<lOwXi+(4ed^meU5BN?@J##}zT
zi!qO07h`55q4XF6p2~WmBoI_1f1{{3xu)pL{5f?7#%wty_Gn=!;4uq=Mq|{P#oSqS
z9(RdHWchh!hj$jTEo*e{poGL=YN@C~T`ajC(A&g<d|ip9A|{zNOmrD4F2177YcvV?
zq{c0J1;H+OtVOJ2X6kOysL=~B?2AT`eM`{WHEO+DBZ!s~hu-*<!6aI=f&kC#2DMqV
z!naNom_d-BD$_BWMW}aq1g*~-@ke#hWx4iMQHR%1m|wQQIo(w@si-D5@7{znQB>+v
z8wwe`O_{;6z@G1O$AdM6db2|?!Rw<?6boIKhkYx@drM12hs&^IY-hPq0^xJyYmv<}
z>blTkl7!l>*!cL`qHz;|PgS_0ez6rSh|v%T)D=1c4!uS2L>)Gl)6j5EaZ}5b_*i2s
z7z&9NX0iHh0qK0^WExb3Sw*8+BhO(vz+CAJ0<#&A!3*6j$hSLu)|`MX&rql>Rgb;U
z<!ZZUYq21eUs4fkE`UEl>zw=|k9&NfPDDn=>RKkY=Qt5#o>1o(yY-@Ow^c7n+Hp`{
zjVrL06$qkH&+?p}d{$B<SuG|nv-s6IuN6)tc4pGs^%f0EB5DdGrv$DPE;mSDXR<l1
zdPy(97e*rjgQ?kXGPV}zMQu*o*v>r71LGX4bUt@MTW&65WyYUx3QFGndTT|oXl<&h
z@OA2JIzg@1*4nI-qdHARPKP&-IkyJgYZm(*k)Tm5vHJzMurRCZM>?dC77ef>3buNQ
zIR=b&9X$JBuMUXnzX=+hU}a{rMl!3RY%qyTI`NVz$LsOHbJ!s{rv_|Vhd$4PVT?}7
z4dyV`Y{sxQ*^S<XM%&m(k=`U39EF8bLN2vvww7poCXdnDX|d}yIXX?yB5KNN$H(m7
zubo<`_t`vol;L|-U8n2%+Kn%sb7`rY<poNPbS~SzX-(5>3#%p-3qoN8jjnT=^3)N_
zy!wf|#!pg*s=_&_R*um)b&{!|CO=@rBA3B|OCqj32n|IAkV0BvQCJRnF)D`1a2|t}
zON_>(5UtQ&B}FhO3CKiH9fhK}l|h|Rrv^!)6UiBk(Nmo60DB3(Id#ZLmVslFR3*y=
z!B%(E?yJJqXFuH6;tt9`l@GH;UDY=pxHKA(9IG$hd7wYYD#W+n_{qXC8*Uo>I~H_d
z)^lG>pS5?(gi9thTi+88F}<r}+O7#XPMBDWW=!mCj+f>ekhSkfwhUH8PiovV7G5{Q
zcv!fxs`Xs0W#_w#7vIs{X)!bPFW<Uv{6B8_q`Bae_ow|?ynwMA?sY!&rhh_Rvs*6w
z;0b2RNsOD48!yp#F}y@b3~J$}?AO2gYKG6@zKpG^Zmedt6(YRM5I78r0wrxlyeI^2
zN=wAiW++oSmh1}Hpr|z|UQ|gqg^NX$nwSTrfg=J}ghX_N*(Ti_Yg{y=sy9Ek#9=*H
z+F4vw=C2&L@sXa+<c5yu)CJ9l&hZ4h#@EcQDyhz^uKBMAr(C(AovnNK$e!LAQ?8d!
zes6=VD}BP$bi#g9J-4pRXY^^cHk;o*!xt*_CCcj;R}{2un9{POIbtdDSX{-inqYZ(
zu(^Ec-pIsl2amklW!vyQroMj4jNU!UiF}eyhT1^l@<cQFoDL(DAZCizDlC;yhco1=
z1H*?!#f5d3+iI)G6qg3&g{v&mZ@rv4R(nf4bu1niro|7(nO@#}ykuO{n2SqF*x~$$
zCbu~ztP|pUF1A=wQKWwn942{<#j?X(W*HP(t;oeX^ekQwmp_*`9WNQPqqwQDgfbpV
zV}x~L{IJk+v9-jSidvaqVz*jLEEij?gF>5ig#LlYM~ue%Ondf@LQPFGVK5yDu$0Q2
zb7znQxJ7j64927rNwNc}vF(>s#NQ9nmR%<#>4e)$Ma%F_Q8X{-rJ?jv55WHd2r%5r
z12-SHlLiy_Dj$+6Fo2wKcmi>grV=xaX3xaRkn=}P-k-`p*CR@(y`rz89kv+#=jDIO
zt0`^(IO>$uEV+6LaGd0xz5lUy?|(3Of|RoP`{eVj4uD#JN~wVX`ssIA*&X}jhf5oZ
z^L#A1Zk?R;i9PhdUZt#%EeDXvhP-OQp;FsG+jPb~%&us&O!*`gViywtd*pvO2IwY$
zEad@S8ZkkcNPwB&Gq{nL<TZIL?Zty~AHUuQC=K@W;c_JTymSNG5`OEg2>Ay?!>u?K
z0@x^zw<wD)iE7pj<4R@mf)-y<b5oJ8Wx<#V7+j=9qln6f>^GjNJq3PnD8<FOh0I^j
zGu3n58R$Y8Y;$iSNZ(3`@G2!a8HfOKw?;rpC_XGkSUw2#21gdRL#YGTN8&5%G33BM
zs=@XZum~7Qw;jAFJRX4%)4$}7w?2I9jwQ;DZIEp8+h(gpe)}my(D0P}w#90e--e5+
z{;8+*YRSfm@FOdFN?)jd3eJI6Gb>8}C>V!dgSW-4>K^%3cxh?6zc8D>=+?lEi&gii
zt#;EFUzlz9l~pUhnoP>C@~imOX8z&}6Yuk+`um7;aA1V0B1FrGlxaBCLsrTN&%nwv
zuh$iE)|j9$$l(?zz{UBvuHk9<XHWJ1^c2Fd_8i0_8SR#@7`T(tscw0JIc_VnJ3<SV
z96E8+MHh}KuxS5++SEPWe_ylw=&$wwB=FK7zx>ZjUS+v=-p0JI?9vEh#uUu_#g>~+
z9I9~?Sc);H6@9T{GcKjxfaf1qdWNb;YZ*q{kflTx>V&W=dj{i|6Dpd{8f=Ac^VmA3
z8cfh7Zsla(9)`ofOcqqZQ+=8q=mXl}o2J63FNMHMl#qr2kUKF=083Dr9;AS1f$I{%
z{UM42@jEmeLKqZjFdYVYFzC_r0P&*ZH5i)f951R}iT34VlQrj0X|h<Kapn2|Eo}c;
z;{X+C;HVSmq({Z+M}bZ1JUZZ)C#I6$WrptxNI(4W_SfOV?{vPPwv7oQ7xiE=5Q~{D
zzkqXV-1Vo;eF#5fQRPA9HS%u-)fM0UE++UX_~mPNNt0Ap;snxyBD;BO3IuQf0)#uY
zCW;ji+Dysof>Q;ul4_`q6(R&HjxqyI1yQva2L&u&tVUoq#0+?C@u`5(4><-(Yfw69
zM)MgY7ZOL19zyU&Ah&3Dd5`+W%rw~x><Qu%zEKT9L{|dX0bj!9%I_LC-X|J-PAk(&
zk|Vrj(&0_#`f?26^}XL{)`*g|ggHzewc4h0)mm+Nb*06*W<lf78`OeDtI26LJM8ZG
zf6R%y0^sSv$7}2souja%HPT!uffE-rE&~h3sx{&liT8u?l?7vp-7P4@-gDH}Xnu~Q
zc9~4>1rsWDOzjI#D7EHj)J{<vGrq&;GZbIf$28xtdDI#wcuYw&x~tda<~1*>%2hL6
zQDg6v;&!vCP%n6#M!&#JYI{Mbv37CP*jiXwpcf>6>5|so9R@4RJNPH4t$K1FRh@cB
z^SOE&^vy)|DiM*o23BxYWJnH%w1<X8Cqd|hG>eu-W1?9RFJA=tjV2?)$l)YI92>=@
zI&extAX4bUF`K-3Efl>9FbVRi<S(d$Oo^A`)#yoF!#nYj3XEb!EEm27_`|}PZjYmL
z_EsGd3Fc|-`Ih`+<$v6;Zgyqm>uWbGgJjqzpE~ph`F9q5A7h99z#=R<_23WXl>EN@
zUvKTXCix&+Jav4zq_J2vnrnVpQC=>nEe6xLrJY;n<v4YvUKGr=sLfX*sr|lYHh*DF
zOkZ8+*X0(qwmz~jcdV%(_tJk17EZKU{Gq}L!N48nfEr+B1s1ijdsR<S;d9H*T^h(c
z*4%T`M2q*ML(1;D&g=K~wsvfPX8jf>B_F(UYT^cq3By2WYH8bIwg6<#(YQuf)_rLM
zzK$}q^_cN>-x#%dR!?e6!0)II%z3JFLfoM#XsFcq0bns~ci0TAh!Z}(DhlC`L2#$6
z^$75%B*aC?NDN|WN2H^4!NV^+|L}ny7lwZ<-;sLd7+k!i__0?~PqL!>3%k1)esS>N
z7wQ%{Fesn5;#bV~T{hvDsS^2vU#(zA2HBtUe<@>%LT5<2s7s)KK_nith{U35R8WUt
z^#wh)2v8^h0aozV(XpD2)lf3UE7XwoB@09wkf>IyK^B_I8ah;85?s{XyP|tmv(3Iq
zKJuCqDOQfM(p5#1yB95AFgLXMrTv@Ra^iliXHw^~ISUfynu(V!U(iw$@~8ol5SY|Z
zYl+rOxuCg7t#QGo3AxBpS+{7}<()#TW#;^O)0^yeZ?(oZt!w+%>)3a?wzdRCOMZ^Q
z@Sgl{=8xvEw~kvJI&<07-E%8l;hEFR_VzJR5bb#lQ@2dawL8Z&wY61QZI?{ZxF$^9
zxak|6Ia9jMSu}TI9efFv__f})cw>R!oq5@umV5{1k9gx%T5nTDRH%a8%nkqHzryxO
zUf3=ko5Z;+3Z#Qt4r(|%{YBs^rZ6wkU$@L2Cl97RnY~5&<;jxF-<H|p%-LI5pnd*!
z`Jc?ZeSSNecnVIwld-wBqhsFo?OD8L4!9+(oIJJ$6n~`h7199noFy<yN~RNcW|B%O
zi8~+svLGqpx-;bOeE7?PrLx8?<@V%dC5jBUd6H&`f#>RMMf>bHYgs8rClzow^(gBx
zJF|h|PmAb+)*4}pNHNOVC=;lXfmA;ArKJ^z>_wS4P_8E(F6L++el!mtsiJ<DT?yH;
zyD0wj?15BbKlv}2(jix-=-`WABbExO6v(!j;d>otLDZL&koA%;!_`kmrnBt0xYObF
z6~0_^F8Fe{st#1Z%ULpTX^wiV13><PD9R#UPK`v2bn=uyj3Ct0ur4@5ZbTm-Y(PA<
zs!@LJyLZZ;-|_lG_Dc={?Pm8|+k`;lDIf?I+dq+ueG#!o&{-DLwRiV+M%exG8XNmb
zvHd-E?ki9J{tl+U^B5~>-COsED**bl=N<p%B=QTr6Y_~ho4=;5yM4lWTKNyjWLSor
zqwtlShi~HOKd{`9W`PvF^gq{wVx6I@Obf6VtZBq^fMwwSV?nB~JI$&my>E-u?zfMH
z#mLsxp;cFw=9ZOu^Ylg$+P=!bxQTW572BL9cSn`o2x?(3Dsq>!l+G*MyS?}7kybl#
z@BGT~F40+1Kfg*_F}-%lOn0!tH+%eQ=;k8-x3a5&v!lA|bME`x_p!T4^PK=oNJ9uA
zY<82)hZHtp2}wvoNMlGs!ppq(?t5?Y=FLpzW50l~4IiaIDMri>u|-5gtcW!#(we3b
z5h)_piY?-=h_PaeNU^rH@{7U$xihob1*|{c?wxz?x#ymH?z!ilduQg(On(+DsR!m|
zvI_(*9-cGxqLsy^pFPrBnNyfPeaj>F;3XXkPmkZ5#$7r1XxxMtOO0s*NK6yS@RUxS
zuD~B)p|oNm9PZ*i2d4-8^hPE%JqD)q@h59>`+i1p?5k&vf9;X>sozedb8W?$-;d*|
z?Lg8{$DEn?c1jo>r=-G)lV3Y?{Hxf%Tv<oyT<6%#?A80mq4)R<^$-2jG{%qYi-9w<
z@u>U><gq`)e8z3ydwf@-9m+>w@P&;TzoVqy6Tx>raPIfPeTpAie~;mO8eXHHKb*@F
z(Eji_kp2JX6WSl5SDb#<6Wd`wVDH4?8{K-T<FX%Xc`T~%d-)3ou8-sQvE)@>QQ@m+
zLS?IRY3<B+um~GN{`;A+ut%d@M08(bOmjFb@SYGl83yM5!N6+7T&>i}F;_uj2pl75
zClU7|W<H2HZz2!+kxK95vgrwV40AyLK+4H^C_e(c71MB8=E*VB1CMVhhG~@TQFKvS
z)iVL+a>+4OzMtv1JxRn2tGcyuK8(vLzQ~JZVj6V8c>NRG_K`5?Sq3f>$4Yj_BPe;0
z7vV-#dm`G2`Dwg^E;**HKnOnArk|1SS9vH0UMo}`A@3sBqv{&dc<rTR<9x<(9EHw^
zCQd6l=B4<7mSyC?`hhO{RXN6KXL-grj$?cRG%6j@CgZdg@{8nF^s%gQAEUk{+;1@r
z*RA9PZURriuu8|Y9~F;j)0qb4Q!y>`Lmiz_>;X>^O){3BW5ywLa2(5ma&wXHpGX($
zhi!m^7}NR@xDJ($@#B0z19%aq<B%8&Wl+3;=Q1j93^78iBgVz`DIC({d8juo1DbIe
z!Rr!)VscE|!U3{ff-s(D{v43UeXON909K(ZOvm-cb*p+}+9;0sAdltf2W=6!OQNy@
zatbcbZHwaltS5vr>P&F}J*hn4L0^o=C*TC|3luLdKOu1YfiG}g5-{g6jv|=T$m@&o
zs6WABB9D)PS<Wad$Ga}IWI{`_JX{arRSa{0T=O{quL5|@S79t{XT*ChWa2ie@}TW!
z8Kb;$nK_L*w{ncWNN`|URVULUMCJ11Wf>28mWAbI81ze`xF2P@cxGT8if&BNPG@*h
z0G`uH#9Rl{f5dMF_LKd8|IXF6X-BkIXdOB96!v9amROKDoZOInIr(1dvee_L)9D@Q
z=Q6d->Fkc|k?b378`_>|JA=0s-k*Cdza;-qVW2Qvc(K@5+*^FCeW3k`ju{=BJ09=c
z)p>X4sVR%6d~xc))Tci-JZ;sq2d2F{ebe;EW^A2ta%RuW+RS4!e==*qtZlO%oZUJ5
zzS%#WvwzP0bG|h<J$L@xopb%UkIj8+-kf=x=MBz#Y~H))EI8-TIVaCueD2}%#CeVL
zj-Pj?tFO!IdZO#p`3uh<JpcLgPtTt<-<f~>f`u16c)=+=7<uyJogc3)>{@ty;pq$a
zUwH3@#}_SLba>I@i{8Fy{zbbkdUA1L@w&y2U);XLTJl}omYlY9&C(-F-@UZ|(z`Bw
zvwNWX$z_L@o$4`r-sqj$yS?|N<#U!_zWn&|pR8E5;`4o4-_E`#SI%E~3|FDwSbg*A
z7uU>KQ(p6>Pn@{C{c`j2qnE#N#r7*+?Kk@$>VIYJv30Z74X-<OrFP}Ol}`=q8F=Ta
zqwC%EuUtKF^|1}-Zg^_r`i+lnJh}1pji)!w*|d4n*rta!9lvJUHG8jlYV)SeFKk)7
z<;0esZf$IR``Y!_zOZf9wgcNvTsLstvFqO1-n0F{_7^_cv*V?m*_}srzIXlR>xZv@
zZdd27y}O>+^`qVWyASMsVE2jL-`mr@=g^+xHzaT9yWz+U@9f>V*WdfhzP^3K`%dxS
zjoWTKQJPmew15Bp*Y(5tv*pF*d&{p?u$ijzeD!Gc9oa3b^5t4ztyX)t-d{gff2*;z
zaoi{vYm8CjE5_*qmmM$<9BCGs1I@>qZ<$NXhs<xZ7PfY^9%+5k5>~%;)OyWcVq5kz
zj&L?RuN+)*@F_R#Hr%JZJ>Iu`;qUTa3AP3=4{jZNX=u~XH->kNR7dxYK012(rp-4U
zx#{(r*W7H~{Kzc>x4eC5;i17pj~sgO(2s6C_twE%A0At9_=mS0xqaI0qqjeI$DBKE
zyyM|Jr`=h-^NCMS{q(DMeetgEerEJDU%ESe_ujjoxckj}`tN!A-dXpKe)tcghwy(?
z%*NR~|AfK-r}ZO*zoPaihB_s25e@f0dDt^d7-KyVEO38xLj)(Z`M5(G(%@848;;-<
zo;rOvg3~DbYy@Y({nZH0YO`oGg4?udbR>fDjRtx=f?v?^{k91Hy4Fo^;=3ao@s`Uj
z?OLoLC7uiK($;G>Vjs|ET;r=KtcPP4t|Kf(i1XLtYb8?iK;1&T9ifi5hMSs>uR*K_
zzpdI1a9E2g(rb{~0o+yi?$kEG+f^#8Wipqp5AfLut}f~@luTXt#?Vr&Tir?Sg8sT8
zP4E9A&o)RRAxkK^3%I6ub)jW8+Tv>sq`Pn~VWZ_EsKtQ%4b^TgQvnp$S_6$cp$w-(
z4f(+9cpgYX2i)!^sC1NMyn#F2!2~WAN-<B?sE0PN9$jF%preVJ8~}$wCEL}2EN~xD
za`}*R4X(Uiik5`+>yyeYRq|eslI3xVu+O@&LySvwp-*h^?!q6xN^co7xCY1NIQAkw
zt5ddQ{N5kc_Jq*nBOOH=uh7?UeOS9syGOfQ`>e({SCV+pK8;;iS>B$5{h<ZIo*e4H
z(^5yY&rv5{#4{DUKk!)#>{yyfvuHNWp}Ba?Hoq$WJnEwJX+GXsy@0RL(uK5$E~3SB
zG2VrD2`>F!O5NDm)r0ff<@^)_zDTi(R?`~1$n7%v1a87zLH)EAbI_GEKv&Uv>;c<A
z8)*|=Lz`&}ZKZ2z8(l}+@p{D_cuBxcY|h_ByJ-*IKznH)-AE<cPdb&ULRFGfqdGRe
z8+3r0WKxSPvN5|I#8~}-RwS1^@+qJ}8lqtup;7E!zL{>JLv$;R(WmGz-A1?59dsvs
zn(iWeewOZ`d+D=uAAOGQr(eMH1HVWQ&@a(Z?7V-FewiMkU!l*_7wBR7ReFSejUJ_6
zr^o0w@RG>i#8-oUi@r#|O;6JA&{Oog^d<T|I!3=we}FywPtzaKGxTNp3jHx1r?1ip
z`WhY^`4f7U{*<1hKcnaA&*=sFI=x7LK`+r?(#!N$^bPuJe0cV6=oR`~`WAhgUZuaI
z*XZx@z{Ypzb@~T-gZ`0D(Ld35>7VIM`WN~heV^W<f2FtS-{>9s0liEAPCumoz$YSp
zOh2Ljq@U7%(R+mV4A6hm8G0Y{KXz*2T6R*TL|SA7UI!_1c(F-A6a}vMicaiznkqgf
zritldhM1|%7qi4{F-Oc5^TauLrsF)(CC(S~#RX!4__$aoE)<KzMPjkISS-PoNZjBN
z-C~*O5xru$SRwkvO0i0;7Hh=MiOa+%#O2}&(J$7Db>d1fAg&VY#nobi*eEuMYs6-;
zMQjz<if!ULv0Z#p><~XMc8cr8F0ote5jTjvVxPECl*E3ai?a4jQ4v)kMNQO2L*T7+
z*c@Prmav2^9C1*%!V|s-#Gn`w!(v2?ikrmE;udj8+$zSzr^I1#o48%vp*@fZETg-7
zZ8yg~-Q97#EK2u8ac>kakKz?k+!w_wqj*&mua4riVcfGmj8~}mD%6vzo4V(vT7hR&
z(w@}aN+T<+L225KOf``9lb)};IX;wR%kf8&fhXN$%`jV8zfm%Ew=RX>$S`bpzOb8V
zSGMdynHjb1R>`okDz*bZVb^MD&!}6vnW)(Hl<(?ZBiXQ9G7E09q?>-yH(E03+IqE6
zwTCPd0Hd>UA{{u4OBq(#9?m<aK2oX}ZpD<S(~-KLab?YwUL(t*D2Aq8X(nr?UeBR1
zRi|NF(#s9nX3&x)$diviuAnV~11EjZt=LtWDMKBI6TV(gB6!KNZ8x)gXz6Y<<+z6B
zrz?6(x_Yu^TR!s5YTEF1)2QTqIqa7j(x^B5oPvjps^7>VuWpr0S@R1aSdo@5-F%pE
znY<Xn2LjJGY9mQ*OWv@mpbN`Iu%d0R=@rRZD-9Y|X=fax;s>rwJJPBcX0D|>C6-mX
zX}!t}p<&1=tA?NQ8oDb}m4<|dxWkH`FP&0ZuQZ2rw_2>}P+^?P#z2ylo^o^;0Sv=-
zGBw*}@`56d6N*!mNXY}T;ulcQplgRMFUASggf_<vyb>Emu4Pyem=BFep)+<<#l?ex
zgi64KiQ5dTW{1VRiYuk%HEh2a6$`DR4Fy9eSJtf<)LqveQku+%ppqgR!hw?u0c8<N
zMQle9$1_G{sTP=KA%eY@ZknBPxMJ!peO#<$-KhCVQ|dL05m#pA2n-Fq(Z)c<v^`mX
zzAVG4E7?=frzNu$-IP{U$I4Z=s&*?=v0E+lce<t5E$QcCeFe_A9$7w^yFVnQUqsU#
zhgnuIU<)-^p>)H_@==0C=!gU#l&)`}#wk&{VY|jC%vU$tVDY62?7}bjLxvB#3>D8t
z#%8Zlh0x+lsNA&^O*xXpX!f#^$X?NJ1g)}H3LI8kN0ef5Io+llNkcbldF5R~pOWDY
zg^MVfhSh{|hCQ5d0<VE)6)}>e3%3CeV>OivF|0HycN!!4x`7(Xp&f+YfvZWG@Ih8e
zjrY7V@vx%yc<_eFoFY(#Gf{)Haa+?N=X3x!RB7g6Vi+{6;A+D4yhNi~&6Z&eP@a`6
zOVi9(SgkcE)|a^ky0H{mw*q;*XA~4TZ7ODkObLy%bk-uLPQoY#9g|RjGr176fe*LK
zGCkyC%r{cL?lrwMJSue7R(1_ptLUE0vE_#2Bvp6qz=2z_nkg7$P)(Pm4iAy21U|ab
z8Ob@iqwL3UlAb;&bKE<nG7Pl|i?dxAmk3N@oA4N}(Ug7z4C{@y06xkETL~G;rcA+j
zjSAd+P-(WI8zB#dZ~Hi;)ZSUQ?K+(QxDUurK%~%zawG?xOTWY|#W-OQgERzKt@#jC
zy27}DXSckhXS*;p98|H4f-rdEnT<^Zb3|xsNyu%(VCt~{DyF2ejXust=FF6Z*t9vp
zKHi7D`Vzi13rly=_c}Zxd|nQ|y#c2gnB^?|0{Xcw+m(uy7(8_q!enTv8J<c@t!f@+
z{f6y9`7-MThR;2gWuxL6(-llqQeuX&;gxx&RMQDJp&S?{MoT@5!Vb?nZF&o}>sCdk
zTe8|T{Ctf?LM;a*M3<Nc8cOfUT6axOsoDWLssuT4WMxjBgbD3$5(@S=Db2l-J6k><
zf~sIPgxRAi{!E&wO0S7&BW>yqN6JwALd!05yVPhbME0)iEq5@m{ZO=g2!{QP)>;-C
z6Vj$I`<o-V$Q3{_ofBOk>#$>j8{~9O4m&(V0it)&fsUsZAStf}K~go$5LTik8<{$0
zcSo;g;pUWGWO*&Y#o861Tnp^FnuU%rd+8=dP*t`mfk0+<jQhLD0l}GslZ6`e$qKw!
z8y6{Ix@@wufmJ3;Ju6q|C(JB)FTjYz@HHHmbx;l=kge)1IKk*B>&}oBi3yY$@+znO
zEXWI;wAV1CS#6Ienoyc4JVlk@USUIl;WeO97tT)d#4}u}!a+r|w(<bVKqg^A1DS+k
z2Q{&fa!?JwWv)n8Jg+wm+l0%^g<h2vsl2F%+3{nrcf;`vuXJ`onlg@yC#__ux4Rch
z1}yzps5E9W$cxs-D+lHoxqOApni9)d_8B3dEEXbG!r81%xpig*&dYjo;grv5o`f;1
zd1ea@<gBH@beVc(LI!T4UUm|JS4|j}n>gT%B;25!Xu3m*vR~n4vTPe4vz^Khl}8|=
z)6mNpk)__A)l<i@KHO<J@TE87!zgZ6F-9vNJY`af^TDonIUiOOMlhQOWf@LwQ6f2v
zZf@g)LXXq1GBZ`!4HngK=~w{9&I@ZSr0cHUO4qQaZMq4)Y9(vSRxWEV8-5v%9o{(X
z26#f#&HE}+s1DOcMQ0aN#R=)anV8FV)j1(I9O6S*=GsGE2E){~jcN)5BN&F5Mw#ap
zuQ}piQnLfsI~ZV6z;XblVyA0x%ce~7fhTa^a1vg?UE9}};gcI<P$tSjT?{r;L((YQ
zIB~G>4}z6F?W*k<4x#5}-16yR1L8T@442@X)z@CNu^v#TACdA`t||;-DUMaCk_l9+
qx{Kk=rVu5YQ9XR<<pcNCsug_b<HJfmtl|T2KhS9V(3iihY5xO1YPRzL

diff --git a/static/rest_framework/fonts/fontawesome-webfont.woff b/static/rest_framework/fonts/fontawesome-webfont.woff
deleted file mode 100644
index 8c1748aab7a790d510fb3f42a8a8971d96efa79d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 44432
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
VoBs<Y3))5i00001Qg^x6008Up2bBN-

diff --git a/static/rest_framework/fonts/glyphicons-halflings-regular.eot b/static/rest_framework/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index b93a4953fff68df523aa7656497ee339d6026d64..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20127
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

diff --git a/static/rest_framework/fonts/glyphicons-halflings-regular.svg b/static/rest_framework/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 187805af..00000000
--- a/static/rest_framework/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
-<font-face units-per-em="1200" ascent="960" descent="-240" />
-<missing-glyph horiz-adv-x="500" />
-<glyph horiz-adv-x="0" />
-<glyph horiz-adv-x="400" />
-<glyph unicode=" " />
-<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
-<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xa0;" />
-<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
-<glyph unicode="&#x2000;" horiz-adv-x="650" />
-<glyph unicode="&#x2001;" horiz-adv-x="1300" />
-<glyph unicode="&#x2002;" horiz-adv-x="650" />
-<glyph unicode="&#x2003;" horiz-adv-x="1300" />
-<glyph unicode="&#x2004;" horiz-adv-x="433" />
-<glyph unicode="&#x2005;" horiz-adv-x="325" />
-<glyph unicode="&#x2006;" horiz-adv-x="216" />
-<glyph unicode="&#x2007;" horiz-adv-x="216" />
-<glyph unicode="&#x2008;" horiz-adv-x="162" />
-<glyph unicode="&#x2009;" horiz-adv-x="260" />
-<glyph unicode="&#x200a;" horiz-adv-x="72" />
-<glyph unicode="&#x202f;" horiz-adv-x="260" />
-<glyph unicode="&#x205f;" horiz-adv-x="325" />
-<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
-<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
-<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
-<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
-<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
-<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
-<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
-<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
-<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
-<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
-<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
-<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
-<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
-<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
-<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
-<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
-<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
-<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
-<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
-<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
-<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
-<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
-<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
-<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
-<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
-<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
-<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
-<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
-<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
-<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
-<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
-<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
-<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
-<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
-<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
-<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
-<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
-<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
-<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
-<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
-<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
-<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
-<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
-<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
-<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
-<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
-<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
-<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
-<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
-<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
-<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
-<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
-<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
-<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
-<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
-<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
-<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
-<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
-<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
-<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
-<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
-<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
-<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
-<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
-<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
-<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
-<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
-<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
-<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
-<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
-<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
-<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
-<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
-<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
-<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
-<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
-<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
-<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
-<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
-<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
-<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
-<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
-<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
-<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
-<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
-<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
-<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
-<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
-<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
-<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
-<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
-<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
-<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
-<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
-<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
-<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
-<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
-<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
-<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
-<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
-<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
-<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
-<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
-<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
-<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
-<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
-<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
-<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
-<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
-<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
-<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
-<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
-<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
-<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
-<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
-<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
-<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
-<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
-<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
-<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
-<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
-<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
-<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
-<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
-<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
-<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
-<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
-<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
-<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
-<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
-<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
-<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
-<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
-<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
-<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
-<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
-<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
-<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
-<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
-<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
-<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
-<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
-<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
-<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
-<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
-<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
-<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
-<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
-<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
-<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
-<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
-<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
-<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
-<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
-<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
-<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
-<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
-<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
-<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
-<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
-<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
-<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
-<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
-<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
-<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
-<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
-<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
-<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
-<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
-<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
-<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
-<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
-<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
-<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
-<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
-<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
-<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
-<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
-<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
-<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
-<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
-<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
-<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
-<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
-<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
-<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
-<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
-<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
-<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
-<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
-<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
-<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
-</font>
-</defs></svg>
diff --git a/static/rest_framework/fonts/glyphicons-halflings-regular.ttf b/static/rest_framework/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 1413fc609ab6f21774de0cb7e01360095584f65b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 45404
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

diff --git a/static/rest_framework/fonts/glyphicons-halflings-regular.woff b/static/rest_framework/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e612858f802245ddcbf59788a0db942224bab35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 23424
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
G`u_lkUM?>H

diff --git a/static/rest_framework/fonts/glyphicons-halflings-regular.woff2 b/static/rest_framework/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b54c3751a6d9adb44c8e3a45ba5a73b77f0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18028
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

diff --git a/static/rest_framework/img/glyphicons-halflings-white.png b/static/rest_framework/img/glyphicons-halflings-white.png
deleted file mode 100644
index 3bf6484a29d8da269f9bc874b25493a45fae3bae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 8777
zcmZvC1yGz#v+m*$LXcp=A$ZWB0fL7wNbp_U*$~{_gL`my3oP#L!5tQYy99Ta`+g_q
zKlj|KJ2f@c)ARJx{q*b<Rc{fZDE|-E3z8Qg5C}{9v!pTzga8NZOmrk*O`5892Z0dh
z6y;PuJwHDK9$?(w-u|_L_3`o1($W%e0`}kWUyy&dCnqOQPfu4@SAgf?;o*P$z|s8t
zJh1KR>bkhN_!|Wn*Vos8{TEhUT@5e;_WJsIMMcG5%>DiS&dv_N`4@J0cnAQ-#>RjZ
z00W5t&tJ^l-QC*ST1-p~00u^9XJ=AUl7oW-;2a+x2k__T=grN{+1c4XK0ZL~^z^i$
zp&>vEhr@4fZWb380S18T&!0cQ3IKpHF)?v=b_NIm0Q>v<fKgXh*W25>wY7D0baZ)n
z31Fa5sELUQARIVaU0nqf0XzT+fB_63aA;@<$l~wse|mcA;^G1TmX?-)e)jkGPfkuA
z92@|!<>h5S_4f8QP-JRq>d&7)^Yin8l7K8gED$&_FaV?gY+wLjpoW%~7NDe=nHfMG
z5DO3j{R9kv5GbssrUpO)<pElNvVjx;Inad7%}rnn)BtoiIXM{s0C>Oyv<s*i2m!7M
zNCXUk1jq|?5|99_k&%%AIlu-a0ty3=KxY8j%*;&S3IIajE_Qc!f%*X_5DScgf&xH0
zumu>Vrlx>u0UKD0i;Dpm5S5dY16(DL5l{ixz|mhJU@&-OWCTb7_%}8-fE(P~+XIRO
zJU|wp1|S>|J3KrLcz^+v1f&BDpd>&MAaibR4#5A_4(MucZwG9E1h4@u0P@C8;oo+g
zIVj7kfJi{oV~E(NZ*h(@^<JQ`7oGGHtP>-(Q(C`Psb3KZ{N;^GB(a8NE*Vwc715!9
zr-H4Ao|T_c6+VT_JH9H+P3>iXSt!a$F`>s`jn`w9GZ_~B!{<w2b}Uz=xRP0Noee!5
zHGxHKH;uZjouChSB9)ldcOm@{14~ct04{b8>0soaiV|O_c^R2aWa%}O3jUE)WO=pa
zs~_Wz08z|ieY5A%$@FcBF9^!1a}m5ks@7gjn;67N>}S~Hrm`4sM5Hh`q7&5-N{|31
z6x1{ol7Bn<k_m&K*9NkB7ANp6;_WSmra!UL^eY+pz_w5LlB(g$UY9|-AP@zsw4|7-
zi|#>skoViZ<brlX21G1wL@^v%v2P&MSTZc8SKT&&Tq!~%Uw%k^(D<O<S;ewoH)@(b
zb2Z<#wBV6y-?HHFVJFRg^me&@Reg!dys6F1>0GqbLa#kW`Z<Hy>)VCjt1MysKg|rT
zi!?s#<KsBd5lg=VLu4^|xo0%enAx0mMXMSpk0KF_*gOS;jx!zP=@5TPN+S>#Ck>8c
zpi|>$lGlw#@yMNi&V4`6OBGJ(H&7lqLlcTQ&1zWriG_fL>BnFcr~?;E93{M-xIozQ
zO=EHQ#+?<}%@wbWWv23#!V70h9MOuUVaU>3kpTvYfc|LBw?&b*89~Gc9i&8tlT#kF
ztpbZoAzkdB+UTy=tx%L3Z4)I{zY(Kb)eg{InobSJmNwPZt$14aS-uc4eKuY<?xyi!
z`TeGpun(kP^7#~<fX0r^ExRQwveWDF;DOQbL}?LBzt>8h$dtfyxu^a%zA)<y|4;I#
zFU8x7%0eT|Hd@3!T6Anh3IoHrN%@H8e6ge;3u)_$N2H&Rv2`ml6;kL~xS07C5Nzt<
z>>fYI&)@ZXky?^{5>xSC?;w4r&td6vBdi%vHm4=XJH!3yL3?Ep+T5aU_>i;yr_XGq
zxZfCzUU@GvnoIk+_Nd`aky>S&H!b*{A%L>?*XPAgWL(Vf(k7qUS}>Zn=U(ZfcOc{B
z3*tOHH@t5Ub5D~#N7!Fxx}P2)sy{vE_l(R7$aW&CX>c|&HY+7};vUIietK%}!ph<X
z*_6&Ee=)&D@nDa!y{$f<(Q`UdM+|H2ksGEhG7utFYl`Y6pD#+4LC8Hw@6|1H-x{D`
zE$uaNS!i^Rx(%B(My5}1#H73>rCuh+;C@1usp;XLU<8Gq8P!rEI3<U)y>ieg#W$!=
zQcZr{hp>8sF?k&Yl0?B84OneiQxef-4TEFrq3O~JAZR}yEJHA|Xkqd49tR&8oq{zP
zY@>J^HBV*(gJvJZc_0VFN7Sx?H7#75E3#?N8<p*btH>Z!C+_f53YU}py<FUNWgSuj
zi^M}p>ggxx1?wQi5Yb-_`I`_V*SMx5+*P^b=ec5RON-k1cIlsBLk}(HiaJyab0`CI
zo0{<v3Q5P3@oM!6@v&t6RJy0OS}M??mGqk1x;(pa`FWA#n+2z37<uPHl{#HvB!^?r
zm9?WOv;Tt(gt*?Pw;;%nF3|I0gDBXPM>=1_LO$~oE2%Tl_}KURuX<`+mQN_sTdM&*
zkFf!Xtl^e^gTy6ON=&gTn6)$JHQq2)33R@_!#9?BLNq-Wi{U|rVX7Vny$l6#+S<va
z%-r+y8D)Cm{5=IM8|<{prj)kZfIZ$NiW0)fE9{-SR)@-;NBJtHk@DI_v*mK(N0#s#
z?S8~jyotdcJJAAUt_;Tr)fa|*cT)~*JZ!c_7yVpSb{r2MllfJDbfI~-7n_#K6lw4G
z^Eyhsh^z8eZs2;adrfk9ip%h;IP|>Z@KvQt@VYb%<9JfapI^b9j=wa+Tqb4ei;8c5
z&1>Uz@lVFv6T4Z*YU$r4G`g=91lSeA<=GRZ!*KTWKDPR}NPUW%peCUj`Ix_LDq!8|
zMH-V`Pv!a~QkTL||L@cqiTz)*G-0=ytr1KqTuFPan9y4gYD5>PleK`NZB$ev@W%t=
zkp)_=lBUTLZJpAtZg;pjI;7r2y|26-N7&a(h<zryrg`J^oeC|8V|qszB+|*eQ-(Dy
zbn*nJ1W|b4-1y?dTI6}3IPMw+-O0;Q@eMMtjjQ+G6QfN3ae61Yd9LfQx_UREWecK4
zMn7A~fOz)be1)Yg{2Ysl9G%s8-h-~@C;ALAL0r=<JP2uCe!T|wAywH1r;F|f_q8N(
zYp^0FkyL9uj<8bK@fyTtgo+DT)14B^<SigcSJotgDV02O!M(CS6_B&^bILwyV?Ng4
zm7WQp?{l<Obhuy=22?5<oQDiM22&u4rZrRVG|L9ABfY{=95aTyd~@a$o~1P#ji`=w
zBKmQqX}r3Nlk9Q|gR7)~#n6AzYk`#!R*d5x`A)hU(!1R1%^zXxNJ(kPCw4htU9^(O
zP4cYV^F(I>X|`1YNM9N8{>8JAu<en5+94bD>v}hp1v`3JHT-=5lbXpbMq7X~2J5Kl
zh7tyU`_AusMFZ{ej9D;Uyy;SQ!4nwgSnngsYBwdS&EO3NS*o04)*j<g2BLf;iAZ2(
z7Key$cc6ey>uAYl;57c2Ly0(DEZ8IY?zSph-kyxu+D`tt@oU{32J#I{vmy=#0ySPK
zA+i(A3yl)qmTz*$dZi#y9FS;$;h%bY+;StNx{_R56Otq+?pGe^T^{5d7Gs&?`_r`8
zD&dzOA|j8@3<oPyCd}SOX6AZj_;pT>A&FR5U3*eQNBf<4^4W_iS_()*8b4aaUzfk2
zzIcMWSEjm;EPZPk{j{1>oXd}pXAj!NaRm8{Sjz!D=~q3WJ@vmt6ND_?HI~|wUS1j5
z9!S1MKr7%nxoJ3k`GB^7yV~*{n~O~n6($~x5Bu{7s|JyXbAyKI4+tO(zZYMslK;Zc
zzeHGVl{`iP@jfSKq>R;{+djJ9n%$%EL()Uw+sykjNQdflkJZSjqV_QDWivbZS~S{K
zkE@T^Jcv)Dfm93!mf$XYnCT--_A$zo9MOkPB6&diM8MwOfV?+ApNv`moV@nqn>&lv
zYbN1-M|jc~sG|yLN^1R2=`+1ih3jCshg`iP&mY$GMTcY^W^T`WOCX!{-KHmZ#GiRH
zYl{|+KLn5!PCLtBy~9i}`#d^gCDDx$+GQb~uc;V#K3OgbbOG0j5{BRG-si%Bo{@lB
zGIt+Ain8^C`!*S0d0OSWVO+Z8<kqm;qPrHIJ!qB8;9h5*>9}}O8aFTZ>p&k}2gGCV
zh#<$gswePFxWGT$4DC^8@84_e*^KT74?7n8!$8cg=sL$OlKr&HMh@Rr5%*Wr!xoOl
zo7jItnj-xYgVTX)H1=A2bD(tle<tL7^Z!nJ*fwgn&QUe>EH57#V{xAeW_ezISg5OC
zg=k>hOLA^urTH_e6*vSYRqCm$J{xo}-x3@HH;bsHD1Z`Pzvsn}%cvfw%Q(}h`Dgtb
z0_J^niUmoCM5$*f)6}}qi(u;cPgxfyeV<wtcQgsqG?QDyA@6XXM7siU#+0#mP~AnX
z9f=bMes~9>aaVmOsG<)5`6tzU4wyhF;k|~|x>7-2hXpVBpc5k{L4M`Wbe6Q?tr^*B
z`Y*>6*&R#~%JlBIitlZ^qGe3s21~h3U|&k%%jeMM;6!~UH|+0+<5V-_zDqZQN7<fD
zM2vP&&BMr(%$M51tLpycNES^{gnGn-o~t&>9?n?!Aj!Nj`YMO9?j>uqI9-Tex+nJD
z%e0#Yca6(zqGUR|KITa?9x-#C0!JKJHO(+fy@1!B$%ZwJwncQW7vGYv?~!^`#L~Um
zOL++>4qmqW`0Chc0T23G8|vO)tK=Z2`gvS4*qpqhIJCEv9i&&$09VO8YOz|oZ+ubd
zNXVdLc&p=KsSgtmIPLN69P7xYkYQ1vJ?u1g)T!6Ru`k2wkdj*wDC)VryGu2=yb0?F
z>q~~e>KZ0d<sP$M^)hrN7IC)eGuv*?pAk#*4fxII<8rIx545@9E}-};{IJdo*}!V1
zkUgWQp<TD%7(QQhWkf*vd;SiT1P@}N?jaoKEV?lzqfa1pG1Y^}ikjNMM*Kb?m5(n&
zOz8{+G2z7JatI<J95R%#%#ATAzlwPl$?6)w6WH~ku?(FhO)k1eRlF4I5UqR?T`Iy=
z_bVtkxqs3lQGny-BS%nkzwrXhI_M|P4l_VNVoMjVRoZ*0(JkMQ#AdJLFBj%$oTBx9
z_5|g_ll0@cfLf<j;&lJ>_#7f3UgV%9MY1}vMgF{B8yfE{HL*pMyhYF)WDZ^^3vS8F
zGlOhs%g_~pS3=WQ#494@jAXwOtr^Y|TnQ5zki>qRG)(oPY*f}U_=ip_{qB0!%w7~G
zWE!P4p3khyW-JJnE>eECuYfI?^d366Shq!Wm#x&jA<tFBO~aWRutYg|6S!-V%dvXb
zjpm3-7^fYCzbWmx*ts$8ECu=f{D#|=T{2_Q?C-SVQTSi8ey{G^D$8U&*bY{vQ$kGG
zq$8)>o>=HdCllE$>DPO0N;y#4G)D2y#B@5=N=+F%Xo2n{gKcPcK2!hP*^WSXl+ut;
zyLvVoY>VL{H%Kd9^i~lsb8j4>$EllrparEOJNT?Ym>vJa$(P^tOG)5aVb_5w^*&M0
zYOJ`I`}<NkH4X@iCc57jNSqY3D>9}UoSnYg#E(&yyK(tqr^@n}qU2H2DhkK-`2He%
zgXr_4kpXoQHxAO9S`wEdmqGU4j=1JdG!OixdqB4PPP6<nq;ZS)73s_@N{54U_<mt#
zR{@UUroZJ1=lVB~3y%RbLLE=9Mh=pj4wNruVxXLk8pKH)JVr{Hbx`P1XQ>RXA}>GM
zumruUUH|ZG2$bBj)Qluj&uB=dRb)?^qomw?Z$X%#D+Q*O97eHrgVB2*mR$bFBU`*}
zIem?dM)i}raTFDn@5^caxE^XFXVhBePmH9fqcTi`TLaXiueH=@06sl}>F%}h9H_e9
z>^O?LxM1EjX}NVppaO@NNQr=AtHcH-BU{yBT_vejJ#J)l^cl69Z7$sk`82Zyw7Wxt
z=~J?hZm{f@W}|96FUJfy65Gk8?^{^yjhOahUMCNNpt5DJw}ZKH7b!bGiFY9y6OY&T
z_N)?Jj(MuLTN36ZCJ6<obtKS{VOOSzs>I5Xy7uVlrb$o*Z%=-)kPo9s?<^Yqz~!Z*
z_mP<Y8YDC3(vm~>8(unFq65XSi!$@YtieSQ!<7IEOaA9VkKI?lA`*(nURv<D`3vIl
zzk?RMHDq|}aqs!Q7n{<V(L>fKL8cX}-+~uw9|_5)uC2`ZHca<BJSyCJ7L7R3^ezpJ
zixdU%^Arizo-zh;Lga89_J>eX7L8aG6Ghleg@F9aG%X$#g6^yP5apnB>YTz&EfS{q
z9UVfSyEIczebC)qlVu5cOoMzS_jrC|)rQlAzK7sfiW0`M8mVIohazPE9Jzn*qPt%6
zZL8RELY@L09B83@Be;x5V-IHnn$}{RAT#<2JA%ttlk#^(%u}CGze|1JY5MPhbfnYG
zIw%$XfBmA-<_pKLpGKwbRF$#P;@_)ech#>vj25sv25VM$ouo)?BXdRcO{)*OwTw)G
zv43W~T6ekBMtUD%5Bm>`<n0ehww;K9t*_z=^iZoM2Gjm6Wx6QTWDzOX28g|i7p-G(
znPo(pGb2-Hja^(5g>^Ltv!w4~65N!Ut5twl!Agrzyq4O2Fi3pUMtCU~>9gt_=h-f%
z;1&OuSu?A_sJvIvQ+dZNo3?m1%b1+s&UAx?8sUHEe_sB7zkm4R%6)<@oYB_i5>3Ip
zIA+?jVdX|zL{)?TGpx+=Ta>G80}0}Ax+722$XFNJsC1gcH56{8B)*)eU#r~HrC&}`
z|EWW92&;6y;3}!L5zXa385@?-D%>dSvyK;?jqU2t_R3wvBW;$!j45uQ7tyEIQv<v(
zw)qBpyRhiKBMR9HV)v2ZJdk>a;Db}r&bR3kqNSh)Q_$MJ#Uj3Gj1F;)sO|%6z#@<+
zi{pbYsYS#u`X$Nf($OS+lhw>xgjos1OnF^$-I$u;qhJswhH~p|ab*nO>zBrtb0ndn
zxV0uh!LN`&xckTP+JW}gznSpU492)u+`f{9Yr)js`NmfYH#Wdtradc0TnKNz@Su!e
zu$9}G_=ku;%4xk}eXl>)KgpuT>_<`Ud(A^a++K&pm3LbN;gI}ku@YVrA%FJBZ5$;m
zobR8}OLtW4-i+qPPLS-(7<>M{)rhiPoi@?&vDeVq5%fmZk=mDdRV>Pb-l7pP1y6|J
z8I>sF+TypKV=_<SBxSgNFy@5`t70+_4F<*(g54PNEt&4u%OoVR^n+$TL)qKdP6c)n
z-CoP*_kXZ4vBsj8M^2Y0nDq-^4r-wgu2Y-3fmi6ooPIXTI%UdJhw@7KgR=N+Vl3NO
zcl8-&i~^e%3E1G+u&^#M&5!sI)la$uQ2y&KsaZjx^r8D68BTZd^NrAV{0u$=#SH#4
zLE2)q%<UADH&I$um|>^NwBU^>4JJq<*14GLfM2*XQzYdlqqjnE)gZsPW^E@mp&ww*
zW9i>XL=uwLVZ9pO*8K>t>vdL~Ek_NUL$?LQi5sc#1Q-f6-ywKcIT8Kw?C<o*=Aa~-
z*eA0Mgmu5-j8rTh^;={1$#X=Ck5Gk;@KK#haYa^sXr0^_^Q84%+WOl3?#Mc#{{d}B
z>(_3pbR`e|)%9S-({if|E+hR2W!&qfQ&UiF^I!|M#xhdWsen<tq75@@WHX{+T3S~F
znoMw2v{^ia4`fkd=3p<6XkL)!lsI%8iq@>v^wpKCBiuxXbnp85`{i|;BM?Ba`lqTA
zyRm=UWJl&E{8JzYDHFu>*Z10-?#A8D|5jW9Ho0*CAs0fAy~MqbwYuOq9jjt9*nuHI
zbDwKvh)5Ir$r!fS5|;?Dt>V+@F*v8=TJJF)TdnC#Mk>+tGDGCw;A~^PC`gUt*<(|i
zB{{g{`uFehu`$fm4)&k7`u{xIV)yvA(%5SxX9MS80p2EKnL<HSdiWFiAy=3UmV-rj
zc%^|o`X!t!vuYErrUzbG?ostY(qs7GE^=Z33k*P+F6r($h_?W-bHJ|GUK@Wlv9++M
zG}?Z?8{_X${_c9aOXw4qfk0vTaVRH6FMOnFD?w|zo{zKKg$8wzW&yufWk&idB=+9!
z^dTI@g=>t<HJ%Cd%{u~X`lRpMFg&X{m?Nw#T4cg*?z{+rC($M4z9RHV@8KoueD7_)
z8T@i-6RG$5%_Y`lSjj|?wSvITK5c4g0!Uq49VAn-H<9~;vn7~hBdYuDOt2$gtNuBm
zo8$Y{2lwMxZNbfb$Hm0T528Og7Jfl!35edSr>CZ>tlX>*Z6nd&6-<c}7z{sZ9V^Ux
zMNgR3$iH97>Mv$5rHD*<Fmux@1NkgiA%VmyOAwal{&*L*?*@Cl?&!jtcf3KL{{|8z
z_($$R;SoAei#gUO@=7)M7s~2aAxJ>db;&IBK3KH&M<+ArlGXDRdX1VVO4)&R$f4<g
z`M~bg9+=(|cc^a3vB10?3GZiq$o|Zromh?lE2%m!alG4CIrvmRZHZVSM>NxXI>GBh
zSv|h>5GDAI(4E`@F?En<q4iBUtn-fux#Jt=qU6#PBE4-GhP)}OK!CI;i(sJ6^VIJF
zwJMEAeGKMb_^`VbA1hFYio)roSCrLG-NL5Yqhb{sh3_zt(Zg93UP*;!m?}k&V`1AB
zNYPri&yVkXW8uO1geXM3Oj&$G%~#Jd%h;?JDKwrq;P+!t&4W1Z^1?Ikguvk#bK?Bx
z$w5M*LxgRe=jz?UiDBbfC1I3!cjeMD*ueh4W0S*z6=TAf+ZYkG$}FGti`ipjpIK>W
zS>#c&Gw6~_XL`qQG4bK`W*>hek4LX*efn6|_MY+rXkNyAuu?NxS%L7~9tD3cn7&p(
zCtfqe6sjB&Q-Vs7BP5+%;#Gk};4xtwU!KY0XXbmkUy$kR9)!~?*v)qw00!+Yg^#H>
zc#8*z6zZo>+(bud?K<*!QO<vKd$8TBt^HLIw%iB>4ehiTCK&PD4G&n)Tr9X_3r-we
z?fI+}-G~Yn93gI6F{}Dw_SC*FLZ)5(85zp4%uubtD)J)UELLkvGk4#tw&Tuss<g@J
zd3(n+h;=s-joD7pea}*kl|?T5<3W!rK}V)#HpvFL3uRc{oe_mV<z1l~^m1_TkJDu3
z;JtNs6#g&&@E09TG{#Z`zh|EKwRTiJr)s50$5?Nrhn68HAr=rV#m>a)mTD$R2&O~{
zCI3>fr-!-b@EGRI%g0L8UU%%u_<;e9439JNV;4KSxd|78v+I+8^rmM<g+mx0&Si$a
zgf1uYC03KcCN)Lz!>f3f40Jb}wEszROD?xBZu>Ll3;sUIoNxDK3|j3*sam2tC@@e$
z^!;+AK>efeBJB%ALsQ{uFui)oD<x}JL&L^@dTz{b&_?*nsS;lNnoJ@(k9d5xVq$|w
z<ejC>oq()2USi?n=6C3#eetz?wPswc={I<8x=(8lE4EIsUfyGNZ{|KYn1IR|=E==f
z(;!A5(-2y^2xRFCSPqzHAZn5RCN_bp22T(KEtjA(rFZ%>a4@STrHZflxKoqe9Z4@^
zM*scx_y73<sFS1_?6+u!sT9fvjld*kU~edMy>?Q{<Kw(x)TAd1JfBpLz7(Nk)Jsdz
zj7#eyM{0^=a(C#N_pwZ(&^&zZP@5Qw`oUBRW0i<S2ql<0tEs~>vt6?~WEl?2q*;@8
z3M*&@%l)SQmXkcUm)d@GT2#JdzhfSAP9|n#C;$E8X|pwD!r#X?0P>0ZisQ~TNqupW
z*lUY~+ikD`vQb?@SAWX#r*Y+;=_|oacL$2CL$^(mV}aKO77pg}O+-=T1oLBT5sL2i
z42Qth<Jh0Ysw=K%u7GarF`3bIM1>2+0@C`c+*D0*5!qy26sis<9a7>LN2{z%Qj49t
z=L@x`4$ALHb*3COHoT?5S_c(Hs}g!V>W^=6Q0}zaubkDn)(lTax0+!+%B}9Vqw6{H
zvL|BRM`O<@;eVi1DzM!tXtBrA20Ce@^Jz|>%X-t`vi-%WweXCh_LhI#bUg2*pcP~R
z*RuTUzBKLXO~~uMd&o$v3@d0shHfUjC6c539PE6rF&;Ufa(Rw@K1*m7?f5)t`MjH0
z)_V(cajV5Am>f!kWcI@5rE8t6$S>5M=k=aRZROH6fA^jJp~2NlR4;Q2>L$7F#RT#9
z>4@1RhWG`Khy>P2j1Yx^BBL{S`niMaxlSWV-JBU0-T9zZ%>7mR3l$~QV$({o0;jTI
ze5=cN^!Bc2bT|BcojXp~K#2cM>OTe*cM{Kg-j*CkiW)EGQot^}s;cy8_1_@JA0Whq
zlrNr+R;Efa+`6N)s5rH*|E)nYZ3uqkk2C(E7@A|3YI`ozP~9Lexx#*1(r8luq+YPk
z{J}c$<WQa$CfVIhsE>s`<i2`cEPYHzF!ZIy?L$}MhAPFqQe@_8Lh#cQAH~-zZ5p$u
zZauEKr<oluR2T6z2A|B^#roi2jr3F<X4&!ZjiXo?9nIbJ4iAii=A_@&#n$TqH^#R&
z{$qMQO7u^&7KEB6l{H~A;ylPsJw2kA4#E2@7dO%lsi+3{VJ4?~e4(Bz-tw&^YR9P1
zTlpCH(W_%+@#|?%RN0HM=U?pU5$E2f<RPK1fw%3KLs--hd|lj})1h|Y<6CA3NsuSI
zl=<<g*vcJW=6yZY`aXe5QUB~awgg5fxlu%7u#A8=UXt61U-7wGtR{L&XvKbUf-}PL
z<eXA6<<r^;=`XwtFN1~2J^$Y${#Q0Tyev?j!*Z4q^mjQ4ah)uW_s=JkrRS%l*Ut`>
zPM35Fx(YWB3Z5IYnN+L_4|jaR(5iWJi2~l&xy}aU7kW?o-V*6Av2wyZTG!E2KSW2*
zGRLQkQU;Oz##ie-Z4fI)WSRxn$(ZcD;TL+;^r=a4(G~H3ZhK$lSXZj?cvyY8%d9JM
zzc3#pD^W_QnWy#rx#;<pgDoauRid_B6w$J6XKKeAcZHU9rH9=s!y`%~e@hGc<c#A7
zRRTR`&dt`*;~VYcVGk-~aNB!?q#4B&%52?dI@=%LQ>c&N@sqHhrnHRmj<I9Tx4aSD
zVUQ}9lh=Kd&QIx0uCqYm3pFs_*L;b|$xyZks(AAwgYsH85PAL~ndH7DNUoZKBHCWu
z_<;@&ed^tpoO=DG4Hem|2>#i;s%zLm6SE(n&BWpd&f7>XnjV}OlZntI70fq%8~9<7
zMYaw`E-rp49-oC1N_uZTo)Cu%RR2QWdHpzQIcNsoDp`3xfP+`gI?tVQZ4X={qU?(n
zV>0ASES^Xuc;9JBji{)RnFL(Lez;8XbB1uWaMp@p?7xhXk6V#!6B@aP4Rz7-K%a>i
z?fvf}va_DGUXlI#4--`A3qK7J?-HwnG7O~H2;zR~RLW)_^#La!=}+>KW#anZ{|^D3
B7G?kd

diff --git a/static/rest_framework/img/glyphicons-halflings.png b/static/rest_framework/img/glyphicons-halflings.png
deleted file mode 100644
index 36c3b1ed9e71dce20dca9e35c36c97fd8afd718c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 12762
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
JeEj_Fe*q52p!xs+

diff --git a/static/rest_framework/img/grid.png b/static/rest_framework/img/grid.png
deleted file mode 100644
index 878c3ed5c196539c4e2da35b7787ab08e98b9cca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1458
zcmeAS@N?(olHy`uVBq!ia0vp^Q49=>MjUKFR#nCEMj*vm;1OBOz`!jG!i)^F=12fl
z<Yk6LltlRYSS9D@>LsS+C#C9D<Q4!`GcedxSOJ;2sU?XD6}dTi#a0!zN?;XMKsHEN
zUr7P1q$Jx`DZ)2E!8yMuRl!8hM9)CUj!Qv7!KNrB%__*n4XPc;vsKC{DJihh*Do(G
z*DE*H%P&gTH?*|0)Hg8FH!{)%s?aU2%qvN((9J7Wh8O}f$0fBmxhS)sBr`ux0c37s
zQhsTPt&$SRA~=A!GbI^rPeEx>4%n8IWc}2f)ZEm(l45;BJwtuC;Xu7MDalsFrAb+-
z$t7TS!;J%bz$r0ZA4%9oA5*oBKFCE#E`)d=EDH3$9hZ$hJS^?Fp4#&|GB7Z|@^o<w
zshIQj?!hAIPyvUFa?Fj39{jf#F>^SSJTd6tq0S!DeK!2h*Tl*`P5Yzc8-3Bx*#7*P
z_lIZyDoaaS`}OwX=Dx>2?#<D!t}0>BS1xgR(Q!d=p|X>EOCN`<pp_D;faS3^)x^U>
zXA4VQu*xH8*v`wH|7Kg_&!-n1cjuav&3^o%1B-!38l2qsw5vX{)ww9+?vCFTf>ud~
zg*GO3KC`e=!r@T3xzf`*c)d-IUlfFk;PBjy4K6tmi!A&4@cAEP$Px9s?lqTci7~T+
z-}^{4afY_30{uixxSHt*N>9t^Tda&0H5mQ_1`yCs#p`NH*8Km)_~-KFoNo=!_8c#s
zWAa>N-HQ`bo%5fbxey)esBZQ2{nIXNu`Os-bmok|{*PU&?;Wq;K7ViC-rR_~+KOL=
zH4)jidxUns0>)Izao*FaI~PF{%uT~Dk@j=8|5Dta{K8wv>d|%Hcb{Lgz3+r2sU6kg
zmTAw9&-`i8w14I8wx>P5N6NF;+MlVs*O$JfT6WJou)_P>@A@uXTleG5F;Ur%rwkr}
z9Cy=jOL!Yh{`u60)j+55f37_IN$UUe9sghL7uuB@5hwlYz5Q2<eUaI<M$aqHK~nO&
zd#*7TCu+Cfdu3gE{6aLV)#<*4`koNEdG7b0o4u@l1WB4e6WeE2zU<9?{$YA;>Eoi?
z8|G~6tcc3~n|batFcfpX-rfHA^NYK3=QY>WxaPaUGs?d6cXxkJIsW|O^e4z^d}6ZQ
z{XhH5lWzwfnEw0KbC6*c*P{6UH^(HL+Z_Lz)%(e&^e>X(pJ#64-W$DObB_40RoL^?
hufEOi_HxMn<eq$PhVnkSKkA@T)zj6_Wt~$(69B@oPZ9tC

diff --git a/static/rest_framework/js/ajax-form.js b/static/rest_framework/js/ajax-form.js
deleted file mode 100644
index 1483305f..00000000
--- a/static/rest_framework/js/ajax-form.js
+++ /dev/null
@@ -1,127 +0,0 @@
-function replaceDocument(docString) {
-  var doc = document.open("text/html");
-
-  doc.write(docString);
-  doc.close();
-}
-
-function doAjaxSubmit(e) {
-  var form = $(this);
-  var btn = $(this.clk);
-  var method = (
-    btn.data('method') ||
-    form.data('method') ||
-    form.attr('method') || 'GET'
-  ).toUpperCase();
-
-  if (method === 'GET') {
-    // GET requests can always use standard form submits.
-    return;
-  }
-
-  var contentType =
-    form.find('input[data-override="content-type"]').val() ||
-    form.find('select[data-override="content-type"] option:selected').text();
-
-  if (method === 'POST' && !contentType) {
-    // POST requests can use standard form submits, unless we have
-    // overridden the content type.
-    return;
-  }
-
-  // At this point we need to make an AJAX form submission.
-  e.preventDefault();
-
-  var url = form.attr('action');
-  var data;
-
-  if (contentType) {
-    data = form.find('[data-override="content"]').val() || ''
-
-    if (contentType === 'multipart/form-data') {
-      // We need to add a boundary parameter to the header
-      // We assume the first valid-looking boundary line in the body is correct
-      // regex is from RFC 2046 appendix A
-      var boundaryCharNoSpace = "0-9A-Z'()+_,-./:=?";
-      var boundaryChar = boundaryCharNoSpace + ' ';
-      var re = new RegExp('^--([' + boundaryChar + ']{0,69}[' + boundaryCharNoSpace + '])[\\s]*?$', 'im');
-      var boundary = data.match(re);
-      if (boundary !== null) {
-        contentType += '; boundary="' + boundary[1] + '"';
-      }
-      // Fix textarea.value EOL normalisation (multipart/form-data should use CR+NL, not NL)
-      data = data.replace(/\n/g, '\r\n');
-    }
-  } else {
-    contentType = form.attr('enctype') || form.attr('encoding')
-
-    if (contentType === 'multipart/form-data') {
-      if (!window.FormData) {
-        alert('Your browser does not support AJAX multipart form submissions');
-        return;
-      }
-
-      // Use the FormData API and allow the content type to be set automatically,
-      // so it includes the boundary string.
-      // See https://developer.mozilla.org/en-US/docs/Web/API/FormData/Using_FormData_Objects
-      contentType = false;
-      data = new FormData(form[0]);
-    } else {
-      contentType = 'application/x-www-form-urlencoded; charset=UTF-8'
-      data = form.serialize();
-    }
-  }
-
-  var ret = $.ajax({
-    url: url,
-    method: method,
-    data: data,
-    contentType: contentType,
-    processData: false,
-    headers: {
-      'Accept': 'text/html; q=1.0, */*'
-    },
-  });
-
-  ret.always(function(data, textStatus, jqXHR) {
-    if (textStatus != 'success') {
-      jqXHR = data;
-    }
-
-    var responseContentType = jqXHR.getResponseHeader("content-type") || "";
-
-    if (responseContentType.toLowerCase().indexOf('text/html') === 0) {
-      replaceDocument(jqXHR.responseText);
-
-      try {
-        // Modify the location and scroll to top, as if after page load.
-        history.replaceState({}, '', url);
-        scroll(0, 0);
-      } catch (err) {
-        // History API not supported, so redirect.
-        window.location = url;
-      }
-    } else {
-      // Not HTML content. We can't open this directly, so redirect.
-      window.location = url;
-    }
-  });
-
-  return ret;
-}
-
-function captureSubmittingElement(e) {
-  var target = e.target;
-  var form = this;
-
-  form.clk = target;
-}
-
-$.fn.ajaxForm = function() {
-  var options = {}
-
-  return this
-    .unbind('submit.form-plugin  click.form-plugin')
-    .bind('submit.form-plugin', options, doAjaxSubmit)
-    .bind('click.form-plugin', options, captureSubmittingElement);
-};
diff --git a/static/rest_framework/js/bootstrap.min.js b/static/rest_framework/js/bootstrap.min.js
deleted file mode 100644
index 9bcd2fcc..00000000
--- a/static/rest_framework/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.7 (http://getbootstrap.com)
- * Copyright 2011-2016 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var q=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=window.SVGElement&&c instanceof window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
-this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e<c&&"top";if("bottom"==this.affixed)return null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/static/rest_framework/js/coreapi-0.1.1.js b/static/rest_framework/js/coreapi-0.1.1.js
deleted file mode 100644
index 3c5a2be2..00000000
--- a/static/rest_framework/js/coreapi-0.1.1.js
+++ /dev/null
@@ -1,2043 +0,0 @@
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.coreapi = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var BasicAuthentication = function () {
-  function BasicAuthentication() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
-    _classCallCheck(this, BasicAuthentication);
-
-    var username = options.username;
-    var password = options.password;
-    var hash = window.btoa(username + ':' + password);
-    this.auth = 'Basic ' + hash;
-  }
-
-  _createClass(BasicAuthentication, [{
-    key: 'authenticate',
-    value: function authenticate(options) {
-      options.headers['Authorization'] = this.auth;
-      return options;
-    }
-  }]);
-
-  return BasicAuthentication;
-}();
-
-module.exports = {
-  BasicAuthentication: BasicAuthentication
-};
-
-},{}],2:[function(require,module,exports){
-'use strict';
-
-var basic = require('./basic');
-var session = require('./session');
-var token = require('./token');
-
-module.exports = {
-  BasicAuthentication: basic.BasicAuthentication,
-  SessionAuthentication: session.SessionAuthentication,
-  TokenAuthentication: token.TokenAuthentication
-};
-
-},{"./basic":1,"./session":3,"./token":4}],3:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var utils = require('../utils');
-
-function trim(str) {
-  return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
-}
-
-function getCookie(cookieName, cookieString) {
-  cookieString = cookieString || window.document.cookie;
-  if (cookieString && cookieString !== '') {
-    var cookies = cookieString.split(';');
-    for (var i = 0; i < cookies.length; i++) {
-      var cookie = trim(cookies[i]);
-      // Does this cookie string begin with the name we want?
-      if (cookie.substring(0, cookieName.length + 1) === cookieName + '=') {
-        return decodeURIComponent(cookie.substring(cookieName.length + 1));
-      }
-    }
-  }
-  return null;
-}
-
-var SessionAuthentication = function () {
-  function SessionAuthentication() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
-    _classCallCheck(this, SessionAuthentication);
-
-    this.csrfToken = getCookie(options.csrfCookieName, options.cookieString);
-    this.csrfHeaderName = options.csrfHeaderName;
-  }
-
-  _createClass(SessionAuthentication, [{
-    key: 'authenticate',
-    value: function authenticate(options) {
-      options.credentials = 'same-origin';
-      if (this.csrfToken && !utils.csrfSafeMethod(options.method)) {
-        options.headers[this.csrfHeaderName] = this.csrfToken;
-      }
-      return options;
-    }
-  }]);
-
-  return SessionAuthentication;
-}();
-
-module.exports = {
-  SessionAuthentication: SessionAuthentication
-};
-
-},{"../utils":15}],4:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var TokenAuthentication = function () {
-  function TokenAuthentication() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
-    _classCallCheck(this, TokenAuthentication);
-
-    this.token = options.token;
-    this.scheme = options.scheme || 'Bearer';
-  }
-
-  _createClass(TokenAuthentication, [{
-    key: 'authenticate',
-    value: function authenticate(options) {
-      options.headers['Authorization'] = this.scheme + ' ' + this.token;
-      return options;
-    }
-  }]);
-
-  return TokenAuthentication;
-}();
-
-module.exports = {
-  TokenAuthentication: TokenAuthentication
-};
-
-},{}],5:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var document = require('./document');
-var codecs = require('./codecs');
-var errors = require('./errors');
-var transports = require('./transports');
-var utils = require('./utils');
-
-function lookupLink(node, keys) {
-  var _iteratorNormalCompletion = true;
-  var _didIteratorError = false;
-  var _iteratorError = undefined;
-
-  try {
-    for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-      var key = _step.value;
-
-      if (node instanceof document.Document) {
-        node = node.content[key];
-      } else {
-        node = node[key];
-      }
-      if (node === undefined) {
-        throw new errors.LinkLookupError('Invalid link lookup: ' + JSON.stringify(keys));
-      }
-    }
-  } catch (err) {
-    _didIteratorError = true;
-    _iteratorError = err;
-  } finally {
-    try {
-      if (!_iteratorNormalCompletion && _iterator.return) {
-        _iterator.return();
-      }
-    } finally {
-      if (_didIteratorError) {
-        throw _iteratorError;
-      }
-    }
-  }
-
-  if (!(node instanceof document.Link)) {
-    throw new errors.LinkLookupError('Invalid link lookup: ' + JSON.stringify(keys));
-  }
-  return node;
-}
-
-var Client = function () {
-  function Client() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
-    _classCallCheck(this, Client);
-
-    var transportOptions = {
-      auth: options.auth || null,
-      headers: options.headers || {},
-      requestCallback: options.requestCallback,
-      responseCallback: options.responseCallback
-    };
-
-    this.decoders = options.decoders || [new codecs.CoreJSONCodec(), new codecs.JSONCodec(), new codecs.TextCodec()];
-    this.transports = options.transports || [new transports.HTTPTransport(transportOptions)];
-  }
-
-  _createClass(Client, [{
-    key: 'action',
-    value: function action(document, keys) {
-      var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
-
-      var link = lookupLink(document, keys);
-      var transport = utils.determineTransport(this.transports, link.url);
-      return transport.action(link, this.decoders, params);
-    }
-  }, {
-    key: 'get',
-    value: function get(url) {
-      var link = new document.Link(url, 'get');
-      var transport = utils.determineTransport(this.transports, url);
-      return transport.action(link, this.decoders);
-    }
-  }]);
-
-  return Client;
-}();
-
-module.exports = {
-  Client: Client
-};
-
-},{"./codecs":7,"./document":10,"./errors":11,"./transports":14,"./utils":15}],6:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var document = require('../document');
-var URL = require('url-parse');
-
-function unescapeKey(key) {
-  if (key.match(/__(type|meta)$/)) {
-    return key.substring(1);
-  }
-  return key;
-}
-
-function getString(obj, key) {
-  var value = obj[key];
-  if (typeof value === 'string') {
-    return value;
-  }
-  return '';
-}
-
-function getBoolean(obj, key) {
-  var value = obj[key];
-  if (typeof value === 'boolean') {
-    return value;
-  }
-  return false;
-}
-
-function getObject(obj, key) {
-  var value = obj[key];
-  if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {
-    return value;
-  }
-  return {};
-}
-
-function getArray(obj, key) {
-  var value = obj[key];
-  if (value instanceof Array) {
-    return value;
-  }
-  return [];
-}
-
-function getContent(data, baseUrl) {
-  var excluded = ['_type', '_meta'];
-  var content = {};
-  for (var property in data) {
-    if (data.hasOwnProperty(property) && !excluded.includes(property)) {
-      var key = unescapeKey(property);
-      var value = primitiveToNode(data[property], baseUrl);
-      content[key] = value;
-    }
-  }
-  return content;
-}
-
-function primitiveToNode(data, baseUrl) {
-  var isObject = data instanceof Object && !(data instanceof Array);
-
-  if (isObject && data._type === 'document') {
-    // Document
-    var meta = getObject(data, '_meta');
-    var relativeUrl = getString(meta, 'url');
-    var url = relativeUrl ? URL(relativeUrl, baseUrl).toString() : '';
-    var title = getString(meta, 'title');
-    var description = getString(meta, 'description');
-    var content = getContent(data, url);
-    return new document.Document(url, title, description, content);
-  } else if (isObject && data._type === 'link') {
-    // Link
-    var _relativeUrl = getString(data, 'url');
-    var _url = _relativeUrl ? URL(_relativeUrl, baseUrl).toString() : '';
-    var method = getString(data, 'action') || 'get';
-    var _title = getString(data, 'title');
-    var _description = getString(data, 'description');
-    var fieldsData = getArray(data, 'fields');
-    var fields = [];
-    for (var idx = 0, len = fieldsData.length; idx < len; idx++) {
-      var value = fieldsData[idx];
-      var name = getString(value, 'name');
-      var required = getBoolean(value, 'required');
-      var location = getString(value, 'location');
-      var fieldDescription = getString(value, 'fieldDescription');
-      var field = new document.Field(name, required, location, fieldDescription);
-      fields.push(field);
-    }
-    return new document.Link(_url, method, 'application/json', fields, _title, _description);
-  } else if (isObject) {
-    // Object
-    var _content = {};
-    for (var key in data) {
-      if (data.hasOwnProperty(key)) {
-        _content[key] = primitiveToNode(data[key], baseUrl);
-      }
-    }
-    return _content;
-  } else if (data instanceof Array) {
-    // Object
-    var _content2 = [];
-    for (var _idx = 0, _len = data.length; _idx < _len; _idx++) {
-      _content2.push(primitiveToNode(data[_idx], baseUrl));
-    }
-    return _content2;
-  }
-  // Primitive
-  return data;
-}
-
-var CoreJSONCodec = function () {
-  function CoreJSONCodec() {
-    _classCallCheck(this, CoreJSONCodec);
-
-    this.mediaType = 'application/coreapi+json';
-  }
-
-  _createClass(CoreJSONCodec, [{
-    key: 'decode',
-    value: function decode(text) {
-      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-      var data = text;
-      if (options.preloaded === undefined || !options.preloaded) {
-        data = JSON.parse(text);
-      }
-      return primitiveToNode(data, options.url);
-    }
-  }]);
-
-  return CoreJSONCodec;
-}();
-
-module.exports = {
-  CoreJSONCodec: CoreJSONCodec
-};
-
-},{"../document":10,"url-parse":19}],7:[function(require,module,exports){
-'use strict';
-
-var corejson = require('./corejson');
-var json = require('./json');
-var text = require('./text');
-
-module.exports = {
-  CoreJSONCodec: corejson.CoreJSONCodec,
-  JSONCodec: json.JSONCodec,
-  TextCodec: text.TextCodec
-};
-
-},{"./corejson":6,"./json":8,"./text":9}],8:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var JSONCodec = function () {
-  function JSONCodec() {
-    _classCallCheck(this, JSONCodec);
-
-    this.mediaType = 'application/json';
-  }
-
-  _createClass(JSONCodec, [{
-    key: 'decode',
-    value: function decode(text) {
-      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-      return JSON.parse(text);
-    }
-  }]);
-
-  return JSONCodec;
-}();
-
-module.exports = {
-  JSONCodec: JSONCodec
-};
-
-},{}],9:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var TextCodec = function () {
-  function TextCodec() {
-    _classCallCheck(this, TextCodec);
-
-    this.mediaType = 'text/*';
-  }
-
-  _createClass(TextCodec, [{
-    key: 'decode',
-    value: function decode(text) {
-      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
-      return text;
-    }
-  }]);
-
-  return TextCodec;
-}();
-
-module.exports = {
-  TextCodec: TextCodec
-};
-
-},{}],10:[function(require,module,exports){
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var Document = function Document() {
-  var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
-  var title = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
-  var description = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
-  var content = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
-
-  _classCallCheck(this, Document);
-
-  this.url = url;
-  this.title = title;
-  this.description = description;
-  this.content = content;
-};
-
-var Link = function Link(url, method) {
-  var encoding = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'application/json';
-  var fields = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
-  var title = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';
-  var description = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';
-
-  _classCallCheck(this, Link);
-
-  if (url === undefined) {
-    throw new Error('url argument is required');
-  }
-
-  if (method === undefined) {
-    throw new Error('method argument is required');
-  }
-
-  this.url = url;
-  this.method = method;
-  this.encoding = encoding;
-  this.fields = fields;
-  this.title = title;
-  this.description = description;
-};
-
-var Field = function Field(name) {
-  var required = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
-  var location = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
-  var description = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
-
-  _classCallCheck(this, Field);
-
-  if (name === undefined) {
-    throw new Error('name argument is required');
-  }
-
-  this.name = name;
-  this.required = required;
-  this.location = location;
-  this.description = description;
-};
-
-module.exports = {
-  Document: Document,
-  Link: Link,
-  Field: Field
-};
-
-},{}],11:[function(require,module,exports){
-'use strict';
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-
-var ParameterError = function (_Error) {
-  _inherits(ParameterError, _Error);
-
-  function ParameterError(message) {
-    _classCallCheck(this, ParameterError);
-
-    var _this = _possibleConstructorReturn(this, (ParameterError.__proto__ || Object.getPrototypeOf(ParameterError)).call(this, message));
-
-    _this.message = message;
-    _this.name = 'ParameterError';
-    return _this;
-  }
-
-  return ParameterError;
-}(Error);
-
-var LinkLookupError = function (_Error2) {
-  _inherits(LinkLookupError, _Error2);
-
-  function LinkLookupError(message) {
-    _classCallCheck(this, LinkLookupError);
-
-    var _this2 = _possibleConstructorReturn(this, (LinkLookupError.__proto__ || Object.getPrototypeOf(LinkLookupError)).call(this, message));
-
-    _this2.message = message;
-    _this2.name = 'LinkLookupError';
-    return _this2;
-  }
-
-  return LinkLookupError;
-}(Error);
-
-var ErrorMessage = function (_Error3) {
-  _inherits(ErrorMessage, _Error3);
-
-  function ErrorMessage(message, content) {
-    _classCallCheck(this, ErrorMessage);
-
-    var _this3 = _possibleConstructorReturn(this, (ErrorMessage.__proto__ || Object.getPrototypeOf(ErrorMessage)).call(this, message));
-
-    _this3.message = message;
-    _this3.content = content;
-    _this3.name = 'ErrorMessage';
-    return _this3;
-  }
-
-  return ErrorMessage;
-}(Error);
-
-module.exports = {
-  ParameterError: ParameterError,
-  LinkLookupError: LinkLookupError,
-  ErrorMessage: ErrorMessage
-};
-
-},{}],12:[function(require,module,exports){
-'use strict';
-
-var auth = require('./auth');
-var client = require('./client');
-var codecs = require('./codecs');
-var document = require('./document');
-var errors = require('./errors');
-var transports = require('./transports');
-var utils = require('./utils');
-
-var coreapi = {
-  Client: client.Client,
-  Document: document.Document,
-  Link: document.Link,
-  auth: auth,
-  codecs: codecs,
-  errors: errors,
-  transports: transports,
-  utils: utils
-};
-
-module.exports = coreapi;
-
-},{"./auth":2,"./client":5,"./codecs":7,"./document":10,"./errors":11,"./transports":14,"./utils":15}],13:[function(require,module,exports){
-'use strict';
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-var fetch = require('isomorphic-fetch');
-var errors = require('../errors');
-var utils = require('../utils');
-var URL = require('url-parse');
-var urlTemplate = require('url-template');
-
-var parseResponse = function parseResponse(response, decoders, responseCallback) {
-  return response.text().then(function (text) {
-    if (responseCallback) {
-      responseCallback(response, text);
-    }
-    var contentType = response.headers.get('Content-Type');
-    var decoder = utils.negotiateDecoder(decoders, contentType);
-    var options = { url: response.url };
-    return decoder.decode(text, options);
-  });
-};
-
-var HTTPTransport = function () {
-  function HTTPTransport() {
-    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
-    _classCallCheck(this, HTTPTransport);
-
-    this.schemes = ['http', 'https'];
-    this.auth = options.auth || null;
-    this.headers = options.headers || {};
-    this.fetch = options.fetch || fetch;
-    this.FormData = options.FormData || window.FormData;
-    this.requestCallback = options.requestCallback;
-    this.responseCallback = options.responseCallback;
-  }
-
-  _createClass(HTTPTransport, [{
-    key: 'buildRequest',
-    value: function buildRequest(link, decoders) {
-      var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
-
-      var fields = link.fields;
-      var method = link.method.toUpperCase();
-      var queryParams = {};
-      var pathParams = {};
-      var formParams = {};
-      var fieldNames = [];
-      var hasBody = false;
-
-      for (var idx = 0, len = fields.length; idx < len; idx++) {
-        var field = fields[idx];
-
-        // Ensure any required fields are included
-        if (!params.hasOwnProperty(field.name)) {
-          if (field.required) {
-            throw new errors.ParameterError('Missing required field: "' + field.name + '"');
-          } else {
-            continue;
-          }
-        }
-
-        fieldNames.push(field.name);
-        if (field.location === 'query') {
-          queryParams[field.name] = params[field.name];
-        } else if (field.location === 'path') {
-          pathParams[field.name] = params[field.name];
-        } else if (field.location === 'form') {
-          formParams[field.name] = params[field.name];
-          hasBody = true;
-        } else if (field.location === 'body') {
-          formParams = params[field.name];
-          hasBody = true;
-        }
-      }
-
-      // Check for any parameters that did not have a matching field
-      for (var property in params) {
-        if (params.hasOwnProperty(property) && !fieldNames.includes(property)) {
-          throw new errors.ParameterError('Unknown parameter: "' + property + '"');
-        }
-      }
-
-      var requestOptions = { method: method, headers: {} };
-
-      Object.assign(requestOptions.headers, this.headers);
-
-      if (hasBody) {
-        if (link.encoding === 'application/json') {
-          requestOptions.body = JSON.stringify(formParams);
-          requestOptions.headers['Content-Type'] = 'application/json';
-        } else if (link.encoding === 'multipart/form-data') {
-          var form = new this.FormData();
-
-          for (var paramKey in formParams) {
-            form.append(paramKey, formParams[paramKey]);
-          }
-          requestOptions.body = form;
-        } else if (link.encoding === 'application/x-www-form-urlencoded') {
-          var formBody = [];
-          for (var _paramKey in formParams) {
-            var encodedKey = encodeURIComponent(_paramKey);
-            var encodedValue = encodeURIComponent(formParams[_paramKey]);
-            formBody.push(encodedKey + '=' + encodedValue);
-          }
-          formBody = formBody.join('&');
-
-          requestOptions.body = formBody;
-          requestOptions.headers['Content-Type'] = 'application/x-www-form-urlencoded';
-        }
-      }
-
-      if (this.auth) {
-        requestOptions = this.auth.authenticate(requestOptions);
-      }
-
-      var parsedUrl = urlTemplate.parse(link.url);
-      parsedUrl = parsedUrl.expand(pathParams);
-      parsedUrl = new URL(parsedUrl);
-      parsedUrl.set('query', queryParams);
-
-      return {
-        url: parsedUrl.toString(),
-        options: requestOptions
-      };
-    }
-  }, {
-    key: 'action',
-    value: function action(link, decoders) {
-      var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
-
-      var responseCallback = this.responseCallback;
-      var request = this.buildRequest(link, decoders, params);
-
-      if (this.requestCallback) {
-        this.requestCallback(request);
-      }
-
-      return this.fetch(request.url, request.options).then(function (response) {
-        if (response.status === 204) {
-          return;
-        }
-        return parseResponse(response, decoders, responseCallback).then(function (data) {
-          if (response.ok) {
-            return data;
-          } else {
-            var title = response.status + ' ' + response.statusText;
-            var error = new errors.ErrorMessage(title, data);
-            return Promise.reject(error);
-          }
-        });
-      });
-    }
-  }]);
-
-  return HTTPTransport;
-}();
-
-module.exports = {
-  HTTPTransport: HTTPTransport
-};
-
-},{"../errors":11,"../utils":15,"isomorphic-fetch":16,"url-parse":19,"url-template":21}],14:[function(require,module,exports){
-'use strict';
-
-var http = require('./http');
-
-module.exports = {
-  HTTPTransport: http.HTTPTransport
-};
-
-},{"./http":13}],15:[function(require,module,exports){
-'use strict';
-
-var URL = require('url-parse');
-
-var determineTransport = function determineTransport(transports, url) {
-  var parsedUrl = new URL(url);
-  var scheme = parsedUrl.protocol.replace(':', '');
-
-  var _iteratorNormalCompletion = true;
-  var _didIteratorError = false;
-  var _iteratorError = undefined;
-
-  try {
-    for (var _iterator = transports[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
-      var transport = _step.value;
-
-      if (transport.schemes.includes(scheme)) {
-        return transport;
-      }
-    }
-  } catch (err) {
-    _didIteratorError = true;
-    _iteratorError = err;
-  } finally {
-    try {
-      if (!_iteratorNormalCompletion && _iterator.return) {
-        _iterator.return();
-      }
-    } finally {
-      if (_didIteratorError) {
-        throw _iteratorError;
-      }
-    }
-  }
-
-  throw Error('Unsupported scheme in URL: ' + url);
-};
-
-var negotiateDecoder = function negotiateDecoder(decoders, contentType) {
-  if (contentType === undefined || contentType === null) {
-    return decoders[0];
-  }
-
-  var fullType = contentType.toLowerCase().split(';')[0].trim();
-  var mainType = fullType.split('/')[0] + '/*';
-  var wildcardType = '*/*';
-  var acceptableTypes = [fullType, mainType, wildcardType];
-
-  var _iteratorNormalCompletion2 = true;
-  var _didIteratorError2 = false;
-  var _iteratorError2 = undefined;
-
-  try {
-    for (var _iterator2 = decoders[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
-      var decoder = _step2.value;
-
-      if (acceptableTypes.includes(decoder.mediaType)) {
-        return decoder;
-      }
-    }
-  } catch (err) {
-    _didIteratorError2 = true;
-    _iteratorError2 = err;
-  } finally {
-    try {
-      if (!_iteratorNormalCompletion2 && _iterator2.return) {
-        _iterator2.return();
-      }
-    } finally {
-      if (_didIteratorError2) {
-        throw _iteratorError2;
-      }
-    }
-  }
-
-  throw Error('Unsupported media in Content-Type header: ' + contentType);
-};
-
-var csrfSafeMethod = function csrfSafeMethod(method) {
-  // these HTTP methods do not require CSRF protection
-  return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)
-  );
-};
-
-module.exports = {
-  determineTransport: determineTransport,
-  negotiateDecoder: negotiateDecoder,
-  csrfSafeMethod: csrfSafeMethod
-};
-
-},{"url-parse":19}],16:[function(require,module,exports){
-// the whatwg-fetch polyfill installs the fetch() function
-// on the global object (window or self)
-//
-// Return that as the export for use in Webpack, Browserify etc.
-require('whatwg-fetch');
-module.exports = self.fetch.bind(self);
-
-},{"whatwg-fetch":22}],17:[function(require,module,exports){
-'use strict';
-
-var has = Object.prototype.hasOwnProperty;
-
-/**
- * Simple query string parser.
- *
- * @param {String} query The query string that needs to be parsed.
- * @returns {Object}
- * @api public
- */
-function querystring(query) {
-  var parser = /([^=?&]+)=?([^&]*)/g
-    , result = {}
-    , part;
-
-  //
-  // Little nifty parsing hack, leverage the fact that RegExp.exec increments
-  // the lastIndex property so we can continue executing this loop until we've
-  // parsed all results.
-  //
-  for (;
-    part = parser.exec(query);
-    result[decodeURIComponent(part[1])] = decodeURIComponent(part[2])
-  );
-
-  return result;
-}
-
-/**
- * Transform a query string to an object.
- *
- * @param {Object} obj Object that should be transformed.
- * @param {String} prefix Optional prefix.
- * @returns {String}
- * @api public
- */
-function querystringify(obj, prefix) {
-  prefix = prefix || '';
-
-  var pairs = [];
-
-  //
-  // Optionally prefix with a '?' if needed
-  //
-  if ('string' !== typeof prefix) prefix = '?';
-
-  for (var key in obj) {
-    if (has.call(obj, key)) {
-      pairs.push(encodeURIComponent(key) +'='+ encodeURIComponent(obj[key]));
-    }
-  }
-
-  return pairs.length ? prefix + pairs.join('&') : '';
-}
-
-//
-// Expose the module.
-//
-exports.stringify = querystringify;
-exports.parse = querystring;
-
-},{}],18:[function(require,module,exports){
-'use strict';
-
-/**
- * Check if we're required to add a port number.
- *
- * @see https://url.spec.whatwg.org/#default-port
- * @param {Number|String} port Port number we need to check
- * @param {String} protocol Protocol we need to check against.
- * @returns {Boolean} Is it a default port for the given protocol
- * @api private
- */
-module.exports = function required(port, protocol) {
-  protocol = protocol.split(':')[0];
-  port = +port;
-
-  if (!port) return false;
-
-  switch (protocol) {
-    case 'http':
-    case 'ws':
-    return port !== 80;
-
-    case 'https':
-    case 'wss':
-    return port !== 443;
-
-    case 'ftp':
-    return port !== 21;
-
-    case 'gopher':
-    return port !== 70;
-
-    case 'file':
-    return false;
-  }
-
-  return port !== 0;
-};
-
-},{}],19:[function(require,module,exports){
-'use strict';
-
-var required = require('requires-port')
-  , lolcation = require('./lolcation')
-  , qs = require('querystringify')
-  , protocolre = /^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i;
-
-/**
- * These are the parse rules for the URL parser, it informs the parser
- * about:
- *
- * 0. The char it Needs to parse, if it's a string it should be done using
- *    indexOf, RegExp using exec and NaN means set as current value.
- * 1. The property we should set when parsing this value.
- * 2. Indication if it's backwards or forward parsing, when set as number it's
- *    the value of extra chars that should be split off.
- * 3. Inherit from location if non existing in the parser.
- * 4. `toLowerCase` the resulting value.
- */
-var rules = [
-  ['#', 'hash'],                        // Extract from the back.
-  ['?', 'query'],                       // Extract from the back.
-  ['/', 'pathname'],                    // Extract from the back.
-  ['@', 'auth', 1],                     // Extract from the front.
-  [NaN, 'host', undefined, 1, 1],       // Set left over value.
-  [/:(\d+)$/, 'port', undefined, 1],    // RegExp the back.
-  [NaN, 'hostname', undefined, 1, 1]    // Set left over.
-];
-
-/**
- * @typedef ProtocolExtract
- * @type Object
- * @property {String} protocol Protocol matched in the URL, in lowercase.
- * @property {Boolean} slashes `true` if protocol is followed by "//", else `false`.
- * @property {String} rest Rest of the URL that is not part of the protocol.
- */
-
-/**
- * Extract protocol information from a URL with/without double slash ("//").
- *
- * @param {String} address URL we want to extract from.
- * @return {ProtocolExtract} Extracted information.
- * @api private
- */
-function extractProtocol(address) {
-  var match = protocolre.exec(address);
-
-  return {
-    protocol: match[1] ? match[1].toLowerCase() : '',
-    slashes: !!match[2],
-    rest: match[3]
-  };
-}
-
-/**
- * Resolve a relative URL pathname against a base URL pathname.
- *
- * @param {String} relative Pathname of the relative URL.
- * @param {String} base Pathname of the base URL.
- * @return {String} Resolved pathname.
- * @api private
- */
-function resolve(relative, base) {
-  var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))
-    , i = path.length
-    , last = path[i - 1]
-    , unshift = false
-    , up = 0;
-
-  while (i--) {
-    if (path[i] === '.') {
-      path.splice(i, 1);
-    } else if (path[i] === '..') {
-      path.splice(i, 1);
-      up++;
-    } else if (up) {
-      if (i === 0) unshift = true;
-      path.splice(i, 1);
-      up--;
-    }
-  }
-
-  if (unshift) path.unshift('');
-  if (last === '.' || last === '..') path.push('');
-
-  return path.join('/');
-}
-
-/**
- * The actual URL instance. Instead of returning an object we've opted-in to
- * create an actual constructor as it's much more memory efficient and
- * faster and it pleases my OCD.
- *
- * @constructor
- * @param {String} address URL we want to parse.
- * @param {Object|String} location Location defaults for relative paths.
- * @param {Boolean|Function} parser Parser for the query string.
- * @api public
- */
-function URL(address, location, parser) {
-  if (!(this instanceof URL)) {
-    return new URL(address, location, parser);
-  }
-
-  var relative, extracted, parse, instruction, index, key
-    , instructions = rules.slice()
-    , type = typeof location
-    , url = this
-    , i = 0;
-
-  //
-  // The following if statements allows this module two have compatibility with
-  // 2 different API:
-  //
-  // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments
-  //    where the boolean indicates that the query string should also be parsed.
-  //
-  // 2. The `URL` interface of the browser which accepts a URL, object as
-  //    arguments. The supplied object will be used as default values / fall-back
-  //    for relative paths.
-  //
-  if ('object' !== type && 'string' !== type) {
-    parser = location;
-    location = null;
-  }
-
-  if (parser && 'function' !== typeof parser) parser = qs.parse;
-
-  location = lolcation(location);
-
-  //
-  // Extract protocol information before running the instructions.
-  //
-  extracted = extractProtocol(address || '');
-  relative = !extracted.protocol && !extracted.slashes;
-  url.slashes = extracted.slashes || relative && location.slashes;
-  url.protocol = extracted.protocol || location.protocol || '';
-  address = extracted.rest;
-
-  //
-  // When the authority component is absent the URL starts with a path
-  // component.
-  //
-  if (!extracted.slashes) instructions[2] = [/(.*)/, 'pathname'];
-
-  for (; i < instructions.length; i++) {
-    instruction = instructions[i];
-    parse = instruction[0];
-    key = instruction[1];
-
-    if (parse !== parse) {
-      url[key] = address;
-    } else if ('string' === typeof parse) {
-      if (~(index = address.indexOf(parse))) {
-        if ('number' === typeof instruction[2]) {
-          url[key] = address.slice(0, index);
-          address = address.slice(index + instruction[2]);
-        } else {
-          url[key] = address.slice(index);
-          address = address.slice(0, index);
-        }
-      }
-    } else if (index = parse.exec(address)) {
-      url[key] = index[1];
-      address = address.slice(0, index.index);
-    }
-
-    url[key] = url[key] || (
-      relative && instruction[3] ? location[key] || '' : ''
-    );
-
-    //
-    // Hostname, host and protocol should be lowercased so they can be used to
-    // create a proper `origin`.
-    //
-    if (instruction[4]) url[key] = url[key].toLowerCase();
-  }
-
-  //
-  // Also parse the supplied query string in to an object. If we're supplied
-  // with a custom parser as function use that instead of the default build-in
-  // parser.
-  //
-  if (parser) url.query = parser(url.query);
-
-  //
-  // If the URL is relative, resolve the pathname against the base URL.
-  //
-  if (
-      relative
-    && location.slashes
-    && url.pathname.charAt(0) !== '/'
-    && (url.pathname !== '' || location.pathname !== '')
-  ) {
-    url.pathname = resolve(url.pathname, location.pathname);
-  }
-
-  //
-  // We should not add port numbers if they are already the default port number
-  // for a given protocol. As the host also contains the port number we're going
-  // override it with the hostname which contains no port number.
-  //
-  if (!required(url.port, url.protocol)) {
-    url.host = url.hostname;
-    url.port = '';
-  }
-
-  //
-  // Parse down the `auth` for the username and password.
-  //
-  url.username = url.password = '';
-  if (url.auth) {
-    instruction = url.auth.split(':');
-    url.username = instruction[0] || '';
-    url.password = instruction[1] || '';
-  }
-
-  url.origin = url.protocol && url.host && url.protocol !== 'file:'
-    ? url.protocol +'//'+ url.host
-    : 'null';
-
-  //
-  // The href is just the compiled result.
-  //
-  url.href = url.toString();
-}
-
-/**
- * This is convenience method for changing properties in the URL instance to
- * insure that they all propagate correctly.
- *
- * @param {String} part          Property we need to adjust.
- * @param {Mixed} value          The newly assigned value.
- * @param {Boolean|Function} fn  When setting the query, it will be the function
- *                               used to parse the query.
- *                               When setting the protocol, double slash will be
- *                               removed from the final url if it is true.
- * @returns {URL}
- * @api public
- */
-URL.prototype.set = function set(part, value, fn) {
-  var url = this;
-
-  switch (part) {
-    case 'query':
-      if ('string' === typeof value && value.length) {
-        value = (fn || qs.parse)(value);
-      }
-
-      url[part] = value;
-      break;
-
-    case 'port':
-      url[part] = value;
-
-      if (!required(value, url.protocol)) {
-        url.host = url.hostname;
-        url[part] = '';
-      } else if (value) {
-        url.host = url.hostname +':'+ value;
-      }
-
-      break;
-
-    case 'hostname':
-      url[part] = value;
-
-      if (url.port) value += ':'+ url.port;
-      url.host = value;
-      break;
-
-    case 'host':
-      url[part] = value;
-
-      if (/:\d+$/.test(value)) {
-        value = value.split(':');
-        url.port = value.pop();
-        url.hostname = value.join(':');
-      } else {
-        url.hostname = value;
-        url.port = '';
-      }
-
-      break;
-
-    case 'protocol':
-      url.protocol = value.toLowerCase();
-      url.slashes = !fn;
-      break;
-
-    case 'pathname':
-      url.pathname = value.length && value.charAt(0) !== '/' ? '/' + value : value;
-
-      break;
-
-    default:
-      url[part] = value;
-  }
-
-  for (var i = 0; i < rules.length; i++) {
-    var ins = rules[i];
-
-    if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();
-  }
-
-  url.origin = url.protocol && url.host && url.protocol !== 'file:'
-    ? url.protocol +'//'+ url.host
-    : 'null';
-
-  url.href = url.toString();
-
-  return url;
-};
-
-/**
- * Transform the properties back in to a valid and full URL string.
- *
- * @param {Function} stringify Optional query stringify function.
- * @returns {String}
- * @api public
- */
-URL.prototype.toString = function toString(stringify) {
-  if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;
-
-  var query
-    , url = this
-    , protocol = url.protocol;
-
-  if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';
-
-  var result = protocol + (url.slashes ? '//' : '');
-
-  if (url.username) {
-    result += url.username;
-    if (url.password) result += ':'+ url.password;
-    result += '@';
-  }
-
-  result += url.host + url.pathname;
-
-  query = 'object' === typeof url.query ? stringify(url.query) : url.query;
-  if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;
-
-  if (url.hash) result += url.hash;
-
-  return result;
-};
-
-//
-// Expose the URL parser and some additional properties that might be useful for
-// others or testing.
-//
-URL.extractProtocol = extractProtocol;
-URL.location = lolcation;
-URL.qs = qs;
-
-module.exports = URL;
-
-},{"./lolcation":20,"querystringify":17,"requires-port":18}],20:[function(require,module,exports){
-(function (global){
-'use strict';
-
-var slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\/\//;
-
-/**
- * These properties should not be copied or inherited from. This is only needed
- * for all non blob URL's as a blob URL does not include a hash, only the
- * origin.
- *
- * @type {Object}
- * @private
- */
-var ignore = { hash: 1, query: 1 }
-  , URL;
-
-/**
- * The location object differs when your code is loaded through a normal page,
- * Worker or through a worker using a blob. And with the blobble begins the
- * trouble as the location object will contain the URL of the blob, not the
- * location of the page where our code is loaded in. The actual origin is
- * encoded in the `pathname` so we can thankfully generate a good "default"
- * location from it so we can generate proper relative URL's again.
- *
- * @param {Object|String} loc Optional default location object.
- * @returns {Object} lolcation object.
- * @api public
- */
-module.exports = function lolcation(loc) {
-  loc = loc || global.location || {};
-  URL = URL || require('./');
-
-  var finaldestination = {}
-    , type = typeof loc
-    , key;
-
-  if ('blob:' === loc.protocol) {
-    finaldestination = new URL(unescape(loc.pathname), {});
-  } else if ('string' === type) {
-    finaldestination = new URL(loc, {});
-    for (key in ignore) delete finaldestination[key];
-  } else if ('object' === type) {
-    for (key in loc) {
-      if (key in ignore) continue;
-      finaldestination[key] = loc[key];
-    }
-
-    if (finaldestination.slashes === undefined) {
-      finaldestination.slashes = slashes.test(loc.href);
-    }
-  }
-
-  return finaldestination;
-};
-
-}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-
-},{"./":19}],21:[function(require,module,exports){
-(function (root, factory) {
-    if (typeof exports === 'object') {
-        module.exports = factory();
-    } else if (typeof define === 'function' && define.amd) {
-        define([], factory);
-    } else {
-        root.urltemplate = factory();
-    }
-}(this, function () {
-  /**
-   * @constructor
-   */
-  function UrlTemplate() {
-  }
-
-  /**
-   * @private
-   * @param {string} str
-   * @return {string}
-   */
-  UrlTemplate.prototype.encodeReserved = function (str) {
-    return str.split(/(%[0-9A-Fa-f]{2})/g).map(function (part) {
-      if (!/%[0-9A-Fa-f]/.test(part)) {
-        part = encodeURI(part).replace(/%5B/g, '[').replace(/%5D/g, ']');
-      }
-      return part;
-    }).join('');
-  };
-
-  /**
-   * @private
-   * @param {string} str
-   * @return {string}
-   */
-  UrlTemplate.prototype.encodeUnreserved = function (str) {
-    return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {
-      return '%' + c.charCodeAt(0).toString(16).toUpperCase();
-    });
-  }
-
-  /**
-   * @private
-   * @param {string} operator
-   * @param {string} value
-   * @param {string} key
-   * @return {string}
-   */
-  UrlTemplate.prototype.encodeValue = function (operator, value, key) {
-    value = (operator === '+' || operator === '#') ? this.encodeReserved(value) : this.encodeUnreserved(value);
-
-    if (key) {
-      return this.encodeUnreserved(key) + '=' + value;
-    } else {
-      return value;
-    }
-  };
-
-  /**
-   * @private
-   * @param {*} value
-   * @return {boolean}
-   */
-  UrlTemplate.prototype.isDefined = function (value) {
-    return value !== undefined && value !== null;
-  };
-
-  /**
-   * @private
-   * @param {string}
-   * @return {boolean}
-   */
-  UrlTemplate.prototype.isKeyOperator = function (operator) {
-    return operator === ';' || operator === '&' || operator === '?';
-  };
-
-  /**
-   * @private
-   * @param {Object} context
-   * @param {string} operator
-   * @param {string} key
-   * @param {string} modifier
-   */
-  UrlTemplate.prototype.getValues = function (context, operator, key, modifier) {
-    var value = context[key],
-        result = [];
-
-    if (this.isDefined(value) && value !== '') {
-      if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
-        value = value.toString();
-
-        if (modifier && modifier !== '*') {
-          value = value.substring(0, parseInt(modifier, 10));
-        }
-
-        result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));
-      } else {
-        if (modifier === '*') {
-          if (Array.isArray(value)) {
-            value.filter(this.isDefined).forEach(function (value) {
-              result.push(this.encodeValue(operator, value, this.isKeyOperator(operator) ? key : null));
-            }, this);
-          } else {
-            Object.keys(value).forEach(function (k) {
-              if (this.isDefined(value[k])) {
-                result.push(this.encodeValue(operator, value[k], k));
-              }
-            }, this);
-          }
-        } else {
-          var tmp = [];
-
-          if (Array.isArray(value)) {
-            value.filter(this.isDefined).forEach(function (value) {
-              tmp.push(this.encodeValue(operator, value));
-            }, this);
-          } else {
-            Object.keys(value).forEach(function (k) {
-              if (this.isDefined(value[k])) {
-                tmp.push(this.encodeUnreserved(k));
-                tmp.push(this.encodeValue(operator, value[k].toString()));
-              }
-            }, this);
-          }
-
-          if (this.isKeyOperator(operator)) {
-            result.push(this.encodeUnreserved(key) + '=' + tmp.join(','));
-          } else if (tmp.length !== 0) {
-            result.push(tmp.join(','));
-          }
-        }
-      }
-    } else {
-      if (operator === ';') {
-        if (this.isDefined(value)) {
-          result.push(this.encodeUnreserved(key));
-        }
-      } else if (value === '' && (operator === '&' || operator === '?')) {
-        result.push(this.encodeUnreserved(key) + '=');
-      } else if (value === '') {
-        result.push('');
-      }
-    }
-    return result;
-  };
-
-  /**
-   * @param {string} template
-   * @return {function(Object):string}
-   */
-  UrlTemplate.prototype.parse = function (template) {
-    var that = this;
-    var operators = ['+', '#', '.', '/', ';', '?', '&'];
-
-    return {
-      expand: function (context) {
-        return template.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g, function (_, expression, literal) {
-          if (expression) {
-            var operator = null,
-                values = [];
-
-            if (operators.indexOf(expression.charAt(0)) !== -1) {
-              operator = expression.charAt(0);
-              expression = expression.substr(1);
-            }
-
-            expression.split(/,/g).forEach(function (variable) {
-              var tmp = /([^:\*]*)(?::(\d+)|(\*))?/.exec(variable);
-              values.push.apply(values, that.getValues(context, operator, tmp[1], tmp[2] || tmp[3]));
-            });
-
-            if (operator && operator !== '+') {
-              var separator = ',';
-
-              if (operator === '?') {
-                separator = '&';
-              } else if (operator !== '#') {
-                separator = operator;
-              }
-              return (values.length !== 0 ? operator : '') + values.join(separator);
-            } else {
-              return values.join(',');
-            }
-          } else {
-            return that.encodeReserved(literal);
-          }
-        });
-      }
-    };
-  };
-
-  return new UrlTemplate();
-}));
-
-},{}],22:[function(require,module,exports){
-(function(self) {
-  'use strict';
-
-  if (self.fetch) {
-    return
-  }
-
-  var support = {
-    searchParams: 'URLSearchParams' in self,
-    iterable: 'Symbol' in self && 'iterator' in Symbol,
-    blob: 'FileReader' in self && 'Blob' in self && (function() {
-      try {
-        new Blob()
-        return true
-      } catch(e) {
-        return false
-      }
-    })(),
-    formData: 'FormData' in self,
-    arrayBuffer: 'ArrayBuffer' in self
-  }
-
-  if (support.arrayBuffer) {
-    var viewClasses = [
-      '[object Int8Array]',
-      '[object Uint8Array]',
-      '[object Uint8ClampedArray]',
-      '[object Int16Array]',
-      '[object Uint16Array]',
-      '[object Int32Array]',
-      '[object Uint32Array]',
-      '[object Float32Array]',
-      '[object Float64Array]'
-    ]
-
-    var isDataView = function(obj) {
-      return obj && DataView.prototype.isPrototypeOf(obj)
-    }
-
-    var isArrayBufferView = ArrayBuffer.isView || function(obj) {
-      return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
-    }
-  }
-
-  function normalizeName(name) {
-    if (typeof name !== 'string') {
-      name = String(name)
-    }
-    if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
-      throw new TypeError('Invalid character in header field name')
-    }
-    return name.toLowerCase()
-  }
-
-  function normalizeValue(value) {
-    if (typeof value !== 'string') {
-      value = String(value)
-    }
-    return value
-  }
-
-  // Build a destructive iterator for the value list
-  function iteratorFor(items) {
-    var iterator = {
-      next: function() {
-        var value = items.shift()
-        return {done: value === undefined, value: value}
-      }
-    }
-
-    if (support.iterable) {
-      iterator[Symbol.iterator] = function() {
-        return iterator
-      }
-    }
-
-    return iterator
-  }
-
-  function Headers(headers) {
-    this.map = {}
-
-    if (headers instanceof Headers) {
-      headers.forEach(function(value, name) {
-        this.append(name, value)
-      }, this)
-
-    } else if (headers) {
-      Object.getOwnPropertyNames(headers).forEach(function(name) {
-        this.append(name, headers[name])
-      }, this)
-    }
-  }
-
-  Headers.prototype.append = function(name, value) {
-    name = normalizeName(name)
-    value = normalizeValue(value)
-    var oldValue = this.map[name]
-    this.map[name] = oldValue ? oldValue+','+value : value
-  }
-
-  Headers.prototype['delete'] = function(name) {
-    delete this.map[normalizeName(name)]
-  }
-
-  Headers.prototype.get = function(name) {
-    name = normalizeName(name)
-    return this.has(name) ? this.map[name] : null
-  }
-
-  Headers.prototype.has = function(name) {
-    return this.map.hasOwnProperty(normalizeName(name))
-  }
-
-  Headers.prototype.set = function(name, value) {
-    this.map[normalizeName(name)] = normalizeValue(value)
-  }
-
-  Headers.prototype.forEach = function(callback, thisArg) {
-    for (var name in this.map) {
-      if (this.map.hasOwnProperty(name)) {
-        callback.call(thisArg, this.map[name], name, this)
-      }
-    }
-  }
-
-  Headers.prototype.keys = function() {
-    var items = []
-    this.forEach(function(value, name) { items.push(name) })
-    return iteratorFor(items)
-  }
-
-  Headers.prototype.values = function() {
-    var items = []
-    this.forEach(function(value) { items.push(value) })
-    return iteratorFor(items)
-  }
-
-  Headers.prototype.entries = function() {
-    var items = []
-    this.forEach(function(value, name) { items.push([name, value]) })
-    return iteratorFor(items)
-  }
-
-  if (support.iterable) {
-    Headers.prototype[Symbol.iterator] = Headers.prototype.entries
-  }
-
-  function consumed(body) {
-    if (body.bodyUsed) {
-      return Promise.reject(new TypeError('Already read'))
-    }
-    body.bodyUsed = true
-  }
-
-  function fileReaderReady(reader) {
-    return new Promise(function(resolve, reject) {
-      reader.onload = function() {
-        resolve(reader.result)
-      }
-      reader.onerror = function() {
-        reject(reader.error)
-      }
-    })
-  }
-
-  function readBlobAsArrayBuffer(blob) {
-    var reader = new FileReader()
-    var promise = fileReaderReady(reader)
-    reader.readAsArrayBuffer(blob)
-    return promise
-  }
-
-  function readBlobAsText(blob) {
-    var reader = new FileReader()
-    var promise = fileReaderReady(reader)
-    reader.readAsText(blob)
-    return promise
-  }
-
-  function bufferClone(buf) {
-    if (buf.slice) {
-      return buf.slice(0)
-    } else {
-      var view = new Uint8Array(buf.byteLength)
-      view.set(new Uint8Array(buf))
-      return view.buffer
-    }
-  }
-
-  function Body() {
-    this.bodyUsed = false
-
-    this._initBody = function(body) {
-      this._bodyInit = body
-      if (!body) {
-        this._bodyText = ''
-      } else if (typeof body === 'string') {
-        this._bodyText = body
-      } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
-        this._bodyBlob = body
-      } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
-        this._bodyFormData = body
-      } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
-        this._bodyText = body.toString()
-      } else if (support.arrayBuffer && support.blob && isDataView(body)) {
-        this._bodyArrayBuffer = bufferClone(body.buffer)
-        // IE 10-11 can't handle a DataView body.
-        this._bodyInit = new Blob([this._bodyArrayBuffer])
-      } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
-        this._bodyArrayBuffer = bufferClone(body)
-      } else {
-        throw new Error('unsupported BodyInit type')
-      }
-
-      if (!this.headers.get('content-type')) {
-        if (typeof body === 'string') {
-          this.headers.set('content-type', 'text/plain;charset=UTF-8')
-        } else if (this._bodyBlob && this._bodyBlob.type) {
-          this.headers.set('content-type', this._bodyBlob.type)
-        } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
-          this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')
-        }
-      }
-    }
-
-    if (support.blob) {
-      this.blob = function() {
-        var rejected = consumed(this)
-        if (rejected) {
-          return rejected
-        }
-
-        if (this._bodyBlob) {
-          return Promise.resolve(this._bodyBlob)
-        } else if (this._bodyArrayBuffer) {
-          return Promise.resolve(new Blob([this._bodyArrayBuffer]))
-        } else if (this._bodyFormData) {
-          throw new Error('could not read FormData body as blob')
-        } else {
-          return Promise.resolve(new Blob([this._bodyText]))
-        }
-      }
-    }
-
-    this.text = function() {
-      var rejected = consumed(this)
-      if (rejected) {
-        return rejected
-      }
-
-      if (this._bodyBlob) {
-        return readBlobAsText(this._bodyBlob)
-      } else if (this._bodyArrayBuffer) {
-        var view = new Uint8Array(this._bodyArrayBuffer)
-        var str = String.fromCharCode.apply(null, view)
-        return Promise.resolve(str)
-      } else if (this._bodyFormData) {
-        throw new Error('could not read FormData body as text')
-      } else {
-        return Promise.resolve(this._bodyText)
-      }
-    }
-
-    if (support.arrayBuffer) {
-      this.arrayBuffer = function() {
-        if (this._bodyArrayBuffer) {
-          return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
-        } else {
-          return this.blob().then(readBlobAsArrayBuffer)
-        }
-      }
-    }
-
-    if (support.formData) {
-      this.formData = function() {
-        return this.text().then(decode)
-      }
-    }
-
-    this.json = function() {
-      return this.text().then(JSON.parse)
-    }
-
-    return this
-  }
-
-  // HTTP methods whose capitalization should be normalized
-  var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']
-
-  function normalizeMethod(method) {
-    var upcased = method.toUpperCase()
-    return (methods.indexOf(upcased) > -1) ? upcased : method
-  }
-
-  function Request(input, options) {
-    options = options || {}
-    var body = options.body
-
-    if (typeof input === 'string') {
-      this.url = input
-    } else {
-      if (input.bodyUsed) {
-        throw new TypeError('Already read')
-      }
-      this.url = input.url
-      this.credentials = input.credentials
-      if (!options.headers) {
-        this.headers = new Headers(input.headers)
-      }
-      this.method = input.method
-      this.mode = input.mode
-      if (!body && input._bodyInit != null) {
-        body = input._bodyInit
-        input.bodyUsed = true
-      }
-    }
-
-    this.credentials = options.credentials || this.credentials || 'omit'
-    if (options.headers || !this.headers) {
-      this.headers = new Headers(options.headers)
-    }
-    this.method = normalizeMethod(options.method || this.method || 'GET')
-    this.mode = options.mode || this.mode || null
-    this.referrer = null
-
-    if ((this.method === 'GET' || this.method === 'HEAD') && body) {
-      throw new TypeError('Body not allowed for GET or HEAD requests')
-    }
-    this._initBody(body)
-  }
-
-  Request.prototype.clone = function() {
-    return new Request(this, { body: this._bodyInit })
-  }
-
-  function decode(body) {
-    var form = new FormData()
-    body.trim().split('&').forEach(function(bytes) {
-      if (bytes) {
-        var split = bytes.split('=')
-        var name = split.shift().replace(/\+/g, ' ')
-        var value = split.join('=').replace(/\+/g, ' ')
-        form.append(decodeURIComponent(name), decodeURIComponent(value))
-      }
-    })
-    return form
-  }
-
-  function parseHeaders(rawHeaders) {
-    var headers = new Headers()
-    rawHeaders.split('\r\n').forEach(function(line) {
-      var parts = line.split(':')
-      var key = parts.shift().trim()
-      if (key) {
-        var value = parts.join(':').trim()
-        headers.append(key, value)
-      }
-    })
-    return headers
-  }
-
-  Body.call(Request.prototype)
-
-  function Response(bodyInit, options) {
-    if (!options) {
-      options = {}
-    }
-
-    this.type = 'default'
-    this.status = 'status' in options ? options.status : 200
-    this.ok = this.status >= 200 && this.status < 300
-    this.statusText = 'statusText' in options ? options.statusText : 'OK'
-    this.headers = new Headers(options.headers)
-    this.url = options.url || ''
-    this._initBody(bodyInit)
-  }
-
-  Body.call(Response.prototype)
-
-  Response.prototype.clone = function() {
-    return new Response(this._bodyInit, {
-      status: this.status,
-      statusText: this.statusText,
-      headers: new Headers(this.headers),
-      url: this.url
-    })
-  }
-
-  Response.error = function() {
-    var response = new Response(null, {status: 0, statusText: ''})
-    response.type = 'error'
-    return response
-  }
-
-  var redirectStatuses = [301, 302, 303, 307, 308]
-
-  Response.redirect = function(url, status) {
-    if (redirectStatuses.indexOf(status) === -1) {
-      throw new RangeError('Invalid status code')
-    }
-
-    return new Response(null, {status: status, headers: {location: url}})
-  }
-
-  self.Headers = Headers
-  self.Request = Request
-  self.Response = Response
-
-  self.fetch = function(input, init) {
-    return new Promise(function(resolve, reject) {
-      var request = new Request(input, init)
-      var xhr = new XMLHttpRequest()
-
-      xhr.onload = function() {
-        var options = {
-          status: xhr.status,
-          statusText: xhr.statusText,
-          headers: parseHeaders(xhr.getAllResponseHeaders() || '')
-        }
-        options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')
-        var body = 'response' in xhr ? xhr.response : xhr.responseText
-        resolve(new Response(body, options))
-      }
-
-      xhr.onerror = function() {
-        reject(new TypeError('Network request failed'))
-      }
-
-      xhr.ontimeout = function() {
-        reject(new TypeError('Network request failed'))
-      }
-
-      xhr.open(request.method, request.url, true)
-
-      if (request.credentials === 'include') {
-        xhr.withCredentials = true
-      }
-
-      if ('responseType' in xhr && support.blob) {
-        xhr.responseType = 'blob'
-      }
-
-      request.headers.forEach(function(value, name) {
-        xhr.setRequestHeader(name, value)
-      })
-
-      xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)
-    })
-  }
-  self.fetch.polyfill = true
-})(typeof self !== 'undefined' ? self : this);
-
-},{}]},{},[12])(12)
-});
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJsaWIvYXV0aC9iYXNpYy5qcyIsImxpYi9hdXRoL2luZGV4LmpzIiwibGliL2F1dGgvc2Vzc2lvbi5qcyIsImxpYi9hdXRoL3Rva2VuLmpzIiwibGliL2NsaWVudC5qcyIsImxpYi9jb2RlY3MvY29yZWpzb24uanMiLCJsaWIvY29kZWNzL2luZGV4LmpzIiwibGliL2NvZGVjcy9qc29uLmpzIiwibGliL2NvZGVjcy90ZXh0LmpzIiwibGliL2RvY3VtZW50LmpzIiwibGliL2Vycm9ycy5qcyIsImxpYi9pbmRleC5qcyIsImxpYi90cmFuc3BvcnRzL2h0dHAuanMiLCJsaWIvdHJhbnNwb3J0cy9pbmRleC5qcyIsImxpYi91dGlscy5qcyIsIm5vZGVfbW9kdWxlcy9pc29tb3JwaGljLWZldGNoL2ZldGNoLW5wbS1icm93c2VyaWZ5LmpzIiwibm9kZV9tb2R1bGVzL3F1ZXJ5c3RyaW5naWZ5L2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3JlcXVpcmVzLXBvcnQvaW5kZXguanMiLCJub2RlX21vZHVsZXMvdXJsLXBhcnNlL2luZGV4LmpzIiwibm9kZV9tb2R1bGVzL3VybC1wYXJzZS9sb2xjYXRpb24uanMiLCJub2RlX21vZHVsZXMvdXJsLXRlbXBsYXRlL2xpYi91cmwtdGVtcGxhdGUuanMiLCJub2RlX21vZHVsZXMvd2hhdHdnLWZldGNoL2ZldGNoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0lDQU0sbUI7QUFDSixpQ0FBMkI7QUFBQSxRQUFkLE9BQWMsdUVBQUosRUFBSTs7QUFBQTs7QUFDekIsUUFBTSxXQUFXLFFBQVEsUUFBekI7QUFDQSxRQUFNLFdBQVcsUUFBUSxRQUF6QjtBQUNBLFFBQU0sT0FBTyxPQUFPLElBQVAsQ0FBWSxXQUFXLEdBQVgsR0FBaUIsUUFBN0IsQ0FBYjtBQUNBLFNBQUssSUFBTCxHQUFZLFdBQVcsSUFBdkI7QUFDRDs7OztpQ0FFYSxP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Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQzdEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUNyV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDckRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ2hNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiY2xhc3MgQmFzaWNBdXRoZW50aWNhdGlvbiB7XG4gIGNvbnN0cnVjdG9yIChvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB1c2VybmFtZSA9IG9wdGlvbnMudXNlcm5hbWVcbiAgICBjb25zdCBwYXNzd29yZCA9IG9wdGlvbnMucGFzc3dvcmRcbiAgICBjb25zdCBoYXNoID0gd2luZG93LmJ0b2EodXNlcm5hbWUgKyAnOicgKyBwYXNzd29yZClcbiAgICB0aGlzLmF1dGggPSAnQmFzaWMgJyArIGhhc2hcbiAgfVxuXG4gIGF1dGhlbnRpY2F0ZSAob3B0aW9ucykge1xuICAgIG9wdGlvbnMuaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gdGhpcy5hdXRoXG4gICAgcmV0dXJuIG9wdGlvbnNcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgQmFzaWNBdXRoZW50aWNhdGlvbjogQmFzaWNBdXRoZW50aWNhdGlvblxufVxuIiwiY29uc3QgYmFzaWMgPSByZXF1aXJlKCcuL2Jhc2ljJylcbmNvbnN0IHNlc3Npb24gPSByZXF1aXJlKCcuL3Nlc3Npb24nKVxuY29uc3QgdG9rZW4gPSByZXF1aXJlKCcuL3Rva2VuJylcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIEJhc2ljQXV0aGVudGljYXRpb246IGJhc2ljLkJhc2ljQXV0aGVudGljYXRpb24sXG4gIFNlc3Npb25BdXRoZW50aWNhdGlvbjogc2Vzc2lvbi5TZXNzaW9uQXV0aGVudGljYXRpb24sXG4gIFRva2VuQXV0aGVudGljYXRpb246IHRva2VuLlRva2VuQXV0aGVudGljYXRpb25cbn1cbiIsImNvbnN0IHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKVxuXG5mdW5jdGlvbiB0cmltIChzdHIpIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9eXFxzXFxzKi8sICcnKS5yZXBsYWNlKC9cXHNcXHMqJC8sICcnKVxufVxuXG5mdW5jdGlvbiBnZXRDb29raWUgKGNvb2tpZU5hbWUsIGNvb2tpZVN0cmluZykge1xuICBjb29raWVTdHJpbmcgPSBjb29raWVTdHJpbmcgfHwgd2luZG93LmRvY3VtZW50LmNvb2tpZVxuICBpZiAoY29va2llU3RyaW5nICYmIGNvb2tpZVN0cmluZyAhPT0gJycpIHtcbiAgICBjb25zdCBjb29raWVzID0gY29va2llU3RyaW5nLnNwbGl0KCc7JylcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvb2tpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvb2tpZSA9IHRyaW0oY29va2llc1tpXSlcbiAgICAgIC8vIERvZXMgdGhpcyBjb29raWUgc3RyaW5nIGJlZ2luIHdpdGggdGhlIG5hbWUgd2Ugd2FudD9cbiAgICAgIGlmIChjb29raWUuc3Vic3RyaW5nKDAsIGNvb2tpZU5hbWUubGVuZ3RoICsgMSkgPT09IChjb29raWVOYW1lICsgJz0nKSkge1xuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGNvb2tpZS5zdWJzdHJpbmcoY29va2llTmFtZS5sZW5ndGggKyAxKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuY2xhc3MgU2Vzc2lvbkF1dGhlbnRpY2F0aW9uIHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuY3NyZlRva2VuID0gZ2V0Q29va2llKG9wdGlvbnMuY3NyZkNvb2tpZU5hbWUsIG9wdGlvbnMuY29va2llU3RyaW5nKVxuICAgIHRoaXMuY3NyZkhlYWRlck5hbWUgPSBvcHRpb25zLmNzcmZIZWFkZXJOYW1lXG4gIH1cblxuICBhdXRoZW50aWNhdGUgKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zLmNyZWRlbnRpYWxzID0gJ3NhbWUtb3JpZ2luJ1xuICAgIGlmICh0aGlzLmNzcmZUb2tlbiAmJiAhdXRpbHMuY3NyZlNhZmVNZXRob2Qob3B0aW9ucy5tZXRob2QpKSB7XG4gICAgICBvcHRpb25zLmhlYWRlcnNbdGhpcy5jc3JmSGVhZGVyTmFtZV0gPSB0aGlzLmNzcmZUb2tlblxuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uc1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBTZXNzaW9uQXV0aGVudGljYXRpb246IFNlc3Npb25BdXRoZW50aWNhdGlvblxufVxuIiwiY2xhc3MgVG9rZW5BdXRoZW50aWNhdGlvbiB7XG4gIGNvbnN0cnVjdG9yIChvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLnRva2VuID0gb3B0aW9ucy50b2tlblxuICAgIHRoaXMuc2NoZW1lID0gb3B0aW9ucy5zY2hlbWUgfHwgJ0JlYXJlcidcbiAgfVxuXG4gIGF1dGhlbnRpY2F0ZSAob3B0aW9ucykge1xuICAgIG9wdGlvbnMuaGVhZGVyc1snQXV0aG9yaXphdGlvbiddID0gdGhpcy5zY2hlbWUgKyAnICcgKyB0aGlzLnRva2VuXG4gICAgcmV0dXJuIG9wdGlvbnNcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgVG9rZW5BdXRoZW50aWNhdGlvbjogVG9rZW5BdXRoZW50aWNhdGlvblxufVxuIiwiY29uc3QgZG9jdW1lbnQgPSByZXF1aXJlKCcuL2RvY3VtZW50JylcbmNvbnN0IGNvZGVjcyA9IHJlcXVpcmUoJy4vY29kZWNzJylcbmNvbnN0IGVycm9ycyA9IHJlcXVpcmUoJy4vZXJyb3JzJylcbmNvbnN0IHRyYW5zcG9ydHMgPSByZXF1aXJlKCcuL3RyYW5zcG9ydHMnKVxuY29uc3QgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJylcblxuZnVuY3Rpb24gbG9va3VwTGluayAobm9kZSwga2V5cykge1xuICBmb3IgKGxldCBrZXkgb2Yga2V5cykge1xuICAgIGlmIChub2RlIGluc3RhbmNlb2YgZG9jdW1lbnQuRG9jdW1lbnQpIHtcbiAgICAgIG5vZGUgPSBub2RlLmNvbnRlbnRba2V5XVxuICAgIH0gZWxzZSB7XG4gICAgICBub2RlID0gbm9kZVtrZXldXG4gICAgfVxuICAgIGlmIChub2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBlcnJvcnMuTGlua0xvb2t1cEVycm9yKGBJbnZhbGlkIGxpbmsgbG9va3VwOiAke0pTT04uc3RyaW5naWZ5KGtleXMpfWApXG4gICAgfVxuICB9XG4gIGlmICghKG5vZGUgaW5zdGFuY2VvZiBkb2N1bWVudC5MaW5rKSkge1xuICAgIHRocm93IG5ldyBlcnJvcnMuTGlua0xvb2t1cEVycm9yKGBJbnZhbGlkIGxpbmsgbG9va3VwOiAke0pTT04uc3RyaW5naWZ5KGtleXMpfWApXG4gIH1cbiAgcmV0dXJuIG5vZGVcbn1cblxuY2xhc3MgQ2xpZW50IHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHRyYW5zcG9ydE9wdGlvbnMgPSB7XG4gICAgICBhdXRoOiBvcHRpb25zLmF1dGggfHwgbnVsbCxcbiAgICAgIGhlYWRlcnM6IG9wdGlvbnMuaGVhZGVycyB8fCB7fSxcbiAgICAgIHJlcXVlc3RDYWxsYmFjazogb3B0aW9ucy5yZXF1ZXN0Q2FsbGJhY2ssXG4gICAgICByZXNwb25zZUNhbGxiYWNrOiBvcHRpb25zLnJlc3BvbnNlQ2FsbGJhY2tcbiAgICB9XG5cbiAgICB0aGlzLmRlY29kZXJzID0gb3B0aW9ucy5kZWNvZGVycyB8fCBbbmV3IGNvZGVjcy5Db3JlSlNPTkNvZGVjKCksIG5ldyBjb2RlY3MuSlNPTkNvZGVjKCksIG5ldyBjb2RlY3MuVGV4dENvZGVjKCldXG4gICAgdGhpcy50cmFuc3BvcnRzID0gb3B0aW9ucy50cmFuc3BvcnRzIHx8IFtuZXcgdHJhbnNwb3J0cy5IVFRQVHJhbnNwb3J0KHRyYW5zcG9ydE9wdGlvbnMpXVxuICB9XG5cbiAgYWN0aW9uIChkb2N1bWVudCwga2V5cywgcGFyYW1zID0ge30pIHtcbiAgICBjb25zdCBsaW5rID0gbG9va3VwTGluayhkb2N1bWVudCwga2V5cylcbiAgICBjb25zdCB0cmFuc3BvcnQgPSB1dGlscy5kZXRlcm1pbmVUcmFuc3BvcnQodGhpcy50cmFuc3BvcnRzLCBsaW5rLnVybClcbiAgICByZXR1cm4gdHJhbnNwb3J0LmFjdGlvbihsaW5rLCB0aGlzLmRlY29kZXJzLCBwYXJhbXMpXG4gIH1cblxuICBnZXQgKHVybCkge1xuICAgIGNvbnN0IGxpbmsgPSBuZXcgZG9jdW1lbnQuTGluayh1cmwsICdnZXQnKVxuICAgIGNvbnN0IHRyYW5zcG9ydCA9IHV0aWxzLmRldGVybWluZVRyYW5zcG9ydCh0aGlzLnRyYW5zcG9ydHMsIHVybClcbiAgICByZXR1cm4gdHJhbnNwb3J0LmFjdGlvbihsaW5rLCB0aGlzLmRlY29kZXJzKVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBDbGllbnQ6IENsaWVudFxufVxuIiwiY29uc3QgZG9jdW1lbnQgPSByZXF1aXJlKCcuLi9kb2N1bWVudCcpXG5jb25zdCBVUkwgPSByZXF1aXJlKCd1cmwtcGFyc2UnKVxuXG5mdW5jdGlvbiB1bmVzY2FwZUtleSAoa2V5KSB7XG4gIGlmIChrZXkubWF0Y2goL19fKHR5cGV8bWV0YSkkLykpIHtcbiAgICByZXR1cm4ga2V5LnN1YnN0cmluZygxKVxuICB9XG4gIHJldHVybiBrZXlcbn1cblxuZnVuY3Rpb24gZ2V0U3RyaW5nIChvYmosIGtleSkge1xuICBjb25zdCB2YWx1ZSA9IG9ialtrZXldXG4gIGlmICh0eXBlb2YgKHZhbHVlKSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWVcbiAgfVxuICByZXR1cm4gJydcbn1cblxuZnVuY3Rpb24gZ2V0Qm9vbGVhbiAob2JqLCBrZXkpIHtcbiAgY29uc3QgdmFsdWUgPSBvYmpba2V5XVxuICBpZiAodHlwZW9mICh2YWx1ZSkgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBnZXRPYmplY3QgKG9iaiwga2V5KSB7XG4gIGNvbnN0IHZhbHVlID0gb2JqW2tleV1cbiAgaWYgKHR5cGVvZiAodmFsdWUpID09PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIHJldHVybiB7fVxufVxuXG5mdW5jdGlvbiBnZXRBcnJheSAob2JqLCBrZXkpIHtcbiAgY29uc3QgdmFsdWUgPSBvYmpba2V5XVxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG4gIHJldHVybiBbXVxufVxuXG5mdW5jdGlvbiBnZXRDb250ZW50IChkYXRhLCBiYXNlVXJsKSB7XG4gIGNvbnN0IGV4Y2x1ZGVkID0gWydfdHlwZScsICdfbWV0YSddXG4gIHZhciBjb250ZW50ID0ge31cbiAgZm9yICh2YXIgcHJvcGVydHkgaW4gZGF0YSkge1xuICAgIGlmIChkYXRhLmhhc093blByb3BlcnR5KHByb3BlcnR5KSAmJiAhZXhjbHVkZWQuaW5jbHVkZXMocHJvcGVydHkpKSB7XG4gICAgICBjb25zdCBrZXkgPSB1bmVzY2FwZUtleShwcm9wZXJ0eSlcbiAgICAgIGNvbnN0IHZhbHVlID0gcHJpbWl0aXZlVG9Ob2RlKGRhdGFbcHJvcGVydHldLCBiYXNlVXJsKVxuICAgICAgY29udGVudFtrZXldID0gdmFsdWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGNvbnRlbnRcbn1cblxuZnVuY3Rpb24gcHJpbWl0aXZlVG9Ob2RlIChkYXRhLCBiYXNlVXJsKSB7XG4gIGNvbnN0IGlzT2JqZWN0ID0gZGF0YSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKGRhdGEgaW5zdGFuY2VvZiBBcnJheSlcblxuICBpZiAoaXNPYmplY3QgJiYgZGF0YS5fdHlwZSA9PT0gJ2RvY3VtZW50Jykge1xuICAgIC8vIERvY3VtZW50XG4gICAgY29uc3QgbWV0YSA9IGdldE9iamVjdChkYXRhLCAnX21ldGEnKVxuICAgIGNvbnN0IHJlbGF0aXZlVXJsID0gZ2V0U3RyaW5nKG1ldGEsICd1cmwnKVxuICAgIGNvbnN0IHVybCA9IHJlbGF0aXZlVXJsID8gVVJMKHJlbGF0aXZlVXJsLCBiYXNlVXJsKS50b1N0cmluZygpIDogJydcbiAgICBjb25zdCB0aXRsZSA9IGdldFN0cmluZyhtZXRhLCAndGl0bGUnKVxuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gZ2V0U3RyaW5nKG1ldGEsICdkZXNjcmlwdGlvbicpXG4gICAgY29uc3QgY29udGVudCA9IGdldENvbnRlbnQoZGF0YSwgdXJsKVxuICAgIHJldHVybiBuZXcgZG9jdW1lbnQuRG9jdW1lbnQodXJsLCB0aXRsZSwgZGVzY3JpcHRpb24sIGNvbnRlbnQpXG4gIH0gZWxzZSBpZiAoaXNPYmplY3QgJiYgZGF0YS5fdHlwZSA9PT0gJ2xpbmsnKSB7XG4gICAgLy8gTGlua1xuICAgIGNvbnN0IHJlbGF0aXZlVXJsID0gZ2V0U3RyaW5nKGRhdGEsICd1cmwnKVxuICAgIGNvbnN0IHVybCA9IHJlbGF0aXZlVXJsID8gVVJMKHJlbGF0aXZlVXJsLCBiYXNlVXJsKS50b1N0cmluZygpIDogJydcbiAgICBjb25zdCBtZXRob2QgPSBnZXRTdHJpbmcoZGF0YSwgJ2FjdGlvbicpIHx8ICdnZXQnXG4gICAgY29uc3QgdGl0bGUgPSBnZXRTdHJpbmcoZGF0YSwgJ3RpdGxlJylcbiAgICBjb25zdCBkZXNjcmlwdGlvbiA9IGdldFN0cmluZyhkYXRhLCAnZGVzY3JpcHRpb24nKVxuICAgIGNvbnN0IGZpZWxkc0RhdGEgPSBnZXRBcnJheShkYXRhLCAnZmllbGRzJylcbiAgICB2YXIgZmllbGRzID0gW11cbiAgICBmb3IgKGxldCBpZHggPSAwLCBsZW4gPSBmaWVsZHNEYXRhLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgICAgbGV0IHZhbHVlID0gZmllbGRzRGF0YVtpZHhdXG4gICAgICBsZXQgbmFtZSA9IGdldFN0cmluZyh2YWx1ZSwgJ25hbWUnKVxuICAgICAgbGV0IHJlcXVpcmVkID0gZ2V0Qm9vbGVhbih2YWx1ZSwgJ3JlcXVpcmVkJylcbiAgICAgIGxldCBsb2NhdGlvbiA9IGdldFN0cmluZyh2YWx1ZSwgJ2xvY2F0aW9uJylcbiAgICAgIGxldCBmaWVsZERlc2NyaXB0aW9uID0gZ2V0U3RyaW5nKHZhbHVlLCAnZmllbGREZXNjcmlwdGlvbicpXG4gICAgICBsZXQgZmllbGQgPSBuZXcgZG9jdW1lbnQuRmllbGQobmFtZSwgcmVxdWlyZWQsIGxvY2F0aW9uLCBmaWVsZERlc2NyaXB0aW9uKVxuICAgICAgZmllbGRzLnB1c2goZmllbGQpXG4gICAgfVxuICAgIHJldHVybiBuZXcgZG9jdW1lbnQuTGluayh1cmwsIG1ldGhvZCwgJ2FwcGxpY2F0aW9uL2pzb24nLCBmaWVsZHMsIHRpdGxlLCBkZXNjcmlwdGlvbilcbiAgfSBlbHNlIGlmIChpc09iamVjdCkge1xuICAgIC8vIE9iamVjdFxuICAgIGxldCBjb250ZW50ID0ge31cbiAgICBmb3IgKGxldCBrZXkgaW4gZGF0YSkge1xuICAgICAgaWYgKGRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb250ZW50W2tleV0gPSBwcmltaXRpdmVUb05vZGUoZGF0YVtrZXldLCBiYXNlVXJsKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29udGVudFxuICB9IGVsc2UgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgIC8vIE9iamVjdFxuICAgIGxldCBjb250ZW50ID0gW11cbiAgICBmb3IgKGxldCBpZHggPSAwLCBsZW4gPSBkYXRhLmxlbmd0aDsgaWR4IDwgbGVuOyBpZHgrKykge1xuICAgICAgY29udGVudC5wdXNoKHByaW1pdGl2ZVRvTm9kZShkYXRhW2lkeF0sIGJhc2VVcmwpKVxuICAgIH1cbiAgICByZXR1cm4gY29udGVudFxuICB9XG4gIC8vIFByaW1pdGl2ZVxuICByZXR1cm4gZGF0YVxufVxuXG5jbGFzcyBDb3JlSlNPTkNvZGVjIHtcbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMubWVkaWFUeXBlID0gJ2FwcGxpY2F0aW9uL2NvcmVhcGkranNvbidcbiAgfVxuXG4gIGRlY29kZSAodGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSB0ZXh0XG4gICAgaWYgKG9wdGlvbnMucHJlbG9hZGVkID09PSB1bmRlZmluZWQgfHwgIW9wdGlvbnMucHJlbG9hZGVkKSB7XG4gICAgICBkYXRhID0gSlNPTi5wYXJzZSh0ZXh0KVxuICAgIH1cbiAgICByZXR1cm4gcHJpbWl0aXZlVG9Ob2RlKGRhdGEsIG9wdGlvbnMudXJsKVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBDb3JlSlNPTkNvZGVjOiBDb3JlSlNPTkNvZGVjXG59XG4iLCJjb25zdCBjb3JlanNvbiA9IHJlcXVpcmUoJy4vY29yZWpzb24nKVxuY29uc3QganNvbiA9IHJlcXVpcmUoJy4vanNvbicpXG5jb25zdCB0ZXh0ID0gcmVxdWlyZSgnLi90ZXh0JylcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIENvcmVKU09OQ29kZWM6IGNvcmVqc29uLkNvcmVKU09OQ29kZWMsXG4gIEpTT05Db2RlYzoganNvbi5KU09OQ29kZWMsXG4gIFRleHRDb2RlYzogdGV4dC5UZXh0Q29kZWNcbn1cbiIsImNsYXNzIEpTT05Db2RlYyB7XG4gIGNvbnN0cnVjdG9yICgpIHtcbiAgICB0aGlzLm1lZGlhVHlwZSA9ICdhcHBsaWNhdGlvbi9qc29uJ1xuICB9XG5cbiAgZGVjb2RlICh0ZXh0LCBvcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh0ZXh0KVxuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBKU09OQ29kZWM6IEpTT05Db2RlY1xufVxuIiwiY2xhc3MgVGV4dENvZGVjIHtcbiAgY29uc3RydWN0b3IgKCkge1xuICAgIHRoaXMubWVkaWFUeXBlID0gJ3RleHQvKidcbiAgfVxuXG4gIGRlY29kZSAodGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgcmV0dXJuIHRleHRcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgVGV4dENvZGVjOiBUZXh0Q29kZWNcbn1cbiIsImNsYXNzIERvY3VtZW50IHtcbiAgY29uc3RydWN0b3IgKHVybCA9ICcnLCB0aXRsZSA9ICcnLCBkZXNjcmlwdGlvbiA9ICcnLCBjb250ZW50ID0ge30pIHtcbiAgICB0aGlzLnVybCA9IHVybFxuICAgIHRoaXMudGl0bGUgPSB0aXRsZVxuICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvblxuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnRcbiAgfVxufVxuXG5jbGFzcyBMaW5rIHtcbiAgY29uc3RydWN0b3IgKHVybCwgbWV0aG9kLCBlbmNvZGluZyA9ICdhcHBsaWNhdGlvbi9qc29uJywgZmllbGRzID0gW10sIHRpdGxlID0gJycsIGRlc2NyaXB0aW9uID0gJycpIHtcbiAgICBpZiAodXJsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigndXJsIGFyZ3VtZW50IGlzIHJlcXVpcmVkJylcbiAgICB9XG5cbiAgICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWV0aG9kIGFyZ3VtZW50IGlzIHJlcXVpcmVkJylcbiAgICB9XG5cbiAgICB0aGlzLnVybCA9IHVybFxuICAgIHRoaXMubWV0aG9kID0gbWV0aG9kXG4gICAgdGhpcy5lbmNvZGluZyA9IGVuY29kaW5nXG4gICAgdGhpcy5maWVsZHMgPSBmaWVsZHNcbiAgICB0aGlzLnRpdGxlID0gdGl0bGVcbiAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb25cbiAgfVxufVxuXG5jbGFzcyBGaWVsZCB7XG4gIGNvbnN0cnVjdG9yIChuYW1lLCByZXF1aXJlZCA9IGZhbHNlLCBsb2NhdGlvbiA9ICcnLCBkZXNjcmlwdGlvbiA9ICcnKSB7XG4gICAgaWYgKG5hbWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCduYW1lIGFyZ3VtZW50IGlzIHJlcXVpcmVkJylcbiAgICB9XG5cbiAgICB0aGlzLm5hbWUgPSBuYW1lXG4gICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkXG4gICAgdGhpcy5sb2NhdGlvbiA9IGxvY2F0aW9uXG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIERvY3VtZW50OiBEb2N1bWVudCxcbiAgTGluazogTGluayxcbiAgRmllbGQ6IEZpZWxkXG59XG4iLCJjbGFzcyBQYXJhbWV0ZXJFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IgKG1lc3NhZ2UpIHtcbiAgICBzdXBlcihtZXNzYWdlKVxuICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2VcbiAgICB0aGlzLm5hbWUgPSAnUGFyYW1ldGVyRXJyb3InXG4gIH1cbn1cblxuY2xhc3MgTGlua0xvb2t1cEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvciAobWVzc2FnZSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpXG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZVxuICAgIHRoaXMubmFtZSA9ICdMaW5rTG9va3VwRXJyb3InXG4gIH1cbn1cblxuY2xhc3MgRXJyb3JNZXNzYWdlIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvciAobWVzc2FnZSwgY29udGVudCkge1xuICAgIHN1cGVyKG1lc3NhZ2UpXG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZVxuICAgIHRoaXMuY29udGVudCA9IGNvbnRlbnRcbiAgICB0aGlzLm5hbWUgPSAnRXJyb3JNZXNzYWdlJ1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBQYXJhbWV0ZXJFcnJvcjogUGFyYW1ldGVyRXJyb3IsXG4gIExpbmtMb29rdXBFcnJvcjogTGlua0xvb2t1cEVycm9yLFxuICBFcnJvck1lc3NhZ2U6IEVycm9yTWVzc2FnZVxufVxuIiwiY29uc3QgYXV0aCA9IHJlcXVpcmUoJy4vYXV0aCcpXG5jb25zdCBjbGllbnQgPSByZXF1aXJlKCcuL2NsaWVudCcpXG5jb25zdCBjb2RlY3MgPSByZXF1aXJlKCcuL2NvZGVjcycpXG5jb25zdCBkb2N1bWVudCA9IHJlcXVpcmUoJy4vZG9jdW1lbnQnKVxuY29uc3QgZXJyb3JzID0gcmVxdWlyZSgnLi9lcnJvcnMnKVxuY29uc3QgdHJhbnNwb3J0cyA9IHJlcXVpcmUoJy4vdHJhbnNwb3J0cycpXG5jb25zdCB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKVxuXG5jb25zdCBjb3JlYXBpID0ge1xuICBDbGllbnQ6IGNsaWVudC5DbGllbnQsXG4gIERvY3VtZW50OiBkb2N1bWVudC5Eb2N1bWVudCxcbiAgTGluazogZG9jdW1lbnQuTGluayxcbiAgYXV0aDogYXV0aCxcbiAgY29kZWNzOiBjb2RlY3MsXG4gIGVycm9yczogZXJyb3JzLFxuICB0cmFuc3BvcnRzOiB0cmFuc3BvcnRzLFxuICB1dGlsczogdXRpbHNcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjb3JlYXBpXG4iLCJjb25zdCBmZXRjaCA9IHJlcXVpcmUoJ2lzb21vcnBoaWMtZmV0Y2gnKVxuY29uc3QgZXJyb3JzID0gcmVxdWlyZSgnLi4vZXJyb3JzJylcbmNvbnN0IHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKVxuY29uc3QgVVJMID0gcmVxdWlyZSgndXJsLXBhcnNlJylcbmNvbnN0IHVybFRlbXBsYXRlID0gcmVxdWlyZSgndXJsLXRlbXBsYXRlJylcblxuY29uc3QgcGFyc2VSZXNwb25zZSA9IChyZXNwb25zZSwgZGVjb2RlcnMsIHJlc3BvbnNlQ2FsbGJhY2spID0+IHtcbiAgcmV0dXJuIHJlc3BvbnNlLnRleHQoKS50aGVuKHRleHQgPT4ge1xuICAgIGlmIChyZXNwb25zZUNhbGxiYWNrKSB7XG4gICAgICByZXNwb25zZUNhbGxiYWNrKHJlc3BvbnNlLCB0ZXh0KVxuICAgIH1cbiAgICBjb25zdCBjb250ZW50VHlwZSA9IHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LVR5cGUnKVxuICAgIGNvbnN0IGRlY29kZXIgPSB1dGlscy5uZWdvdGlhdGVEZWNvZGVyKGRlY29kZXJzLCBjb250ZW50VHlwZSlcbiAgICBjb25zdCBvcHRpb25zID0ge3VybDogcmVzcG9uc2UudXJsfVxuICAgIHJldHVybiBkZWNvZGVyLmRlY29kZSh0ZXh0LCBvcHRpb25zKVxuICB9KVxufVxuXG5jbGFzcyBIVFRQVHJhbnNwb3J0IHtcbiAgY29uc3RydWN0b3IgKG9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMuc2NoZW1lcyA9IFsnaHR0cCcsICdodHRwcyddXG4gICAgdGhpcy5hdXRoID0gb3B0aW9ucy5hdXRoIHx8IG51bGxcbiAgICB0aGlzLmhlYWRlcnMgPSBvcHRpb25zLmhlYWRlcnMgfHwge31cbiAgICB0aGlzLmZldGNoID0gb3B0aW9ucy5mZXRjaCB8fCBmZXRjaFxuICAgIHRoaXMuRm9ybURhdGEgPSBvcHRpb25zLkZvcm1EYXRhIHx8IHdpbmRvdy5Gb3JtRGF0YVxuICAgIHRoaXMucmVxdWVzdENhbGxiYWNrID0gb3B0aW9ucy5yZXF1ZXN0Q2FsbGJhY2tcbiAgICB0aGlzLnJlc3BvbnNlQ2FsbGJhY2sgPSBvcHRpb25zLnJlc3BvbnNlQ2FsbGJhY2tcbiAgfVxuXG4gIGJ1aWxkUmVxdWVzdCAobGluaywgZGVjb2RlcnMsIHBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgZmllbGRzID0gbGluay5maWVsZHNcbiAgICBjb25zdCBtZXRob2QgPSBsaW5rLm1ldGhvZC50b1VwcGVyQ2FzZSgpXG4gICAgbGV0IHF1ZXJ5UGFyYW1zID0ge31cbiAgICBsZXQgcGF0aFBhcmFtcyA9IHt9XG4gICAgbGV0IGZvcm1QYXJhbXMgPSB7fVxuICAgIGxldCBmaWVsZE5hbWVzID0gW11cbiAgICBsZXQgaGFzQm9keSA9IGZhbHNlXG5cbiAgICBmb3IgKGxldCBpZHggPSAwLCBsZW4gPSBmaWVsZHMubGVuZ3RoOyBpZHggPCBsZW47IGlkeCsrKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IGZpZWxkc1tpZHhdXG5cbiAgICAgIC8vIEVuc3VyZSBhbnkgcmVxdWlyZWQgZmllbGRzIGFyZSBpbmNsdWRlZFxuICAgICAgaWYgKCFwYXJhbXMuaGFzT3duUHJvcGVydHkoZmllbGQubmFtZSkpIHtcbiAgICAgICAgaWYgKGZpZWxkLnJlcXVpcmVkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IGVycm9ycy5QYXJhbWV0ZXJFcnJvcihgTWlzc2luZyByZXF1aXJlZCBmaWVsZDogXCIke2ZpZWxkLm5hbWV9XCJgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZmllbGROYW1lcy5wdXNoKGZpZWxkLm5hbWUpXG4gICAgICBpZiAoZmllbGQubG9jYXRpb24gPT09ICdxdWVyeScpIHtcbiAgICAgICAgcXVlcnlQYXJhbXNbZmllbGQubmFtZV0gPSBwYXJhbXNbZmllbGQubmFtZV1cbiAgICAgIH0gZWxzZSBpZiAoZmllbGQubG9jYXRpb24gPT09ICdwYXRoJykge1xuICAgICAgICBwYXRoUGFyYW1zW2ZpZWxkLm5hbWVdID0gcGFyYW1zW2ZpZWxkLm5hbWVdXG4gICAgICB9IGVsc2UgaWYgKGZpZWxkLmxvY2F0aW9uID09PSAnZm9ybScpIHtcbiAgICAgICAgZm9ybVBhcmFtc1tmaWVsZC5uYW1lXSA9IHBhcmFtc1tmaWVsZC5uYW1lXVxuICAgICAgICBoYXNCb2R5ID0gdHJ1ZVxuICAgICAgfSBlbHNlIGlmIChmaWVsZC5sb2NhdGlvbiA9PT0gJ2JvZHknKSB7XG4gICAgICAgIGZvcm1QYXJhbXMgPSBwYXJhbXNbZmllbGQubmFtZV1cbiAgICAgICAgaGFzQm9keSA9IHRydWVcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgYW55IHBhcmFtZXRlcnMgdGhhdCBkaWQgbm90IGhhdmUgYSBtYXRjaGluZyBmaWVsZFxuICAgIGZvciAodmFyIHByb3BlcnR5IGluIHBhcmFtcykge1xuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eSkgJiYgIWZpZWxkTmFtZXMuaW5jbHVkZXMocHJvcGVydHkpKSB7XG4gICAgICAgIHRocm93IG5ldyBlcnJvcnMuUGFyYW1ldGVyRXJyb3IoYFVua25vd24gcGFyYW1ldGVyOiBcIiR7cHJvcGVydHl9XCJgKVxuICAgICAgfVxuICAgIH1cblxuICAgIGxldCByZXF1ZXN0T3B0aW9ucyA9IHttZXRob2Q6IG1ldGhvZCwgaGVhZGVyczoge319XG5cbiAgICBPYmplY3QuYXNzaWduKHJlcXVlc3RPcHRpb25zLmhlYWRlcnMsIHRoaXMuaGVhZGVycylcblxuICAgIGlmIChoYXNCb2R5KSB7XG4gICAgICBpZiAobGluay5lbmNvZGluZyA9PT0gJ2FwcGxpY2F0aW9uL2pzb24nKSB7XG4gICAgICAgIHJlcXVlc3RPcHRpb25zLmJvZHkgPSBKU09OLnN0cmluZ2lmeShmb3JtUGFyYW1zKVxuICAgICAgICByZXF1ZXN0T3B0aW9ucy5oZWFkZXJzWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgfSBlbHNlIGlmIChsaW5rLmVuY29kaW5nID09PSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpIHtcbiAgICAgICAgbGV0IGZvcm0gPSBuZXcgdGhpcy5Gb3JtRGF0YSgpXG5cbiAgICAgICAgZm9yIChsZXQgcGFyYW1LZXkgaW4gZm9ybVBhcmFtcykge1xuICAgICAgICAgIGZvcm0uYXBwZW5kKHBhcmFtS2V5LCBmb3JtUGFyYW1zW3BhcmFtS2V5XSlcbiAgICAgICAgfVxuICAgICAgICByZXF1ZXN0T3B0aW9ucy5ib2R5ID0gZm9ybVxuICAgICAgfSBlbHNlIGlmIChsaW5rLmVuY29kaW5nID09PSAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJykge1xuICAgICAgICBsZXQgZm9ybUJvZHkgPSBbXVxuICAgICAgICBmb3IgKGxldCBwYXJhbUtleSBpbiBmb3JtUGFyYW1zKSB7XG4gICAgICAgICAgY29uc3QgZW5jb2RlZEtleSA9IGVuY29kZVVSSUNvbXBvbmVudChwYXJhbUtleSlcbiAgICAgICAgICBjb25zdCBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQoZm9ybVBhcmFtc1twYXJhbUtleV0pXG4gICAgICAgICAgZm9ybUJvZHkucHVzaChlbmNvZGVkS2V5ICsgJz0nICsgZW5jb2RlZFZhbHVlKVxuICAgICAgICB9XG4gICAgICAgIGZvcm1Cb2R5ID0gZm9ybUJvZHkuam9pbignJicpXG5cbiAgICAgICAgcmVxdWVzdE9wdGlvbnMuYm9keSA9IGZvcm1Cb2R5XG4gICAgICAgIHJlcXVlc3RPcHRpb25zLmhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5hdXRoKSB7XG4gICAgICByZXF1ZXN0T3B0aW9ucyA9IHRoaXMuYXV0aC5hdXRoZW50aWNhdGUocmVxdWVzdE9wdGlvbnMpXG4gICAgfVxuXG4gICAgbGV0IHBhcnNlZFVybCA9IHVybFRlbXBsYXRlLnBhcnNlKGxpbmsudXJsKVxuICAgIHBhcnNlZFVybCA9IHBhcnNlZFVybC5leHBhbmQocGF0aFBhcmFtcylcbiAgICBwYXJzZWRVcmwgPSBuZXcgVVJMKHBhcnNlZFVybClcbiAgICBwYXJzZWRVcmwuc2V0KCdxdWVyeScsIHF1ZXJ5UGFyYW1zKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHVybDogcGFyc2VkVXJsLnRvU3RyaW5nKCksXG4gICAgICBvcHRpb25zOiByZXF1ZXN0T3B0aW9uc1xuICAgIH1cbiAgfVxuXG4gIGFjdGlvbiAobGluaywgZGVjb2RlcnMsIHBhcmFtcyA9IHt9KSB7XG4gICAgY29uc3QgcmVzcG9uc2VDYWxsYmFjayA9IHRoaXMucmVzcG9uc2VDYWxsYmFja1xuICAgIGNvbnN0IHJlcXVlc3QgPSB0aGlzLmJ1aWxkUmVxdWVzdChsaW5rLCBkZWNvZGVycywgcGFyYW1zKVxuXG4gICAgaWYgKHRoaXMucmVxdWVzdENhbGxiYWNrKSB7XG4gICAgICB0aGlzLnJlcXVlc3RDYWxsYmFjayhyZXF1ZXN0KVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZldGNoKHJlcXVlc3QudXJsLCByZXF1ZXN0Lm9wdGlvbnMpXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlUmVzcG9uc2UocmVzcG9uc2UsIGRlY29kZXJzLCByZXNwb25zZUNhbGxiYWNrKVxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRhdGFcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnN0IHRpdGxlID0gcmVzcG9uc2Uuc3RhdHVzICsgJyAnICsgcmVzcG9uc2Uuc3RhdHVzVGV4dFxuICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBlcnJvcnMuRXJyb3JNZXNzYWdlKHRpdGxlLCBkYXRhKVxuICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgIH0pXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIEhUVFBUcmFuc3BvcnQ6IEhUVFBUcmFuc3BvcnRcbn1cbiIsImNvbnN0IGh0dHAgPSByZXF1aXJlKCcuL2h0dHAnKVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgSFRUUFRyYW5zcG9ydDogaHR0cC5IVFRQVHJhbnNwb3J0XG59XG4iLCJjb25zdCBVUkwgPSByZXF1aXJlKCd1cmwtcGFyc2UnKVxuXG5jb25zdCBkZXRlcm1pbmVUcmFuc3BvcnQgPSBmdW5jdGlvbiAodHJhbnNwb3J0cywgdXJsKSB7XG4gIGNvbnN0IHBhcnNlZFVybCA9IG5ldyBVUkwodXJsKVxuICBjb25zdCBzY2hlbWUgPSBwYXJzZWRVcmwucHJvdG9jb2wucmVwbGFjZSgnOicsICcnKVxuXG4gIGZvciAobGV0IHRyYW5zcG9ydCBvZiB0cmFuc3BvcnRzKSB7XG4gICAgaWYgKHRyYW5zcG9ydC5zY2hlbWVzLmluY2x1ZGVzKHNjaGVtZSkpIHtcbiAgICAgIHJldHVybiB0cmFuc3BvcnRcbiAgICB9XG4gIH1cblxuICB0aHJvdyBFcnJvcihgVW5zdXBwb3J0ZWQgc2NoZW1lIGluIFVSTDogJHt1cmx9YClcbn1cblxuY29uc3QgbmVnb3RpYXRlRGVjb2RlciA9IGZ1bmN0aW9uIChkZWNvZGVycywgY29udGVudFR5cGUpIHtcbiAgaWYgKGNvbnRlbnRUeXBlID09PSB1bmRlZmluZWQgfHwgY29udGVudFR5cGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZGVjb2RlcnNbMF1cbiAgfVxuXG4gIGNvbnN0IGZ1bGxUeXBlID0gY29udGVudFR5cGUudG9Mb3dlckNhc2UoKS5zcGxpdCgnOycpWzBdLnRyaW0oKVxuICBjb25zdCBtYWluVHlwZSA9IGZ1bGxUeXBlLnNwbGl0KCcvJylbMF0gKyAnLyonXG4gIGNvbnN0IHdpbGRjYXJkVHlwZSA9ICcqLyonXG4gIGNvbnN0IGFjY2VwdGFibGVUeXBlcyA9IFtmdWxsVHlwZSwgbWFpblR5cGUsIHdpbGRjYXJkVHlwZV1cblxuICBmb3IgKGxldCBkZWNvZGVyIG9mIGRlY29kZXJzKSB7XG4gICAgaWYgKGFjY2VwdGFibGVUeXBlcy5pbmNsdWRlcyhkZWNvZGVyLm1lZGlhVHlwZSkpIHtcbiAgICAgIHJldHVybiBkZWNvZGVyXG4gICAgfVxuICB9XG5cbiAgdGhyb3cgRXJyb3IoYFVuc3VwcG9ydGVkIG1lZGlhIGluIENvbnRlbnQtVHlwZSBoZWFkZXI6ICR7Y29udGVudFR5cGV9YClcbn1cblxuY29uc3QgY3NyZlNhZmVNZXRob2QgPSBmdW5jdGlvbiAobWV0aG9kKSB7XG4gIC8vIHRoZXNlIEhUVFAgbWV0aG9kcyBkbyBub3QgcmVxdWlyZSBDU1JGIHByb3RlY3Rpb25cbiAgcmV0dXJuICgvXihHRVR8SEVBRHxPUFRJT05TfFRSQUNFKSQvLnRlc3QobWV0aG9kKSlcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGRldGVybWluZVRyYW5zcG9ydDogZGV0ZXJtaW5lVHJhbnNwb3J0LFxuICBuZWdvdGlhdGVEZWNvZGVyOiBuZWdvdGlhdGVEZWNvZGVyLFxuICBjc3JmU2FmZU1ldGhvZDogY3NyZlNhZmVNZXRob2Rcbn1cbiIsIi8vIHRoZSB3aGF0d2ctZmV0Y2ggcG9seWZpbGwgaW5zdGFsbHMgdGhlIGZldGNoKCkgZnVuY3Rpb25cbi8vIG9uIHRoZSBnbG9iYWwgb2JqZWN0ICh3aW5kb3cgb3Igc2VsZilcbi8vXG4vLyBSZXR1cm4gdGhhdCBhcyB0aGUgZXhwb3J0IGZvciB1c2UgaW4gV2VicGFjaywgQnJvd3NlcmlmeSBldGMuXG5yZXF1aXJlKCd3aGF0d2ctZmV0Y2gnKTtcbm1vZHVsZS5leHBvcnRzID0gc2VsZi5mZXRjaC5iaW5kKHNlbGYpO1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBTaW1wbGUgcXVlcnkgc3RyaW5nIHBhcnNlci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcXVlcnkgVGhlIHF1ZXJ5IHN0cmluZyB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC5cbiAqIEByZXR1cm5zIHtPYmplY3R9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5mdW5jdGlvbiBxdWVyeXN0cmluZyhxdWVyeSkge1xuICB2YXIgcGFyc2VyID0gLyhbXj0/Jl0rKT0/KFteJl0qKS9nXG4gICAgLCByZXN1bHQgPSB7fVxuICAgICwgcGFydDtcblxuICAvL1xuICAvLyBMaXR0bGUgbmlmdHkgcGFyc2luZyBoYWNrLCBsZXZlcmFnZSB0aGUgZmFjdCB0aGF0IFJlZ0V4cC5leGVjIGluY3JlbWVudHNcbiAgLy8gdGhlIGxhc3RJbmRleCBwcm9wZXJ0eSBzbyB3ZSBjYW4gY29udGludWUgZXhlY3V0aW5nIHRoaXMgbG9vcCB1bnRpbCB3ZSd2ZVxuICAvLyBwYXJzZWQgYWxsIHJlc3VsdHMuXG4gIC8vXG4gIGZvciAoO1xuICAgIHBhcnQgPSBwYXJzZXIuZXhlYyhxdWVyeSk7XG4gICAgcmVzdWx0W2RlY29kZVVSSUNvbXBvbmVudChwYXJ0WzFdKV0gPSBkZWNvZGVVUklDb21wb25lbnQocGFydFsyXSlcbiAgKTtcblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybSBhIHF1ZXJ5IHN0cmluZyB0byBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdGhhdCBzaG91bGQgYmUgdHJhbnNmb3JtZWQuXG4gKiBAcGFyYW0ge1N0cmluZ30gcHJlZml4IE9wdGlvbmFsIHByZWZpeC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5mdW5jdGlvbiBxdWVyeXN0cmluZ2lmeShvYmosIHByZWZpeCkge1xuICBwcmVmaXggPSBwcmVmaXggfHwgJyc7XG5cbiAgdmFyIHBhaXJzID0gW107XG5cbiAgLy9cbiAgLy8gT3B0aW9uYWxseSBwcmVmaXggd2l0aCBhICc/JyBpZiBuZWVkZWRcbiAgLy9cbiAgaWYgKCdzdHJpbmcnICE9PSB0eXBlb2YgcHJlZml4KSBwcmVmaXggPSAnPyc7XG5cbiAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgIGlmIChoYXMuY2FsbChvYmosIGtleSkpIHtcbiAgICAgIHBhaXJzLnB1c2goZW5jb2RlVVJJQ29tcG9uZW50KGtleSkgKyc9JysgZW5jb2RlVVJJQ29tcG9uZW50KG9ialtrZXldKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhaXJzLmxlbmd0aCA/IHByZWZpeCArIHBhaXJzLmpvaW4oJyYnKSA6ICcnO1xufVxuXG4vL1xuLy8gRXhwb3NlIHRoZSBtb2R1bGUuXG4vL1xuZXhwb3J0cy5zdHJpbmdpZnkgPSBxdWVyeXN0cmluZ2lmeTtcbmV4cG9ydHMucGFyc2UgPSBxdWVyeXN0cmluZztcbiIsIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBDaGVjayBpZiB3ZSdyZSByZXF1aXJlZCB0byBhZGQgYSBwb3J0IG51bWJlci5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vdXJsLnNwZWMud2hhdHdnLm9yZy8jZGVmYXVsdC1wb3J0XG4gKiBAcGFyYW0ge051bWJlcnxTdHJpbmd9IHBvcnQgUG9ydCBudW1iZXIgd2UgbmVlZCB0byBjaGVja1xuICogQHBhcmFtIHtTdHJpbmd9IHByb3RvY29sIFByb3RvY29sIHdlIG5lZWQgdG8gY2hlY2sgYWdhaW5zdC5cbiAqIEByZXR1cm5zIHtCb29sZWFufSBJcyBpdCBhIGRlZmF1bHQgcG9ydCBmb3IgdGhlIGdpdmVuIHByb3RvY29sXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiByZXF1aXJlZChwb3J0LCBwcm90b2NvbCkge1xuICBwcm90b2NvbCA9IHByb3RvY29sLnNwbGl0KCc6JylbMF07XG4gIHBvcnQgPSArcG9ydDtcblxuICBpZiAoIXBvcnQpIHJldHVybiBmYWxzZTtcblxuICBzd2l0Y2ggKHByb3RvY29sKSB7XG4gICAgY2FzZSAnaHR0cCc6XG4gICAgY2FzZSAnd3MnOlxuICAgIHJldHVybiBwb3J0ICE9PSA4MDtcblxuICAgIGNhc2UgJ2h0dHBzJzpcbiAgICBjYXNlICd3c3MnOlxuICAgIHJldHVybiBwb3J0ICE9PSA0NDM7XG5cbiAgICBjYXNlICdmdHAnOlxuICAgIHJldHVybiBwb3J0ICE9PSAyMTtcblxuICAgIGNhc2UgJ2dvcGhlcic6XG4gICAgcmV0dXJuIHBvcnQgIT09IDcwO1xuXG4gICAgY2FzZSAnZmlsZSc6XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHBvcnQgIT09IDA7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVxdWlyZWQgPSByZXF1aXJlKCdyZXF1aXJlcy1wb3J0JylcbiAgLCBsb2xjYXRpb24gPSByZXF1aXJlKCcuL2xvbGNhdGlvbicpXG4gICwgcXMgPSByZXF1aXJlKCdxdWVyeXN0cmluZ2lmeScpXG4gICwgcHJvdG9jb2xyZSA9IC9eKFthLXpdW2EtejAtOS4rLV0qOik/KFxcL1xcLyk/KFtcXFNcXHNdKikvaTtcblxuLyoqXG4gKiBUaGVzZSBhcmUgdGhlIHBhcnNlIHJ1bGVzIGZvciB0aGUgVVJMIHBhcnNlciwgaXQgaW5mb3JtcyB0aGUgcGFyc2VyXG4gKiBhYm91dDpcbiAqXG4gKiAwLiBUaGUgY2hhciBpdCBOZWVkcyB0byBwYXJzZSwgaWYgaXQncyBhIHN0cmluZyBpdCBzaG91bGQgYmUgZG9uZSB1c2luZ1xuICogICAgaW5kZXhPZiwgUmVnRXhwIHVzaW5nIGV4ZWMgYW5kIE5hTiBtZWFucyBzZXQgYXMgY3VycmVudCB2YWx1ZS5cbiAqIDEuIFRoZSBwcm9wZXJ0eSB3ZSBzaG91bGQgc2V0IHdoZW4gcGFyc2luZyB0aGlzIHZhbHVlLlxuICogMi4gSW5kaWNhdGlvbiBpZiBpdCdzIGJhY2t3YXJkcyBvciBmb3J3YXJkIHBhcnNpbmcsIHdoZW4gc2V0IGFzIG51bWJlciBpdCdzXG4gKiAgICB0aGUgdmFsdWUgb2YgZXh0cmEgY2hhcnMgdGhhdCBzaG91bGQgYmUgc3BsaXQgb2ZmLlxuICogMy4gSW5oZXJpdCBmcm9tIGxvY2F0aW9uIGlmIG5vbiBleGlzdGluZyBpbiB0aGUgcGFyc2VyLlxuICogNC4gYHRvTG93ZXJDYXNlYCB0aGUgcmVzdWx0aW5nIHZhbHVlLlxuICovXG52YXIgcnVsZXMgPSBbXG4gIFsnIycsICdoYXNoJ10sICAgICAgICAgICAgICAgICAgICAgICAgLy8gRXh0cmFjdCBmcm9tIHRoZSBiYWNrLlxuICBbJz8nLCAncXVlcnknXSwgICAgICAgICAgICAgICAgICAgICAgIC8vIEV4dHJhY3QgZnJvbSB0aGUgYmFjay5cbiAgWycvJywgJ3BhdGhuYW1lJ10sICAgICAgICAgICAgICAgICAgICAvLyBFeHRyYWN0IGZyb20gdGhlIGJhY2suXG4gIFsnQCcsICdhdXRoJywgMV0sICAgICAgICAgICAgICAgICAgICAgLy8gRXh0cmFjdCBmcm9tIHRoZSBmcm9udC5cbiAgW05hTiwgJ2hvc3QnLCB1bmRlZmluZWQsIDEsIDFdLCAgICAgICAvLyBTZXQgbGVmdCBvdmVyIHZhbHVlLlxuICBbLzooXFxkKykkLywgJ3BvcnQnLCB1bmRlZmluZWQsIDFdLCAgICAvLyBSZWdFeHAgdGhlIGJhY2suXG4gIFtOYU4sICdob3N0bmFtZScsIHVuZGVmaW5lZCwgMSwgMV0gICAgLy8gU2V0IGxlZnQgb3Zlci5cbl07XG5cbi8qKlxuICogQHR5cGVkZWYgUHJvdG9jb2xFeHRyYWN0XG4gKiBAdHlwZSBPYmplY3RcbiAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBwcm90b2NvbCBQcm90b2NvbCBtYXRjaGVkIGluIHRoZSBVUkwsIGluIGxvd2VyY2FzZS5cbiAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gc2xhc2hlcyBgdHJ1ZWAgaWYgcHJvdG9jb2wgaXMgZm9sbG93ZWQgYnkgXCIvL1wiLCBlbHNlIGBmYWxzZWAuXG4gKiBAcHJvcGVydHkge1N0cmluZ30gcmVzdCBSZXN0IG9mIHRoZSBVUkwgdGhhdCBpcyBub3QgcGFydCBvZiB0aGUgcHJvdG9jb2wuXG4gKi9cblxuLyoqXG4gKiBFeHRyYWN0IHByb3RvY29sIGluZm9ybWF0aW9uIGZyb20gYSBVUkwgd2l0aC93aXRob3V0IGRvdWJsZSBzbGFzaCAoXCIvL1wiKS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gYWRkcmVzcyBVUkwgd2Ugd2FudCB0byBleHRyYWN0IGZyb20uXG4gKiBAcmV0dXJuIHtQcm90b2NvbEV4dHJhY3R9IEV4dHJhY3RlZCBpbmZvcm1hdGlvbi5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBleHRyYWN0UHJvdG9jb2woYWRkcmVzcykge1xuICB2YXIgbWF0Y2ggPSBwcm90b2NvbHJlLmV4ZWMoYWRkcmVzcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm90b2NvbDogbWF0Y2hbMV0gPyBtYXRjaFsxXS50b0xvd2VyQ2FzZSgpIDogJycsXG4gICAgc2xhc2hlczogISFtYXRjaFsyXSxcbiAgICByZXN0OiBtYXRjaFszXVxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgYSByZWxhdGl2ZSBVUkwgcGF0aG5hbWUgYWdhaW5zdCBhIGJhc2UgVVJMIHBhdGhuYW1lLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSByZWxhdGl2ZSBQYXRobmFtZSBvZiB0aGUgcmVsYXRpdmUgVVJMLlxuICogQHBhcmFtIHtTdHJpbmd9IGJhc2UgUGF0aG5hbWUgb2YgdGhlIGJhc2UgVVJMLlxuICogQHJldHVybiB7U3RyaW5nfSBSZXNvbHZlZCBwYXRobmFtZS5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZXNvbHZlKHJlbGF0aXZlLCBiYXNlKSB7XG4gIHZhciBwYXRoID0gKGJhc2UgfHwgJy8nKS5zcGxpdCgnLycpLnNsaWNlKDAsIC0xKS5jb25jYXQocmVsYXRpdmUuc3BsaXQoJy8nKSlcbiAgICAsIGkgPSBwYXRoLmxlbmd0aFxuICAgICwgbGFzdCA9IHBhdGhbaSAtIDFdXG4gICAgLCB1bnNoaWZ0ID0gZmFsc2VcbiAgICAsIHVwID0gMDtcblxuICB3aGlsZSAoaS0tKSB7XG4gICAgaWYgKHBhdGhbaV0gPT09ICcuJykge1xuICAgICAgcGF0aC5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChwYXRoW2ldID09PSAnLi4nKSB7XG4gICAgICBwYXRoLnNwbGljZShpLCAxKTtcbiAgICAgIHVwKys7XG4gICAgfSBlbHNlIGlmICh1cCkge1xuICAgICAgaWYgKGkgPT09IDApIHVuc2hpZnQgPSB0cnVlO1xuICAgICAgcGF0aC5zcGxpY2UoaSwgMSk7XG4gICAgICB1cC0tO1xuICAgIH1cbiAgfVxuXG4gIGlmICh1bnNoaWZ0KSBwYXRoLnVuc2hpZnQoJycpO1xuICBpZiAobGFzdCA9PT0gJy4nIHx8IGxhc3QgPT09ICcuLicpIHBhdGgucHVzaCgnJyk7XG5cbiAgcmV0dXJuIHBhdGguam9pbignLycpO1xufVxuXG4vKipcbiAqIFRoZSBhY3R1YWwgVVJMIGluc3RhbmNlLiBJbnN0ZWFkIG9mIHJldHVybmluZyBhbiBvYmplY3Qgd2UndmUgb3B0ZWQtaW4gdG9cbiAqIGNyZWF0ZSBhbiBhY3R1YWwgY29uc3RydWN0b3IgYXMgaXQncyBtdWNoIG1vcmUgbWVtb3J5IGVmZmljaWVudCBhbmRcbiAqIGZhc3RlciBhbmQgaXQgcGxlYXNlcyBteSBPQ0QuXG4gKlxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge1N0cmluZ30gYWRkcmVzcyBVUkwgd2Ugd2FudCB0byBwYXJzZS5cbiAqIEBwYXJhbSB7T2JqZWN0fFN0cmluZ30gbG9jYXRpb24gTG9jYXRpb24gZGVmYXVsdHMgZm9yIHJlbGF0aXZlIHBhdGhzLlxuICogQHBhcmFtIHtCb29sZWFufEZ1bmN0aW9ufSBwYXJzZXIgUGFyc2VyIGZvciB0aGUgcXVlcnkgc3RyaW5nLlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gVVJMKGFkZHJlc3MsIGxvY2F0aW9uLCBwYXJzZXIpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFVSTCkpIHtcbiAgICByZXR1cm4gbmV3IFVSTChhZGRyZXNzLCBsb2NhdGlvbiwgcGFyc2VyKTtcbiAgfVxuXG4gIHZhciByZWxhdGl2ZSwgZXh0cmFjdGVkLCBwYXJzZSwgaW5zdHJ1Y3Rpb24sIGluZGV4LCBrZXlcbiAgICAsIGluc3RydWN0aW9ucyA9IHJ1bGVzLnNsaWNlKClcbiAgICAsIHR5cGUgPSB0eXBlb2YgbG9jYXRpb25cbiAgICAsIHVybCA9IHRoaXNcbiAgICAsIGkgPSAwO1xuXG4gIC8vXG4gIC8vIFRoZSBmb2xsb3dpbmcgaWYgc3RhdGVtZW50cyBhbGxvd3MgdGhpcyBtb2R1bGUgdHdvIGhhdmUgY29tcGF0aWJpbGl0eSB3aXRoXG4gIC8vIDIgZGlmZmVyZW50IEFQSTpcbiAgLy9cbiAgLy8gMS4gTm9kZS5qcydzIGB1cmwucGFyc2VgIGFwaSB3aGljaCBhY2NlcHRzIGEgVVJMLCBib29sZWFuIGFzIGFyZ3VtZW50c1xuICAvLyAgICB3aGVyZSB0aGUgYm9vbGVhbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcXVlcnkgc3RyaW5nIHNob3VsZCBhbHNvIGJlIHBhcnNlZC5cbiAgLy9cbiAgLy8gMi4gVGhlIGBVUkxgIGludGVyZmFjZSBvZiB0aGUgYnJvd3NlciB3aGljaCBhY2NlcHRzIGEgVVJMLCBvYmplY3QgYXNcbiAgLy8gICAgYXJndW1lbnRzLiBUaGUgc3VwcGxpZWQgb2JqZWN0IHdpbGwgYmUgdXNlZCBhcyBkZWZhdWx0IHZhbHVlcyAvIGZhbGwtYmFja1xuICAvLyAgICBmb3IgcmVsYXRpdmUgcGF0aHMuXG4gIC8vXG4gIGlmICgnb2JqZWN0JyAhPT0gdHlwZSAmJiAnc3RyaW5nJyAhPT0gdHlwZSkge1xuICAgIHBhcnNlciA9IGxvY2F0aW9uO1xuICAgIGxvY2F0aW9uID0gbnVsbDtcbiAgfVxuXG4gIGlmIChwYXJzZXIgJiYgJ2Z1bmN0aW9uJyAhPT0gdHlwZW9mIHBhcnNlcikgcGFyc2VyID0gcXMucGFyc2U7XG5cbiAgbG9jYXRpb24gPSBsb2xjYXRpb24obG9jYXRpb24pO1xuXG4gIC8vXG4gIC8vIEV4dHJhY3QgcHJvdG9jb2wgaW5mb3JtYXRpb24gYmVmb3JlIHJ1bm5pbmcgdGhlIGluc3RydWN0aW9ucy5cbiAgLy9cbiAgZXh0cmFjdGVkID0gZXh0cmFjdFByb3RvY29sKGFkZHJlc3MgfHwgJycpO1xuICByZWxhdGl2ZSA9ICFleHRyYWN0ZWQucHJvdG9jb2wgJiYgIWV4dHJhY3RlZC5zbGFzaGVzO1xuICB1cmwuc2xhc2hlcyA9IGV4dHJhY3RlZC5zbGFzaGVzIHx8IHJlbGF0aXZlICYmIGxvY2F0aW9uLnNsYXNoZXM7XG4gIHVybC5wcm90b2NvbCA9IGV4dHJhY3RlZC5wcm90b2NvbCB8fCBsb2NhdGlvbi5wcm90b2NvbCB8fCAnJztcbiAgYWRkcmVzcyA9IGV4dHJhY3RlZC5yZXN0O1xuXG4gIC8vXG4gIC8vIFdoZW4gdGhlIGF1dGhvcml0eSBjb21wb25lbnQgaXMgYWJzZW50IHRoZSBVUkwgc3RhcnRzIHdpdGggYSBwYXRoXG4gIC8vIGNvbXBvbmVudC5cbiAgLy9cbiAgaWYgKCFleHRyYWN0ZWQuc2xhc2hlcykgaW5zdHJ1Y3Rpb25zWzJdID0gWy8oLiopLywgJ3BhdGhuYW1lJ107XG5cbiAgZm9yICg7IGkgPCBpbnN0cnVjdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICBpbnN0cnVjdGlvbiA9IGluc3RydWN0aW9uc1tpXTtcbiAgICBwYXJzZSA9IGluc3RydWN0aW9uWzBdO1xuICAgIGtleSA9IGluc3RydWN0aW9uWzFdO1xuXG4gICAgaWYgKHBhcnNlICE9PSBwYXJzZSkge1xuICAgICAgdXJsW2tleV0gPSBhZGRyZXNzO1xuICAgIH0gZWxzZSBpZiAoJ3N0cmluZycgPT09IHR5cGVvZiBwYXJzZSkge1xuICAgICAgaWYgKH4oaW5kZXggPSBhZGRyZXNzLmluZGV4T2YocGFyc2UpKSkge1xuICAgICAgICBpZiAoJ251bWJlcicgPT09IHR5cGVvZiBpbnN0cnVjdGlvblsyXSkge1xuICAgICAgICAgIHVybFtrZXldID0gYWRkcmVzcy5zbGljZSgwLCBpbmRleCk7XG4gICAgICAgICAgYWRkcmVzcyA9IGFkZHJlc3Muc2xpY2UoaW5kZXggKyBpbnN0cnVjdGlvblsyXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXJsW2tleV0gPSBhZGRyZXNzLnNsaWNlKGluZGV4KTtcbiAgICAgICAgICBhZGRyZXNzID0gYWRkcmVzcy5zbGljZSgwLCBpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGluZGV4ID0gcGFyc2UuZXhlYyhhZGRyZXNzKSkge1xuICAgICAgdXJsW2tleV0gPSBpbmRleFsxXTtcbiAgICAgIGFkZHJlc3MgPSBhZGRyZXNzLnNsaWNlKDAsIGluZGV4LmluZGV4KTtcbiAgICB9XG5cbiAgICB1cmxba2V5XSA9IHVybFtrZXldIHx8IChcbiAgICAgIHJlbGF0aXZlICYmIGluc3RydWN0aW9uWzNdID8gbG9jYXRpb25ba2V5XSB8fCAnJyA6ICcnXG4gICAgKTtcblxuICAgIC8vXG4gICAgLy8gSG9zdG5hbWUsIGhvc3QgYW5kIHByb3RvY29sIHNob3VsZCBiZSBsb3dlcmNhc2VkIHNvIHRoZXkgY2FuIGJlIHVzZWQgdG9cbiAgICAvLyBjcmVhdGUgYSBwcm9wZXIgYG9yaWdpbmAuXG4gICAgLy9cbiAgICBpZiAoaW5zdHJ1Y3Rpb25bNF0pIHVybFtrZXldID0gdXJsW2tleV0udG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIC8vXG4gIC8vIEFsc28gcGFyc2UgdGhlIHN1cHBsaWVkIHF1ZXJ5IHN0cmluZyBpbiB0byBhbiBvYmplY3QuIElmIHdlJ3JlIHN1cHBsaWVkXG4gIC8vIHdpdGggYSBjdXN0b20gcGFyc2VyIGFzIGZ1bmN0aW9uIHVzZSB0aGF0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgYnVpbGQtaW5cbiAgLy8gcGFyc2VyLlxuICAvL1xuICBpZiAocGFyc2VyKSB1cmwucXVlcnkgPSBwYXJzZXIodXJsLnF1ZXJ5KTtcblxuICAvL1xuICAvLyBJZiB0aGUgVVJMIGlzIHJlbGF0aXZlLCByZXNvbHZlIHRoZSBwYXRobmFtZSBhZ2FpbnN0IHRoZSBiYXNlIFVSTC5cbiAgLy9cbiAgaWYgKFxuICAgICAgcmVsYXRpdmVcbiAgICAmJiBsb2NhdGlvbi5zbGFzaGVzXG4gICAgJiYgdXJsLnBhdGhuYW1lLmNoYXJBdCgwKSAhPT0gJy8nXG4gICAgJiYgKHVybC5wYXRobmFtZSAhPT0gJycgfHwgbG9jYXRpb24ucGF0aG5hbWUgIT09ICcnKVxuICApIHtcbiAgICB1cmwucGF0aG5hbWUgPSByZXNvbHZlKHVybC5wYXRobmFtZSwgbG9jYXRpb24ucGF0aG5hbWUpO1xuICB9XG5cbiAgLy9cbiAgLy8gV2Ugc2hvdWxkIG5vdCBhZGQgcG9ydCBudW1iZXJzIGlmIHRoZXkgYXJlIGFscmVhZHkgdGhlIGRlZmF1bHQgcG9ydCBudW1iZXJcbiAgLy8gZm9yIGEgZ2l2ZW4gcHJvdG9jb2wuIEFzIHRoZSBob3N0IGFsc28gY29udGFpbnMgdGhlIHBvcnQgbnVtYmVyIHdlJ3JlIGdvaW5nXG4gIC8vIG92ZXJyaWRlIGl0IHdpdGggdGhlIGhvc3RuYW1lIHdoaWNoIGNvbnRhaW5zIG5vIHBvcnQgbnVtYmVyLlxuICAvL1xuICBpZiAoIXJlcXVpcmVkKHVybC5wb3J0LCB1cmwucHJvdG9jb2wpKSB7XG4gICAgdXJsLmhvc3QgPSB1cmwuaG9zdG5hbWU7XG4gICAgdXJsLnBvcnQgPSAnJztcbiAgfVxuXG4gIC8vXG4gIC8vIFBhcnNlIGRvd24gdGhlIGBhdXRoYCBmb3IgdGhlIHVzZXJuYW1lIGFuZCBwYXNzd29yZC5cbiAgLy9cbiAgdXJsLnVzZXJuYW1lID0gdXJsLnBhc3N3b3JkID0gJyc7XG4gIGlmICh1cmwuYXV0aCkge1xuICAgIGluc3RydWN0aW9uID0gdXJsLmF1dGguc3BsaXQoJzonKTtcbiAgICB1cmwudXNlcm5hbWUgPSBpbnN0cnVjdGlvblswXSB8fCAnJztcbiAgICB1cmwucGFzc3dvcmQgPSBpbnN0cnVjdGlvblsxXSB8fCAnJztcbiAgfVxuXG4gIHVybC5vcmlnaW4gPSB1cmwucHJvdG9jb2wgJiYgdXJsLmhvc3QgJiYgdXJsLnByb3RvY29sICE9PSAnZmlsZTonXG4gICAgPyB1cmwucHJvdG9jb2wgKycvLycrIHVybC5ob3N0XG4gICAgOiAnbnVsbCc7XG5cbiAgLy9cbiAgLy8gVGhlIGhyZWYgaXMganVzdCB0aGUgY29tcGlsZWQgcmVzdWx0LlxuICAvL1xuICB1cmwuaHJlZiA9IHVybC50b1N0cmluZygpO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgY29udmVuaWVuY2UgbWV0aG9kIGZvciBjaGFuZ2luZyBwcm9wZXJ0aWVzIGluIHRoZSBVUkwgaW5zdGFuY2UgdG9cbiAqIGluc3VyZSB0aGF0IHRoZXkgYWxsIHByb3BhZ2F0ZSBjb3JyZWN0bHkuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHBhcnQgICAgICAgICAgUHJvcGVydHkgd2UgbmVlZCB0byBhZGp1c3QuXG4gKiBAcGFyYW0ge01peGVkfSB2YWx1ZSAgICAgICAgICBUaGUgbmV3bHkgYXNzaWduZWQgdmFsdWUuXG4gKiBAcGFyYW0ge0Jvb2xlYW58RnVuY3Rpb259IGZuICBXaGVuIHNldHRpbmcgdGhlIHF1ZXJ5LCBpdCB3aWxsIGJlIHRoZSBmdW5jdGlvblxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZCB0byBwYXJzZSB0aGUgcXVlcnkuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGVuIHNldHRpbmcgdGhlIHByb3RvY29sLCBkb3VibGUgc2xhc2ggd2lsbCBiZVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlZCBmcm9tIHRoZSBmaW5hbCB1cmwgaWYgaXQgaXMgdHJ1ZS5cbiAqIEByZXR1cm5zIHtVUkx9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5VUkwucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uIHNldChwYXJ0LCB2YWx1ZSwgZm4pIHtcbiAgdmFyIHVybCA9IHRoaXM7XG5cbiAgc3dpdGNoIChwYXJ0KSB7XG4gICAgY2FzZSAncXVlcnknOlxuICAgICAgaWYgKCdzdHJpbmcnID09PSB0eXBlb2YgdmFsdWUgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgIHZhbHVlID0gKGZuIHx8IHFzLnBhcnNlKSh2YWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHVybFtwYXJ0XSA9IHZhbHVlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdwb3J0JzpcbiAgICAgIHVybFtwYXJ0XSA9IHZhbHVlO1xuXG4gICAgICBpZiAoIXJlcXVpcmVkKHZhbHVlLCB1cmwucHJvdG9jb2wpKSB7XG4gICAgICAgIHVybC5ob3N0ID0gdXJsLmhvc3RuYW1lO1xuICAgICAgICB1cmxbcGFydF0gPSAnJztcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUpIHtcbiAgICAgICAgdXJsLmhvc3QgPSB1cmwuaG9zdG5hbWUgKyc6JysgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaG9zdG5hbWUnOlxuICAgICAgdXJsW3BhcnRdID0gdmFsdWU7XG5cbiAgICAgIGlmICh1cmwucG9ydCkgdmFsdWUgKz0gJzonKyB1cmwucG9ydDtcbiAgICAgIHVybC5ob3N0ID0gdmFsdWU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2hvc3QnOlxuICAgICAgdXJsW3BhcnRdID0gdmFsdWU7XG5cbiAgICAgIGlmICgvOlxcZCskLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgICAgIHVybC5wb3J0ID0gdmFsdWUucG9wKCk7XG4gICAgICAgIHVybC5ob3N0bmFtZSA9IHZhbHVlLmpvaW4oJzonKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHVybC5ob3N0bmFtZSA9IHZhbHVlO1xuICAgICAgICB1cmwucG9ydCA9ICcnO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3Byb3RvY29sJzpcbiAgICAgIHVybC5wcm90b2NvbCA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgICB1cmwuc2xhc2hlcyA9ICFmbjtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncGF0aG5hbWUnOlxuICAgICAgdXJsLnBhdGhuYW1lID0gdmFsdWUubGVuZ3RoICYmIHZhbHVlLmNoYXJBdCgwKSAhPT0gJy8nID8gJy8nICsgdmFsdWUgOiB2YWx1ZTtcblxuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdXJsW3BhcnRdID0gdmFsdWU7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHJ1bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGlucyA9IHJ1bGVzW2ldO1xuXG4gICAgaWYgKGluc1s0XSkgdXJsW2luc1sxXV0gPSB1cmxbaW5zWzFdXS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgdXJsLm9yaWdpbiA9IHVybC5wcm90b2NvbCAmJiB1cmwuaG9zdCAmJiB1cmwucHJvdG9jb2wgIT09ICdmaWxlOidcbiAgICA/IHVybC5wcm90b2NvbCArJy8vJysgdXJsLmhvc3RcbiAgICA6ICdudWxsJztcblxuICB1cmwuaHJlZiA9IHVybC50b1N0cmluZygpO1xuXG4gIHJldHVybiB1cmw7XG59O1xuXG4vKipcbiAqIFRyYW5zZm9ybSB0aGUgcHJvcGVydGllcyBiYWNrIGluIHRvIGEgdmFsaWQgYW5kIGZ1bGwgVVJMIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdHJpbmdpZnkgT3B0aW9uYWwgcXVlcnkgc3RyaW5naWZ5IGZ1bmN0aW9uLlxuICogQHJldHVybnMge1N0cmluZ31cbiAqIEBhcGkgcHVibGljXG4gKi9cblVSTC5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZyhzdHJpbmdpZnkpIHtcbiAgaWYgKCFzdHJpbmdpZnkgfHwgJ2Z1bmN0aW9uJyAhPT0gdHlwZW9mIHN0cmluZ2lmeSkgc3RyaW5naWZ5ID0gcXMuc3RyaW5naWZ5O1xuXG4gIHZhciBxdWVyeVxuICAgICwgdXJsID0gdGhpc1xuICAgICwgcHJvdG9jb2wgPSB1cmwucHJvdG9jb2w7XG5cbiAgaWYgKHByb3RvY29sICYmIHByb3RvY29sLmNoYXJBdChwcm90b2NvbC5sZW5ndGggLSAxKSAhPT0gJzonKSBwcm90b2NvbCArPSAnOic7XG5cbiAgdmFyIHJlc3VsdCA9IHByb3RvY29sICsgKHVybC5zbGFzaGVzID8gJy8vJyA6ICcnKTtcblxuICBpZiAodXJsLnVzZXJuYW1lKSB7XG4gICAgcmVzdWx0ICs9IHVybC51c2VybmFtZTtcbiAgICBpZiAodXJsLnBhc3N3b3JkKSByZXN1bHQgKz0gJzonKyB1cmwucGFzc3dvcmQ7XG4gICAgcmVzdWx0ICs9ICdAJztcbiAgfVxuXG4gIHJlc3VsdCArPSB1cmwuaG9zdCArIHVybC5wYXRobmFtZTtcblxuICBxdWVyeSA9ICdvYmplY3QnID09PSB0eXBlb2YgdXJsLnF1ZXJ5ID8gc3RyaW5naWZ5KHVybC5xdWVyeSkgOiB1cmwucXVlcnk7XG4gIGlmIChxdWVyeSkgcmVzdWx0ICs9ICc/JyAhPT0gcXVlcnkuY2hhckF0KDApID8gJz8nKyBxdWVyeSA6IHF1ZXJ5O1xuXG4gIGlmICh1cmwuaGFzaCkgcmVzdWx0ICs9IHVybC5oYXNoO1xuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG4vL1xuLy8gRXhwb3NlIHRoZSBVUkwgcGFyc2VyIGFuZCBzb21lIGFkZGl0aW9uYWwgcHJvcGVydGllcyB0aGF0IG1pZ2h0IGJlIHVzZWZ1bCBmb3Jcbi8vIG90aGVycyBvciB0ZXN0aW5nLlxuLy9cblVSTC5leHRyYWN0UHJvdG9jb2wgPSBleHRyYWN0UHJvdG9jb2w7XG5VUkwubG9jYXRpb24gPSBsb2xjYXRpb247XG5VUkwucXMgPSBxcztcblxubW9kdWxlLmV4cG9ydHMgPSBVUkw7XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBzbGFzaGVzID0gL15bQS1aYS16XVtBLVphLXowLTkrLS5dKjpcXC9cXC8vO1xuXG4vKipcbiAqIFRoZXNlIHByb3BlcnRpZXMgc2hvdWxkIG5vdCBiZSBjb3BpZWQgb3IgaW5oZXJpdGVkIGZyb20uIFRoaXMgaXMgb25seSBuZWVkZWRcbiAqIGZvciBhbGwgbm9uIGJsb2IgVVJMJ3MgYXMgYSBibG9iIFVSTCBkb2VzIG5vdCBpbmNsdWRlIGEgaGFzaCwgb25seSB0aGVcbiAqIG9yaWdpbi5cbiAqXG4gKiBAdHlwZSB7T2JqZWN0fVxuICogQHByaXZhdGVcbiAqL1xudmFyIGlnbm9yZSA9IHsgaGFzaDogMSwgcXVlcnk6IDEgfVxuICAsIFVSTDtcblxuLyoqXG4gKiBUaGUgbG9jYXRpb24gb2JqZWN0IGRpZmZlcnMgd2hlbiB5b3VyIGNvZGUgaXMgbG9hZGVkIHRocm91Z2ggYSBub3JtYWwgcGFnZSxcbiAqIFdvcmtlciBvciB0aHJvdWdoIGEgd29ya2VyIHVzaW5nIGEgYmxvYi4gQW5kIHdpdGggdGhlIGJsb2JibGUgYmVnaW5zIHRoZVxuICogdHJvdWJsZSBhcyB0aGUgbG9jYXRpb24gb2JqZWN0IHdpbGwgY29udGFpbiB0aGUgVVJMIG9mIHRoZSBibG9iLCBub3QgdGhlXG4gKiBsb2NhdGlvbiBvZiB0aGUgcGFnZSB3aGVyZSBvdXIgY29kZSBpcyBsb2FkZWQgaW4uIFRoZSBhY3R1YWwgb3JpZ2luIGlzXG4gKiBlbmNvZGVkIGluIHRoZSBgcGF0aG5hbWVgIHNvIHdlIGNhbiB0aGFua2Z1bGx5IGdlbmVyYXRlIGEgZ29vZCBcImRlZmF1bHRcIlxuICogbG9jYXRpb24gZnJvbSBpdCBzbyB3ZSBjYW4gZ2VuZXJhdGUgcHJvcGVyIHJlbGF0aXZlIFVSTCdzIGFnYWluLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fFN0cmluZ30gbG9jIE9wdGlvbmFsIGRlZmF1bHQgbG9jYXRpb24gb2JqZWN0LlxuICogQHJldHVybnMge09iamVjdH0gbG9sY2F0aW9uIG9iamVjdC5cbiAqIEBhcGkgcHVibGljXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbG9sY2F0aW9uKGxvYykge1xuICBsb2MgPSBsb2MgfHwgZ2xvYmFsLmxvY2F0aW9uIHx8IHt9O1xuICBVUkwgPSBVUkwgfHwgcmVxdWlyZSgnLi8nKTtcblxuICB2YXIgZmluYWxkZXN0aW5hdGlvbiA9IHt9XG4gICAgLCB0eXBlID0gdHlwZW9mIGxvY1xuICAgICwga2V5O1xuXG4gIGlmICgnYmxvYjonID09PSBsb2MucHJvdG9jb2wpIHtcbiAgICBmaW5hbGRlc3RpbmF0aW9uID0gbmV3IFVSTCh1bmVzY2FwZShsb2MucGF0aG5hbWUpLCB7fSk7XG4gIH0gZWxzZSBpZiAoJ3N0cmluZycgPT09IHR5cGUpIHtcbiAgICBmaW5hbGRlc3RpbmF0aW9uID0gbmV3IFVSTChsb2MsIHt9KTtcbiAgICBmb3IgKGtleSBpbiBpZ25vcmUpIGRlbGV0ZSBmaW5hbGRlc3RpbmF0aW9uW2tleV07XG4gIH0gZWxzZSBpZiAoJ29iamVjdCcgPT09IHR5cGUpIHtcbiAgICBmb3IgKGtleSBpbiBsb2MpIHtcbiAgICAgIGlmIChrZXkgaW4gaWdub3JlKSBjb250aW51ZTtcbiAgICAgIGZpbmFsZGVzdGluYXRpb25ba2V5XSA9IGxvY1trZXldO1xuICAgIH1cblxuICAgIGlmIChmaW5hbGRlc3RpbmF0aW9uLnNsYXNoZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZmluYWxkZXN0aW5hdGlvbi5zbGFzaGVzID0gc2xhc2hlcy50ZXN0KGxvYy5ocmVmKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmluYWxkZXN0aW5hdGlvbjtcbn07XG4iLCIoZnVuY3Rpb24gKHJvb3QsIGZhY3RvcnkpIHtcbiAgICBpZiAodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XG4gICAgICAgIGRlZmluZShbXSwgZmFjdG9yeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcm9vdC51cmx0ZW1wbGF0ZSA9IGZhY3RvcnkoKTtcbiAgICB9XG59KHRoaXMsIGZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIEBjb25zdHJ1Y3RvclxuICAgKi9cbiAgZnVuY3Rpb24gVXJsVGVtcGxhdGUoKSB7XG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBVcmxUZW1wbGF0ZS5wcm90b3R5cGUuZW5jb2RlUmVzZXJ2ZWQgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgcmV0dXJuIHN0ci5zcGxpdCgvKCVbMC05QS1GYS1mXXsyfSkvZykubWFwKGZ1bmN0aW9uIChwYXJ0KSB7XG4gICAgICBpZiAoIS8lWzAtOUEtRmEtZl0vLnRlc3QocGFydCkpIHtcbiAgICAgICAgcGFydCA9IGVuY29kZVVSSShwYXJ0KS5yZXBsYWNlKC8lNUIvZywgJ1snKS5yZXBsYWNlKC8lNUQvZywgJ10nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJ0O1xuICAgIH0pLmpvaW4oJycpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIFVybFRlbXBsYXRlLnByb3RvdHlwZS5lbmNvZGVVbnJlc2VydmVkID0gZnVuY3Rpb24gKHN0cikge1xuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoc3RyKS5yZXBsYWNlKC9bIScoKSpdL2csIGZ1bmN0aW9uIChjKSB7XG4gICAgICByZXR1cm4gJyUnICsgYy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcGVyYXRvclxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBVcmxUZW1wbGF0ZS5wcm90b3R5cGUuZW5jb2RlVmFsdWUgPSBmdW5jdGlvbiAob3BlcmF0b3IsIHZhbHVlLCBrZXkpIHtcbiAgICB2YWx1ZSA9IChvcGVyYXRvciA9PT0gJysnIHx8IG9wZXJhdG9yID09PSAnIycpID8gdGhpcy5lbmNvZGVSZXNlcnZlZCh2YWx1ZSkgOiB0aGlzLmVuY29kZVVucmVzZXJ2ZWQodmFsdWUpO1xuXG4gICAgaWYgKGtleSkge1xuICAgICAgcmV0dXJuIHRoaXMuZW5jb2RlVW5yZXNlcnZlZChrZXkpICsgJz0nICsgdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWVcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIFVybFRlbXBsYXRlLnByb3RvdHlwZS5pc0RlZmluZWQgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gbnVsbDtcbiAgfTtcblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9XG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBVcmxUZW1wbGF0ZS5wcm90b3R5cGUuaXNLZXlPcGVyYXRvciA9IGZ1bmN0aW9uIChvcGVyYXRvcikge1xuICAgIHJldHVybiBvcGVyYXRvciA9PT0gJzsnIHx8IG9wZXJhdG9yID09PSAnJicgfHwgb3BlcmF0b3IgPT09ICc/JztcbiAgfTtcblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IGNvbnRleHRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wZXJhdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGlmaWVyXG4gICAqL1xuICBVcmxUZW1wbGF0ZS5wcm90b3R5cGUuZ2V0VmFsdWVzID0gZnVuY3Rpb24gKGNvbnRleHQsIG9wZXJhdG9yLCBrZXksIG1vZGlmaWVyKSB7XG4gICAgdmFyIHZhbHVlID0gY29udGV4dFtrZXldLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIGlmICh0aGlzLmlzRGVmaW5lZCh2YWx1ZSkgJiYgdmFsdWUgIT09ICcnKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcblxuICAgICAgICBpZiAobW9kaWZpZXIgJiYgbW9kaWZpZXIgIT09ICcqJykge1xuICAgICAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKDAsIHBhcnNlSW50KG1vZGlmaWVyLCAxMCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzdWx0LnB1c2godGhpcy5lbmNvZGVWYWx1ZShvcGVyYXRvciwgdmFsdWUsIHRoaXMuaXNLZXlPcGVyYXRvcihvcGVyYXRvcikgPyBrZXkgOiBudWxsKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobW9kaWZpZXIgPT09ICcqJykge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZmlsdGVyKHRoaXMuaXNEZWZpbmVkKS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICByZXN1bHQucHVzaCh0aGlzLmVuY29kZVZhbHVlKG9wZXJhdG9yLCB2YWx1ZSwgdGhpcy5pc0tleU9wZXJhdG9yKG9wZXJhdG9yKSA/IGtleSA6IG51bGwpKTtcbiAgICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICAgICAgICBpZiAodGhpcy5pc0RlZmluZWQodmFsdWVba10pKSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2godGhpcy5lbmNvZGVWYWx1ZShvcGVyYXRvciwgdmFsdWVba10sIGspKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciB0bXAgPSBbXTtcblxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZmlsdGVyKHRoaXMuaXNEZWZpbmVkKS5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgICAgICB0bXAucHVzaCh0aGlzLmVuY29kZVZhbHVlKG9wZXJhdG9yLCB2YWx1ZSkpO1xuICAgICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLmlzRGVmaW5lZCh2YWx1ZVtrXSkpIHtcbiAgICAgICAgICAgICAgICB0bXAucHVzaCh0aGlzLmVuY29kZVVucmVzZXJ2ZWQoaykpO1xuICAgICAgICAgICAgICAgIHRtcC5wdXNoKHRoaXMuZW5jb2RlVmFsdWUob3BlcmF0b3IsIHZhbHVlW2tdLnRvU3RyaW5nKCkpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHRoaXMuaXNLZXlPcGVyYXRvcihvcGVyYXRvcikpIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZW5jb2RlVW5yZXNlcnZlZChrZXkpICsgJz0nICsgdG1wLmpvaW4oJywnKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0bXAubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh0bXAuam9pbignLCcpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG9wZXJhdG9yID09PSAnOycpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHRoaXMuZW5jb2RlVW5yZXNlcnZlZChrZXkpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJycgJiYgKG9wZXJhdG9yID09PSAnJicgfHwgb3BlcmF0b3IgPT09ICc/JykpIHtcbiAgICAgICAgcmVzdWx0LnB1c2godGhpcy5lbmNvZGVVbnJlc2VydmVkKGtleSkgKyAnPScpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goJycpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGVtcGxhdGVcbiAgICogQHJldHVybiB7ZnVuY3Rpb24oT2JqZWN0KTpzdHJpbmd9XG4gICAqL1xuICBVcmxUZW1wbGF0ZS5wcm90b3R5cGUucGFyc2UgPSBmdW5jdGlvbiAodGVtcGxhdGUpIHtcbiAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgdmFyIG9wZXJhdG9ycyA9IFsnKycsICcjJywgJy4nLCAnLycsICc7JywgJz8nLCAnJiddO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cGFuZDogZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLnJlcGxhY2UoL1xceyhbXlxce1xcfV0rKVxcfXwoW15cXHtcXH1dKykvZywgZnVuY3Rpb24gKF8sIGV4cHJlc3Npb24sIGxpdGVyYWwpIHtcbiAgICAgICAgICBpZiAoZXhwcmVzc2lvbikge1xuICAgICAgICAgICAgdmFyIG9wZXJhdG9yID0gbnVsbCxcbiAgICAgICAgICAgICAgICB2YWx1ZXMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKG9wZXJhdG9ycy5pbmRleE9mKGV4cHJlc3Npb24uY2hhckF0KDApKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgb3BlcmF0b3IgPSBleHByZXNzaW9uLmNoYXJBdCgwKTtcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb24uc3Vic3RyKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBleHByZXNzaW9uLnNwbGl0KC8sL2cpLmZvckVhY2goZnVuY3Rpb24gKHZhcmlhYmxlKSB7XG4gICAgICAgICAgICAgIHZhciB0bXAgPSAvKFteOlxcKl0qKSg/OjooXFxkKyl8KFxcKikpPy8uZXhlYyh2YXJpYWJsZSk7XG4gICAgICAgICAgICAgIHZhbHVlcy5wdXNoLmFwcGx5KHZhbHVlcywgdGhhdC5nZXRWYWx1ZXMoY29udGV4dCwgb3BlcmF0b3IsIHRtcFsxXSwgdG1wWzJdIHx8IHRtcFszXSkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChvcGVyYXRvciAmJiBvcGVyYXRvciAhPT0gJysnKSB7XG4gICAgICAgICAgICAgIHZhciBzZXBhcmF0b3IgPSAnLCc7XG5cbiAgICAgICAgICAgICAgaWYgKG9wZXJhdG9yID09PSAnPycpIHtcbiAgICAgICAgICAgICAgICBzZXBhcmF0b3IgPSAnJic7XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAob3BlcmF0b3IgIT09ICcjJykge1xuICAgICAgICAgICAgICAgIHNlcGFyYXRvciA9IG9wZXJhdG9yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiAodmFsdWVzLmxlbmd0aCAhPT0gMCA/IG9wZXJhdG9yIDogJycpICsgdmFsdWVzLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZXMuam9pbignLCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhhdC5lbmNvZGVSZXNlcnZlZChsaXRlcmFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIG5ldyBVcmxUZW1wbGF0ZSgpO1xufSkpO1xuIiwiKGZ1bmN0aW9uKHNlbGYpIHtcbiAgJ3VzZSBzdHJpY3QnO1xuXG4gIGlmIChzZWxmLmZldGNoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICB2YXIgc3VwcG9ydCA9IHtcbiAgICBzZWFyY2hQYXJhbXM6ICdVUkxTZWFyY2hQYXJhbXMnIGluIHNlbGYsXG4gICAgaXRlcmFibGU6ICdTeW1ib2wnIGluIHNlbGYgJiYgJ2l0ZXJhdG9yJyBpbiBTeW1ib2wsXG4gICAgYmxvYjogJ0ZpbGVSZWFkZXInIGluIHNlbGYgJiYgJ0Jsb2InIGluIHNlbGYgJiYgKGZ1bmN0aW9uKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgbmV3IEJsb2IoKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBjYXRjaChlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pKCksXG4gICAgZm9ybURhdGE6ICdGb3JtRGF0YScgaW4gc2VsZixcbiAgICBhcnJheUJ1ZmZlcjogJ0FycmF5QnVmZmVyJyBpbiBzZWxmXG4gIH1cblxuICBpZiAoc3VwcG9ydC5hcnJheUJ1ZmZlcikge1xuICAgIHZhciB2aWV3Q2xhc3NlcyA9IFtcbiAgICAgICdbb2JqZWN0IEludDhBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgVWludDhBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgVWludDhDbGFtcGVkQXJyYXldJyxcbiAgICAgICdbb2JqZWN0IEludDE2QXJyYXldJyxcbiAgICAgICdbb2JqZWN0IFVpbnQxNkFycmF5XScsXG4gICAgICAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgICAnW29iamVjdCBVaW50MzJBcnJheV0nLFxuICAgICAgJ1tvYmplY3QgRmxvYXQzMkFycmF5XScsXG4gICAgICAnW29iamVjdCBGbG9hdDY0QXJyYXldJ1xuICAgIF1cblxuICAgIHZhciBpc0RhdGFWaWV3ID0gZnVuY3Rpb24ob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIERhdGFWaWV3LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iailcbiAgICB9XG5cbiAgICB2YXIgaXNBcnJheUJ1ZmZlclZpZXcgPSBBcnJheUJ1ZmZlci5pc1ZpZXcgfHwgZnVuY3Rpb24ob2JqKSB7XG4gICAgICByZXR1cm4gb2JqICYmIHZpZXdDbGFzc2VzLmluZGV4T2YoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpID4gLTFcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBub3JtYWxpemVOYW1lKG5hbWUpIHtcbiAgICBpZiAodHlwZW9mIG5hbWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICBuYW1lID0gU3RyaW5nKG5hbWUpXG4gICAgfVxuICAgIGlmICgvW15hLXowLTlcXC0jJCUmJyorLlxcXl9gfH5dL2kudGVzdChuYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBjaGFyYWN0ZXIgaW4gaGVhZGVyIGZpZWxkIG5hbWUnKVxuICAgIH1cbiAgICByZXR1cm4gbmFtZS50b0xvd2VyQ2FzZSgpXG4gIH1cblxuICBmdW5jdGlvbiBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSlcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICAvLyBCdWlsZCBhIGRlc3RydWN0aXZlIGl0ZXJhdG9yIGZvciB0aGUgdmFsdWUgbGlzdFxuICBmdW5jdGlvbiBpdGVyYXRvckZvcihpdGVtcykge1xuICAgIHZhciBpdGVyYXRvciA9IHtcbiAgICAgIG5leHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBpdGVtcy5zaGlmdCgpXG4gICAgICAgIHJldHVybiB7ZG9uZTogdmFsdWUgPT09IHVuZGVmaW5lZCwgdmFsdWU6IHZhbHVlfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzdXBwb3J0Lml0ZXJhYmxlKSB7XG4gICAgICBpdGVyYXRvcltTeW1ib2wuaXRlcmF0b3JdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRvclxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpdGVyYXRvclxuICB9XG5cbiAgZnVuY3Rpb24gSGVhZGVycyhoZWFkZXJzKSB7XG4gICAgdGhpcy5tYXAgPSB7fVxuXG4gICAgaWYgKGhlYWRlcnMgaW5zdGFuY2VvZiBIZWFkZXJzKSB7XG4gICAgICBoZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcbiAgICAgICAgdGhpcy5hcHBlbmQobmFtZSwgdmFsdWUpXG4gICAgICB9LCB0aGlzKVxuXG4gICAgfSBlbHNlIGlmIChoZWFkZXJzKSB7XG4gICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhoZWFkZXJzKS5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgdGhpcy5hcHBlbmQobmFtZSwgaGVhZGVyc1tuYW1lXSlcbiAgICAgIH0sIHRoaXMpXG4gICAgfVxuICB9XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuYXBwZW5kID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHtcbiAgICBuYW1lID0gbm9ybWFsaXplTmFtZShuYW1lKVxuICAgIHZhbHVlID0gbm9ybWFsaXplVmFsdWUodmFsdWUpXG4gICAgdmFyIG9sZFZhbHVlID0gdGhpcy5tYXBbbmFtZV1cbiAgICB0aGlzLm1hcFtuYW1lXSA9IG9sZFZhbHVlID8gb2xkVmFsdWUrJywnK3ZhbHVlIDogdmFsdWVcbiAgfVxuXG4gIEhlYWRlcnMucHJvdG90eXBlWydkZWxldGUnXSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5tYXBbbm9ybWFsaXplTmFtZShuYW1lKV1cbiAgfVxuXG4gIEhlYWRlcnMucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBuYW1lID0gbm9ybWFsaXplTmFtZShuYW1lKVxuICAgIHJldHVybiB0aGlzLmhhcyhuYW1lKSA/IHRoaXMubWFwW25hbWVdIDogbnVsbFxuICB9XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiB0aGlzLm1hcC5oYXNPd25Qcm9wZXJ0eShub3JtYWxpemVOYW1lKG5hbWUpKVxuICB9XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24obmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLm1hcFtub3JtYWxpemVOYW1lKG5hbWUpXSA9IG5vcm1hbGl6ZVZhbHVlKHZhbHVlKVxuICB9XG5cbiAgSGVhZGVycy5wcm90b3R5cGUuZm9yRWFjaCA9IGZ1bmN0aW9uKGNhbGxiYWNrLCB0aGlzQXJnKSB7XG4gICAgZm9yICh2YXIgbmFtZSBpbiB0aGlzLm1hcCkge1xuICAgICAgaWYgKHRoaXMubWFwLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdGhpcy5tYXBbbmFtZV0sIG5hbWUsIHRoaXMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgSGVhZGVycy5wcm90b3R5cGUua2V5cyA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBpdGVtcyA9IFtdXG4gICAgdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBuYW1lKSB7IGl0ZW1zLnB1c2gobmFtZSkgfSlcbiAgICByZXR1cm4gaXRlcmF0b3JGb3IoaXRlbXMpXG4gIH1cblxuICBIZWFkZXJzLnByb3RvdHlwZS52YWx1ZXMgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgaXRlbXMgPSBbXVxuICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSkgeyBpdGVtcy5wdXNoKHZhbHVlKSB9KVxuICAgIHJldHVybiBpdGVyYXRvckZvcihpdGVtcylcbiAgfVxuXG4gIEhlYWRlcnMucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgaXRlbXMgPSBbXVxuICAgIHRoaXMuZm9yRWFjaChmdW5jdGlvbih2YWx1ZSwgbmFtZSkgeyBpdGVtcy5wdXNoKFtuYW1lLCB2YWx1ZV0pIH0pXG4gICAgcmV0dXJuIGl0ZXJhdG9yRm9yKGl0ZW1zKVxuICB9XG5cbiAgaWYgKHN1cHBvcnQuaXRlcmFibGUpIHtcbiAgICBIZWFkZXJzLnByb3RvdHlwZVtTeW1ib2wuaXRlcmF0b3JdID0gSGVhZGVycy5wcm90b3R5cGUuZW50cmllc1xuICB9XG5cbiAgZnVuY3Rpb24gY29uc3VtZWQoYm9keSkge1xuICAgIGlmIChib2R5LmJvZHlVc2VkKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IFR5cGVFcnJvcignQWxyZWFkeSByZWFkJykpXG4gICAgfVxuICAgIGJvZHkuYm9keVVzZWQgPSB0cnVlXG4gIH1cblxuICBmdW5jdGlvbiBmaWxlUmVhZGVyUmVhZHkocmVhZGVyKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXNvbHZlKHJlYWRlci5yZXN1bHQpXG4gICAgICB9XG4gICAgICByZWFkZXIub25lcnJvciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZWplY3QocmVhZGVyLmVycm9yKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBmdW5jdGlvbiByZWFkQmxvYkFzQXJyYXlCdWZmZXIoYmxvYikge1xuICAgIHZhciByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXG4gICAgdmFyIHByb21pc2UgPSBmaWxlUmVhZGVyUmVhZHkocmVhZGVyKVxuICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iKVxuICAgIHJldHVybiBwcm9taXNlXG4gIH1cblxuICBmdW5jdGlvbiByZWFkQmxvYkFzVGV4dChibG9iKSB7XG4gICAgdmFyIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcbiAgICB2YXIgcHJvbWlzZSA9IGZpbGVSZWFkZXJSZWFkeShyZWFkZXIpXG4gICAgcmVhZGVyLnJlYWRBc1RleHQoYmxvYilcbiAgICByZXR1cm4gcHJvbWlzZVxuICB9XG5cbiAgZnVuY3Rpb24gYnVmZmVyQ2xvbmUoYnVmKSB7XG4gICAgaWYgKGJ1Zi5zbGljZSkge1xuICAgICAgcmV0dXJuIGJ1Zi5zbGljZSgwKVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdmlldyA9IG5ldyBVaW50OEFycmF5KGJ1Zi5ieXRlTGVuZ3RoKVxuICAgICAgdmlldy5zZXQobmV3IFVpbnQ4QXJyYXkoYnVmKSlcbiAgICAgIHJldHVybiB2aWV3LmJ1ZmZlclxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIEJvZHkoKSB7XG4gICAgdGhpcy5ib2R5VXNlZCA9IGZhbHNlXG5cbiAgICB0aGlzLl9pbml0Qm9keSA9IGZ1bmN0aW9uKGJvZHkpIHtcbiAgICAgIHRoaXMuX2JvZHlJbml0ID0gYm9keVxuICAgICAgaWYgKCFib2R5KSB7XG4gICAgICAgIHRoaXMuX2JvZHlUZXh0ID0gJydcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuX2JvZHlUZXh0ID0gYm9keVxuICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LmJsb2IgJiYgQmxvYi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSkge1xuICAgICAgICB0aGlzLl9ib2R5QmxvYiA9IGJvZHlcbiAgICAgIH0gZWxzZSBpZiAoc3VwcG9ydC5mb3JtRGF0YSAmJiBGb3JtRGF0YS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSkge1xuICAgICAgICB0aGlzLl9ib2R5Rm9ybURhdGEgPSBib2R5XG4gICAgICB9IGVsc2UgaWYgKHN1cHBvcnQuc2VhcmNoUGFyYW1zICYmIFVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSkge1xuICAgICAgICB0aGlzLl9ib2R5VGV4dCA9IGJvZHkudG9TdHJpbmcoKVxuICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LmFycmF5QnVmZmVyICYmIHN1cHBvcnQuYmxvYiAmJiBpc0RhdGFWaWV3KGJvZHkpKSB7XG4gICAgICAgIHRoaXMuX2JvZHlBcnJheUJ1ZmZlciA9IGJ1ZmZlckNsb25lKGJvZHkuYnVmZmVyKVxuICAgICAgICAvLyBJRSAxMC0xMSBjYW4ndCBoYW5kbGUgYSBEYXRhVmlldyBib2R5LlxuICAgICAgICB0aGlzLl9ib2R5SW5pdCA9IG5ldyBCbG9iKFt0aGlzLl9ib2R5QXJyYXlCdWZmZXJdKVxuICAgICAgfSBlbHNlIGlmIChzdXBwb3J0LmFycmF5QnVmZmVyICYmIChBcnJheUJ1ZmZlci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSB8fCBpc0FycmF5QnVmZmVyVmlldyhib2R5KSkpIHtcbiAgICAgICAgdGhpcy5fYm9keUFycmF5QnVmZmVyID0gYnVmZmVyQ2xvbmUoYm9keSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigndW5zdXBwb3J0ZWQgQm9keUluaXQgdHlwZScpXG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJykpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ2NvbnRlbnQtdHlwZScsICd0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgnKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2JvZHlCbG9iICYmIHRoaXMuX2JvZHlCbG9iLnR5cGUpIHtcbiAgICAgICAgICB0aGlzLmhlYWRlcnMuc2V0KCdjb250ZW50LXR5cGUnLCB0aGlzLl9ib2R5QmxvYi50eXBlKVxuICAgICAgICB9IGVsc2UgaWYgKHN1cHBvcnQuc2VhcmNoUGFyYW1zICYmIFVSTFNlYXJjaFBhcmFtcy5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihib2R5KSkge1xuICAgICAgICAgIHRoaXMuaGVhZGVycy5zZXQoJ2NvbnRlbnQtdHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCcpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VwcG9ydC5ibG9iKSB7XG4gICAgICB0aGlzLmJsb2IgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIHJlamVjdGVkID0gY29uc3VtZWQodGhpcylcbiAgICAgICAgaWYgKHJlamVjdGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHJlamVjdGVkXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fYm9keUJsb2IpIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2JvZHlCbG9iKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2JvZHlBcnJheUJ1ZmZlcikge1xuICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobmV3IEJsb2IoW3RoaXMuX2JvZHlBcnJheUJ1ZmZlcl0pKVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2JvZHlGb3JtRGF0YSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignY291bGQgbm90IHJlYWQgRm9ybURhdGEgYm9keSBhcyBibG9iJylcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFt0aGlzLl9ib2R5VGV4dF0pKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0ID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgcmVqZWN0ZWQgPSBjb25zdW1lZCh0aGlzKVxuICAgICAgaWYgKHJlamVjdGVkKSB7XG4gICAgICAgIHJldHVybiByZWplY3RlZFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYm9keUJsb2IpIHtcbiAgICAgICAgcmV0dXJuIHJlYWRCbG9iQXNUZXh0KHRoaXMuX2JvZHlCbG9iKVxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpIHtcbiAgICAgICAgdmFyIHZpZXcgPSBuZXcgVWludDhBcnJheSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpXG4gICAgICAgIHZhciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsIHZpZXcpXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoc3RyKVxuICAgICAgfSBlbHNlIGlmICh0aGlzLl9ib2R5Rm9ybURhdGEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjb3VsZCBub3QgcmVhZCBGb3JtRGF0YSBib2R5IGFzIHRleHQnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5VGV4dClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc3VwcG9ydC5hcnJheUJ1ZmZlcikge1xuICAgICAgdGhpcy5hcnJheUJ1ZmZlciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fYm9keUFycmF5QnVmZmVyKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnN1bWVkKHRoaXMpIHx8IFByb21pc2UucmVzb2x2ZSh0aGlzLl9ib2R5QXJyYXlCdWZmZXIpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYmxvYigpLnRoZW4ocmVhZEJsb2JBc0FycmF5QnVmZmVyKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1cHBvcnQuZm9ybURhdGEpIHtcbiAgICAgIHRoaXMuZm9ybURhdGEgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oZGVjb2RlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuanNvbiA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMudGV4dCgpLnRoZW4oSlNPTi5wYXJzZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgLy8gSFRUUCBtZXRob2RzIHdob3NlIGNhcGl0YWxpemF0aW9uIHNob3VsZCBiZSBub3JtYWxpemVkXG4gIHZhciBtZXRob2RzID0gWydERUxFVEUnLCAnR0VUJywgJ0hFQUQnLCAnT1BUSU9OUycsICdQT1NUJywgJ1BVVCddXG5cbiAgZnVuY3Rpb24gbm9ybWFsaXplTWV0aG9kKG1ldGhvZCkge1xuICAgIHZhciB1cGNhc2VkID0gbWV0aG9kLnRvVXBwZXJDYXNlKClcbiAgICByZXR1cm4gKG1ldGhvZHMuaW5kZXhPZih1cGNhc2VkKSA+IC0xKSA/IHVwY2FzZWQgOiBtZXRob2RcbiAgfVxuXG4gIGZ1bmN0aW9uIFJlcXVlc3QoaW5wdXQsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fVxuICAgIHZhciBib2R5ID0gb3B0aW9ucy5ib2R5XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy51cmwgPSBpbnB1dFxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaW5wdXQuYm9keVVzZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQWxyZWFkeSByZWFkJylcbiAgICAgIH1cbiAgICAgIHRoaXMudXJsID0gaW5wdXQudXJsXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzID0gaW5wdXQuY3JlZGVudGlhbHNcbiAgICAgIGlmICghb3B0aW9ucy5oZWFkZXJzKSB7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IG5ldyBIZWFkZXJzKGlucHV0LmhlYWRlcnMpXG4gICAgICB9XG4gICAgICB0aGlzLm1ldGhvZCA9IGlucHV0Lm1ldGhvZFxuICAgICAgdGhpcy5tb2RlID0gaW5wdXQubW9kZVxuICAgICAgaWYgKCFib2R5ICYmIGlucHV0Ll9ib2R5SW5pdCAhPSBudWxsKSB7XG4gICAgICAgIGJvZHkgPSBpbnB1dC5fYm9keUluaXRcbiAgICAgICAgaW5wdXQuYm9keVVzZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5jcmVkZW50aWFscyA9IG9wdGlvbnMuY3JlZGVudGlhbHMgfHwgdGhpcy5jcmVkZW50aWFscyB8fCAnb21pdCdcbiAgICBpZiAob3B0aW9ucy5oZWFkZXJzIHx8ICF0aGlzLmhlYWRlcnMpIHtcbiAgICAgIHRoaXMuaGVhZGVycyA9IG5ldyBIZWFkZXJzKG9wdGlvbnMuaGVhZGVycylcbiAgICB9XG4gICAgdGhpcy5tZXRob2QgPSBub3JtYWxpemVNZXRob2Qob3B0aW9ucy5tZXRob2QgfHwgdGhpcy5tZXRob2QgfHwgJ0dFVCcpXG4gICAgdGhpcy5tb2RlID0gb3B0aW9ucy5tb2RlIHx8IHRoaXMubW9kZSB8fCBudWxsXG4gICAgdGhpcy5yZWZlcnJlciA9IG51bGxcblxuICAgIGlmICgodGhpcy5tZXRob2QgPT09ICdHRVQnIHx8IHRoaXMubWV0aG9kID09PSAnSEVBRCcpICYmIGJvZHkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0JvZHkgbm90IGFsbG93ZWQgZm9yIEdFVCBvciBIRUFEIHJlcXVlc3RzJylcbiAgICB9XG4gICAgdGhpcy5faW5pdEJvZHkoYm9keSlcbiAgfVxuXG4gIFJlcXVlc3QucHJvdG90eXBlLmNsb25lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBSZXF1ZXN0KHRoaXMsIHsgYm9keTogdGhpcy5fYm9keUluaXQgfSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGRlY29kZShib2R5KSB7XG4gICAgdmFyIGZvcm0gPSBuZXcgRm9ybURhdGEoKVxuICAgIGJvZHkudHJpbSgpLnNwbGl0KCcmJykuZm9yRWFjaChmdW5jdGlvbihieXRlcykge1xuICAgICAgaWYgKGJ5dGVzKSB7XG4gICAgICAgIHZhciBzcGxpdCA9IGJ5dGVzLnNwbGl0KCc9JylcbiAgICAgICAgdmFyIG5hbWUgPSBzcGxpdC5zaGlmdCgpLnJlcGxhY2UoL1xcKy9nLCAnICcpXG4gICAgICAgIHZhciB2YWx1ZSA9IHNwbGl0LmpvaW4oJz0nKS5yZXBsYWNlKC9cXCsvZywgJyAnKVxuICAgICAgICBmb3JtLmFwcGVuZChkZWNvZGVVUklDb21wb25lbnQobmFtZSksIGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gZm9ybVxuICB9XG5cbiAgZnVuY3Rpb24gcGFyc2VIZWFkZXJzKHJhd0hlYWRlcnMpIHtcbiAgICB2YXIgaGVhZGVycyA9IG5ldyBIZWFkZXJzKClcbiAgICByYXdIZWFkZXJzLnNwbGl0KCdcXHJcXG4nKS5mb3JFYWNoKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICAgIHZhciBwYXJ0cyA9IGxpbmUuc3BsaXQoJzonKVxuICAgICAgdmFyIGtleSA9IHBhcnRzLnNoaWZ0KCkudHJpbSgpXG4gICAgICBpZiAoa2V5KSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IHBhcnRzLmpvaW4oJzonKS50cmltKClcbiAgICAgICAgaGVhZGVycy5hcHBlbmQoa2V5LCB2YWx1ZSlcbiAgICAgIH1cbiAgICB9KVxuICAgIHJldHVybiBoZWFkZXJzXG4gIH1cblxuICBCb2R5LmNhbGwoUmVxdWVzdC5wcm90b3R5cGUpXG5cbiAgZnVuY3Rpb24gUmVzcG9uc2UoYm9keUluaXQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgIH1cblxuICAgIHRoaXMudHlwZSA9ICdkZWZhdWx0J1xuICAgIHRoaXMuc3RhdHVzID0gJ3N0YXR1cycgaW4gb3B0aW9ucyA/IG9wdGlvbnMuc3RhdHVzIDogMjAwXG4gICAgdGhpcy5vayA9IHRoaXMuc3RhdHVzID49IDIwMCAmJiB0aGlzLnN0YXR1cyA8IDMwMFxuICAgIHRoaXMuc3RhdHVzVGV4dCA9ICdzdGF0dXNUZXh0JyBpbiBvcHRpb25zID8gb3B0aW9ucy5zdGF0dXNUZXh0IDogJ09LJ1xuICAgIHRoaXMuaGVhZGVycyA9IG5ldyBIZWFkZXJzKG9wdGlvbnMuaGVhZGVycylcbiAgICB0aGlzLnVybCA9IG9wdGlvbnMudXJsIHx8ICcnXG4gICAgdGhpcy5faW5pdEJvZHkoYm9keUluaXQpXG4gIH1cblxuICBCb2R5LmNhbGwoUmVzcG9uc2UucHJvdG90eXBlKVxuXG4gIFJlc3BvbnNlLnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBuZXcgUmVzcG9uc2UodGhpcy5fYm9keUluaXQsIHtcbiAgICAgIHN0YXR1czogdGhpcy5zdGF0dXMsXG4gICAgICBzdGF0dXNUZXh0OiB0aGlzLnN0YXR1c1RleHQsXG4gICAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh0aGlzLmhlYWRlcnMpLFxuICAgICAgdXJsOiB0aGlzLnVybFxuICAgIH0pXG4gIH1cblxuICBSZXNwb25zZS5lcnJvciA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciByZXNwb25zZSA9IG5ldyBSZXNwb25zZShudWxsLCB7c3RhdHVzOiAwLCBzdGF0dXNUZXh0OiAnJ30pXG4gICAgcmVzcG9uc2UudHlwZSA9ICdlcnJvcidcbiAgICByZXR1cm4gcmVzcG9uc2VcbiAgfVxuXG4gIHZhciByZWRpcmVjdFN0YXR1c2VzID0gWzMwMSwgMzAyLCAzMDMsIDMwNywgMzA4XVxuXG4gIFJlc3BvbnNlLnJlZGlyZWN0ID0gZnVuY3Rpb24odXJsLCBzdGF0dXMpIHtcbiAgICBpZiAocmVkaXJlY3RTdGF0dXNlcy5pbmRleE9mKHN0YXR1cykgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignSW52YWxpZCBzdGF0dXMgY29kZScpXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBSZXNwb25zZShudWxsLCB7c3RhdHVzOiBzdGF0dXMsIGhlYWRlcnM6IHtsb2NhdGlvbjogdXJsfX0pXG4gIH1cblxuICBzZWxmLkhlYWRlcnMgPSBIZWFkZXJzXG4gIHNlbGYuUmVxdWVzdCA9IFJlcXVlc3RcbiAgc2VsZi5SZXNwb25zZSA9IFJlc3BvbnNlXG5cbiAgc2VsZi5mZXRjaCA9IGZ1bmN0aW9uKGlucHV0LCBpbml0KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgUmVxdWVzdChpbnB1dCwgaW5pdClcbiAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuXG4gICAgICB4aHIub25sb2FkID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICAgIHN0YXR1czogeGhyLnN0YXR1cyxcbiAgICAgICAgICBzdGF0dXNUZXh0OiB4aHIuc3RhdHVzVGV4dCxcbiAgICAgICAgICBoZWFkZXJzOiBwYXJzZUhlYWRlcnMoeGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpIHx8ICcnKVxuICAgICAgICB9XG4gICAgICAgIG9wdGlvbnMudXJsID0gJ3Jlc3BvbnNlVVJMJyBpbiB4aHIgPyB4aHIucmVzcG9uc2VVUkwgOiBvcHRpb25zLmhlYWRlcnMuZ2V0KCdYLVJlcXVlc3QtVVJMJylcbiAgICAgICAgdmFyIGJvZHkgPSAncmVzcG9uc2UnIGluIHhociA/IHhoci5yZXNwb25zZSA6IHhoci5yZXNwb25zZVRleHRcbiAgICAgICAgcmVzb2x2ZShuZXcgUmVzcG9uc2UoYm9keSwgb3B0aW9ucykpXG4gICAgICB9XG5cbiAgICAgIHhoci5vbmVycm9yID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJlamVjdChuZXcgVHlwZUVycm9yKCdOZXR3b3JrIHJlcXVlc3QgZmFpbGVkJykpXG4gICAgICB9XG5cbiAgICAgIHhoci5vbnRpbWVvdXQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmVqZWN0KG5ldyBUeXBlRXJyb3IoJ05ldHdvcmsgcmVxdWVzdCBmYWlsZWQnKSlcbiAgICAgIH1cblxuICAgICAgeGhyLm9wZW4ocmVxdWVzdC5tZXRob2QsIHJlcXVlc3QudXJsLCB0cnVlKVxuXG4gICAgICBpZiAocmVxdWVzdC5jcmVkZW50aWFscyA9PT0gJ2luY2x1ZGUnKSB7XG4gICAgICAgIHhoci53aXRoQ3JlZGVudGlhbHMgPSB0cnVlXG4gICAgICB9XG5cbiAgICAgIGlmICgncmVzcG9uc2VUeXBlJyBpbiB4aHIgJiYgc3VwcG9ydC5ibG9iKSB7XG4gICAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYmxvYidcbiAgICAgIH1cblxuICAgICAgcmVxdWVzdC5oZWFkZXJzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIG5hbWUpIHtcbiAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIobmFtZSwgdmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB4aHIuc2VuZCh0eXBlb2YgcmVxdWVzdC5fYm9keUluaXQgPT09ICd1bmRlZmluZWQnID8gbnVsbCA6IHJlcXVlc3QuX2JvZHlJbml0KVxuICAgIH0pXG4gIH1cbiAgc2VsZi5mZXRjaC5wb2x5ZmlsbCA9IHRydWVcbn0pKHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB0aGlzKTtcbiJdfQ==
\ No newline at end of file
diff --git a/static/rest_framework/js/csrf.js b/static/rest_framework/js/csrf.js
deleted file mode 100644
index 97c8d012..00000000
--- a/static/rest_framework/js/csrf.js
+++ /dev/null
@@ -1,52 +0,0 @@
-function getCookie(name) {
-  var cookieValue = null;
-
-  if (document.cookie && document.cookie != '') {
-    var cookies = document.cookie.split(';');
-
-    for (var i = 0; i < cookies.length; i++) {
-      var cookie = jQuery.trim(cookies[i]);
-
-      // Does this cookie string begin with the name we want?
-      if (cookie.substring(0, name.length + 1) == (name + '=')) {
-        cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
-        break;
-      }
-    }
-  }
-
-  return cookieValue;
-}
-
-function csrfSafeMethod(method) {
-  // these HTTP methods do not require CSRF protection
-  return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
-}
-
-function sameOrigin(url) {
-  // test that a given url is a same-origin URL
-  // url could be relative or scheme relative or absolute
-  var host = document.location.host; // host + port
-  var protocol = document.location.protocol;
-  var sr_origin = '//' + host;
-  var origin = protocol + sr_origin;
-
-  // Allow absolute or scheme relative URLs to same origin
-  return (url == origin || url.slice(0, origin.length + 1) == origin + '/') ||
-    (url == sr_origin || url.slice(0, sr_origin.length + 1) == sr_origin + '/') ||
-    // or any other URL that isn't scheme relative or absolute i.e relative.
-    !(/^(\/\/|http:|https:).*/.test(url));
-}
-
-var csrftoken = getCookie(window.drf.csrfCookieName);
-
-$.ajaxSetup({
-  beforeSend: function(xhr, settings) {
-    if (!csrfSafeMethod(settings.type) && sameOrigin(settings.url)) {
-      // Send the token to same-origin, relative URLs only.
-      // Send the token only if the method warrants CSRF protection
-      // Using the CSRFToken value acquired earlier
-      xhr.setRequestHeader(window.drf.csrfHeaderName, csrftoken);
-    }
-  }
-});
diff --git a/static/rest_framework/js/default.js b/static/rest_framework/js/default.js
deleted file mode 100644
index bec2e4f9..00000000
--- a/static/rest_framework/js/default.js
+++ /dev/null
@@ -1,47 +0,0 @@
-$(document).ready(function() {
-  // JSON highlighting.
-  prettyPrint();
-
-  // Bootstrap tooltips.
-  $('.js-tooltip').tooltip({
-    delay: 1000,
-    container: 'body'
-  });
-
-  // Deal with rounded tab styling after tab clicks.
-  $('a[data-toggle="tab"]:first').on('shown', function(e) {
-    $(e.target).parents('.tabbable').addClass('first-tab-active');
-  });
-
-  $('a[data-toggle="tab"]:not(:first)').on('shown', function(e) {
-    $(e.target).parents('.tabbable').removeClass('first-tab-active');
-  });
-
-  $('a[data-toggle="tab"]').click(function() {
-    document.cookie = "tabstyle=" + this.name + "; path=/";
-  });
-
-  // Store tab preference in cookies & display appropriate tab on load.
-  var selectedTab = null;
-  var selectedTabName = getCookie('tabstyle');
-
-  if (selectedTabName) {
-    selectedTabName = selectedTabName.replace(/[^a-z-]/g, '');
-  }
-
-  if (selectedTabName) {
-    selectedTab = $('.form-switcher a[name=' + selectedTabName + ']');
-  }
-
-  if (selectedTab && selectedTab.length > 0) {
-    // Display whichever tab is selected.
-    selectedTab.tab('show');
-  } else {
-    // If no tab selected, display rightmost tab.
-    $('.form-switcher a:first').tab('show');
-  }
-
-  $(window).on('load', function() {
-    $('#errorModal').modal('show');
-  });
-});
diff --git a/static/rest_framework/js/jquery-3.3.1.min.js b/static/rest_framework/js/jquery-3.3.1.min.js
deleted file mode 100644
index 4d9b3a25..00000000
--- a/static/rest_framework/js/jquery-3.3.1.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! 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/static/rest_framework/js/prettify-min.js b/static/rest_framework/js/prettify-min.js
deleted file mode 100644
index eef5ad7e..00000000
--- a/static/rest_framework/js/prettify-min.js
+++ /dev/null
@@ -1,28 +0,0 @@
-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"}})();
-- 
GitLab