From 0047b1f91c38801aefeb68b242657ee52044927c Mon Sep 17 00:00:00 2001 From: fatima Date: Thu, 30 Apr 2026 13:28:57 +0200 Subject: [PATCH] Ajout de la prise en charge des photos de profil --- .gitignore | 15 +- SIRH/__init__.py | 0 SIRH/asgi.py | 16 + SIRH/settings.py | 37 + SIRH/static/SIRH/PS1.jpg | Bin 0 -> 59768 bytes SIRH/static/SIRH/cerfig.jpeg | Bin 0 -> 184572 bytes SIRH/static/SIRH/icons.css | 2078 +++ SIRH/static/SIRH/per1.webp | Bin 0 -> 134594 bytes SIRH/static/SIRH/user.jpg | Bin 0 -> 86713 bytes SIRH/static/templates/SIRH/index.html | 157 + SIRH/static/templates/SIRH/login.html | 197 + .../static/templates/SIRH/menu_principal.html | 150 + SIRH/static/templates/SIRH/message.html | 10 + SIRH/static/templates/SIRH/monprofil.html | 384 + SIRH/static/templates/SIRH/parametre.html | 223 + SIRH/static/templates/SIRH/rapport.html | 205 + SIRH/static/templates/SIRH/registration | 0 SIRH/static/templates/SIRH/rest.html | 33 + SIRH/static/templates/SIRH/tiket.html | 620 + SIRH/static/templates/menu_principale.js | 12 + SIRH/templates/SIRH/BASE.html | 31 + SIRH/templates/SIRH/login.html | 43 + SIRH/templates/SIRH/parts/menu_principal.html | 56 + SIRH/urls.py | 67 + SIRH/views.py | 37 + SIRH/wsgi.py | 16 + fonction_utilitaire/fonctions_utilitaire.py | 34 + gestion_conge/__init__.py | 0 gestion_conge/admin.py | 3 + gestion_conge/apps.py | 6 + gestion_conge/forms.py | 17 + gestion_conge/migrations/0001_initial.py | 30 + gestion_conge/migrations/__init__.py | 0 gestion_conge/models.py | 36 + .../static/gestion_conge/js/detail_conges.js | 75 + .../static/gestion_conge/js/index.js | 71 + .../templates/gestion_conge/index.html | 51 + .../parts/modalDemandeConge.html | 26 + .../gestion_conge/parts/modalDetailConge.html | 92 + .../parts/modalModificationConge.html | 48 + .../gestion_conge/parts/modalRefus.html | 24 + gestion_conge/tests.py | 3 + gestion_conge/urls.py | 27 + gestion_conge/views.py | 225 + gestion_employe/__init__.py | 0 gestion_employe/admin.py | 14 + gestion_employe/forms.py | 84 + gestion_employe/migrations/0001_initial.py | 88 + .../0002_alter_contrat_type_contrat.py | 18 + gestion_employe/migrations/__init__.py | 0 gestion_employe/models.py | 3 + .../static/gestion_employe/js/index.js | 263 + .../static/gestion_employe/js/mon_profil.js | 46 + .../templates/gestion_employe/index.html | 67 + .../gestion_employe/modifier-profil.html | 105 + .../templates/gestion_employe/monprofil.html | 241 + .../parts/modalAffectationProjet.html | 28 + .../parts/modalAjoutFormation.html | 21 + .../parts/modalCreationContrat.html | 57 + .../parts/modalDetailEmploye.html | 136 + .../gestion_employe/parts/modalDocument.html | 41 + .../parts/modalListeContratExpirants.html | 17 + .../parts/modificationMotPasse.html | 36 + .../templatetags/tags_personnaliser.py | 24 + gestion_employe/tests.py | 3 + gestion_employe/urls.py | 102 + gestion_employe/views.py | 447 + gestion_projet/__init__.py | 0 gestion_projet/admin.py | 6 + gestion_projet/forms.py | 176 + gestion_projet/migrations/0001_initial.py | 107 + gestion_projet/migrations/__init__.py | 0 gestion_projet/models.py | 309 + .../gestion_projet/js/creation_projet.js | 19 + .../js/enregistrement_bailleur.js | 23 + .../js/enregistrement_financement.js | 22 + .../static/gestion_projet/js/index.js | 64 + .../js/liste_documents_projet.js | 20 + .../gestion_projet/js/suivi-activites.js | 59 + .../gestion_projet/ajout-financement.html | 37 + .../gestion_projet/creation_projet.html | 32 + .../templates/gestion_projet/index.html | 61 + .../parts/creation_bailleur.html | 20 + .../parts/liste_document_projet.html | 16 + .../parts/modalAjoutActivite.html | 20 + .../parts/modalAjoutDocument.html | 20 + .../parts/modalAjoutLivrable.html | 20 + .../parts/modalAjoutProjet.html | 21 + .../parts/modalAnnulerActivite.html | 26 + .../parts/modalDetailActivite.html | 58 + .../parts/modalDetailProjet.html | 115 + .../parts/modalFinancement.html | 20 + .../parts/modalMiseAJourDepense.html | 36 + .../gestion_projet/suivi_activite.html | 64 + gestion_projet/tests.py | 3 + gestion_projet/urls.py | 122 + gestion_projet/views.py | 485 + gestion_salle/__init__.py | 0 gestion_salle/admin.py | 3 + gestion_salle/apps.py | 5 + gestion_salle/forms.py | 32 + gestion_salle/migrations/0001_initial.py | 34 + gestion_salle/migrations/__init__.py | 0 gestion_salle/models.py | 33 + .../static/gestion_salle/js/index.js | 193 + .../templates/gestion_salle/index.html | 59 + .../parts/ModalRefusReservation.html | 22 + .../parts/ModaleAjoutLienZoom.html | 26 + .../parts/modalCreationReservation.html | 23 + .../parts/modalDetailResevation.html | 71 + .../parts/modalListeValidation.html | 16 + gestion_salle/tests.py | 3 + gestion_salle/urls.py | 48 + gestion_salle/views.py | 195 + manage.py | 22 + media/photos/unnamed_-_Copie.png | Bin 0 -> 777987 bytes requirements.txt | 155 + static/css/bootstrap.min.css | 6 + static/css/styles.css | 278 + static/css/tabulator_bootstrap5.min.css | 2 + ...bulator_bootstrap5.min.css:Zone.Identifier | Bin 0 -> 25 bytes static/img/cerfig.jpg | Bin 0 -> 86605 bytes static/js/monprofil.js | 13 + static/js/rapport.js | 102 + static/js/sirh-index.js | 75 + staticfiles/admin/css/autocomplete.css | 279 + staticfiles/admin/css/base.css | 1180 ++ staticfiles/admin/css/changelists.css | 343 + staticfiles/admin/css/dark_mode.css | 130 + staticfiles/admin/css/dashboard.css | 29 + staticfiles/admin/css/forms.css | 498 + staticfiles/admin/css/login.css | 61 + staticfiles/admin/css/nav_sidebar.css | 150 + staticfiles/admin/css/responsive.css | 904 ++ staticfiles/admin/css/responsive_rtl.css | 89 + staticfiles/admin/css/rtl.css | 293 + .../admin/css/unusable_password_field.css | 19 + .../css/vendor/select2/LICENSE-SELECT2.md | 21 + .../admin/css/vendor/select2/select2.css | 481 + .../admin/css/vendor/select2/select2.min.css | 1 + staticfiles/admin/css/widgets.css | 613 + staticfiles/admin/img/LICENSE | 20 + staticfiles/admin/img/README.txt | 7 + staticfiles/admin/img/calendar-icons.svg | 63 + staticfiles/admin/img/gis/move_vertex_off.svg | 1 + staticfiles/admin/img/gis/move_vertex_on.svg | 1 + staticfiles/admin/img/icon-addlink.svg | 3 + staticfiles/admin/img/icon-alert.svg | 3 + staticfiles/admin/img/icon-calendar.svg | 9 + staticfiles/admin/img/icon-changelink.svg | 3 + staticfiles/admin/img/icon-clock.svg | 9 + staticfiles/admin/img/icon-deletelink.svg | 3 + staticfiles/admin/img/icon-hidelink.svg | 3 + staticfiles/admin/img/icon-no.svg | 3 + staticfiles/admin/img/icon-unknown-alt.svg | 3 + staticfiles/admin/img/icon-unknown.svg | 3 + staticfiles/admin/img/icon-viewlink.svg | 3 + staticfiles/admin/img/icon-yes.svg | 3 + staticfiles/admin/img/inline-delete.svg | 3 + staticfiles/admin/img/search.svg | 3 + staticfiles/admin/img/selector-icons.svg | 34 + staticfiles/admin/img/sorting-icons.svg | 19 + staticfiles/admin/img/tooltag-add.svg | 3 + staticfiles/admin/img/tooltag-arrowright.svg | 3 + staticfiles/admin/js/SelectBox.js | 116 + staticfiles/admin/js/SelectFilter2.js | 311 + staticfiles/admin/js/actions.js | 204 + .../admin/js/admin/DateTimeShortcuts.js | 408 + .../admin/js/admin/RelatedObjectLookups.js | 252 + staticfiles/admin/js/autocomplete.js | 33 + staticfiles/admin/js/calendar.js | 239 + staticfiles/admin/js/cancel.js | 29 + staticfiles/admin/js/change_form.js | 16 + staticfiles/admin/js/core.js | 184 + staticfiles/admin/js/filters.js | 30 + staticfiles/admin/js/inlines.js | 359 + staticfiles/admin/js/jquery.init.js | 8 + staticfiles/admin/js/nav_sidebar.js | 79 + staticfiles/admin/js/popup_response.js | 15 + staticfiles/admin/js/prepopulate.js | 43 + staticfiles/admin/js/prepopulate_init.js | 15 + staticfiles/admin/js/theme.js | 51 + .../admin/js/unusable_password_field.js | 29 + staticfiles/admin/js/urlify.js | 169 + .../admin/js/vendor/jquery/LICENSE.txt | 20 + staticfiles/admin/js/vendor/jquery/jquery.js | 10716 ++++++++++++++++ .../admin/js/vendor/jquery/jquery.min.js | 2 + .../admin/js/vendor/select2/LICENSE.md | 21 + .../admin/js/vendor/select2/i18n/af.js | 3 + .../admin/js/vendor/select2/i18n/ar.js | 3 + .../admin/js/vendor/select2/i18n/az.js | 3 + .../admin/js/vendor/select2/i18n/bg.js | 3 + .../admin/js/vendor/select2/i18n/bn.js | 3 + .../admin/js/vendor/select2/i18n/bs.js | 3 + .../admin/js/vendor/select2/i18n/ca.js | 3 + .../admin/js/vendor/select2/i18n/cs.js | 3 + .../admin/js/vendor/select2/i18n/da.js | 3 + .../admin/js/vendor/select2/i18n/de.js | 3 + .../admin/js/vendor/select2/i18n/dsb.js | 3 + .../admin/js/vendor/select2/i18n/el.js | 3 + .../admin/js/vendor/select2/i18n/en.js | 3 + .../admin/js/vendor/select2/i18n/es.js | 3 + .../admin/js/vendor/select2/i18n/et.js | 3 + .../admin/js/vendor/select2/i18n/eu.js | 3 + .../admin/js/vendor/select2/i18n/fa.js | 3 + .../admin/js/vendor/select2/i18n/fi.js | 3 + .../admin/js/vendor/select2/i18n/fr.js | 3 + .../admin/js/vendor/select2/i18n/gl.js | 3 + .../admin/js/vendor/select2/i18n/he.js | 3 + .../admin/js/vendor/select2/i18n/hi.js | 3 + .../admin/js/vendor/select2/i18n/hr.js | 3 + .../admin/js/vendor/select2/i18n/hsb.js | 3 + .../admin/js/vendor/select2/i18n/hu.js | 3 + .../admin/js/vendor/select2/i18n/hy.js | 3 + .../admin/js/vendor/select2/i18n/id.js | 3 + .../admin/js/vendor/select2/i18n/is.js | 3 + .../admin/js/vendor/select2/i18n/it.js | 3 + .../admin/js/vendor/select2/i18n/ja.js | 3 + .../admin/js/vendor/select2/i18n/ka.js | 3 + .../admin/js/vendor/select2/i18n/km.js | 3 + .../admin/js/vendor/select2/i18n/ko.js | 3 + .../admin/js/vendor/select2/i18n/lt.js | 3 + .../admin/js/vendor/select2/i18n/lv.js | 3 + .../admin/js/vendor/select2/i18n/mk.js | 3 + .../admin/js/vendor/select2/i18n/ms.js | 3 + .../admin/js/vendor/select2/i18n/nb.js | 3 + .../admin/js/vendor/select2/i18n/ne.js | 3 + .../admin/js/vendor/select2/i18n/nl.js | 3 + .../admin/js/vendor/select2/i18n/pl.js | 3 + .../admin/js/vendor/select2/i18n/ps.js | 3 + .../admin/js/vendor/select2/i18n/pt-BR.js | 3 + .../admin/js/vendor/select2/i18n/pt.js | 3 + .../admin/js/vendor/select2/i18n/ro.js | 3 + .../admin/js/vendor/select2/i18n/ru.js | 3 + .../admin/js/vendor/select2/i18n/sk.js | 3 + .../admin/js/vendor/select2/i18n/sl.js | 3 + .../admin/js/vendor/select2/i18n/sq.js | 3 + .../admin/js/vendor/select2/i18n/sr-Cyrl.js | 3 + .../admin/js/vendor/select2/i18n/sr.js | 3 + .../admin/js/vendor/select2/i18n/sv.js | 3 + .../admin/js/vendor/select2/i18n/th.js | 3 + .../admin/js/vendor/select2/i18n/tk.js | 3 + .../admin/js/vendor/select2/i18n/tr.js | 3 + .../admin/js/vendor/select2/i18n/uk.js | 3 + .../admin/js/vendor/select2/i18n/vi.js | 3 + .../admin/js/vendor/select2/i18n/zh-CN.js | 3 + .../admin/js/vendor/select2/i18n/zh-TW.js | 3 + .../admin/js/vendor/select2/select2.full.js | 6820 ++++++++++ .../js/vendor/select2/select2.full.min.js | 2 + .../admin/js/vendor/xregexp/LICENSE.txt | 21 + .../admin/js/vendor/xregexp/xregexp.js | 6126 +++++++++ .../admin/js/vendor/xregexp/xregexp.min.js | 17 + staticfiles/bootstrap.min.css | 6 + staticfiles/css/bootstrap.min.css | 6 + staticfiles/css/styles.css | 278 + staticfiles/css/tabulator_bootstrap5.min.css | 2 + ...bulator_bootstrap5.min.css:Zone.Identifier | Bin 0 -> 25 bytes staticfiles/gestion_conge/admin.py | 3 + staticfiles/gestion_conge/apps.py | 6 + staticfiles/gestion_conge/js/detail_conges.js | 75 + staticfiles/gestion_conge/js/index.js | 71 + staticfiles/gestion_employe/js/index.js | 263 + staticfiles/gestion_employe/js/mon_profil.js | 42 + .../gestion_projet/js/creation_projet.js | 19 + .../js/enregistrement_bailleur.js | 23 + .../js/enregistrement_financement.js | 22 + staticfiles/gestion_projet/js/index.js | 64 + .../js/liste_documents_projet.js | 20 + .../gestion_projet/js/suivi-activites.js | 59 + staticfiles/gestion_salle/js/index.js | 193 + staticfiles/icons.css | 2078 +++ staticfiles/img/cerfig.jpg | Bin 0 -> 86605 bytes staticfiles/js/monprofil.js | 13 + staticfiles/js/rapport.js | 102 + staticfiles/js/sirh-index.js | 75 + staticfiles/styles.css | 278 + 276 files changed, 45898 insertions(+), 1 deletion(-) create mode 100644 SIRH/__init__.py create mode 100644 SIRH/asgi.py create mode 100644 SIRH/static/SIRH/PS1.jpg create mode 100644 SIRH/static/SIRH/cerfig.jpeg create mode 100644 SIRH/static/SIRH/icons.css create mode 100644 SIRH/static/SIRH/per1.webp create mode 100644 SIRH/static/SIRH/user.jpg create mode 100644 SIRH/static/templates/SIRH/index.html create mode 100644 SIRH/static/templates/SIRH/login.html create mode 100644 SIRH/static/templates/SIRH/menu_principal.html create mode 100644 SIRH/static/templates/SIRH/message.html create mode 100644 SIRH/static/templates/SIRH/monprofil.html create mode 100644 SIRH/static/templates/SIRH/parametre.html create mode 100644 SIRH/static/templates/SIRH/rapport.html create mode 100644 SIRH/static/templates/SIRH/registration create mode 100644 SIRH/static/templates/SIRH/rest.html create mode 100644 SIRH/static/templates/SIRH/tiket.html create mode 100644 SIRH/static/templates/menu_principale.js create mode 100644 SIRH/templates/SIRH/BASE.html create mode 100644 SIRH/templates/SIRH/login.html create mode 100644 SIRH/templates/SIRH/parts/menu_principal.html create mode 100644 SIRH/urls.py create mode 100644 SIRH/views.py create mode 100644 SIRH/wsgi.py create mode 100644 fonction_utilitaire/fonctions_utilitaire.py create mode 100644 gestion_conge/__init__.py create mode 100644 gestion_conge/admin.py create mode 100644 gestion_conge/apps.py create mode 100644 gestion_conge/forms.py create mode 100644 gestion_conge/migrations/0001_initial.py create mode 100644 gestion_conge/migrations/__init__.py create mode 100644 gestion_conge/models.py create mode 100644 gestion_conge/static/gestion_conge/js/detail_conges.js create mode 100644 gestion_conge/static/gestion_conge/js/index.js create mode 100644 gestion_conge/templates/gestion_conge/index.html create mode 100644 gestion_conge/templates/gestion_conge/parts/modalDemandeConge.html create mode 100644 gestion_conge/templates/gestion_conge/parts/modalDetailConge.html create mode 100644 gestion_conge/templates/gestion_conge/parts/modalModificationConge.html create mode 100644 gestion_conge/templates/gestion_conge/parts/modalRefus.html create mode 100644 gestion_conge/tests.py create mode 100644 gestion_conge/urls.py create mode 100644 gestion_conge/views.py create mode 100644 gestion_employe/__init__.py create mode 100644 gestion_employe/admin.py create mode 100644 gestion_employe/forms.py create mode 100644 gestion_employe/migrations/0001_initial.py create mode 100644 gestion_employe/migrations/0002_alter_contrat_type_contrat.py create mode 100644 gestion_employe/migrations/__init__.py create mode 100644 gestion_employe/static/gestion_employe/js/index.js create mode 100644 gestion_employe/static/gestion_employe/js/mon_profil.js create mode 100644 gestion_employe/templates/gestion_employe/index.html create mode 100644 gestion_employe/templates/gestion_employe/modifier-profil.html create mode 100644 gestion_employe/templates/gestion_employe/monprofil.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalAffectationProjet.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalAjoutFormation.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalCreationContrat.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalDetailEmploye.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalDocument.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modalListeContratExpirants.html create mode 100644 gestion_employe/templates/gestion_employe/parts/modificationMotPasse.html create mode 100644 gestion_employe/templatetags/tags_personnaliser.py create mode 100644 gestion_employe/tests.py create mode 100644 gestion_employe/urls.py create mode 100644 gestion_employe/views.py create mode 100644 gestion_projet/__init__.py create mode 100644 gestion_projet/admin.py create mode 100644 gestion_projet/forms.py create mode 100644 gestion_projet/migrations/0001_initial.py create mode 100644 gestion_projet/migrations/__init__.py create mode 100644 gestion_projet/models.py create mode 100644 gestion_projet/static/gestion_projet/js/creation_projet.js create mode 100644 gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js create mode 100644 gestion_projet/static/gestion_projet/js/enregistrement_financement.js create mode 100644 gestion_projet/static/gestion_projet/js/index.js create mode 100644 gestion_projet/static/gestion_projet/js/liste_documents_projet.js create mode 100644 gestion_projet/static/gestion_projet/js/suivi-activites.js create mode 100644 gestion_projet/templates/gestion_projet/ajout-financement.html create mode 100644 gestion_projet/templates/gestion_projet/creation_projet.html create mode 100644 gestion_projet/templates/gestion_projet/index.html create mode 100644 gestion_projet/templates/gestion_projet/parts/creation_bailleur.html create mode 100644 gestion_projet/templates/gestion_projet/parts/liste_document_projet.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalAjoutActivite.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalAjoutDocument.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalAjoutLivrable.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalAjoutProjet.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalAnnulerActivite.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalDetailActivite.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalDetailProjet.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalFinancement.html create mode 100644 gestion_projet/templates/gestion_projet/parts/modalMiseAJourDepense.html create mode 100644 gestion_projet/templates/gestion_projet/suivi_activite.html create mode 100644 gestion_projet/tests.py create mode 100644 gestion_projet/urls.py create mode 100644 gestion_projet/views.py create mode 100644 gestion_salle/__init__.py create mode 100644 gestion_salle/admin.py create mode 100644 gestion_salle/apps.py create mode 100644 gestion_salle/forms.py create mode 100644 gestion_salle/migrations/0001_initial.py create mode 100644 gestion_salle/migrations/__init__.py create mode 100644 gestion_salle/models.py create mode 100644 gestion_salle/static/gestion_salle/js/index.js create mode 100644 gestion_salle/templates/gestion_salle/index.html create mode 100644 gestion_salle/templates/gestion_salle/parts/ModalRefusReservation.html create mode 100644 gestion_salle/templates/gestion_salle/parts/ModaleAjoutLienZoom.html create mode 100644 gestion_salle/templates/gestion_salle/parts/modalCreationReservation.html create mode 100644 gestion_salle/templates/gestion_salle/parts/modalDetailResevation.html create mode 100644 gestion_salle/templates/gestion_salle/parts/modalListeValidation.html create mode 100644 gestion_salle/tests.py create mode 100644 gestion_salle/urls.py create mode 100644 gestion_salle/views.py create mode 100644 manage.py create mode 100644 media/photos/unnamed_-_Copie.png create mode 100644 static/css/bootstrap.min.css create mode 100644 static/css/styles.css create mode 100644 static/css/tabulator_bootstrap5.min.css create mode 100644 static/css/tabulator_bootstrap5.min.css:Zone.Identifier create mode 100644 static/img/cerfig.jpg create mode 100644 static/js/monprofil.js create mode 100644 static/js/rapport.js create mode 100644 static/js/sirh-index.js create mode 100644 staticfiles/admin/css/autocomplete.css create mode 100644 staticfiles/admin/css/base.css create mode 100644 staticfiles/admin/css/changelists.css create mode 100644 staticfiles/admin/css/dark_mode.css create mode 100644 staticfiles/admin/css/dashboard.css create mode 100644 staticfiles/admin/css/forms.css create mode 100644 staticfiles/admin/css/login.css create mode 100644 staticfiles/admin/css/nav_sidebar.css create mode 100644 staticfiles/admin/css/responsive.css create mode 100644 staticfiles/admin/css/responsive_rtl.css create mode 100644 staticfiles/admin/css/rtl.css create mode 100644 staticfiles/admin/css/unusable_password_field.css create mode 100644 staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md create mode 100644 staticfiles/admin/css/vendor/select2/select2.css create mode 100644 staticfiles/admin/css/vendor/select2/select2.min.css create mode 100644 staticfiles/admin/css/widgets.css create mode 100644 staticfiles/admin/img/LICENSE create mode 100644 staticfiles/admin/img/README.txt create mode 100644 staticfiles/admin/img/calendar-icons.svg create mode 100644 staticfiles/admin/img/gis/move_vertex_off.svg create mode 100644 staticfiles/admin/img/gis/move_vertex_on.svg create mode 100644 staticfiles/admin/img/icon-addlink.svg create mode 100644 staticfiles/admin/img/icon-alert.svg create mode 100644 staticfiles/admin/img/icon-calendar.svg create mode 100644 staticfiles/admin/img/icon-changelink.svg create mode 100644 staticfiles/admin/img/icon-clock.svg create mode 100644 staticfiles/admin/img/icon-deletelink.svg create mode 100644 staticfiles/admin/img/icon-hidelink.svg create mode 100644 staticfiles/admin/img/icon-no.svg create mode 100644 staticfiles/admin/img/icon-unknown-alt.svg create mode 100644 staticfiles/admin/img/icon-unknown.svg create mode 100644 staticfiles/admin/img/icon-viewlink.svg create mode 100644 staticfiles/admin/img/icon-yes.svg create mode 100644 staticfiles/admin/img/inline-delete.svg create mode 100644 staticfiles/admin/img/search.svg create mode 100644 staticfiles/admin/img/selector-icons.svg create mode 100644 staticfiles/admin/img/sorting-icons.svg create mode 100644 staticfiles/admin/img/tooltag-add.svg create mode 100644 staticfiles/admin/img/tooltag-arrowright.svg create mode 100644 staticfiles/admin/js/SelectBox.js create mode 100644 staticfiles/admin/js/SelectFilter2.js create mode 100644 staticfiles/admin/js/actions.js create mode 100644 staticfiles/admin/js/admin/DateTimeShortcuts.js create mode 100644 staticfiles/admin/js/admin/RelatedObjectLookups.js create mode 100644 staticfiles/admin/js/autocomplete.js create mode 100644 staticfiles/admin/js/calendar.js create mode 100644 staticfiles/admin/js/cancel.js create mode 100644 staticfiles/admin/js/change_form.js create mode 100644 staticfiles/admin/js/core.js create mode 100644 staticfiles/admin/js/filters.js create mode 100644 staticfiles/admin/js/inlines.js create mode 100644 staticfiles/admin/js/jquery.init.js create mode 100644 staticfiles/admin/js/nav_sidebar.js create mode 100644 staticfiles/admin/js/popup_response.js create mode 100644 staticfiles/admin/js/prepopulate.js create mode 100644 staticfiles/admin/js/prepopulate_init.js create mode 100644 staticfiles/admin/js/theme.js create mode 100644 staticfiles/admin/js/unusable_password_field.js create mode 100644 staticfiles/admin/js/urlify.js create mode 100644 staticfiles/admin/js/vendor/jquery/LICENSE.txt create mode 100644 staticfiles/admin/js/vendor/jquery/jquery.js create mode 100644 staticfiles/admin/js/vendor/jquery/jquery.min.js create mode 100644 staticfiles/admin/js/vendor/select2/LICENSE.md create mode 100644 staticfiles/admin/js/vendor/select2/i18n/af.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ar.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/az.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/bg.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/bn.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/bs.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ca.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/cs.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/da.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/de.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/dsb.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/el.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/en.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/es.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/et.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/eu.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/fa.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/fi.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/fr.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/gl.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/he.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/hi.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/hr.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/hsb.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/hu.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/hy.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/id.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/is.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/it.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ja.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ka.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/km.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ko.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/lt.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/lv.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/mk.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ms.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/nb.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ne.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/nl.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/pl.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ps.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/pt-BR.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/pt.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ro.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/ru.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sk.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sl.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sq.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sr-Cyrl.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sr.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/sv.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/th.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/tk.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/tr.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/uk.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/vi.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/zh-CN.js create mode 100644 staticfiles/admin/js/vendor/select2/i18n/zh-TW.js create mode 100644 staticfiles/admin/js/vendor/select2/select2.full.js create mode 100644 staticfiles/admin/js/vendor/select2/select2.full.min.js create mode 100644 staticfiles/admin/js/vendor/xregexp/LICENSE.txt create mode 100644 staticfiles/admin/js/vendor/xregexp/xregexp.js create mode 100644 staticfiles/admin/js/vendor/xregexp/xregexp.min.js create mode 100644 staticfiles/bootstrap.min.css create mode 100644 staticfiles/css/bootstrap.min.css create mode 100644 staticfiles/css/styles.css create mode 100644 staticfiles/css/tabulator_bootstrap5.min.css create mode 100644 staticfiles/css/tabulator_bootstrap5.min.css:Zone.Identifier create mode 100644 staticfiles/gestion_conge/admin.py create mode 100644 staticfiles/gestion_conge/apps.py create mode 100644 staticfiles/gestion_conge/js/detail_conges.js create mode 100644 staticfiles/gestion_conge/js/index.js create mode 100644 staticfiles/gestion_employe/js/index.js create mode 100644 staticfiles/gestion_employe/js/mon_profil.js create mode 100644 staticfiles/gestion_projet/js/creation_projet.js create mode 100644 staticfiles/gestion_projet/js/enregistrement_bailleur.js create mode 100644 staticfiles/gestion_projet/js/enregistrement_financement.js create mode 100644 staticfiles/gestion_projet/js/index.js create mode 100644 staticfiles/gestion_projet/js/liste_documents_projet.js create mode 100644 staticfiles/gestion_projet/js/suivi-activites.js create mode 100644 staticfiles/gestion_salle/js/index.js create mode 100644 staticfiles/icons.css create mode 100644 staticfiles/img/cerfig.jpg create mode 100644 staticfiles/js/monprofil.js create mode 100644 staticfiles/js/rapport.js create mode 100644 staticfiles/js/sirh-index.js create mode 100644 staticfiles/styles.css diff --git a/.gitignore b/.gitignore index 071058a..d63a208 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,18 @@ +<<<<<<< HEAD db.sqlite3 venv/* media/* *.pyc -__pycache__/ \ No newline at end of file +__pycache__/ +======= +# db.sqlite3 +# venv/* +# media/* + +__pycache__/ +*.pyc + +db.sqlite3 +venv/ +.env +>>>>>>> c28b14f (clean: remove pycache from tracking) diff --git a/SIRH/__init__.py b/SIRH/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/SIRH/asgi.py b/SIRH/asgi.py new file mode 100644 index 0000000..061063b --- /dev/null +++ b/SIRH/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for SIRH project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'SIRH.settings') + +application = get_asgi_application() diff --git a/SIRH/settings.py b/SIRH/settings.py index ed7ef78..7a7073e 100644 --- a/SIRH/settings.py +++ b/SIRH/settings.py @@ -12,21 +12,37 @@ https://docs.djangoproject.com/en/5.2/ref/settings/ import os from pathlib import Path +<<<<<<< HEAD from decouple import config +======= +>>>>>>> c28b14f (clean: remove pycache from tracking) # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent +<<<<<<< HEAD +======= + +>>>>>>> c28b14f (clean: remove pycache from tracking) # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! +<<<<<<< HEAD SECRET_KEY = config('SECRET_KEY') # SECURITY WARNING: don't run with debug turned on in production! DEBUG = config('DEBUG', default=False, cast=bool) ALLOWED_HOSTS = config('ALLOWED_HOSTS', default=[]).split(',') +======= +SECRET_KEY = 'django-insecure--wdb9t(77rvyac$_q!n5gw86&0r(0&&j171v9h!-_$jahsza*5' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = False + +ALLOWED_HOSTS = ["https://support.cerfig.org", "support.cerfig.org"] +>>>>>>> c28b14f (clean: remove pycache from tracking) # Application definition @@ -79,6 +95,7 @@ WSGI_APPLICATION = 'SIRH.wsgi.application' # Database # https://docs.djangoproject.com/en/5.2/ref/settings/#databases +<<<<<<< HEAD if config('ENVIRONMENT') == 'local': DATABASES = { @@ -98,6 +115,26 @@ else: 'PORT': config('DATABASE_PORT'), } } +======= +# DATABASES = { +# 'default': { +# 'ENGINE': 'django.db.backends.mysql', +# 'NAME': 'sirh', +# 'USER': 'sirh', +# 'PASSWORD': 'sirh-cerfig', +# 'HOST': 'localhost', +# 'PORT': '3306', +# } +# } + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + +>>>>>>> c28b14f (clean: remove pycache from tracking) # Password validation # https://docs.djangoproject.com/en/5.2/ref/settings/#auth-password-validators diff --git a/SIRH/static/SIRH/PS1.jpg b/SIRH/static/SIRH/PS1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..17bba105289aa9cba45101a33fefe30e86173e4c GIT binary patch literal 59768 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⪼^)+M}0#-+Q*3#&pwI}2ozwT&EE;^AtEWp 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�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 literal 0 HcmV?d00001 diff --git a/SIRH/static/SIRH/cerfig.jpeg b/SIRH/static/SIRH/cerfig.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..da67c8972d876c9490f02c989b711cd546fabb18 GIT binary patch literal 184572 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

G=N75HO=|Z@3PQjZ&CFp%4TPzu4p~( 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 QOAzTVVOf>NB31wZ0KuFeQ~&?~ literal 0 HcmV?d00001 diff --git a/SIRH/static/SIRH/user.jpg b/SIRH/static/SIRH/user.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7ab6f31dc045c9a28ddb50686ea3f947779d80a9 GIT binary patch literal 86713 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 BBhLT; literal 0 HcmV?d00001 diff --git a/SIRH/static/templates/SIRH/index.html b/SIRH/static/templates/SIRH/index.html new file mode 100644 index 0000000..45447a8 --- /dev/null +++ b/SIRH/static/templates/SIRH/index.html @@ -0,0 +1,157 @@ +{% load static %} + + + + + + + PRINCICALA + + + + + + + + + + + +

+
+ + + + +
+

Bienvenue sur le tableau de bord

+ + +
+
+
+
Congés en attente
+ +

{{ nombre_conges_attente }}

+ +
+
+
+
+
Nombre Employés
+

{{ nombre_employes }}

+
+ + +
+
+
+
Projets en cours
+ +
+
+
+
+

+ La liste des employés en congé

+ + + + + + + + + + + + + + + {% for employe in personnes_en_conge %} + + + + + + + + {% empty %} + + + + {% endfor %} + +
EmployéType de congéDate de débutDate de finStatut
{{ employe.nom }} {{ employe.prenom }}{{ employe.type }}{{ employe.date_debut }}{{ employe.date_fin }} + {{ employe.statut }} + + +
Personne en conge
+
+
+ +
+
+ + + diff --git a/SIRH/static/templates/SIRH/login.html b/SIRH/static/templates/SIRH/login.html new file mode 100644 index 0000000..83546bd --- /dev/null +++ b/SIRH/static/templates/SIRH/login.html @@ -0,0 +1,197 @@ +{% load static %} + + + + + + Connexion SI-RH + + + + + + + + + + +
+ + + + +{% if messages %} + + + + +{% endif %} +
+ {% csrf_token %} +
+ + +
+
+ + + +
+ +
+ +

+ Mot de passe oublié ? +

+
+ + + + + {% if show_politique_modal %} + + + + + + + +> + + +{% endif %} + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIRH/static/templates/SIRH/menu_principal.html b/SIRH/static/templates/SIRH/menu_principal.html new file mode 100644 index 0000000..974f8bb --- /dev/null +++ b/SIRH/static/templates/SIRH/menu_principal.html @@ -0,0 +1,150 @@ +{% load static %} +{% load roles %} + + + + + + + PRINCICALA + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SIRH/static/templates/SIRH/message.html b/SIRH/static/templates/SIRH/message.html new file mode 100644 index 0000000..78ba3a4 --- /dev/null +++ b/SIRH/static/templates/SIRH/message.html @@ -0,0 +1,10 @@ + diff --git a/SIRH/static/templates/SIRH/monprofil.html b/SIRH/static/templates/SIRH/monprofil.html new file mode 100644 index 0000000..59c672f --- /dev/null +++ b/SIRH/static/templates/SIRH/monprofil.html @@ -0,0 +1,384 @@ +{% load static %} + + + + + + Profil utilisateur + + + + + + + + + + +
+
+ + {% include 'menu_principal.html' %} + + +
+ + {% if messages %} + + + {% endif %} + + + + + +
+ + {{ notifications_contrats|length }} +
+ + + + + + + +
+
+
+
+ +
+

+ Mon Profil +

+
+ +
+ +
+
+

Nom : {{ employe.last_name|default:"Non renseigné" }}

+

Prénom : {{ employe.first_name|default:"Non renseigné" }}

+

Matricule : {{ employe.matricule|default:"Non renseigné" }}

+
+
+

Département : {{ employe.departement|default:"Non renseigné" }}

+

Email : {{ employe.email|default:"Non renseigné" }}

+

Téléphone : {{ employe.telephone|default:"Non renseigné" }}

+
+
+ + +
Contrats
+ {% for contrat in contrats %} +
+
+
+

Numéro : {{ contrat.numero_contrat }}

+

Type : {{ contrat.type_contrat }}

+

Date début : {{ contrat.date_debut|date:"d/m/Y" }}

+

Date fin : {{ contrat.date_fin|date:"d/m/Y"|default:"Non précisée" }}

+
+
+

Salaire mensuel : + {% if contrat.salaire_mensuel %} + {{ contrat.salaire_mensuel }} GNF + {% else %} + Non précisé + {% endif %} +

+

Statut : + + {{ contrat.statut_auto }} + +

+

Solde congé : {{ contrat.solde_conge|default:"Non précisé" }} jours

+

Fichier : + {% if contrat.fichier_contrat %} + + Télécharger + + {% else %} + Aucun fichier + {% endif %} +

+
+
+
+ {% empty %} +

Aucun contrat trouvé.

+ {% endfor %} + + +
Projets
+
    + {% for a in affectations %} +
  • +
    + {{ a.projet.nom_projet }} - {{ a.temps_affectation }}% + {% if a.projet.statut %} + - {{ a.projet.statut }} + {% endif %} +
    + +
    + + +
    +
  • + {% empty %} +
  • Aucun projet assigné.
  • + {% endfor %} +
+
+ + + +
+
+
+
+ + {% for a in affectations %} + + + + {% endfor %} + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SIRH/static/templates/SIRH/parametre.html b/SIRH/static/templates/SIRH/parametre.html new file mode 100644 index 0000000..62b46d0 --- /dev/null +++ b/SIRH/static/templates/SIRH/parametre.html @@ -0,0 +1,223 @@ +{% load static %} + + + + + Paramètres RH + + + + + + + + + +
+
+ + {% include 'menu_principal.html' %} + + +
+ + +{% if messages %} + + + + + {% endif %} + +

Paramètres Administration

+ +
+ +
+
+
Départements
+ +
+ + + + + +
    + {% for d in departements %} +
  • + {{ d.nom }} +
    + + + + + + + +
    + {% csrf_token %} + + + +
    +
    +
  • + + + + + + + {% endfor %} +
+
+ + + +
+
+
Groupes et rôles
+ +
+ +
    + {% for g in groupes %} +
  • + {{ g.name }} + + + +
  • + {% endfor %} +
+
+
+ +
+
+
+ + + + diff --git a/SIRH/static/templates/SIRH/rapport.html b/SIRH/static/templates/SIRH/rapport.html new file mode 100644 index 0000000..7131aaa --- /dev/null +++ b/SIRH/static/templates/SIRH/rapport.html @@ -0,0 +1,205 @@ +{% load static %} + + + + + Tableau de Bord RH + + + + + + + + + +
+
+ {% include 'menu_principal.html' %} + +
+

Tableau de Bord RH

+ + + +
+
+ +
+
+ +
+
+ +
+
+ + +
+
Total Employés

{{ total_employes }}

+
Hommes

{{ hommes }}

+
Femmes

{{ femmes }}

+
Contrats expirants(2mois)

{{ expirants }}

+
+ +
+
Congés en attente
{{ conges_attente }}
+
Projets
(actifs / total)

{{ nb_projets_actifs }} / {{ nb_projets }}

+
Âge moyen
{{ age_moyen }} ans
+
+ + +
+
+
Répartition par Département
+
+
+
+
Répartition par genre
+
+
+
+ +
+
+
Projets (En cours / Terminés)
+
+
+ +
+
Projets par domaine de recherche
+
+
+
+ +
+
+
+ + + + diff --git a/SIRH/static/templates/SIRH/registration b/SIRH/static/templates/SIRH/registration new file mode 100644 index 0000000..e69de29 diff --git a/SIRH/static/templates/SIRH/rest.html b/SIRH/static/templates/SIRH/rest.html new file mode 100644 index 0000000..19f64e1 --- /dev/null +++ b/SIRH/static/templates/SIRH/rest.html @@ -0,0 +1,33 @@ +{% load static %} + + + + + Mot de passe oublié + + + + +
+

🔑 Réinitialiser le mot de passe

+ + {% if messages %} + {% for message in messages %} +
{{ message }}
+ {% endfor %} + {% endif %} + +
+ {% csrf_token %} +
+ + +
+ +
+

+ Retour à la connexion +

+
+ + diff --git a/SIRH/static/templates/SIRH/tiket.html b/SIRH/static/templates/SIRH/tiket.html new file mode 100644 index 0000000..74b353d --- /dev/null +++ b/SIRH/static/templates/SIRH/tiket.html @@ -0,0 +1,620 @@ +{% load static %} +{% load roles %} + + + + + + + Mes demandes + + + + + + +
+
+ + +
+ + + {% if notifications %} +
+ +
+ {% endif %} + + +{% if notifications_employe %} +
+ +
+{% endif %} + + + + + + + +

La liste des demandes de congés

+ +
+
+
+
+
Total Demandes
+

{{ total }}

+
+
+
+
+
+
+
Validés
+

{{ valides }}

+
+
+
+
+
+
+
Refusés
+

{{ refuses }}

+
+
+
+
+
+
+
En attente
+

{{ attentes }}

+
+
+
+
+ + + +{% if messages %} + + + + +{% endif %} + + + +
+

Liste

+ +
+ + + + + + + + + + + + + + + + + + + + + {% for conge in conges %} + + + + + + + + + + + + + + + + + +{% for conge in conges %} + +{% endfor %} + +{% for conge in conges %} + +{% endfor %} + + +{% for conge in conges %} + + +{% endfor %} + + + {% empty %} + + + + {% endfor %} + +
EmployeDate demandeTypeDate débutDate finNombre joursJours restantStatutActions
{{ conge.employe.first_name }} {{ conge.employe.last_name }}{{ conge.date_demande|date:"d/m/Y" }}{{ conge.type }}{{ conge.date_debut|date:"d/m/Y"}}{{ conge.date_fin|date:"d/m/Y" }}{{ conge.nombre_jours }}{{ conge.employe.solde_conge }} + {% if conge.statut == "Refusé" %} + Refusé + {% elif conge.statut == "Validé directeur" %} + Valide + {% elif conge.statut == "Validé chef" %} + Approuvé + {% elif conge.statut == "Refusé par chef" %} + Refusé + {% elif conge.statut == "En attente" %} + En attente + {% endif %} + + +{% if conge.statut == "En attente" and conge.employe == request.user %} + + + + + +{% endif %} + +
Aucune demande trouvée.
+ + + + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SIRH/static/templates/menu_principale.js b/SIRH/static/templates/menu_principale.js new file mode 100644 index 0000000..8a835dc --- /dev/null +++ b/SIRH/static/templates/menu_principale.js @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/SIRH/templates/SIRH/BASE.html b/SIRH/templates/SIRH/BASE.html new file mode 100644 index 0000000..5a0f392 --- /dev/null +++ b/SIRH/templates/SIRH/BASE.html @@ -0,0 +1,31 @@ +{% load static %} +{% load tags_personnaliser %} + + + + + + + + + + {% block 'css' %}{% endblock %} + {% block 'titre_page'%}{% endblock%} + + +
+
+ {% include 'parts/menu_principal.html' %} +
+ {% block 'contenu' %} {% endblock %} +
+
+ {% block 'modal' %} {% endblock %} +
+ + + + {% block 'js' %} {% endblock%} + + + diff --git a/SIRH/templates/SIRH/login.html b/SIRH/templates/SIRH/login.html new file mode 100644 index 0000000..801af39 --- /dev/null +++ b/SIRH/templates/SIRH/login.html @@ -0,0 +1,43 @@ +{% load static %} + + + + + + + + Login - SIRH + + +
+
+
+ +
Bienvenue sur les systèmes de gestion du CERFIG
+
+
+
+

Connexion

+ {% if messages %} + {% for message in messages %} +
{{message}}
+ {% endfor %} + {% endif %} + {% csrf_token %} +
+ + +
+
+ + + +
+ +
+
+
+
+ + \ No newline at end of file diff --git a/SIRH/templates/SIRH/parts/menu_principal.html b/SIRH/templates/SIRH/parts/menu_principal.html new file mode 100644 index 0000000..64ee3a5 --- /dev/null +++ b/SIRH/templates/SIRH/parts/menu_principal.html @@ -0,0 +1,56 @@ +{% load static %} +{% load tags_personnaliser %} + +
+
+ {% if user.employe.photo %} + + {% else %} + + {% endif %} +
+ {{ user.username }} +
+
+ + + Mon profil + + {% if user|has_group:"ressource_humaine" or user|has_group:"direction" %} + + Tableau de bord + + {% endif %} + {% if user|has_group:"ressource_humaine" or user|has_group:"direction" %} + + Gestion des Projets + + {% endif %} + + Gestion des congés + + {% if user|is_chef_projet %} + + Suivi des Activités + + {% endif %} + + Réservation + + {% comment %} + Rapports et Statistiques + {% endcomment %} + {% comment %} + Gestion des Utilisateurs + {% endcomment %} + {% comment %} + Paramètres + {% endcomment %} + + Déconnexion + +
\ No newline at end of file diff --git a/SIRH/urls.py b/SIRH/urls.py new file mode 100644 index 0000000..50b9078 --- /dev/null +++ b/SIRH/urls.py @@ -0,0 +1,67 @@ +""" +URL configuration for SIRH project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.2/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import include, path +from django.conf.urls.static import static +from django.conf import settings +# from simple_sso.sso_server.server import Server + +from . import views + +# server_sso = Server() + +urlpatterns = [ + path( + '', + views.login_view, + name='index' + ), + + path('login/', + views.login_view, + name='login' + ), + path( + 'deconnexion/', + views.deconnexion_view, + name='deconnexion' + ), + path( + 'employé/', + include("gestion_employe.urls") + ), + path( + 'gestion-conge/', + include("gestion_conge.urls") + ), + path( + 'gestion-projet/', + include("gestion_projet.urls") + ), + path( + 'gestion-salle/', + include("gestion_salle.urls") + ), + path( + 'admin/', + admin.site.urls + ), + # path( + # 'sso', + # include(server_sso.get_urls()) + # ) +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/SIRH/views.py b/SIRH/views.py new file mode 100644 index 0000000..77a057d --- /dev/null +++ b/SIRH/views.py @@ -0,0 +1,37 @@ +from django.contrib.auth import authenticate, login, logout +from django.shortcuts import render, redirect +from django.contrib import messages + +def login_view(request): + """ + Gère la connexion des utilisateurs avec redirection selon le rôle et + vérification de l'acceptation de la politique d'utilisation. + """ + if request.method == 'POST': + email = request.POST.get('mail') + password = request.POST.get('mot_de_passe') + + if not (email and password): + messages.error(request, "Veuillez remplir tous les champs.") + return render(request, 'login.html') + + user = authenticate(request, username=email, password=password) + + if user is None: + messages.error(request, "Nom d’utilisateur ou mot de passe incorrect.") + return render(request, 'login.html') + + if not user.is_active: + messages.error(request, "Compte inactif. Contactez l'administrateur.") + return render(request, 'login.html') + + login(request, user) + + return redirect("gestion_conges:conge") + + return render(request, 'login.html') + +def deconnexion_view(request): + """Gère la déconnexion de l'utilisateur.""" + logout(request) + return redirect('login') \ No newline at end of file diff --git a/SIRH/wsgi.py b/SIRH/wsgi.py new file mode 100644 index 0000000..5f96c06 --- /dev/null +++ b/SIRH/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for SIRH project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'SIRH.settings') + +application = get_wsgi_application() diff --git a/fonction_utilitaire/fonctions_utilitaire.py b/fonction_utilitaire/fonctions_utilitaire.py new file mode 100644 index 0000000..1ccdba0 --- /dev/null +++ b/fonction_utilitaire/fonctions_utilitaire.py @@ -0,0 +1,34 @@ +from django.utils import timezone +from gestion_employe.models import Contrat +from gestion_conge.models import Conge + + +QUOTA_CONGE_ANNUEL = 30 +NOMBRE_PAGINATION = 8 +DEBUT_RAPPEL = 60 +DUREE_FIN_CONTRAT = 90 + +def solde_conge(employe): + """Fonction de calcul du solde de congé restant l'employé""" + contrat = Contrat.objects.filter(employe=employe, statut='actif').order_by('-date_debut').first() + + if contrat is None or not contrat.date_debut: + return { + "success": False, + "message": "Votre contrat de travail n'a pas été correctement renseigner. Veuillez contacter les ressources humaines." + } + + conges = Conge.objects.filter(employe=employe, validation_direction=True, date_fin__year = timezone.now().date().year) + jours_conges_valider = sum([conge.nombre_jours for conge in conges]) + + if jours_conges_valider >= QUOTA_CONGE_ANNUEL: + return { + "success": False, + "message": "Vous avez atteint le nombre maximal de jours de congés. Veuillez contacter l'administration." + } + + return { + "success": True, + "quota_annuel": QUOTA_CONGE_ANNUEL - jours_conges_valider, + "nombre_jours_valide": jours_conges_valider + } \ No newline at end of file diff --git a/gestion_conge/__init__.py b/gestion_conge/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_conge/admin.py b/gestion_conge/admin.py new file mode 100644 index 0000000..ea5d68b --- /dev/null +++ b/gestion_conge/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/gestion_conge/apps.py b/gestion_conge/apps.py new file mode 100644 index 0000000..c320df3 --- /dev/null +++ b/gestion_conge/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class GestionCongeConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'gestion_conge' diff --git a/gestion_conge/forms.py b/gestion_conge/forms.py new file mode 100644 index 0000000..65a7291 --- /dev/null +++ b/gestion_conge/forms.py @@ -0,0 +1,17 @@ +from django import forms +from .models import Conge + +class CongeForm(forms.ModelForm): + """Formulaire de demande de congé.""" + class Meta: + model = Conge + fields =['type', 'date_debut', 'date_fin'] + widgets = { + 'date_debut': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), + 'date_fin': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), + 'type': forms.Select(attrs={'class': 'form-select'}), + } + + labels = { + 'nombre_jours':'Nombre de jours', + } \ No newline at end of file diff --git a/gestion_conge/migrations/0001_initial.py b/gestion_conge/migrations/0001_initial.py new file mode 100644 index 0000000..6a7e09d --- /dev/null +++ b/gestion_conge/migrations/0001_initial.py @@ -0,0 +1,30 @@ +# Generated by Django 5.2.13 on 2026-04-17 12:03 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('gestion_employe', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Conge', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_debut', models.DateField(verbose_name='Date de Début')), + ('date_fin', models.DateField(verbose_name='Date de Fin')), + ('type', models.CharField(choices=[('conge_annuel', 'Conge Annuel')], max_length=100, verbose_name='Type de Congé')), + ('date_demande', models.DateField(auto_now_add=True, verbose_name='Date de Demande')), + ('validation_hierarchique', models.BooleanField(default=None, null=True)), + ('validation_direction', models.BooleanField(default=None, null=True)), + ('motif_refus', models.TextField(blank=True, null=True)), + ('employe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='employe', to='gestion_employe.employe')), + ], + ), + ] diff --git a/gestion_conge/migrations/__init__.py b/gestion_conge/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_conge/models.py b/gestion_conge/models.py new file mode 100644 index 0000000..f72bbe8 --- /dev/null +++ b/gestion_conge/models.py @@ -0,0 +1,36 @@ +import pandas as pd +from django.db import models +from gestion_employe.models import Employe + +class Conge(models.Model): + """Modèle de création des congés""" + TYPE_CHOICES = [ + # ('maladie', 'Maladie'), + ('conge_annuel', 'Conge Annuel'), + # ('conge_maternite', 'Conge Maternité'), + # ('conge_mariage', 'Conge Mariage'), + # ('conge_naissance', 'Conge de Naissance'), + # ('conge_deces_proche', 'Conge de décès d\'un proche'), + # ('conge_mariage_proche', 'Conge de mariage d\'un proche'), + # ('autre', 'Autre'), + ] + + employe = models.ForeignKey( + Employe, + on_delete=models.CASCADE, + related_name="employe" + ) + date_debut = models.DateField(verbose_name='Date de Début') + date_fin = models.DateField(verbose_name='Date de Fin') + type = models.CharField(max_length=100, choices=TYPE_CHOICES, verbose_name='Type de Congé') + date_demande = models.DateField(auto_now_add=True, verbose_name="Date de Demande") + validation_hierarchique = models.BooleanField(default=None, null=True) + validation_direction = models.BooleanField(default=None, null=True) + + motif_refus = models.TextField(blank=True, null=True) + + @property + def nombre_jours(self): + if self.date_debut and self.date_fin: + jours = pd.bdate_range(start=self.date_debut, end=self.date_fin) + return len(jours) \ No newline at end of file diff --git a/gestion_conge/static/gestion_conge/js/detail_conges.js b/gestion_conge/static/gestion_conge/js/detail_conges.js new file mode 100644 index 0000000..fd39b94 --- /dev/null +++ b/gestion_conge/static/gestion_conge/js/detail_conges.js @@ -0,0 +1,75 @@ +const bouton_enregistrer_detail = document.getElementById("bouton-enregistrer-detail-conge"); + +if(bouton_enregistrer_detail){ + bouton_enregistrer_detail.addEventListener("click", () => { + const form = document.getElementById("form-detail-conge"); + const csrftoken = new FormData(form).get("csrfmiddlewaretoken"); + const actionUrl = form.action; + const id_conge = document.getElementById("id_conge").value; + const validation_hierarchique_input = document.querySelector('input[name="validation_hierarchique"]:checked'); + const validation_hierarchique = validation_hierarchique_input ? validation_hierarchique_input.value : null; + const validation_direction_input = document.querySelector('input[name="validation_direction"]:checked'); + const validation_direction = validation_direction_input ? validation_direction_input.value : null; + const motif_refus = document.getElementById("motif_refus").value; + + fetch(actionUrl, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-CSRFToken": csrftoken + }, + body: JSON.stringify({ + id_conge, + validation_hierarchique, + validation_direction, + motif_refus + }) + }) + .then(response => response.json()) + .then(data => { + alert(data.message); + navigation.reload(); + }); + }) +} + +if(document.getElementById("validation_hierarchique_refuse")){ + document.getElementById("validation_hierarchique_refuse").addEventListener('click', function(){ + if(this.checked){ + alert("coucou"); + document.getElementById("motif_refus_container").className="d-block form-group mt-3"; + }else{ + document.getElementById("motif_refus_container").className="d-none"; + } + }) +} + +if(document.getElementById("validation_hierarchique_refuse")){ + document.getElementById("validation_hierarchique_refuse").addEventListener('click', function(){ + if(this.checked){ + document.getElementById("motif_refus_container").className="d-block form-group mt-3"; + }else{ + document.getElementById("motif_refus_container").className="d-none"; + } + }) +} + +if(document.getElementById("validation_hierarchique_valide")){ + document.getElementById("validation_hierarchique_valide").addEventListener('click', function(){ + if(this.checked){ + document.getElementById("motif_refus_container").className="d-none"; + }else{ + document.getElementById("motif_refus_container").className="d-block form-group mt-3"; + } + }) +} + +if(document.getElementById("validation_direction_valide")){ + document.getElementById("validation_direction_valide").addEventListener('click', function(){ + if(this.checked){ + document.getElementById("motif_refus_container").className="d-block form-group mt-3"; + }else{ + document.getElementById("motif_refus_container").className="d-none"; + } + }) +} \ No newline at end of file diff --git a/gestion_conge/static/gestion_conge/js/index.js b/gestion_conge/static/gestion_conge/js/index.js new file mode 100644 index 0000000..1d156cf --- /dev/null +++ b/gestion_conge/static/gestion_conge/js/index.js @@ -0,0 +1,71 @@ +const $ = (element) => document.getElementById(element); + +const url_liste_conge_attente = $("liste-demande-conges").dataset.url + +const tableau_liste_demande_conge = new Tabulator("#liste-demande-conges", { + layout : "fitColumns", + columns: [ + {"title": "Nom et Prénom", "field": "prenom_nom"}, + {"title": "Date de début", "field": "date_debut", formatter:"datetime", formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + {"title": "Date de fin", "field": "date_fin", formatter:"datetime", formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + {"title": "Type de congé", "field": "type"}, + {"title": "Date de la demande", "field": "date_demande"}, + {"title": "Validation par supérieur hiérarchique", "field": "validation_hierarchique", formatter:"tickCross", formatterParams :{ + allowEmpty : true , + }}, + {"title": "Validation par supérieur hiérarchique", "field": "validation_direction", formatter:"tickCross", formatterParams :{ + allowEmpty : true , + }}, + ], + pagination: true, + paginationSize: 5 +}) + +const bouton_demande_conges = $("bouton-demande-conge"); + +bouton_demande_conges.addEventListener("click", (e) => { + var modalDemandeConge = new bootstrap.Modal(document.getElementById('modalDemandeConge')); + modalDemandeConge.show(); +}) + +tableau_liste_demande_conge.on("rowClick", function(row, rowData) { + const data = rowData.getData(); + $("id_conge").value = data.id; + $("employe").value = data.prenom_nom; + $("type_conge").value = data.type; + $("date_debut").value = data.date_debut; + $("date_fin").value = data.date_fin; + $("date_demande").value = data.date_demande; + $("nombre_jours").value = data.nombre_jours; + $("solde_restant").value = data.solde_conge; + $("motif_refus").value = data.motif_refus; + + if($("validation_hierarchique_valide") & $("validation_hierarchique_refuse")){ + $("validation_hierarchique_valide").checked = data.validation_hierarchique === true; + $("validation_hierarchique_refuse").checked = data.validation_hierarchique === false; + } + + if($("validation_direction_valide") & $("validation_direction_refuse")){ + $("validation_direction_valide").checked = data.validation_direction === true; + $("validation_direction_refuse").checked = data.validation_direction === false; + } + + const modal = new bootstrap.Modal(document.getElementById('detailsCongeModal')); + modal.show(); +}); + +fetch(url_liste_conge_attente) + .then(response => response.json()) + .then(data => { + if(data.success === true){ + tableau_liste_demande_conge.setData(data.data) + }else{ + alert(data.message) + } + }) diff --git a/gestion_conge/templates/gestion_conge/index.html b/gestion_conge/templates/gestion_conge/index.html new file mode 100644 index 0000000..17d1ff6 --- /dev/null +++ b/gestion_conge/templates/gestion_conge/index.html @@ -0,0 +1,51 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des congés {% endblock %} +{% block 'contenu' %} + {% if messages %} + {% for message in messages %} +
{{message}}
+ {% endfor %} + {% endif %} +
+
+
+ Congés refusés +
+
+
{{ nombre_conges_refuse }}
+
+
+
+
+ Congés en attente +
+
+
{{ nombre_conges_en_attente }}
+
+
+
+
+ Congés Validé +
+
+
{{ nombre_conges_valide }}
+
+
+
+

Liste des demandes de congé

+ +
+
+
+
+
+{% endblock %} +{% block 'modal' %} + {% include 'gestion_conge/parts/modalDemandeConge.html' %} + {% include 'gestion_conge/parts/modalDetailConge.html' %} +{% endblock %} +{% block 'js' %} + + +{% endblock %} \ No newline at end of file diff --git a/gestion_conge/templates/gestion_conge/parts/modalDemandeConge.html b/gestion_conge/templates/gestion_conge/parts/modalDemandeConge.html new file mode 100644 index 0000000..511d7dc --- /dev/null +++ b/gestion_conge/templates/gestion_conge/parts/modalDemandeConge.html @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/gestion_conge/templates/gestion_conge/parts/modalDetailConge.html b/gestion_conge/templates/gestion_conge/parts/modalDetailConge.html new file mode 100644 index 0000000..d3d3051 --- /dev/null +++ b/gestion_conge/templates/gestion_conge/parts/modalDetailConge.html @@ -0,0 +1,92 @@ + \ No newline at end of file diff --git a/gestion_conge/templates/gestion_conge/parts/modalModificationConge.html b/gestion_conge/templates/gestion_conge/parts/modalModificationConge.html new file mode 100644 index 0000000..7a920ca --- /dev/null +++ b/gestion_conge/templates/gestion_conge/parts/modalModificationConge.html @@ -0,0 +1,48 @@ +{% for conge in conges %} + +{% endfor %} diff --git a/gestion_conge/templates/gestion_conge/parts/modalRefus.html b/gestion_conge/templates/gestion_conge/parts/modalRefus.html new file mode 100644 index 0000000..ab358f2 --- /dev/null +++ b/gestion_conge/templates/gestion_conge/parts/modalRefus.html @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/gestion_conge/tests.py b/gestion_conge/tests.py new file mode 100644 index 0000000..de8bdc0 --- /dev/null +++ b/gestion_conge/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/gestion_conge/urls.py b/gestion_conge/urls.py new file mode 100644 index 0000000..c8b0511 --- /dev/null +++ b/gestion_conge/urls.py @@ -0,0 +1,27 @@ +from django.urls import path +from . import views + +app_name = "gestion_conges" + +urlpatterns = [ + path( + '', + views.index, + name='conge' + ), + path( + 'demande_conge/', + views.demander_conge, + name='demande-conge' + ), + path( + 'liste-des-conges/', + views.liste_demande_conges, + name='liste-des-conges' + ), + path( + 'validation-des-conges/', + views.validation_de_conge, + name='validation-des-conges' + ), +] \ No newline at end of file diff --git a/gestion_conge/views.py b/gestion_conge/views.py new file mode 100644 index 0000000..0b92e84 --- /dev/null +++ b/gestion_conge/views.py @@ -0,0 +1,225 @@ +import json +from django.http import JsonResponse +from django.shortcuts import redirect, render +from django.contrib import messages +from django.contrib.auth.decorators import login_required +from gestion_conge.forms import CongeForm +from gestion_employe.models import Affectation, Employe +from django.forms.models import model_to_dict +from django.utils import timezone +from django.db.models import Q +from fonction_utilitaire import fonctions_utilitaire +from .models import Conge + +@login_required +def index(request): + """Vue de gestion de l'index""" + + employe = Employe.objects.get(user__username = request.user) + membre_direction = 'direction' in employe.user.groups.values_list('name', flat=True) + + try: + affectation = Affectation.objects.get(employe = employe, date_fin_daffectation__gte = timezone.now().date()) + except Affectation.DoesNotExist: + affectation = None + + try: + projet = Affectation.objects.get(employe=employe, date_fin_daffectation__gte = timezone.now().date()) + except Affectation.DoesNotExist: + pass + + if employe.chef: + nombre_conges_valide = Conge.objects.filter(validation_hierarchique = True, employe__departement = employe.departement).count() + nombre_conges_refuse = Conge.objects.filter(validation_hierarchique = False, employe__departement = employe.departement).count() + conges_en_attente = Conge.objects.filter(validation_hierarchique = None, employe__departement = employe.departement).order_by('-date_demande') + + elif membre_direction: + nombre_conges_valide = Conge.objects.filter(validation_direction = True).count() + nombre_conges_refuse = Conge.objects.filter(validation_direction = False).count() + conges_en_attente = Conge.objects.filter(validation_hierarchique = True, validation_direction = None).order_by('-date_demande') + + elif affectation and affectation.role == "chef_projet": + employes_du_projet = Affectation.objects.filter( + projet = projet.projet, + date_fin_daffectation__gte = timezone.now().date() + ).values('employe') + + nombre_conges_valide = Conge.objects.filter( + employe__in = employes_du_projet, + validation_hierarchique = True + ).count() + + nombre_conges_refuse = Conge.objects.filter( + Q(employe__in = employes_du_projet) & + (Q(validation_hierarchique = False) | Q(validation_direction = False)) + ).count() + + conges_en_attente = Conge.objects.filter( + Q(employe__in = employes_du_projet) & + ( + Q(validation_hierarchique__isnull = True) | Q(validation_direction__isnull = True) + ) + ).exclude( + Q(validation_hierarchique = True) | Q(validation_hierarchique = False) | + Q(validation_direction = True) | Q(validation_direction = False) + ).order_by('-date_demande') + + else: + nombre_conges_valide = Conge.objects.filter( + employe=employe, + validation_direction = True + ).count() + + nombre_conges_refuse = Conge.objects.filter(Q(employe=employe) & ( + Q(validation_direction = False) | Q(validation_hierarchique = False) + )).count() + + conges_en_attente = Conge.objects.filter( + Q(employe = employe) & + ( + Q(validation_direction__isnull = True) | Q(validation_hierarchique__isnull = True) + ) + ).exclude( + Q(validation_hierarchique = True) | Q(validation_hierarchique = False) + ).order_by('-date_demande') + + + return render(request, 'gestion_conge/index.html', { + "nombre_conges_valide": nombre_conges_valide, + "nombre_conges_refuse": nombre_conges_refuse, + "nombre_conges_en_attente": conges_en_attente.count(), + "formulaire_demande_conge": CongeForm, + "employe_est_il_chef": employe.chef, + "membre_de_la_direction": membre_direction, + "est_chef_projet": affectation.role == "chef_projet" if affectation else False, + }) + +@login_required +def demander_conge(request): + """Vue de gestion des demandes de congés""" + try: + employe = Employe.objects.get(user__username = request.user) + except Employe.DoesNotExist: + messages.error(request, "Votre demande de congé a échoué car votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'administrateur.") + return redirect("gestion_conges:conge") + + retour_quota = fonctions_utilitaire.solde_conge(employe) + if retour_quota["success"]: + quota_annuel = retour_quota['quota_annuel'] + else: + messages.error(request, retour_quota['message']) + return redirect("gestion_conges:conge") + + if request.method == "POST": + form = CongeForm(request.POST, request.FILES) + if form.is_valid(): + conge_obj = form.save(commit=False) + conge_obj.employe = employe + + if conge_obj.type == "conge_annuel": + if retour_quota["nombre_jours_valide"] + conge_obj.nombre_jours > quota_annuel: + messages.error(request, "Quota annuel dépassé (30 jours max).") + return redirect("gestion_conges:conge") + + conge_obj.save() + messages.success(request, "Votre demande de congé a été enregistrée.") + return redirect("gestion_conges:conge") + + return redirect("gestion_conges:conge") + +@login_required +def liste_demande_conges(request): + """Vue de liste des demandes de congés en attente de validation selon le statut de l'utilisateur actuel""" + try: + employe = Employe.objects.get(user__username = request.user) + except Employe.DoesNotExist: + return JsonResponse({ + "success": False, + "message": "Votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'administrateur." + }) + + try: + affectation = Affectation.objects.get( + employe=employe, + date_fin_daffectation__gte=timezone.now().date() + ) + except Affectation.DoesNotExist: + affectation = None + + if employe.chef: + print("chef") + conges_en_attente = Conge.objects.filter( + employe__departement = employe.departement, + validation_hierarchique = None + ).order_by('-date_demande') + + elif affectation and affectation.role == "chef_projet": + employes_du_projet = Affectation.objects.filter( + projet = affectation.projet, + date_fin_daffectation__gte = timezone.now().date() + ).values('employe') + + conges_en_attente = Conge.objects.filter( + employe__in = employes_du_projet, + validation_hierarchique = None + ).order_by('-date_demande') + + elif 'direction' in employe.user.groups.values_list('name', flat=True): + conges_en_attente = Conge.objects.filter( + validation_hierarchique = True, + validation_direction = None + ).order_by('-date_demande') + + else: + conges_en_attente = Conge.objects.filter( + employe__user__username = request.user + ).order_by('-date_demande') + + return JsonResponse({ + "success": True, + "data":[ + { + **model_to_dict(conge), + "prenom_nom": f"{conge.employe.user.first_name} {conge.employe.user.last_name}", + "date_demande": conge.date_demande, + "nombre_jours": conge.nombre_jours, + "type": dict(conge.TYPE_CHOICES).get(conge.type), + "solde_conge": fonctions_utilitaire.solde_conge(conge.employe)["quota_annuel"] + } + for conge in conges_en_attente]}, + safe=False + ) + +@login_required +def validation_de_conge(request): + """ + Vue de validation de conges par le superieur hierarchique. + 1- Si l'employe appartient à un département, le congé est validé par le chef de département. + 2- Si l'employé n'appartient pas à un département, le congé est validé par le chef de projet. + """ + request_data = json.loads(request.body) + conge_id = request_data.get("id_conge", None) + try: + conge = Conge.objects.get(id=conge_id) + except conge.DoesNotExist: + return JsonResponse({"message": "Le congé selectionné n'existe pas."}) + + if request.method == "POST": + validation_hierarchique = request_data.get("validation_hierarchique", None) + validation_direction = request_data.get("validation_direction", None) + motif_refus = request_data.get("motif_refus", "") + + if validation_hierarchique is not None: + conge.validation_hierarchique = True if validation_hierarchique == "valide" else False + if validation_hierarchique == "refuse" and not motif_refus: + return JsonResponse({"message": "Veuillez fournir un motif de refus."}) + conge.motif_refus = motif_refus if validation_hierarchique == "refuse" else "" + + if validation_direction is not None: + conge.validation_direction = True if validation_direction == "valide" else False + if validation_direction == "refuse" and not motif_refus: + return JsonResponse({"message": "Veuillez fournir un motif de refus."}) + conge.motif_refus = motif_refus if validation_direction == "refuse" else "" + + conge.save() + return JsonResponse({"message": "La décision a été enregistrée avec succès."}) \ No newline at end of file diff --git a/gestion_employe/__init__.py b/gestion_employe/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_employe/admin.py b/gestion_employe/admin.py new file mode 100644 index 0000000..03e7ed2 --- /dev/null +++ b/gestion_employe/admin.py @@ -0,0 +1,14 @@ +from django.contrib import admin +from .models import Departement, Employe + +@admin.register(Departement) +class DepartementAdmin(admin.ModelAdmin): + list_display = ("nom", ) + +@admin.register(Employe) +class EmployeAdmin(admin.ModelAdmin): + list_display = ( + "user", + "matricule", + "fonction", + ) \ No newline at end of file diff --git a/gestion_employe/forms.py b/gestion_employe/forms.py new file mode 100644 index 0000000..55fab64 --- /dev/null +++ b/gestion_employe/forms.py @@ -0,0 +1,84 @@ +from django import forms +from .models import Contrat, Departement, Employe,Affectation,Formation + +class EmployeForm(forms.ModelForm): + """Formulaire pour modifier les informations de profil d'un employé""" + class Meta: + model = Employe + fields = ( + 'adresse', + 'telephone', + 'CV', + 'diplome', + 'rib', + 'photo', + 'casier_judiciaire' + ) + +class AffectationForm(forms.ModelForm): + class Meta: + model = Affectation + fields = ( + 'projet', + 'date_affectation', + 'date_fin_daffectation', + 'role', + 'pourcentage_temps_affectation' + ) + + widgets = { + 'projet': forms.Select(attrs={'class': 'form-select'}), + 'date_affectation': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'date_fin_daffectation': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'role': forms.Select(attrs={'class': 'form-select'}), + 'pourcentage_temps_affectation': forms.NumberInput(attrs={'class': 'form-control'}), + } + +class ContratForm(forms.ModelForm): + class Meta: + model = Contrat + fields = [ + "numero_contrat", + "type_contrat", + "date_debut", + "date_fin", + "salaire_mensuel", + "statut", + "fichier_contrat" + ] + + widgets = { + 'numero_contrat': forms.TextInput(attrs={'class': 'form-control'}), + 'type_contrat': forms.Select(attrs={'class': 'form-select'}), + 'date_debut': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'date_fin': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'salaire_mensuel': forms.TextInput(attrs={'class': 'form-control'}), + 'statut': forms.Select(attrs={'class': 'form-select'}), + 'fichier_contrat': forms.FileInput(attrs={'class': 'form-control'}), + } + +class DepartementForm(forms.ModelForm): + class Meta: + model = Departement + fields = ['nom'] + +class FormationForm(forms.ModelForm): + class Meta: + model = Formation + fields = [ + 'titre', + 'organisme', + 'date_obtention', + 'date_fin', + 'description', + 'certificat' + ] + + widgets = { + 'titre': forms.TextInput(attrs={"class": "form-control"}), + 'organisme': forms.TextInput(attrs={"class": "form-control"}), + 'date_obtention': forms.DateInput(attrs={"class": "form-control", "type": "date"}), + 'date_fin': forms.DateInput(attrs={"class": "form-control", "type": "date"}), + 'description': forms.Textarea(attrs={"class": "form-control"}), + 'certificat': forms.FileInput(attrs={"class": "form-control"}), + } \ No newline at end of file diff --git a/gestion_employe/migrations/0001_initial.py b/gestion_employe/migrations/0001_initial.py new file mode 100644 index 0000000..26edccb --- /dev/null +++ b/gestion_employe/migrations/0001_initial.py @@ -0,0 +1,88 @@ +# Generated by Django 5.2.13 on 2026-04-17 12:03 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('gestion_projet', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Departement', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nom', models.CharField(max_length=100)), + ], + ), + migrations.CreateModel( + name='Employe', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('matricule', models.CharField(blank=True, max_length=10, null=True, unique=True)), + ('fonction', models.CharField(blank=True, choices=[('directeur', 'Directeur'), ('assistant_direction', 'Assistante de direction'), ('comptable', 'Comptable'), ('raf', 'RAF'), ('data_manager', 'Data Manager'), ('logisticien', 'Logisticien'), ('post_doctorant', 'Post-Doctorant'), ('qualiticien', 'Qualiticien'), ('technicien_surface', 'Technicien de surface'), ('chauffeur', 'Chauffeur')], max_length=50, null=True)), + ('date_embauche', models.DateField(blank=True, null=True)), + ('adresse', models.CharField(blank=True, max_length=100, null=True)), + ('telephone', models.CharField(blank=True, max_length=15, null=True)), + ('sexe', models.CharField(blank=True, choices=[('m', 'Masculin'), ('f', 'Féminin')], max_length=1, null=True)), + ('date_naissance', models.DateField(blank=True, null=True)), + ('CV', models.FileField(blank=True, null=True, upload_to='cv/')), + ('diplome', models.FileField(blank=True, null=True, upload_to='diplomes/')), + ('rib', models.FileField(blank=True, null=True, upload_to='rib/')), + ('photo', models.ImageField(blank=True, null=True, upload_to='photos/')), + ('casier_judiciaire', models.FileField(blank=True, null=True, upload_to='casier/')), + ('chef', models.BooleanField(default=False, verbose_name='Cet utilisateur est-il chef de ce département ?')), + ('departement', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='gestion_employe.departement')), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.CreateModel( + name='Contrat', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('numero_contrat', models.CharField(max_length=100, unique=True)), + ('type_contrat', models.CharField(choices=[('contrat_duree_determinee', 'Contrat à Durée Déterminée'), ('contrat_duree_indeterminee', 'Contrat à Durée Indéterminée'), ('contrat_prestation', 'Contrat de Prestation de Service'), ('contrat_stage', 'Contrat de Stage')], max_length=50)), + ('date_debut', models.DateField()), + ('date_fin', models.DateField(blank=True, null=True)), + ('salaire_mensuel', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)), + ('statut', models.CharField(choices=[('actif', 'Actif'), ('termine', 'Terminé'), ('suspendu', 'Suspendu'), ('rupture_contrat', 'Rupture de Contrat')], max_length=50)), + ('fichier_contrat', models.FileField(blank=True, null=True, upload_to='contrats/')), + ('employe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_employe.employe')), + ], + ), + migrations.CreateModel( + name='Formation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('titre', models.CharField(max_length=255, verbose_name='Nom du certificat')), + ('organisme', models.CharField(max_length=255, verbose_name="Nom de l'organisme")), + ('description', models.TextField(blank=True, null=True, verbose_name='Description de la formation')), + ('date_obtention', models.DateField(blank=True, null=True, verbose_name="Date d'obtention")), + ('date_fin', models.DateField(blank=True, null=True, verbose_name='Date de fin de validité')), + ('certificat', models.FileField(blank=True, null=True, upload_to='documents/formations/', verbose_name='Certificat (PDF/Image)')), + ('employe', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='employe_formation', to='gestion_employe.employe')), + ], + ), + migrations.CreateModel( + name='Affectation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_affectation', models.DateField()), + ('date_fin_daffectation', models.DateField(blank=True, null=True)), + ('role', models.CharField(choices=[('chef_projet', 'Chef de projet'), ('doctorant', 'Doctorant'), ('mastorant', 'Mastorant'), ('consultant', 'Consultant'), ('stagiaire', 'Stagiaire'), ('laborantin', 'Laborantin'), ('medecin', 'Médecin'), ('autre', 'Autre')], default='Membre', max_length=20)), + ('pourcentage_temps_affectation', models.DecimalField(decimal_places=2, max_digits=5)), + ('projet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_projet.projet')), + ('employe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_employe.employe')), + ], + options={ + 'unique_together': {('projet', 'employe')}, + }, + ), + ] diff --git a/gestion_employe/migrations/0002_alter_contrat_type_contrat.py b/gestion_employe/migrations/0002_alter_contrat_type_contrat.py new file mode 100644 index 0000000..4fd9717 --- /dev/null +++ b/gestion_employe/migrations/0002_alter_contrat_type_contrat.py @@ -0,0 +1,18 @@ +# Generated by Django 6.0.4 on 2026-04-29 10:42 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('gestion_employe', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='contrat', + name='type_contrat', + field=models.CharField(choices=[('contrat_duree_determinee', 'Contrat à Durée Déterminée'), ('contrat_duree_indeterminee', 'Contrat à Durée Indéterminée'), ('contrat_prestation', 'Contrat de Prestation de Service'), ('contrat_stage', 'Contrat de Stage'), ('convention_bourse_entretien', "Convention de bourse d'entretien")], max_length=50), + ), + ] diff --git a/gestion_employe/migrations/__init__.py b/gestion_employe/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_employe/models.py b/gestion_employe/models.py index 2570d6f..60c4d7b 100644 --- a/gestion_employe/models.py +++ b/gestion_employe/models.py @@ -15,7 +15,10 @@ class Employe(models.Model): FONCTION_LISTE = [ ('directeur', 'Directeur'), ('assistant_direction', 'Assistante de direction'), +<<<<<<< HEAD ('assistant_technique_recherche', 'Assistant technique de recherche'), +======= +>>>>>>> c28b14f (clean: remove pycache from tracking) ('comptable', 'Comptable'), ('raf', 'RAF'), ('data_manager', 'Data Manager'), diff --git a/gestion_employe/static/gestion_employe/js/index.js b/gestion_employe/static/gestion_employe/js/index.js new file mode 100644 index 0000000..95eb1d8 --- /dev/null +++ b/gestion_employe/static/gestion_employe/js/index.js @@ -0,0 +1,263 @@ +const $ = (element) => document.getElementById(element); + +const url_liste_employe = $("tableau_liste_employe").dataset.url; +const tableau_liste_employe = new Tabulator("#tableau_liste_employe", { + columns: [ + {"title": "Matricule", "field": "matricule"}, + {"title": "Nom & Prénom", "field": "employe"}, + {"title": "Fonction", "field": "fonction"}, + {"title": "Projet", "field": "projet"}, + {"title": "Téléphone", "field": "telephone"}, + ], + // ajaxURL: url_liste_employe, + pagination: true, + paginationSize: 10, +}) + +fetch(url_liste_employe) + .then(response => response.json()) + .then(data => { + if (data.success){ + console.log(data.data) + tableau_liste_employe.setData(data.data); + }else{ + alert(data.message); + } + } + ) + +tableau_liste_employe.on("rowClick", function (row, rowData) { + const data = rowData.getData(); + document.getElementById('detail-id').value = data.id; + document.getElementById('detail-matricule').value = data.matricule; + document.getElementById('detail-employe').value = data.employe; + document.getElementById('detail-fonction').value = data.fonction; + document.getElementById('detail-departement').value = data.departement; + document.getElementById('detail-sexe').value = ""; + document.getElementById('detail-dateNaissance').value = ""; + document.getElementById('detail-email').value = data.email; + document.getElementById('detail-telephone').value = data.telephone; + document.getElementById('detail-adresse').value = data.adresse; + document.getElementById('detail-dateEmbauche').value = data.date_embauche; + document.getElementById('detail-dateNaissance').value = data.date_naissance; + document.getElementById('detail-sexe').value = data.sexe; + + document.getElementById('document-diplome').href = data.diplome; + document.getElementById('document-diplome').textContent = data.diplome || "Aucun diplôme"; + document.getElementById('document-cv').href = data.CV; + document.getElementById('document-cv').textContent = data.CV || "Aucun CV"; + document.getElementById('document-rib').href = data.rib; + document.getElementById('document-rib').textContent = data.rib || "Aucun RIB"; + document.getElementById('document-casier-judiciaire').href = data.casier_judiciaire; + document.getElementById('document-casier-judiciaire').textContent = data.casier_judiciaire || "Aucun casier judiciaire"; + + document.getElementById("document-employe").innerHTML = data.employe || "Employé inconnu"; + + document.getElementById("formations-list").innerHTML = ""; + for (const formation of data.formations) { + document.getElementById("formations-list").innerHTML += ` +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ ` + } + document.getElementById("contrat-employe").innerHTML = data.employe || "Employé inconnu"; + document.getElementById("employeIdInput").value = data.id; + + document.getElementById("contrats-list").innerHTML = ""; + for (const contrat of data.contrats) { + document.getElementById("contrats-list").innerHTML += ` +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + Voir le document +
+ +
+ ` + }; + + const supprimerButtons = document.getElementsByClassName("btn-supprimer-contrat"); + Array.from(supprimerButtons).forEach(button => { + button.addEventListener("click", function() { + const contratId = this.dataset.contratid; + fetch(`contrat/supprimer/`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-CSRFToken": document.querySelector('[name=csrfmiddlewaretoken]').value + }, + body: JSON.stringify({ + "id": contratId + }) + }) + .then(response => response.json()) + .then(data => { + alert(data.message); + location.reload(); + }) + }); + }) + + document.getElementById("affectation-nom-employe").textContent = data.employe || "Employé inconnu"; + document.getElementById("affecter_employe_id").value = data.id; + + document.getElementById("affectations-list").innerHTML = ""; + for (const affectation of data.affectations) { + document.getElementById("affectations-list").innerHTML += ` +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ ` + } + + Array.from(document.getElementsByClassName("btn-supprimer-affectation")).forEach(button => { + button.addEventListener("click", function() { + const affectationId = this.dataset.contratid; + fetch(`affectation/supprimer/`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-CSRFToken": document.querySelector('[name=csrfmiddlewaretoken]').value + }, + body: JSON.stringify({ + "id": affectationId + }) + }) + .then(response => response.json()) + .then(data => { + alert(data.message); + location.reload(); + }) + }); + }) + + const modal = new bootstrap.Modal($("modalDetailEmploye")); + modal.show(); +}) + +$("enregistrerDetail").addEventListener("click", function() { + const id_ = document.getElementById('detail-id').value; + const fonction = document.getElementById('detail-fonction').value; + const dateEmbauche = document.getElementById('detail-dateEmbauche').value; + const matricule = document.getElementById('detail-matricule').value; + + const url_enregistrer_detail = $("modalDetailEmployeBody").dataset.url; + fetch(url_enregistrer_detail, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-CSRFToken": document.querySelector('[name=csrfmiddlewaretoken]').value + }, + body: JSON.stringify({ + "id": id_, + "fonction": fonction, + "date_embauche": dateEmbauche, + "matricule": matricule + }) + }) + .then(response => response.json()) + .then(data => { + alert(data.message); + location.reload(); + }) +}); + +$("input-recherche").addEventListener("input", function() { + const recherche = this.value; + if (recherche){ + tableau_liste_employe.setFilter("employe", "like", recherche); + }else{ + tableau_liste_employe.clearFilter(); + } +}) + +const listeContratExpirant = new Tabulator("#listeContratExpirant", { + columns: [ + {"title": "Employé", "field": "employe"}, + {"title": "Type de contrat", "field": "type_contrat"}, + {"title": "Date de début", "field": "date_debut", formatter: 'datetime', formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + {"title": "Date de fin", "field": "date_fin", formatter: 'datetime', formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + {"title": "Statut", "field": "statut"}, + {"title": "Lien du fichier", "field": "fichier_contrat", formatter:"link", formatterParams:{ + target:"_blank", + } + }, + ], + ajaxURL: $("boutonContratExpirants").dataset.urlexpirants, +}) \ No newline at end of file diff --git a/gestion_employe/static/gestion_employe/js/mon_profil.js b/gestion_employe/static/gestion_employe/js/mon_profil.js new file mode 100644 index 0000000..77178b4 --- /dev/null +++ b/gestion_employe/static/gestion_employe/js/mon_profil.js @@ -0,0 +1,46 @@ +const $ = (element) => document.getElementById(element); + +url_certificat = $("tableau-certificat").dataset.url; +const tableau_certificat = new Tabulator("#tableau-certificat", { + columns: [ + {"title": "Nom du certificat", "field": "titre"}, + {"title": "Nom de l'organisme", "field": "organisme"}, + {"title": "Date d'obtention", "field": "date_obtention", formatter:"datetime", formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + {"title": "Date de fin de validité", "field": "date_fin", formatter:"datetime", formatterParams:{ + inputFormat:"yyyy-MM-dd", + outputFormat:"dd/MM/yy", + }}, + ], + ajaxURL: url_certificat, +}) +const enregistrerProfil = $("enregistrerProfil"); + +enregistrerProfil.addEventListener("click", (e) => { + + const url = $("information-personnelles").dataset.url; + const csrftoken = document.querySelector("[name='csrfmiddlewaretoken']").value; + + const formData = new FormData(); + + formData.append("nom", $("nom").value); + formData.append("prenom", $("prenom").value); + formData.append("email", $("email").value); + formData.append("telephone", $("telephone").value); + formData.append("adresse", $("adresse").value); + formData.append("sexe", $("sexe").value); + formData.append("date_naissance", $("date_naissance").value); + + fetch(url, { + method: "POST", + headers: { + "X-CSRFToken": csrftoken + }, + body: formData + }) + .then(response => response.json()) + .then(data => alert(data.message)) + .catch(error => console.error("Erreur:", error)); +}); \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/index.html b/gestion_employe/templates/gestion_employe/index.html new file mode 100644 index 0000000..825dec9 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/index.html @@ -0,0 +1,67 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'css' %} +{% endblock %} +{% block 'contenu' %} +
+

Gestion des employés

+ {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} + +
+
+ Nombre d'employés +

{{ nombre_employes }}

+
+
+ Nombre de prestataires +

{{ nombre_cps }}

+
+
+ Nombre de stagiaires +

{{ nombre_stage }}

+
+
+
+
+

+ + La liste des employés +

+ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +{% endblock %} +{% block 'modal' %} + {% include "gestion_employe/parts/modalDetailEmploye.html" %} + {% include "gestion_employe/parts/modalCreationContrat.html" %} + {% include "gestion_employe/parts/modalAffectationProjet.html" %} + {% include "gestion_employe/parts/modalDocument.html" %} + {% include "gestion_employe/parts/modalListeContratExpirants.html" %} +{% endblock %} +{% block 'js' %} + +{% endblock %} \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/modifier-profil.html b/gestion_employe/templates/gestion_employe/modifier-profil.html new file mode 100644 index 0000000..c73010e --- /dev/null +++ b/gestion_employe/templates/gestion_employe/modifier-profil.html @@ -0,0 +1,105 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des employés - Mon profil {% endblock %} +{% block 'contenu' %} +
+
+
+ Modifier mon profil +
+
+
+
+ {% csrf_token %} +
+
+

+ +

+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
+
+

+ +

+
+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
+
+
+
+
+
+ + Annuler + + +
+
+
+
+{% endblock %} +{% block 'modal' %} +{% endblock %} +{% block 'js' %} +{% endblock %} \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/monprofil.html b/gestion_employe/templates/gestion_employe/monprofil.html new file mode 100644 index 0000000..ed42962 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/monprofil.html @@ -0,0 +1,241 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des employés - Mon profil {% endblock %} +{% block 'contenu' %} +
+
+ Les informations de mon profil +
+ +
+{% if messages %} + {% for message in messages %} + + {% endfor %} +{% endif %} + +{% if not expiration_contrat %} +
+ Important : Les informations sur votre contrat n'ont pas été renseignées, veuillez contacter les ressources humaines. +
+{% elif contrat_nb_jours_restant %} +
+ Important : Votre contrat de travail expire dans {{ contrat_nb_jours_restant }} jours, veuillez contacter les ressources humaines. +
+{% endif %} + +
+
+

+ +

+
+
+
+ {% csrf_token %} +
+
+ + {% if employe.photo %} + Fichier actuel : {{employe.photo}} + {% endif %} + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+
+
+

+ +

+
+
+ {% for contrat in contrats %} +
+
+ + +
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + Voir le contrat +
+
+ {% empty %} +

Aucun contrat trouvé.

+ {% endfor %} +
+
+
+
+

+ +

+
+
+
    + {% for projet in projets %} +
  • + {{ projet.nom_projet }} ({{ projet.pourcentage_temps_affectation }}%) du {{ projet.date_debut|date:"d/m/Y" }} au + {{ projet.date_fin|date:"d/m/Y" }} en tant que {{ projet.role }}. +
  • + {% empty %} +
  • Vous n'êtes affecté à aucun projet.
  • + {% endfor %} +
+
+
+
+
+

+ +

+
+
+
+ {% csrf_token %} +
+
+
+ + {% if employe.photo %} + Fichier actuel : {{employe.photo}} + {% endif %} + +
+
+ + {% if employe.CV %} + Fichier actuel : {{employe.CV}} + {% endif %} + +
+
+ + {% if employe.diplome %} + Fichier actuel : {{employe.diplome}} + {% endif %} + +
+
+
+
+ + {% if employe.casier_judiciaire %} + Fichier actuel : {{employe.casier_judiciaire}} + {% endif %} + +
+
+ + {% if employe.rib %} + Fichier actuel : {{employe.rib}} + {% endif %} + +
+
+
+ +
+
+
+
+
+

+ +

+
+
+
+ +
+
+
+
+{% endblock %} +{% block 'modal' %} + {% include "gestion_employe/parts/modificationMotPasse.html" %} + {% include "gestion_employe/parts/modalAjoutFormation.html" %} +{% endblock %} +{% block 'js' %} + + +{% endblock %} diff --git a/gestion_employe/templates/gestion_employe/parts/modalAffectationProjet.html b/gestion_employe/templates/gestion_employe/parts/modalAffectationProjet.html new file mode 100644 index 0000000..2abcf46 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalAffectationProjet.html @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/parts/modalAjoutFormation.html b/gestion_employe/templates/gestion_employe/parts/modalAjoutFormation.html new file mode 100644 index 0000000..104b791 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalAjoutFormation.html @@ -0,0 +1,21 @@ + + \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/parts/modalCreationContrat.html b/gestion_employe/templates/gestion_employe/parts/modalCreationContrat.html new file mode 100644 index 0000000..fa0bb2b --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalCreationContrat.html @@ -0,0 +1,57 @@ + + \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/parts/modalDetailEmploye.html b/gestion_employe/templates/gestion_employe/parts/modalDetailEmploye.html new file mode 100644 index 0000000..187ef49 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalDetailEmploye.html @@ -0,0 +1,136 @@ +{% load tags_personnaliser %} + \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/parts/modalDocument.html b/gestion_employe/templates/gestion_employe/parts/modalDocument.html new file mode 100644 index 0000000..4eeb124 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalDocument.html @@ -0,0 +1,41 @@ + diff --git a/gestion_employe/templates/gestion_employe/parts/modalListeContratExpirants.html b/gestion_employe/templates/gestion_employe/parts/modalListeContratExpirants.html new file mode 100644 index 0000000..9051355 --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modalListeContratExpirants.html @@ -0,0 +1,17 @@ + + \ No newline at end of file diff --git a/gestion_employe/templates/gestion_employe/parts/modificationMotPasse.html b/gestion_employe/templates/gestion_employe/parts/modificationMotPasse.html new file mode 100644 index 0000000..79366ba --- /dev/null +++ b/gestion_employe/templates/gestion_employe/parts/modificationMotPasse.html @@ -0,0 +1,36 @@ + + diff --git a/gestion_employe/templatetags/tags_personnaliser.py b/gestion_employe/templatetags/tags_personnaliser.py new file mode 100644 index 0000000..c1859f7 --- /dev/null +++ b/gestion_employe/templatetags/tags_personnaliser.py @@ -0,0 +1,24 @@ +"""Tags personnalisés pour les templates d'authentification. + +Ce fichier contient des tags personnalisés pour les templates du projet lié à +la gestion de l'accès des utilisateurs aux différentes pages. +""" + +from django import template +from django.utils import timezone +from gestion_employe.models import Affectation + +register = template.Library() + +@register.filter +def has_group(user, group_name): + """Vérifiez si un utilisateur appartient à un groupe spécifique.""" + return user.groups.filter(name=group_name).exists() + +@register.filter +def is_chef_projet(user): + try: + affectation = Affectation.objects.get(employe__user__username = user, date_fin_daffectation__gte = timezone.now().date()) + except Affectation.DoesNotExist: + return False + return affectation.role == "chef_projet" \ No newline at end of file diff --git a/gestion_employe/tests.py b/gestion_employe/tests.py new file mode 100644 index 0000000..de8bdc0 --- /dev/null +++ b/gestion_employe/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/gestion_employe/urls.py b/gestion_employe/urls.py new file mode 100644 index 0000000..992dbd7 --- /dev/null +++ b/gestion_employe/urls.py @@ -0,0 +1,102 @@ +from . import views +from django.urls import path + +app_name = 'gestion_employe' + +urlpatterns = [ + path( + '', + views.index, + name='index' + ), + path( + 'liste-employes/', + views.liste_employe, + name='liste-employes' + ), + path( + 'enregistrer-detail-employe/', + views.enregistrer_detail_employe, + name='enregistrer-detail-employe' + ), + path( + 'affectation/supprimer/', + views.suppression_affectation, + name='supprimer-affectation' + ), + path( + 'contrat/creation/', + views.creation_contrat, + name='creation-contrat' + ), + path( + 'contrat/supprimer/', + views.suppression_contrat, + name='supprimer-contrat' + ), + path( + 'Affectation/affectation/', + views.affecter_employe_projet, + name='affecter_employe_projet' + ), + path( + 'mon-profil/', + views.mon_profil, + name='mon-profil' + ), + path( + 'enregistrement-document-rh', + views.enregistrement_document, + name='enregistrement-document-rh' + ), + path( + 'modifier-employe', + views.modifier_employer, + name='modifier-employe' + ), + path( + "mes-formations/ajouter/", + views.ajouter_formation, + name="ajouter_formation" + ), + path( + "mes-formations/liste/", + views.liste_formation, + name="liste-formation" + ), + path( + "mes-formations/modifier//", + views.modifier_formation, + name="modifier_formation" + ), + path( + "mes-formations/supprimer//", + views.supprimer_formation, + name="supprimer_formation" + ), + path( + 'modifier-mot-passe/', + views.modifier_mot_passe, + name='modifier-mot-passe' + ), + # path( + # 'creation-departement/', + # views.creation_departement, + # name='creation-departement' + # ), + # path( + # 'modifier-departement/', + # views.modifier_departement, + # name='modifier-departement' + # ), + # path( + # 'suppression-departement/', + # views.supprimer_departement, + # name='suppression-departement/' + # ), + path( + "liste-contrat-expirants", + views.liste_contrat_expirants, + name='liste-contrat-expirants' + ) +] \ No newline at end of file diff --git a/gestion_employe/views.py b/gestion_employe/views.py new file mode 100644 index 0000000..f9ef342 --- /dev/null +++ b/gestion_employe/views.py @@ -0,0 +1,447 @@ +import json +from datetime import timedelta, datetime +from dateutil.relativedelta import relativedelta + +from django.utils import timezone +from django.contrib import messages +from django.contrib.auth.models import User +from django.contrib.auth import authenticate +from django.shortcuts import render, redirect +from django.contrib.auth.decorators import login_required + +from django.http import JsonResponse +from django.forms.models import model_to_dict +from django.db.models import Sum + +from .models import Employe, Contrat, Affectation, Formation +from .forms import AffectationForm, ContratForm, FormationForm +from fonction_utilitaire import fonctions_utilitaire + +@login_required +def index(request): + """Vue d'index""" + employes = Employe.objects.all().order_by('-user__date_joined') + nombre_employes = Employe.objects.count() + nombre_cps = Contrat.objects.filter(type_contrat='contrat_prestation').count() + nombre_stage = Contrat.objects.filter(type_contrat='contrat_stage').count() + date_limite = timezone.now().date() + timedelta(days=60) + nombre_expirants = Contrat.objects.filter( + date_fin__lte=date_limite, + date_fin__gte=timezone.now().date(), + statut='actif' + ).count() + + return render(request, 'gestion_employe/index.html', { + 'employes': employes, + 'nombre_employes': nombre_employes, + 'nombre_cps': nombre_cps, + 'nombre_stage': nombre_stage, + 'nombre_expirants': nombre_expirants, + 'affectation_form': AffectationForm(), + 'contrat_form': ContratForm() + }) + +@login_required +def liste_contrat_expirants(request): + """ Liste des contrats proches """ + + date_limite = timezone.now().date() + timedelta(days = fonctions_utilitaire.DUREE_FIN_CONTRAT) + contats_expirants = [ + { + 'employe': f"{contrat.employe.user.first_name} {contrat.employe.user.last_name}", + 'type_contrat': dict(Contrat.TYPE_CONTRAT).get(contrat.type_contrat), + 'date_debut': contrat.date_debut, + 'date_fin': contrat.date_fin, + 'statut': contrat.statut, + 'fichier_contrat': contrat.fichier_contrat.url if contrat.fichier_contrat else "" + } + for contrat in + Contrat.objects.filter(date_fin__lte=date_limite, date_fin__gte=timezone.now().date(), statut='actif') + ] + + return JsonResponse(contats_expirants, safe=False) + +@login_required +def affecter_employe_projet(request): + """Vue pour affecter un employé à un projet avec vérification des contraintes d'affectation""" + if request.method == 'POST': + employe_id = request.POST.get('affecter_employe_id') + try: + employe = Employe.objects.get(id=employe_id) + except Employe.DoesNotExist: + messages.error(request, "L'employé spécifié n'existe pas.") + return redirect('gestion_employe:index') + + form = AffectationForm(request.POST) + if form.is_valid(): + projet = form.cleaned_data['projet'] + date_fin_affectation = form.cleaned_data['date_fin_daffectation'] + temps_nouveau = form.cleaned_data['pourcentage_temps_affectation'] + date_affectation = form.cleaned_data['date_affectation'] + + if (date_fin_affectation and date_affectation): + total_affectation = ( + Affectation.objects.filter(employe=employe) + .aggregate(total_pourcentage_affectation = Sum('pourcentage_temps_affectation')) + ['total_pourcentage_affectation'] or 0 + ) + if (date_fin_affectation < date_affectation): + messages.warning(request, "La date de fin d'affectation ne peut pas être antérieure à la date de début.") + return redirect('gestion_employe:index') + elif date_fin_affectation > projet.date_fin: + messages.warning(request, f"La date de fin de l'affectation ({date_fin_affectation}) ne peut pas dépasser la date de fin du projet ({projet.date_fin}).") + return redirect('gestion_employe:index') + elif total_affectation + temps_nouveau > 100: + messages.warning( + request, + f"Les pourcentages d'affectation de l'employé {employe.first_name} {employe.last_name} dépasse 100% sur les différents projets ({total_affectation + temps_nouveau}%)." + ) + return redirect('gestion_employe:index') + + Affectation.objects.update_or_create( + employe=employe, + projet=projet, + defaults={ + 'date_affectation': form.cleaned_data['date_affectation'], + 'date_fin_daffectation': date_fin_affectation, + 'role': form.cleaned_data['role'], + 'pourcentage_temps_affectation': temps_nouveau, + } + ) + messages.success(request, f"L'employé {employe.user.first_name} {employe.user.last_name} a été affecté au projet {projet.nom_projet}.") + return redirect('gestion_employe:index') + else: + messages.error(request, "Erreur : Formulaire non valide.") + return redirect('gestion_employe:index') + else: + return redirect('gestion_employe:index') + +@login_required +def mon_profil(request): + """Vue pour afficher et modifier le profil de l'utilisateur connecté""" + try: + employe = Employe.objects.get(user__username=request.user) + except Employe.DoesNotExist: + messages.error(request, "Impossible d'acceder au menu 'Mon profil' car votre profil Utilisateur n'est lié à aucun profil Employé. Veuillez contacter l'Administrateur.") + return redirect("gestion_conges:conge") + + contrats = Contrat.objects.filter(employe=employe, statut='actif').first() + projets = Affectation.objects.filter( + employe = employe, + date_fin_daffectation__gte = timezone.now().date() + ).select_related('projet') + + return render( + request, + 'gestion_employe/monprofil.html', + { + 'employe': employe, + 'contrats': [{ + **model_to_dict(contrats), + "type_contrat": dict(Contrat.TYPE_CONTRAT).get(contrats.type_contrat), + "statut": dict(Contrat.STATUT_CONTRAT).get(contrats.statut), + "fichier_contrat": contrats.fichier_contrat.url if contrats.fichier_contrat else "", + } if contrats else []], + 'projets': [ + { + **model_to_dict(a.projet), + "date_affectation": a.date_affectation, + "date_fin_daffectation": a.date_fin_daffectation, + "role": dict(Affectation.ROLE_CHOICES).get(a.role), + "pourcentage_temps_affectation": a.pourcentage_temps_affectation + } for a in projets + ], + "formation_form": FormationForm(), + "expiration_contrat": contrats.nombre_jours_restant <= fonctions_utilitaire.DUREE_FIN_CONTRAT if contrats else False, + "contrat_nb_jours_restant": contrats.nombre_jours_restant if contrats else None + } + ) + +@login_required +def modifier_mot_passe(request): + """Vue pour permettre à un utilisateur de modifier son mot de passe et ses informations de profil""" + user = User.objects.get(username=request.user) + if request.method == "POST": + ancien_mdp = request.POST["ancien-mdp"] + nouveau_mdp = request.POST["nouveau-mdp"] + confirmation_mdp = request.POST["confirmation-mdp"] + + if authenticate(request, username=request.user, password=ancien_mdp) is None: + messages.error(request, "Ancien mot de passe incorrect.") + elif nouveau_mdp != confirmation_mdp: + messages.error(request, "Les deux nouveaux ne correspondent pas.") + else: + user.set_password(nouveau_mdp) + user.save() + messages.success(request, "Mot de passe modifié avec succès.") + + return redirect("gestion_employe:mon-profil") +def modifier_employer(request): + """Vue pour permettre à un utilisateur de modifier les informations d'un employé""" + try: + employe = Employe.objects.get(user__username=request.user) + except Employe.DoesNotExist: + return JsonResponse({"message": "Employé non trouvé."}) + if request.method == "POST": + data = json.loads(request.body) + user = User.objects.get(username=request.user) + user.last_name = data['nom'] + user.first_name = data['prenom'] + user.email = data['email'] + employe.telephone = data['telephone'] + employe.adresse = data['adresse'] + employe.sexe = data['sexe'] + if request.FILES.get("photo"): + employe.photo = request.FILES["photo"] + if data['date_naissance']: + difference = relativedelta(timezone.now().date(), datetime.strptime(data['date_naissance'], "%Y-%m-%d").date()) + if difference.years >= 18: + employe.date_naissance = data['date_naissance'] + else: + return JsonResponse({"message": "Veuillez entrez une date de naissance correcte."}) + employe.save() + user.save() + return JsonResponse({"message": "Profil mis à jour avec succès."}) + +def enregistrement_document(request): + employe = Employe.objects.get(user=request.user) + if request.method == "POST": + if request.FILES.get("photo"):employe.photo = request.FILES["photo"] + if "cv" in request.FILES:employe.CV = request.FILES["cv"] + if "diplome" in request.FILES: employe.diplome = request.FILES["diplome"] + if "rib" in request.FILES: employe.rib = request.FILES["rib"] + if "casier_judiciaire" in request.FILES:employe.casier_judiciaire = request.FILES["casier_judiciaire"] + employe.save() + messages.success(request, "Documents enregistrés avec succès.") + + return redirect("gestion_employe:mon-profil") + +def suppression_contrat(request): + """Vue pour permettre à un utilisateur de supprimer un contrat""" + id_contrat = json.loads(request.body)['id'] + try: + contrat = Contrat.objects.get(numero_contrat = id_contrat) + except Contrat.DoesNotExist: + messages.error(request, "Contrat non trouvé.") + return JsonResponse({"message": "Contrat non trouvé."}, status=404) + + contrat.delete() + return JsonResponse({"message": "Contrat supprimé avec succès."}) + +def suppression_affectation(request): + """Vue pour permettre à un utilisateur de supprimer une affectation""" + id_affectation = json.loads(request.body)['id'] + try: + affectation = Affectation.objects.get(id=id_affectation) + except Affectation.DoesNotExist: + return JsonResponse({"message": "Affectation non trouvée."}, status=404) + + affectation.delete() + return JsonResponse({"message": "Affectation supprimée avec succès."}) + +def creation_contrat(request): + """Vue pour permettre à un utilisateur de créer un contrat pour un employé""" + try: + employe = Employe.objects.get(id=request.POST.get('employe_id')) + except Employe.DoesNotExist: + messages.error(request, "Employé non trouvé.") + return redirect('employe-index') + + if request.method == "POST": + form = ContratForm(request.POST, request.FILES) + if form.is_valid(): + contrat = form.save(commit=False) + contrat.employe = employe + contrat.save() + messages.success(request, "Contrat créé avec succès.") + return redirect('gestion_employe:index') + messages.error(request, "Formulaire non valide") + else: + form = ContratForm(initial={'employe': employe}) + return render(request, 'gestion_employe/index.html', {'contrat_form': form}) + +@login_required +def enregistrer_detail_employe(request): + """Vue pour permettre à un utilisateur de modifier les détails d'un employé via une requête AJAX""" + if request.method == "POST": + data = json.loads(request.body) + try: + employe = Employe.objects.get(id=data['id']) + except Employe.DoesNotExist: + return JsonResponse({"error": "Employé non trouvé."}, status=404) + + employe.fonction = data['fonction'] + employe.date_embauche = data['date_embauche'] + employe.matricule = data['matricule'] + employe.save() + return JsonResponse({"message": "Détails de l'employé mis à jour avec succès."}) + else: + return JsonResponse({"message": "Méthode non autorisée."}, status=405) + +@login_required +def liste_employe(request): + """ Vue pour retourner la liste de tous les employés """ + employes = Employe.objects.exclude(user__first_name = '', user__last_name = '') + + data = [] + for employe in employes: + if employe.user.first_name != ' ' and employe.user.last_name != ' ': + projets = [ + ", ".join([ + a.projet.nom_projet for a in Affectation.objects.filter( + employe=employe, + date_fin_daffectation__gte=timezone.now().date() + ) + ]) + ] + formations = [ + { + "titre": formation.titre, + "organisme": formation.organisme, + "description": formation.description, + "date_obtention": formation.date_obtention, + "date_fin": formation.date_fin, + "certificat": formation.certificat.url if formation.certificat else "", + } for formation in Formation.objects.filter(employe=employe) + ] + + contrats = [ + { + "numero_contrat": contrat.numero_contrat, + "type_contrat": contrat.type_contrat, + "date_debut": contrat.date_debut, + "date_fin": contrat.date_fin, + "salaire_mensuel": contrat.salaire_mensuel, + "statut": contrat.statut, + "fichier_contrat": contrat.fichier_contrat.url if contrat.fichier_contrat else "", + } for contrat in Contrat.objects.filter(employe=employe, statut='actif') + ] + + affectations = [ + {**model_to_dict(affectation), "projet": affectation.projet.nom_projet} + for affectation in Affectation.objects.filter( + employe=employe, + date_fin_daffectation__gte=timezone.now().date() + ) + ] + + data.append( + { + "id": employe.id, + "employe": f"{employe.user.first_name} {employe.user.last_name}", + "matricule": employe.matricule, + "email": employe.user.email, + "formations": formations, + "affectations": affectations, + "projet": projets, + "contrats": contrats, + "departement": employe.departement.nom if employe.departement else "", + "fonction": employe.fonction, + "date_embauche": employe.date_embauche, + "adresse": employe.adresse, + "telephone": employe.telephone, + "sexe": employe.sexe, + "CV": employe.CV.url if employe.CV else "", + "diplome": employe.diplome.url if employe.diplome else "", + "rib": employe.rib.url if employe.rib else "", + "photo": employe.photo.url if employe.photo else "", + "casier_judiciaire": employe.casier_judiciaire.url if employe.casier_judiciaire else "", + "date_naissance": employe.date_naissance, + } + ) + return JsonResponse({'success': True, 'data': data}, safe=False) + +@login_required +def ajouter_formation(request): + """Vue pour permettre à un employé d'ajouter une formation à son profil""" + employe = Employe.objects.get(user__username=request.user) + if request.method == "POST": + formation = FormationForm(request.POST, request.FILES) + if formation.is_valid(): + ma_formation = formation.save(commit=False) + ma_formation.employe = employe + ma_formation.save() + messages.success(request, "Formation ajoutée avec succès ") + return redirect("gestion_employe:mon-profil") + messages.error(request, "Formulaire non valide. Veuillez vérifier les informations saisies.") + return redirect("gestion_employe:mon-profil") + +def liste_formation(request): + formations = Formation.objects.filter(employe__user__username=request.user).order_by("-date_obtention") + return JsonResponse([ + { + **model_to_dict(formation), + "certificat": formation.certificat.url if formation.certificat else "" + } + for formation in formations + ], safe=False) + +@login_required +def modifier_formation(request, id_formation): + """Vue pour permettre à un employé de modifier une formation de son profil""" + try: + formation = Formation.objects.get(id=id_formation, employes=request.user) + except Formation.DoesNotExist: + messages.error(request, "Formation non trouvée.") + return redirect("mes_formations") + + if request.method == "POST": + formation = FormationForm(request.POST, request.FILES, instance=formation) + if formation.is_valid(): + messages.success(request, "Formation mise à jour ") + + formation.save() + messages.error(request, "Formulaire non valide. Veuillez vérifier les informations saisies.") + return redirect("mes_formations") + +@login_required +def supprimer_formation(request, id_formation): + """Vue pour permettre à un employé de supprimer une formation de son profil""" + try: + formation = Formation.objects.get(id=id_formation, employes=request.user) + except Formation.DoesNotExist: + messages.error(request, "Formation non trouvée.") + return redirect("mes_formations") + + if request.method == "POST": + formation.delete() + messages.success(request, "Formation supprimée ") + return redirect("mes_formations") + +# @login_required +# def creation_departement(request): +# """Gère la création d'un nouveau département via un formulaire.""" +# if request.method == 'POST': +# form_departement = DepartementForm(request.POST) +# if form_departement.is_valid(): +# form_departement.save() +# messages.success(request, "Département ajouté avec succès.") +# else: +# messages.error(request, "Erreur lors de l'ajout du département.") +# return redirect('parametres-rh') + +# @login_required +# def modifier_departement(request, id): +# """Gère la modification d'un département existant via un formulaire pré-rempli.""" +# departement = Departement.objects.get(id=id) +# form = DepartementForm(instance=departement) +# if request.method == 'POST': +# nouveau_nom_departement = request.POST.get('nom') +# if nouveau_nom_departement: +# departement.nom = nouveau_nom_departement +# departement.save() +# messages.success(request, "Département modifié avec succès.") +# return redirect('parametres-rh') +# return render(request, 'gestion_employe/edit_departement.html', { +# 'form': form, +# 'departement': departement +# }) + +# @login_required +# def supprimer_departement(request, id): +# """Gère la suppression d'un département existant.""" +# if request.method == "POST": +# departement = Departement.objects.get(id=id) +# departement.delete() +# messages.success(request, "Département supprimé avec succès !") +# return redirect('parametres-rh') diff --git a/gestion_projet/__init__.py b/gestion_projet/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_projet/admin.py b/gestion_projet/admin.py new file mode 100644 index 0000000..d0ae965 --- /dev/null +++ b/gestion_projet/admin.py @@ -0,0 +1,6 @@ +from django.contrib import admin +from .models import DomaineDeRecherche + +@admin.register(DomaineDeRecherche) +class DomaineDeRecherche(admin.ModelAdmin): + list_display = ('nom',) diff --git a/gestion_projet/forms.py b/gestion_projet/forms.py new file mode 100644 index 0000000..8874d67 --- /dev/null +++ b/gestion_projet/forms.py @@ -0,0 +1,176 @@ +from django import forms +from gestion_projet.models import Projet +from .models import ( + ActiviteProjet, + Bailleur, + DocumentProjet, + FinancementProjet, + LivrablesLivres, + DomaineDeRecherche +) + +class ProjetForm(forms.ModelForm): + """Formulaire de création et de modification d'un projet, avec validation des dates et personnalisation des champs.""" + class Meta: + model = Projet + fields = ( + 'id_projet', + 'nom_projet', + 'date_debut', + 'date_fin', + 'numero_convention', + 'domaine_recherche', + 'type_projet', + 'budget', + 'budget_RH', + 'description' + ) + # domaine_recherche = forms.ModelMultipleChoiceField( + # queryset=DomaineDeRecherche.objects.all(), + # to_field_name="nom", + # required=False + # ) + widgets = { + 'id_projet': forms.TextInput(attrs={'class': "form-control"}), + 'nom_projet': forms.TextInput(attrs={'class': "form-control"}), + 'numero_convention': forms.TextInput(attrs={'class': "form-control"}), + 'domaine_recherche': forms.SelectMultiple(attrs={'class': "form-control"}), + 'type_projet': forms.Select(attrs={'class': "form-select"}), + 'budget': forms.NumberInput(attrs={'class': "form-control"}), + 'budget_RH': forms.NumberInput(attrs={'class': "form-control"}), + 'description': forms.Textarea(attrs={'class': "form-control"}), + 'date_debut': forms.DateInput(attrs={'type': 'date', 'class': "form-control"}), + 'date_fin': forms.DateInput(attrs={'type': 'date', 'class': "form-control"}), + } + +class BailleurForm(forms.ModelForm): + """ + Formulaire de création et de modification d'un bailleur, + avec validation des champs et personnalisation des labels. + """ + class Meta: + model = Bailleur + fields = ('nom_organisme', 'contact', 'email', 'pays') + widgets = { + 'nom_organisme':forms.TextInput(attrs={ + 'class':'form-control', + }), + 'contact':forms.TextInput(attrs={ + 'class':'form-control', + }), + 'email':forms.TextInput(attrs={ + 'class':'form-control', + }), + 'pays':forms.TextInput(attrs={ + 'class':'form-control', + }), + } + +class DocumentProjetForm(forms.ModelForm): + """ + Formulaire pour ajouter ou modifier un document associé à un projet, + avec validation des champs et personnalisation des labels. + """ + class Meta: + model = DocumentProjet + fields = [ + 'nom_document', + 'numero', + 'date_validite', + 'fichier', + 'description' + ] + widgets = { + 'nom_document': forms.Select(attrs={'class': 'form-select'}), + 'description': forms.Textarea(attrs={'class': 'form-control', 'rows': 3}), + 'numero': forms.TextInput(attrs={'class': 'form-control'}), + 'date_validite': forms.DateInput(attrs={'class': 'form-control', 'type': 'date'}), + 'fichier': forms.ClearableFileInput(attrs={'class': 'form-control'}), + } + +class ActiviteProjetForm(forms.ModelForm): + """Formulaire pour créer ou modifier une activité de projet, avec validation des champs et personnalisation des widgets.""" + class Meta: + model = ActiviteProjet + fields = ( + 'titre', + 'date_debut', + 'date_fin', + 'besoin_ressource_materielle', + 'budget_prevu', + 'description', + ) + + widgets = { + 'titre':forms.TextInput(attrs={ + 'class':'form-control', + 'placeholder':'Titre de l’activité' + }), + 'description':forms.Textarea(attrs={ + 'class':'form-control', + 'rows':3, + 'placeholder':'Description de l’activité' + }), + 'date_debut':forms.DateInput(attrs={ + 'class':'form-control', + 'type':'date' + }), + 'date_fin':forms.DateInput(attrs={ + 'class':'form-control', + 'type':'date' + }), + 'besoin_ressource_materielle': forms.Textarea(attrs={ + 'class':'form-control', + 'rows':3, + 'placeholder':'Besoin de ressources matérielles' + }), + 'budget_prevu': forms.NumberInput(attrs={ + 'class':'form-control', + 'placeholder':'Budget prévu' + }), + } + +class FinancementProjetFrom(forms.ModelForm): + """Formulaire pour créer ou modifier le financement relatif à un projet.""" + class Meta: + model = FinancementProjet + fields = ( + 'projet', + 'bailleur', + 'pourcentage', + ) + + widgets = { + 'projet':forms.Select(attrs={ + 'class':'form-select', + }), + 'bailleur':forms.Select(attrs={ + 'class':'form-select', + }), + 'pourcentage':forms.NumberInput(attrs={ + 'class':'form-control', + }), + } + +class LivrablesLivresForm(forms.ModelForm): + """Formulaire pour créer ou modifier un livrable livré dans le cadre d'une activité de projet.""" + class Meta: + model = LivrablesLivres + fields = ( + 'activite', + 'nom', + 'fichier', + ) + + widgets = { + 'activite': forms.Select(attrs={ + 'class':'form-select', + }), + 'nom': forms.TextInput(attrs={ + 'class':'form-control', + 'placeholder':'Nom du livrable' + }), + 'fichier': forms.ClearableFileInput(attrs={ + 'class':'form-control', + }), + } \ No newline at end of file diff --git a/gestion_projet/migrations/0001_initial.py b/gestion_projet/migrations/0001_initial.py new file mode 100644 index 0000000..c85eb6d --- /dev/null +++ b/gestion_projet/migrations/0001_initial.py @@ -0,0 +1,107 @@ +# Generated by Django 5.2.13 on 2026-04-17 12:03 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='ActiviteProjet', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('titre', models.CharField(max_length=200, verbose_name="Titre de l'activité")), + ('description', models.TextField(blank=True, null=True, verbose_name="Description de l'activité")), + ('date_debut', models.DateField(verbose_name='Date de début')), + ('date_fin', models.DateField(verbose_name='Date de fin')), + ('annuler', models.BooleanField(default=False, verbose_name="Annuler l'activité")), + ('motif_annulation', models.TextField(blank=True, null=True, verbose_name="Motif d'annulation")), + ('motif_changement_budget', models.TextField(blank=True, null=True, verbose_name='Motif de changement de budget')), + ('budget_prevu', models.DecimalField(decimal_places=2, default=0, max_digits=15, verbose_name='Budget prévu')), + ('budget_depense', models.DecimalField(decimal_places=2, default=0, max_digits=15, verbose_name='Budget dépensé')), + ('besoin_ressource_materielle', models.TextField(verbose_name='Besoin de ressources matérielles')), + ], + ), + migrations.CreateModel( + name='Bailleur', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nom_organisme', models.CharField(max_length=200, unique=True)), + ('contact', models.CharField(blank=True, max_length=100, null=True)), + ('email', models.EmailField(blank=True, max_length=254, null=True)), + ('pays', models.CharField(blank=True, max_length=100, null=True)), + ], + ), + migrations.CreateModel( + name='DomaineDeRecherche', + fields=[ + ('nom', models.CharField(choices=[('sciences_sociales', 'Sciences sociales'), ('naturelles', 'Naturelles'), ('humaines', 'Humaines'), ('veterinaires', 'Vétérinaires')], max_length=100, primary_key=True, serialize=False, verbose_name='Domaine de recherche')), + ], + options={ + 'verbose_name': 'Domaine de recherche', + 'verbose_name_plural': 'Domaines de recherche', + }, + ), + migrations.CreateModel( + name='LivrablesLivres', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('nom', models.CharField(max_length=255, verbose_name='Nom du livrable')), + ('fichier', models.FileField(blank=True, null=True, upload_to='fichier_livrables/')), + ('activite', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_projet.activiteprojet')), + ], + ), + migrations.CreateModel( + name='Projet', + fields=[ + ('id_projet', models.CharField(blank=True, max_length=100, primary_key=True, serialize=False, unique=True, verbose_name='ID du projet')), + ('nom_projet', models.CharField(max_length=200, verbose_name='Nom du projet')), + ('date_debut', models.DateField(verbose_name='Date de début')), + ('date_fin', models.DateField(verbose_name='Date de fin')), + ('numero_convention', models.CharField(max_length=100, verbose_name='Numéro de convention')), + ('description', models.TextField(verbose_name='Description')), + ('type_projet', models.CharField(choices=[('laboratoire', 'Laboratoire'), ('épidémiologie', 'Épidémiologie'), ('sciences sociales', 'Sciences sociales'), ('cliniques', 'Cliniques'), ('autre', 'Autre')], default='épidémiologie', max_length=100, verbose_name='Type de projet')), + ('budget', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Budget')), + ('budget_RH', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Budget RH')), + ('created_at', models.DateTimeField(auto_now_add=True)), + ('bailleur', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='gestion_projet.bailleur', verbose_name='Bailleur de fonds')), + ('domaine_recherche', models.ManyToManyField(to='gestion_projet.domainederecherche')), + ], + ), + migrations.CreateModel( + name='DocumentProjet', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('date_ajout', models.DateTimeField(auto_now_add=True, verbose_name="Date d'ajout")), + ('nom_document', models.CharField(choices=[('protocole', 'Protocole d’étude'), ('ethique', "Approbation du comité d'éthique"), ('autorisation', 'Autorisation (DNLP)'), ('rapport_technique', 'Rapport technique'), ('rapport_financier', 'Rapport financier'), ('rapport_avancement', "Rapport d'avancement"), ('convention', 'Convention'), ('rapport_final', 'Rapport final'), ('autre', 'Autre')], max_length=100, verbose_name='Type de document')), + ('description', models.TextField(blank=True, verbose_name='Description')), + ('numero', models.CharField(blank=True, max_length=100, null=True, verbose_name='Numéro du document')), + ('date_validite', models.DateField(blank=True, null=True, verbose_name='Date de validité')), + ('fichier', models.FileField(upload_to='documents_projets/', verbose_name='Fichier à télécharger')), + ('projet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='documents', to='gestion_projet.projet', verbose_name='Projet')), + ], + ), + migrations.AddField( + model_name='activiteprojet', + name='projet', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_projet.projet', verbose_name='Projet'), + ), + migrations.CreateModel( + name='FinancementProjet', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('pourcentage', models.DecimalField(decimal_places=2, max_digits=5)), + ('bailleur', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_projet.bailleur')), + ('projet', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_projet.projet')), + ], + options={ + 'unique_together': {('projet', 'bailleur')}, + }, + ), + ] diff --git a/gestion_projet/migrations/__init__.py b/gestion_projet/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_projet/models.py b/gestion_projet/models.py new file mode 100644 index 0000000..d5723bb --- /dev/null +++ b/gestion_projet/models.py @@ -0,0 +1,309 @@ +from django.db import models +from datetime import date +from django.utils import timezone + +class Bailleur(models.Model): + """Modèle représentant un bailleur de fonds pour les projets de recherche.""" + nom_organisme = models.CharField( + max_length=200, + unique=True + ) + contact = models.CharField( + max_length=100, + blank=True, + null=True + ) + email = models.EmailField( + blank=True, + null=True + ) + pays = models.CharField( + max_length=100, + blank=True, + null=True + ) + + def __str__(self): + return self.nom_organisme + +class DomaineDeRecherche(models.Model): + """Modèle représentant les domaines de recherche""" + + DOMAINE_RECHERCHE = [ + ('sciences_sociales', 'Sciences sociales'), + ('naturelles', 'Naturelles'), + ('humaines', 'Humaines'), + ('veterinaires', 'Vétérinaires') + ] + + nom = models.CharField( + max_length=100, + verbose_name="Domaine de recherche", + choices=DOMAINE_RECHERCHE, + primary_key=True + ) + + class Meta: + verbose_name = 'Domaine de recherche' + verbose_name_plural = 'Domaines de recherche' + + def __str__(self): + return self.nom + +class Projet(models.Model): + """Modèle représentant un projet de recherche avec ses caractéristiques et son bailleur associé.""" + TYPE_PROJET = [ + ('laboratoire', 'Laboratoire'), + ('épidémiologie', 'Épidémiologie'), + ('sciences sociales', 'Sciences sociales'), + ('cliniques', 'Cliniques'), + ('autre', 'Autre'), + ] + id_projet = models.CharField( + max_length=100, + blank=True, + unique=True, + primary_key=True, + verbose_name="ID du projet" + ) + nom_projet = models.CharField( + max_length=200, + verbose_name="Nom du projet" + ) + date_debut = models.DateField( + verbose_name="Date de début" + ) + date_fin = models.DateField( + verbose_name="Date de fin" + ) + numero_convention = models.CharField( + max_length=100, + verbose_name="Numéro de convention" + ) + description = models.TextField( + verbose_name="Description" + ) + type_projet = models.CharField( + max_length=100, + choices=TYPE_PROJET, + default='épidémiologie', + verbose_name="Type de projet" + ) + domaine_recherche = models.ManyToManyField(DomaineDeRecherche) + budget=models.DecimalField( + max_digits=12, + decimal_places=2, + verbose_name="Budget" + ) + budget_RH = models.DecimalField( + max_digits=12, + decimal_places=2, + verbose_name="Budget RH" + ) + created_at = models.DateTimeField(auto_now_add=True) + bailleur = models.ForeignKey( + Bailleur, + on_delete=models.SET_NULL, + null=True, + blank=True, + verbose_name="Bailleur de fonds" + ) + + @property + def statut(self): + if self.date_fin < date.today(): + return "Terminé" + return "En cours" + + @property + def avancement(self): + aujourd_hui = date.today() + if (self.date_debut and self.date_fin) and (self.date_debut < self.date_fin): + duree_projet = (self.date_fin - self.date_debut).days + temps_ecoule = (aujourd_hui - self.date_debut).days + if duree_projet > 0: + return round((temps_ecoule / duree_projet) * 100, 2) + + return 0 + + def __str__(self): + return f"{self.nom_projet}" + +class FinancementProjet(models.Model): + """ + Modèle représentant le financement d'un projet par un bailleur, + avec le pourcentage de contribution. + """ + projet = models.ForeignKey( + Projet, + on_delete=models.CASCADE + ) + bailleur = models.ForeignKey( + Bailleur, + on_delete=models.CASCADE + ) + pourcentage = models.DecimalField( + max_digits = 5, + decimal_places=2 + ) + + class Meta: + unique_together = ('projet', 'bailleur') + + def __str__(self): + return f"{self.bailleur.nom} - {self.projet.nom_projet} ({self.pourcentage}%)" + +class DocumentProjet(models.Model): + """Modèle représentant un document associé à un projet, avec des métadonnées et un fichier attaché.""" + NOM_DOCUMENT_CHOICES = [ + ('protocole', 'Protocole d’étude'), + ('ethique', "Approbation du comité d'éthique"), + ('autorisation', 'Autorisation (DNLP)'), + ('rapport_technique', 'Rapport technique'), + ('rapport_financier', 'Rapport financier'), + ('rapport_avancement', "Rapport d'avancement"), + ('convention', 'Convention'), + ('rapport_final', 'Rapport final'), + ('autre', 'Autre'), + ] + + projet = models.ForeignKey( + Projet, + on_delete=models.CASCADE, + related_name='documents', + verbose_name="Projet" + ) + date_ajout = models.DateTimeField( + auto_now_add=True, + verbose_name="Date d'ajout" + ) + nom_document = models.CharField( + max_length = 100, + choices = NOM_DOCUMENT_CHOICES, + verbose_name="Type de document" + ) + description = models.TextField( + blank = True, + verbose_name = "Description" + ) + numero = models.CharField( + max_length = 100, + blank = True, + null = True, + verbose_name = "Numéro du document" + ) + date_validite = models.DateField( + blank = True, + null = True, + verbose_name = "Date de validité" + ) + fichier = models.FileField( + upload_to = 'documents_projets/', + verbose_name = "Fichier à télécharger" + ) + + def __str__(self): + return f"{self.nom_document} ({self.projet})" + +class ActiviteProjet(models.Model): + """Modèle représentant le planning d'un projet, avec des activités associées et un statut.""" + projet = models.ForeignKey( + Projet, + on_delete = models.CASCADE, + verbose_name = "Projet" + ) + titre = models.CharField( + max_length = 200, + verbose_name = "Titre de l'activité" + ) + description = models.TextField( + blank = True, + null = True, + verbose_name = "Description de l'activité" + ) + date_debut = models.DateField(verbose_name="Date de début") + date_fin = models.DateField(verbose_name="Date de fin") + annuler = models.BooleanField( + default = False, + verbose_name = "Annuler l'activité" + ) + motif_annulation = models.TextField( + blank = True, + null = True, + verbose_name = "Motif d'annulation" + ) + + motif_changement_budget = models.TextField( + blank = True, + null = True, + verbose_name = "Motif de changement de budget" + ) + budget_prevu = models.DecimalField( + max_digits = 15, + decimal_places = 2, + default = 0, + verbose_name = "Budget prévu" + ) + budget_depense = models.DecimalField( + max_digits = 15, + decimal_places = 2, + default = 0, + verbose_name = "Budget dépensé" + ) + besoin_ressource_materielle = models.TextField( + verbose_name="Besoin de ressources matérielles" + ) + + @property + def statut(self): + today = timezone.now().date() + if not self.annuler: + if self.date_fin < today: + return 'Terminé' + elif self.date_debut > today: + return 'À venir' + else: + return 'En cours' + else: + return 'Annulé' + + def __str__(self): + return f"{self.titre} ({self.projet.nom_projet})" + +# class LivrableAttendu(models.Model): +# """ +# Modèle représentant un livrable attendu pour une activité de projet, +# avec des critères de validation. +# """ +# activite = models.ForeignKey( +# ActiviteProjet, +# on_delete = models.CASCADE, +# related_name = "livrables_attendus" +# ) +# nom = models.CharField(max_length=255) + +# def __str__(self): +# return f"{self.nom} (Activité: {self.activite.titre})" + +class LivrablesLivres(models.Model): + """Modèle représentant un livrable livré pour une activité de projet.""" + activite = models.ForeignKey( + ActiviteProjet, + on_delete = models.CASCADE + ) + # nom = models.ForeignKey( + # LivrableAttendu, + # on_delete = models.CASCADE + # ) + nom = models.CharField( + max_length=255, + verbose_name="Nom du livrable" + ) + + fichier = models.FileField( + upload_to = 'fichier_livrables/', + blank = True, + null = True + ) + def __str__(self): + return self.nom \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/creation_projet.js b/gestion_projet/static/gestion_projet/js/creation_projet.js new file mode 100644 index 0000000..36c1a10 --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/creation_projet.js @@ -0,0 +1,19 @@ +const boutonEnregistrerProjet = $("btnEnregistrerProjet"); + +boutonEnregistrerProjet.addEventListener("click", function() { + const formulaire = $("formCreationProjet"); + const formData = new FormData(formulaire); + fetch(formulaire.action, { + method: "POST", + body: formData, + headers: { + "X-CSRFToken": formData.get("csrfmiddlewaretoken") + } + }) + .then(response => { + if (response.ok) { + window.location.reload(); + alert("Projet enregistré avec succès !"); + } + }); +}); \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js b/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js new file mode 100644 index 0000000..afe12ea --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/enregistrement_bailleur.js @@ -0,0 +1,23 @@ +const btnEnregistrerBailleur = document.getElementById('btnEnregistrerBailleur'); + +btnEnregistrerBailleur.addEventListener('click', function() { + const form = document.getElementById('formBailleur'); + const formData = new FormData(form); + + fetch(form.action, { + method: 'POST', + body: formData, + headers: { + 'X-CSRFToken': formData.get('csrfmiddlewaretoken') + } + }) + .then(response => response.json()) + .then(data => { + if (data.success) { + alert('Bailleur enregistré avec succès !'); + window.location.reload(); + } else { + alert('Ce bailleur existe déjà dans la base de données.'); + } + }); +}); \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/enregistrement_financement.js b/gestion_projet/static/gestion_projet/js/enregistrement_financement.js new file mode 100644 index 0000000..1e9646c --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/enregistrement_financement.js @@ -0,0 +1,22 @@ +const btn_enregistrer_financement = document.getElementById('btn_enregistrer_financement'); + +btn_enregistrer_financement.addEventListener('click', function() { + const form = document.getElementById('form_financement'); + const formData = new FormData(form); + fetch(form.action, { + method: 'POST', + body: formData, + headers: { + 'X-CSRFToken': formData.get('csrfmiddlewaretoken') + } + }) + .then(response => response.json()) + .then(data => { + if (data.success) { + alert(data.message); + window.location.reload(); + }else { + alert(data.message); + } + }); +}); \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/index.js b/gestion_projet/static/gestion_projet/js/index.js new file mode 100644 index 0000000..eb6285e --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/index.js @@ -0,0 +1,64 @@ +const $ = (element) => document.getElementById(element) +const url_liste_projet = $("tableau-liste-projet").dataset.url; +const tableau_liste_projet = new Tabulator("#tableau-liste-projet", { + fitColumns: true, + responsiveLayout : true, + columns: [ + {title: "Projet", field: "nom_projet"}, + {title: "Source de financement", field: "source_financement"}, + {title: "Budget Total", field: "budget"}, + {title: "Budget RH", field: "budget_RH"}, + {title: "Avancement", field: "avancement", formatter: "progress"}, + {title: "Statut", field: "statut"}, + ], + ajaxURL: url_liste_projet +}) + +const employes_affectes_projet = new Tabulator("#employes_affectes_projet", { + columns: [ + {title: "Employé", field: "employe"}, + {title: "Pourcentage d'affectation", field: "pourcentage_affectation"}, + ], + placeholder: "Aucun employé affecté pour ce projet", +}) + +const bailleurs_projet = new Tabulator("#bailleurs_projet", { + columns: [ + {title: "Bailleur", field: "bailleur"}, + {title: "Pourcentage de financement", field: "pourcentage_financement"}, + ], + placeholder: "Aucun bailleur attribué pour ce projet", +}) + +tableau_liste_projet.on("rowClick", function (row, rowData) { + const data = rowData.getData(); + const modal = new bootstrap.Modal($("modalDetailProjet")); + + $("detail_id_projet").value = data.id_projet; + $("detail_nom_projet").value = data.nom_projet; + $("detail_date_debut").value = data.date_debut; + $("detail_date_fin").value = data.date_fin; + $("detail_numero_convention").value = data.numero_convention; + $("detail_type_projet").value = data.type_projet; + Array.from($("detail_domaine_recherche").options).forEach(option => { + if (data.domaine_recherche.includes(option.value)) { + option.selected = true; + } else { + option.selected = false; + } + }); + $("detail_budget").value = data.budget; + $("detail_budget_rh").value = data.budget_RH; + $("detail_description").value = data.description; + $("detail_statut").value = data.statut; + + employes_affectes_projet.setData(`projet/liste-employes-par-projet/${$("detail_id_projet").value}`); + bailleurs_projet.setData(`projet/bailleurs/${data.id_projet}/`); + + modal.show(); +}) + +// $('detail-projet-form').addEventListener('submit', (e) => { +// e.preventDefault(); +// new FormData($("detail-projet-form")); +// }) \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/liste_documents_projet.js b/gestion_projet/static/gestion_projet/js/liste_documents_projet.js new file mode 100644 index 0000000..e586ae1 --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/liste_documents_projet.js @@ -0,0 +1,20 @@ +const urlListeDocument = document.getElementById('listeDocuments').dataset.urllistedocument; + +const table_liste_documents = new Tabulator(document.getElementById('listeDocuments'), { + layout: "fitColumns", + placeholder: "Aucun document trouvé", + columns: [ + { title: "Nom du Document", field: "nom_document" }, + { title: "Numéro", field: "numero" }, + { title: "Date de Validité", field: "date_validite", formatter: "datetime", formatterParams: { + inputFormat: "yyyy-MM-dd", + outputFormat: "dd/MM/yyyy" + } + }, + { title: "Lien vers le Document", field: "lien_document", formatter:"link", formatterParams:{ + target:"_blank", + } + }, + ], + ajaxURL: urlListeDocument, +}); \ No newline at end of file diff --git a/gestion_projet/static/gestion_projet/js/suivi-activites.js b/gestion_projet/static/gestion_projet/js/suivi-activites.js new file mode 100644 index 0000000..d0775d7 --- /dev/null +++ b/gestion_projet/static/gestion_projet/js/suivi-activites.js @@ -0,0 +1,59 @@ +const $ = (element) => document.getElementById(element) + +const url_liste_activite = $("tableau-liste-activite").dataset.urllisteactivite +const tableau_liste_activite = new Tabulator("#tableau-liste-activite", { + columns: [ + {title: "Activité", field: "titre"}, + {title: "Date début", field: "date_debut"}, + {title: "Date fin", field: "date_fin"}, + {title: "Budget prévu", field: "budget_prevu"}, + {title: "Budget dépensé", field: "budget_depense"}, + {title: "Motif de changement de budget", field: "motif_changement_budget"}, + {title: "Statut", field: "statut"}, + ], + ajaxURL: url_liste_activite, +}) +tableau_liste_activite.on("rowClick", function (row, rowData) { + const data = rowData.getData(); + $("idDetailActivite").value = data.id; + $("titreDetailActivite").value = data.titre; + $("descriptionDetailActivite").value = data.description; + $("date_debutDetailActivite").value = data.date_debut; + $("date_finDetailActivite").value = data.date_fin; + $("statutDetailActivite").value = data.statut; + $("budget_prevuDetailActivite").value = data.budget_prevu; + $("besoin_ressources_materiellesDetailActivite").value = data.besoin_ressource_materielle; + const modal = new bootstrap.Modal($("modalDetailActivite")); + modal.show(); + + fetch(`liste-des-livrables/${data.id}/`) + .then(response => response.json()) + .then(livrables => { + tableau_liste_livrable.setData(livrables); + }) +}) + +const tableau_liste_livrable = new Tabulator("#listeLivrables", { + columns: [ + {title: "Livrable", field: "titre"}, + {title: "Lien du livrable", field: "lien", formatter: "link", formatterParams: {blank: true}}, + ], + placeholder: "Aucun livrable trouvé", +}) + +$("btnMiseAJourDepense").addEventListener("click", function() { + const modal = new bootstrap.Modal($("modalDepenseActivite")); + bootstrap.Modal.getOrCreateInstance($("modalDetailActivite")).hide(); + const idActivite = $("idDetailActivite").value; + const budgetPrevu = $("budget_prevuDetailActivite").value; + + $("id_activite_depense").value = idActivite; + $("budget_prevu").value = budgetPrevu; + modal.show(); +}) + +$("btnAnnulerActivite").addEventListener("click", function(event) { + new bootstrap.Modal($("modalAnnulerActivite")).show(); + $("id_activite_annulation").value = $("idDetailActivite").value; + bootstrap.Modal.getOrCreateInstance($("modalDetailActivite")).hide(); +}) \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/ajout-financement.html b/gestion_projet/templates/gestion_projet/ajout-financement.html new file mode 100644 index 0000000..642fc29 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/ajout-financement.html @@ -0,0 +1,37 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'contenu' %} + + + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} +
+
+
Ajout du financement au projet (Nom du projet ici)
+
+
+ {% csrf_token %} + {{ formulaire_creation_projet.as_p }} + +
+
+
+{% endblock %} +{% block 'modal' %} + {% include "gestion_projet/parts/modalAjoutProjet.html" %} +{% endblock %} +{% block 'js' %} + +{% endblock %} \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/creation_projet.html b/gestion_projet/templates/gestion_projet/creation_projet.html new file mode 100644 index 0000000..c04c5d4 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/creation_projet.html @@ -0,0 +1,32 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'contenu' %} + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} + {% comment %}

Enregistrement d'un nouveau projet

{% endcomment %} +
+
+
Enregistrement d'un nouveau projet
+
+
+ {% csrf_token %} + {{ formulaire_creation_projet.as_p }} +
+ + +
+
+
+
+{% endblock %} +{% block 'modal' %} +{% endblock %} +{% block 'js' %} +{% endblock %} \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/index.html b/gestion_projet/templates/gestion_projet/index.html new file mode 100644 index 0000000..70ba584 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/index.html @@ -0,0 +1,61 @@ +{% extends "BASE.html" %} +{% load static %} +{% load tags_personnaliser %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'contenu' %} +

Gestion des projets

+{% if messages %} + {% for message in messages %} + + {% endfor %} +{% endif %} +
+
+ Projets en cours +

{{projet_en_cours}}

+
+
+ Budget Total (GNF) +

{{budget_total}}

+
+
+ Personnel sous projet +

{{nombre_personnel}}

+
+
+
+
+
La liste des projets
+ {% if user|has_group:"ressource_humaine" %} +
+ + +
+ {% endif %} +
+
+
+
+
+
+
+{% endblock %} +{% block 'modal' %} + {% include "gestion_projet/parts/modalAjoutProjet.html" %} + {% include "gestion_projet/parts/modalFinancement.html" %} + {% include "gestion_projet/parts/creation_bailleur.html" %} + {% include "gestion_projet/parts/modalDetailProjet.html" %} +{% endblock %} +{% block 'js' %} + + + + +{% endblock %} \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html b/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html new file mode 100644 index 0000000..6fe4194 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/creation_bailleur.html @@ -0,0 +1,20 @@ + diff --git a/gestion_projet/templates/gestion_projet/parts/liste_document_projet.html b/gestion_projet/templates/gestion_projet/parts/liste_document_projet.html new file mode 100644 index 0000000..eb63ad2 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/liste_document_projet.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalAjoutActivite.html b/gestion_projet/templates/gestion_projet/parts/modalAjoutActivite.html new file mode 100644 index 0000000..d253eb3 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalAjoutActivite.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalAjoutDocument.html b/gestion_projet/templates/gestion_projet/parts/modalAjoutDocument.html new file mode 100644 index 0000000..6787fad --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalAjoutDocument.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalAjoutLivrable.html b/gestion_projet/templates/gestion_projet/parts/modalAjoutLivrable.html new file mode 100644 index 0000000..6b2bb68 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalAjoutLivrable.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalAjoutProjet.html b/gestion_projet/templates/gestion_projet/parts/modalAjoutProjet.html new file mode 100644 index 0000000..1be46ce --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalAjoutProjet.html @@ -0,0 +1,21 @@ + + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalAnnulerActivite.html b/gestion_projet/templates/gestion_projet/parts/modalAnnulerActivite.html new file mode 100644 index 0000000..7793aaf --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalAnnulerActivite.html @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalDetailActivite.html b/gestion_projet/templates/gestion_projet/parts/modalDetailActivite.html new file mode 100644 index 0000000..fba8cd9 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalDetailActivite.html @@ -0,0 +1,58 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalDetailProjet.html b/gestion_projet/templates/gestion_projet/parts/modalDetailProjet.html new file mode 100644 index 0000000..a7f6087 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalDetailProjet.html @@ -0,0 +1,115 @@ +{% load tags_personnaliser %} + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalFinancement.html b/gestion_projet/templates/gestion_projet/parts/modalFinancement.html new file mode 100644 index 0000000..a075b41 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalFinancement.html @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/parts/modalMiseAJourDepense.html b/gestion_projet/templates/gestion_projet/parts/modalMiseAJourDepense.html new file mode 100644 index 0000000..d796bb4 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/parts/modalMiseAJourDepense.html @@ -0,0 +1,36 @@ + \ No newline at end of file diff --git a/gestion_projet/templates/gestion_projet/suivi_activite.html b/gestion_projet/templates/gestion_projet/suivi_activite.html new file mode 100644 index 0000000..24d44a6 --- /dev/null +++ b/gestion_projet/templates/gestion_projet/suivi_activite.html @@ -0,0 +1,64 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'contenu' %} + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} +
+ Suivi des Activités ({{ nom_projet }} ) +
+
+
+ Budget Total (GNF) +

{{ budget_total }}

+
+
+ Budget RH (GNF) +

{{ budget_RH }}

+
+
+ Budget Dépensé (GNF) +

{{budget_depense}}

+
+
+
+
+
La liste des Activités
+
+ + + +
+
+
+ +
+
+
+{% endblock %} +{% block 'modal' %} + {% include "gestion_projet/parts/modalAjoutActivite.html" %} + {% include "gestion_projet/parts/modalDetailActivite.html" %} + {% include "gestion_projet/parts/modalAjoutDocument.html" %} + {% include "gestion_projet/parts/modalMiseAJourDepense.html" %} + {% include "gestion_projet/parts/modalAjoutLivrable.html" %} + {% include "gestion_projet/parts/liste_document_projet.html" %} + {% include "gestion_projet/parts/modalAnnulerActivite.html" %} +{% endblock %} +{% block 'js' %} + + +{% endblock %} + \ No newline at end of file diff --git a/gestion_projet/tests.py b/gestion_projet/tests.py new file mode 100644 index 0000000..de8bdc0 --- /dev/null +++ b/gestion_projet/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/gestion_projet/urls.py b/gestion_projet/urls.py new file mode 100644 index 0000000..6e3f087 --- /dev/null +++ b/gestion_projet/urls.py @@ -0,0 +1,122 @@ +from django.urls import path +from . import views + +app_name = 'gestion_projet' + +urlpatterns = [ + path( + '', + views.index, + name='index' + ), + path( + 'modifier-financement//', + views.modifier_financement_projet, + name='modifier-financement' + ), + path( + 'projet/creation/', + views.creation_projet, + name='creation-projet' + ), + path( + 'projet/modifier//', + views.modification_projet, + name='modifier-projet' + ), + path( + 'liste-projet/', + views.liste_projet, + name='liste-projet' + ), + path( + 'projet/suppression//', + views.suppression_projet, + name='projet-suppression' + ), + path( + 'projet/ajouter-financement', + views.ajouter_financement_projet, + name='ajouter_financement' + ), + path( + 'creation-bailleur', + views.creation_bailleur, + name='creation-bailleur' + ), + path( + 'projet/affectation/', + views.affecter_employe_projet, + name='affecter-employe-projet' + ), + path( + 'projet/ajout-de-document/', + views.ajouter_document_projet, + name='ajouter-document' + ), + path( + 'projet/bailleurs//', + views.liste_bailleurs, + name='liste-bailleurs' + ), + path( + 'activite/', + views.activites_projet, + name='activites-projet' + ), + path( + 'activite/ajouter/', + views.ajouter_activite_projet, + name='ajouter-activite' + ), + path( + 'activite/modifier//', + views.modifier_activite_projet, + name='modifier-activite' + ), + path( + 'activite/annuler/', + views.annuler_activite_projet, + name='annuler-activite' + ), + path( + 'activite/liste/', + views.liste_activites_projet, + name='liste-activites-projet' + ), + # path( + # 'projet/ajout-de-document/', + # views.ajouter_document_projet, + # name='ajouter-document' + # ), + path( + 'projet/liste-des-documents/', + views.liste_documents_projet, + name='liste-documents-projet' + ), + path( + 'activite/liste-des-livrables//', + views.liste_livrables_activite, + name='liste-livrables-activite' + ), + path( + 'projet/ajout-de-livrable/', + views.ajouter_livrables_projet, + name='ajouter-livrable' + ), + path( + 'activite/mise-a-jour-depense/', + views.mises_a_jour_depense_activite, + name='mettre-a-jour-depense' + ), + path( + 'projet/liste-employes-par-projet/', + views.liste_employes_affectes, + name='liste-employes-affectes' + ), + path( + 'projet/mises-a-jour-projet', + views.mises_a_jour_projet, + name='mises-a-jour-projet' + ) +] \ No newline at end of file diff --git a/gestion_projet/views.py b/gestion_projet/views.py new file mode 100644 index 0000000..69bd619 --- /dev/null +++ b/gestion_projet/views.py @@ -0,0 +1,485 @@ +from datetime import date +from decimal import Decimal, InvalidOperation +from django.http import JsonResponse +from django.shortcuts import redirect, render +from django.utils import timezone +from django.contrib import messages +from django.contrib.auth.decorators import login_required +from django.db.models import Sum +from django.forms.models import model_to_dict +from gestion_employe.forms import AffectationForm +from gestion_employe.models import Affectation, Employe +from gestion_projet.forms import ProjetForm +from gestion_projet.models import Projet +from .models import ( + DocumentProjet, + Bailleur, + FinancementProjet, + ActiviteProjet, + LivrablesLivres, +) +from .forms import ( + ActiviteProjetForm, + DocumentProjetForm, + FinancementProjetFrom, + BailleurForm, + LivrablesLivresForm +) + +def liste_projet(request): + """ Vue pour retourner la liste de tous les projet """ + projets = Projet.objects.all().order_by('-created_at') + + data = [] + for p in projets: + financement = FinancementProjet.objects.filter(projet=p).select_related('bailleur') + data.append({ + "id_projet": p.id_projet, + "nom_projet": p.nom_projet, + "date_debut": p.date_debut, + "date_fin": p.date_fin, + "numero_convention": p.numero_convention, + "description": p.description, + "type_projet": p.type_projet, + "budget": p.budget, + "budget_RH": p.budget_RH, + "created_at": p.created_at, + "statut": p.statut, + "avancement": p.avancement, + "domaine_recherche": [d.nom for d in p.domaine_recherche.all()], + "source_financement": [f.bailleur.nom_organisme for f in financement], + }) + + return JsonResponse(data, safe=False) + +def liste_employes_affectes(request, projet_id): + """ Vue pour retourner la liste des employés affectés à un projet spécifique """ + employes = Employe.objects.filter(affectation__projet_id=projet_id).distinct() + data = [] + for employe in employes: + data.append({ + "employe": f"{employe.user.first_name} {employe.user.last_name}", + "pourcentage_affectation": Affectation.objects.get(employe=employe, projet__id_projet=projet_id).pourcentage_temps_affectation + }) + return JsonResponse(data, safe=False) + +def liste_bailleurs(request, projet_id): + """ Vue pour retourner la liste des bailleurs associés à un projet spécifique """ + bailleurs = FinancementProjet.objects.filter(projet_id=projet_id).select_related('bailleur') + data = [] + for b in bailleurs: + data.append({ + "bailleur": b.bailleur.nom_organisme, + "pourcentage_financement": b.pourcentage + }) + + return JsonResponse(data, safe=False) + +@login_required +def index(request): + projets = Projet.objects.all().order_by('-created_at') + nombre_personnel = Affectation.objects.values('employe_id').distinct().count() + budget_total = sum([projet.budget for projet in projets if projet.budget or 0]) + context = { + 'form': AffectationForm(), + 'form_ajout_financement': FinancementProjetFrom(), + 'form_ajout_bailleur': BailleurForm(), + 'bailleurs': Bailleur.objects.all(), + 'nombre_personnel': nombre_personnel, + 'budget_total': budget_total, + 'formulaire_creation_projet': ProjetForm(), + 'projet_en_cours': Projet.objects.filter(date_fin__gte=date.today()).count(), + } + + return render(request, 'gestion_projet/index.html', context) + +@login_required +def creation_projet(request): + """Vue pour créer un nouveau projet via un formulaire""" + formulaire_creation_projet = ProjetForm() + if request.method == "POST": + form = ProjetForm(request.POST) + + if form.is_valid(): + form.save() + messages.success(request, "Projet créé avec succès.") + else: + messages.error(request, "Le formulaire transmis est invalide.") + else: + form = ProjetForm() + return render( + request, + "gestion_projet/creation_projet.html", + { + "formulaire_creation_projet": formulaire_creation_projet + } + ) + +@login_required +def mises_a_jour_projet(request): + """ Vue de mises à jour des informations du projet """ + if request.method == "POST": + try: + projet = Projet.objects.get(id_projet = request.POST["id_projet"]) + except Projet.DoesNotExist: + messages.error(request, "Ce projet n'existe pas.") + else: + projet_form = ProjetForm(request.POST, instance=projet) + if projet_form.is_valid(): + projet_form.save() + messages.success(request, f"Le projet d'identifiant {request.POST['id_projet']} a été mis à jour avec succès.") + else: + messages.error(request, f"Les informations de modification transmises pour la modification du projet {request.POST['id_projet']} ne sont pas valides.") + else: + messages.error(request, "La méthode de transmission des données n'est pas valide.") + return redirect('gestion_projet:index') + +@login_required +def creation_bailleur(request): + form = BailleurForm(request.POST) + if request.method == 'POST': + if form.is_valid(): + form.save() + return JsonResponse({'success': True}) + return JsonResponse({'success': False}) + +@login_required +def ajouter_financement_projet(request): + """Ajoute un financement à un projet en vérifiant que le total ne dépasse pas 100%""" + + if request.method == 'POST': + pourcentage_recuperer = request.POST.get('pourcentage') + bailleur_id = request.POST.get('bailleur') + projet_id = request.POST.get('projet') + try: + projet = Projet.objects.get(id_projet=projet_id) + except Projet.DoesNotExist: + return JsonResponse({'success': False, 'message': "Le projet spécifié n’existe pas."}) + + try: + pourcentage_nouveau = Decimal(pourcentage_recuperer) if pourcentage_recuperer else Decimal(0) + except (InvalidOperation, TypeError): + return JsonResponse({'success': False, 'message': "Le pourcentage saisi n’est pas valide."}) + + financement_total_actuel = sum(financement.pourcentage for financement in FinancementProjet.objects.filter(projet=projet)) + if financement_total_actuel + pourcentage_nouveau > 100: + return JsonResponse({'success': False, 'message': "Le total des financements dépasse 100%."}) + + if bailleur_id: + FinancementProjet.objects.create( + projet=projet, + bailleur_id=bailleur_id, + pourcentage=pourcentage_nouveau + ) + return JsonResponse({'success': True, 'message': "Financement ajouté avec succès."}) + else: + return JsonResponse({'success': False, 'message': "Aucun bailleur sélectionné."}) + return JsonResponse({'success': False, 'message': "Requête invalide."}) + +@login_required +def modification_projet(request, projet_id): + """Vue pour éditer un projet existant via un formulaire pré-rempli""" + try: + projet = Projet.objects.get(id=projet_id) + except Projet.DoesNotExist: + messages.error(request, "Le projet spécifié n’existe pas.") + return redirect('projet-index') + + if request.method == "POST": + form = ProjetForm(request.POST) + if form.is_valid(): + form.save() + messages.success(request, "Le projet a été modifié avec succès.") + return redirect('projet-index') + messages.error(request, "Erreur lors de la modification du projet.") + form = ProjetForm(instance=projet) + return render(request, 'gestion_projet/projet-edit.html', {'form': form, 'projets': projet}) + +@login_required +def suppression_projet(request, id): + """Vue pour supprimer un projet spécifique après confirmation de l'utilisateur""" + try: + projet = Projet.objects.get(id=id) + except Projet.DoesNotExist: + messages.error(request, "Le projet spécifié n’existe pas.") + return redirect('projet-index') + + if request.method == "POST": + projet.delete() + messages.success(request, "Le projet a été supprimé avec succès.") + return redirect('projet-index') + +@login_required +def affecter_employe_projet(request, projet_id): + """Vue pour affecter un employé à un projet avec vérification des contraintes d'affectation""" + try: + projet = Projet.objects.get(id=projet_id) + except Projet.DoesNotExist: + messages.error(request, "Le projet spécifié n’existe pas.") + return redirect('projet-index') + + if request.method == 'POST': + form = AffectationForm(request.POST) + if form.is_valid(): + employe = Employe.objects.get(id=form.cleaned_data['employe'].id) + date_fin_affectation = form.cleaned_data['date_fin_daffectation'] + temps_nouveau = form.cleaned_data['temps_affectation'] + date_affectation = form.cleaned_data['date_affectation'] + + if (date_fin_affectation and date_affectation): + total_affectation = ( + Affectation.objects.filter(employe=employe) + .aggregate(total_pourcentage_affectation=Sum('temps_affectation')) + ['total_pourcentage_affectation'] or 0 + ) + if (date_fin_affectation < date_affectation): + messages.warning(request, "La date de fin d'affectation ne peut pas être antérieure à la date de début.") + return redirect('projet-index') + elif date_fin_affectation > projet.date_fin: + messages.warning(request, f"La date de fin de l'affectation ({date_fin_affectation}) ne peut pas dépasser la date de fin du projet ({projet.date_fin}).") + return redirect('projet-index') + elif total_affectation + temps_nouveau > 100: + messages.warning( + request, + f"Les pourcentages d'affectation de l'employé {employe.first_name} {employe.last_name} dépasse 100% sur les différents projets ({total_affectation + temps_nouveau}%)." + ) + return redirect('projet-index') + + Affectation.objects.update_or_create( + projet=projet, + employe=employe, + defaults={ + 'date_affectation': form.cleaned_data['date_affectation'], + 'date_fin_daffectation': date_fin_affectation, + 'role': form.cleaned_data['role'], + 'temps_affectation': temps_nouveau + } + ) + form = AffectationForm(initial={'projet': projet}) + messages.error(request, "Erreur : Formulaire non valide.") + return redirect('projet-index') + +def modifier_financement_projet(request, financement_id): + try: + financement = FinancementProjet.objects.get(id=financement_id) + except FinancementProjet.DoesNotExist: + messages.error(request, "Le financement spécifié n’existe pas.") + return redirect('projet-index') + projet = financement.projet + if request.method == 'POST': + try: + nouveau_pourcentage = Decimal(request.POST.get('pourcentage', '0')) + except InvalidOperation: + messages.error(request, "Le pourcentage saisi est invalide.") + return redirect('projet-index') + pourcentage_total_financement = ( + FinancementProjet.objects.filter(projet=projet) + .exclude(id=financement.id) + .aggregate(total_financement=Sum('pourcentage'))['pourcentage_total_financement'] or 0 + ) + if pourcentage_total_financement + nouveau_pourcentage > 100: + messages.error(request, f"Le total des financements dépasse 100% ({pourcentage_total_financement + nouveau_pourcentage}%).") + return redirect('projet-index') + financement.pourcentage = nouveau_pourcentage + financement.save() + messages.success(request, "Financement modifié avec succès.") + return redirect('projet-index') + +@login_required +def activites_projet(request): + try: + employe = Employe.objects.get(user=request.user) + except Employe.DoesNotExist: + messages.error(request, "Impossible d'accéder au menu 'Suivi des activités' car votre profil Utilisateur n'est lié à aucun profil Employe. Veuillez contacter l'administrateur.") + return redirect("gestion_conges:conge") + + try: + Affectation.objects.get(employe=employe, date_fin_daffectation__gte = timezone.now().date(), role='chef_projet') + except Affectation.DoesNotExist : + messages.error(request, "Seuls les chefs de projet ont accès à l'onglet 'Suivi des Activités'") + return redirect("gestion_conges:conge") + + projet = Affectation.objects.filter(employe=employe, role='chef_projet', date_fin_daffectation__gte=timezone.now().date()).select_related('projet').first() + if projet : + context = { + **model_to_dict(projet), + "nom_projet": projet.projet.nom_projet, + "budget_total": projet.projet.budget, + "budget_RH": projet.projet.budget_RH, + "form_ajout_activite": ActiviteProjetForm(), + "form_ajout_document": DocumentProjetForm(), + "form_ajout_livrable": LivrablesLivresForm(), + } + else : + context = { + "form_ajout_activite": ActiviteProjetForm(), + "form_ajout_document": DocumentProjetForm(), + "form_ajout_livrable": LivrablesLivresForm(), + } + return render(request, 'gestion_projet/suivi_activite.html', context) + +@login_required +def ajouter_activite_projet(request): + """Vue pour ajouter une activité à un projet spécifique via un formulaire""" + employe = Employe.objects.get(user=request.user) + projet = Affectation.objects.filter(employe=employe, role='chef_projet', date_fin_daffectation__gte=timezone.now().date()).select_related('projet').first() + + if request.method == "POST": + form = ActiviteProjetForm(request.POST) + if form.is_valid(): + activite = form.save(commit=False) + activite.projet = projet.projet + activite.budget_depense = request.POST["budget_prevu"] + activite.save() + messages.success(request, "Activité ajoutée avec succès !") + else: + messages.error(request, "Erreur : vérifiez les informations saisies.") + return redirect('gestion_projet:activites-projet') + +@login_required +def liste_activites_projet(request): + """Vue pour retourner la liste des activités d'un projet spécifique""" + employe = Employe.objects.get(user=request.user) + projet = Affectation.objects.filter(employe=employe, role='chef_projet', date_fin_daffectation__gte=timezone.now().date()).select_related('projet').first() + if projet: + activites = ActiviteProjet.objects.filter(projet_id=projet.projet.id_projet).order_by('-date_debut') + else: + activites = [] + data = [] + for a in activites: + data.append({ + "id": a.id, + "titre": a.titre, + "date_debut": a.date_debut, + "date_fin": a.date_fin, + "statut": a.statut, + "budget_prevu": a.budget_prevu, + "budget_depense": a.budget_depense, + "motif_changement_budget": a.motif_changement_budget, + "besoin_ressource_materielle": a.besoin_ressource_materielle, + "description": a.description, + }) + return JsonResponse(data, safe=False) + +@login_required +def liste_livrables_activite(request, activite_id): + """Vue pour retourner la liste des livrables attendus d'une activité spécifique""" + livrables = LivrablesLivres.objects.filter(activite__id=activite_id) + data = [] + for livrable in livrables: + print(livrable.fichier.url) + data.append({ + "titre": livrable.nom, + "lien": livrable.fichier.url if livrable.fichier else "", + }) + return JsonResponse(data, safe=False) + +@login_required +def mises_a_jour_depense_activite(request): + """Vue pour retourner la liste des activités d'un projet spécifique avec leurs dépenses mises à jour""" + if request.method == "POST": + activite_id = request.POST.get("id_activite") + budget_depense = request.POST.get("budget_depense") + motif = request.POST.get("motif", "").strip() + try: + activite = ActiviteProjet.objects.get(id=activite_id) + activite.budget_depense = Decimal(budget_depense) + if Decimal(budget_depense) != activite.budget_prevu: + activite.motif_changement_budget = motif + else: + activite.motif_changement_budget = "" + activite.save() + messages.success(request, f"Dépenses mises à jour pour l’activité '{activite.titre}'.") + except (ActiviteProjet.DoesNotExist, InvalidOperation): + messages.error(request, "Erreur lors de la mise à jour des dépenses.") + return redirect("gestion_projet:activites-projet") + +@login_required +def ajouter_livrables_projet(request): + """Vue pour ajouter un livrable à une activité de projet spécifique via un formulaire""" + + if request.method == "POST": + form = LivrablesLivresForm(request.POST, request.FILES) + if form.is_valid(): + form.save() + messages.success(request, "Livrable ajouté avec succès !") + else: + messages.error(request, "Erreur : vérifiez les informations saisies.") + return redirect('gestion_projet:activites-projet') + +@login_required +def ajouter_document_projet(request): + """Ajoute un document à un projet""" + employe = Employe.objects.get(user=request.user) + projet = Affectation.objects.filter(employe=employe, role='chef_projet', date_fin_daffectation__gte=timezone.now().date()).select_related('projet').first() + if request.method == "POST": + form = DocumentProjetForm(request.POST, request.FILES) + if form.is_valid(): + document = form.save(commit=False) + document.projet = projet.projet + document.save() + messages.success(request, "Document ajouté avec succès !") + else: + messages.error(request, "Erreur : le document n’a pas pu être enregistré.") + return redirect('gestion_projet:activites-projet') + +def liste_documents_projet(request): + employe = Employe.objects.get(user=request.user) + projet = Affectation.objects.filter(employe=employe, role='chef_projet', date_fin_daffectation__gte=timezone.now().date()).select_related('projet').first() + if projet: + documents = DocumentProjet.objects.filter(projet__id_projet=projet.projet.id_projet) + else: + documents = [] + data = [] + for d in documents: + data.append({ + "nom_document": d.nom_document, + "numero": d.numero, + "date_validite": d.date_validite, + "lien_document": d.fichier.url if d.fichier else "", + }) + return JsonResponse(data, safe=False) + +def modifier_activite_projet(request, id): + """Vue pour modifier une activité de projet spécifique via un formulaire pré-rempli""" + try: + activite = ActiviteProjet.objects.get(id=id) + except ActiviteProjet.DoesNotExist: + messages.error(request, "L'activité spécifiée n’existe pas.") + return redirect('activites-projet') + if request.method == 'POST': + form = ActiviteProjetForm(request.POST, instance=activite) + if form.is_valid(): + activite.besoin_ressource_materielle = bool(request.POST.get("besoin_ressource_materielle")) + form.save() + messages.success(request, f"Activité « {activite.titre} » modifiée avec succès.") + else: + messages.error(request, "Erreur lors de la modification de l'activité.") + return redirect('activites-projet') + + form = ActiviteProjetForm(instance=activite) + return render( + request, + 'gestion_projet/activite.html', { + 'form': form, + 'activite': activite, + } + ) + +def annuler_activite_projet(request): + """Vue pour annuler une activité de projet spécifique après confirmation de l'utilisateur""" + print(request.POST) + if request.method != "POST": + messages.error(request, "Requête invalide.") + return redirect('gestion_projet:activites-projet') + try: + activite = ActiviteProjet.objects.get(id=request.POST.get('id_activite')) + except ActiviteProjet.DoesNotExist: + messages.error(request, "L'activité spécifiée n’existe pas.") + return redirect('gestion_projet:activites-projet') + if request.method == "POST": + activite.annuler = True + activite.motif_annulation = request.POST.get("motif_annulation", "").strip() + activite.save() + messages.success(request, f"L'activité '{activite.titre}' a été annulée avec succès.") + return redirect('gestion_projet:activites-projet') \ No newline at end of file diff --git a/gestion_salle/__init__.py b/gestion_salle/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_salle/admin.py b/gestion_salle/admin.py new file mode 100644 index 0000000..ea5d68b --- /dev/null +++ b/gestion_salle/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/gestion_salle/apps.py b/gestion_salle/apps.py new file mode 100644 index 0000000..569d365 --- /dev/null +++ b/gestion_salle/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class GestionSalleConfig(AppConfig): + name = 'gestion_salle' diff --git a/gestion_salle/forms.py b/gestion_salle/forms.py new file mode 100644 index 0000000..e40caf0 --- /dev/null +++ b/gestion_salle/forms.py @@ -0,0 +1,32 @@ +from django import forms +from .models import Reservation + +class ReservationForm(forms.ModelForm): + class Meta: + model = Reservation + fields = ['salle', 'date_debut', 'date_fin', 'heure_debut', 'heure_fin', 'motif_reservation', 'besoin_zoom', 'besoin_ordi'] + widgets = { + 'date_debut': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), + 'date_fin': forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}), + 'heure_debut': forms.TimeInput(attrs={'type': 'time', 'class': 'form-control'}), + 'heure_fin': forms.TimeInput(attrs={'type': 'time', 'class': 'form-control'}), + 'motif_reservation': forms.Textarea(attrs={'rows': 3, 'cols': 40, 'style':'resize:none;', 'class': 'form-control'}), + 'salle': forms.Select(attrs={'class': 'form-select'}), + } + besoin_zoom = forms.BooleanField( + required=False, + label="Besoin d'un lien Zoom ?", + widget=forms.CheckboxInput(attrs={'class': 'form-check-input', 'id': 'id_besoin_zoom'}) + ) + besoin_ordi = forms.BooleanField( + required=False, + label="Besoin d'ordinateur ?", + widget=forms.CheckboxInput(attrs={'class': 'form-check-input', 'id': 'id_besoin_ordi'}) + ) + +class RefusReservationForm(forms.Form): + motif_refus = forms.CharField( + label= "Motif du refus", + widget=forms.Textarea(attrs={'rows': 3, 'cols': 40, 'style': 'resize:none;'}), + required=True + ) diff --git a/gestion_salle/migrations/0001_initial.py b/gestion_salle/migrations/0001_initial.py new file mode 100644 index 0000000..f477d96 --- /dev/null +++ b/gestion_salle/migrations/0001_initial.py @@ -0,0 +1,34 @@ +# Generated by Django 5.2.13 on 2026-04-17 12:03 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('gestion_employe', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Reservation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('salle', models.CharField(choices=[('formation', 'Salle de formation'), ('reunion', 'Salle de réunion'), ('lien_zoom', 'Lien Zoom')], max_length=100)), + ('date_demande', models.DateTimeField(auto_now_add=True)), + ('date_debut', models.DateField()), + ('date_fin', models.DateField(blank=True, null=True)), + ('heure_debut', models.TimeField()), + ('heure_fin', models.TimeField()), + ('besoin_zoom', models.BooleanField(default=False, verbose_name="Besoin d'un lien Zoom ?")), + ('besoin_ordi', models.BooleanField(default=False, verbose_name="Besoin d'un ordinateur ?")), + ('lien_zoom', models.URLField(blank=True, null=True, verbose_name='Lien Zoom')), + ('motif_reservation', models.TextField()), + ('statut', models.CharField(choices=[('en_attente', 'En attente'), ('validee', 'Validée'), ('refusee', 'Refusée'), ('annulee', 'Annulée')], default='en_attente', max_length=25)), + ('employe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='gestion_employe.employe')), + ], + ), + ] diff --git a/gestion_salle/migrations/__init__.py b/gestion_salle/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gestion_salle/models.py b/gestion_salle/models.py new file mode 100644 index 0000000..5d1d4e2 --- /dev/null +++ b/gestion_salle/models.py @@ -0,0 +1,33 @@ +from django.db import models +from gestion_employe.models import Employe + + +class Reservation(models.Model): + """Modèle de création des réservations""" + TYPE_CHOICES = [ + ('formation', 'Salle de formation'), + ('reunion', 'Salle de réunion'), + ('lien_zoom', 'Lien Zoom'), + ] + STATUT = [ + ('en_attente', 'En attente'), + ('validee', 'Validée'), + ('refusee', 'Refusée'), + ('annulee', 'Annulée'), + ] + + employe = models.ForeignKey(Employe, on_delete=models.CASCADE) + salle = models.CharField(max_length=100, choices=TYPE_CHOICES) + date_demande = models.DateTimeField(auto_now_add=True) + date_debut = models.DateField() + date_fin = models.DateField(blank=True,null=True) + heure_debut = models.TimeField() + heure_fin = models.TimeField() + besoin_zoom = models.BooleanField(default=False, verbose_name="Besoin d'un lien Zoom ?") + besoin_ordi = models.BooleanField(default=False, verbose_name="Besoin d'un ordinateur ?") + lien_zoom = models.URLField(blank=True, null=True, verbose_name="Lien Zoom") + motif_reservation = models.TextField() + statut = models.CharField(choices=STATUT, default='en_attente', max_length=25) + + def __str__(self): + return f"{self.salle} - {self.employe.user.first_name} {self.employe.user.last_name} le {self.date_reservation}" \ No newline at end of file diff --git a/gestion_salle/static/gestion_salle/js/index.js b/gestion_salle/static/gestion_salle/js/index.js new file mode 100644 index 0000000..8b5bff8 --- /dev/null +++ b/gestion_salle/static/gestion_salle/js/index.js @@ -0,0 +1,193 @@ +const $ = (element) => document.getElementById(element); +const { Schedule } = calendarjs; + +let dateAUtiliser = new Date().toISOString().split('T')[0]; +let currentReservationId = null; + +const calendrier = Schedule(document.getElementById('planning-reservation'), { + type: 'weekdays', + value: dateAUtiliser, + validRange: ['08:00', '18:00'], + ondblclick: function(self, event) { + const modal = new bootstrap.Modal($("modalDetailReservation")); + modal.show(); + fetch (`/gestion-salle/revervation/details/${event.guid}`) + .then(response => response.json()) + .then(data => { + currentReservationId = data.id_reservation; + console.log(data); + $("id_reservation_detail").value = data.id_reservation; + $("id_reservation_refus").value = data.id_reservation; + $("id_reservation_zoom").value = data.id_reservation; + $("employe").value=data.employe; + $("salle").value=data.salle; + $("statut-reservation").innerHTML=data.statut; + $("date_evenement").value=data.date_evenement; + $("heure_debut").value=data.heure_debut; + $("heure_fin").value=data.heure_fin; + $("motif_reservation").value=data.motif_reservation; + $("besoin_zoom").checked=data.besoin_zoom; + $("besoin_ordinateur").checked=data.besoin_ordinateur; + $("lien_zoom").value=data.lien_zoom; + + if(data.statut !== "annulee"){ + $("motif_refus_container").className = "d-none"; + }else{ + $("motif_refus").value=data.motif_refus; + } + }) + } +}); + +$("modalReservation").addEventListener('shown.bs.modal', (e) => { + $("id_salle").value = $("liste-salle").value; +}) + +$('semaineDate').addEventListener('change', () => { + calendrier.value = $('semaineDate').value; + calendrier.render(); +}) + +evenement_defini = null + +$("liste-salle").addEventListener("change", (e) => { + if(evenement_defini === null){ + evenement_defini = calendrier.getData(); + } + evenements = evenement_defini; + evenement_filtrer = evenements.filter((evenement) => { + if(evenement.title == $("liste-salle").value){ + return evenement + } + }) + calendrier.setData(evenement_filtrer); +}) + +function chargement_evenement(){ + const url = $("planning-reservation").dataset.url; + fetch (url) + .then(response => response.json()) + .then(data => { + calendrier.setData(data); + }) +} + +document.addEventListener("DOMContentLoaded", function () { + chargement_evenement() +}) + +$("bouton-annuler").addEventListener("click", (e) => { + const csrf = document.querySelector("[name=csrfmiddlewaretoken]").value; + const url_annuler = $("formulaire-details").dataset.urlannuler; + + fetch( + url_annuler, + { + method: "POST", + headers: { + "X-Requested-With": "XMTHttpRequest", + "X-CSRFToken": csrf + }, + body: new FormData($("formulaire-details")) + } + ) + .then(response => response.json()) + .then(data => console.log(data)) +}) + +if($("bouton-valider")){ + $("bouton-valider").addEventListener("click", (e) => { + const csrf = document.querySelector("[name=csrfmiddlewaretoken]").value; + const urlvalider = $("formulaire-details").dataset.urlvalider; + + fetch( + urlvalider, + { + method: "POST", + headers: { + "X-Requested-With": "XMTHttpRequest", + "X-CSRFToken": csrf + }, + body: new FormData($("formulaire-details")) + } + ) + .then(response => response.json()) + .then(data => console.log(data)) + }) +} + +if($("ajoutZoom")){ + $("ajoutZoom").addEventListener("click", (e) => { + e.preventDefault(); + bootstrap.Modal.getOrCreateInstance($("modalDetailReservation")).hide(); + new bootstrap.Modal($("modalZoom")).show(); + }) +} + +if($("refuserReservation")){ + $("refuserReservation").addEventListener("click", (e) => { + const csrf = document.querySelector("[name=csrfmiddlewaretoken]").value; + const url = e.currentTarget.dataset.lienrefus; + const idRes = $("id_reservation_detail").value; + + fetch(url, { + method: "POST", + headers: { + "Content-Type": "application/json", + "X-Requested-With": "XMLHttpRequest", + "X-CSRFToken": csrf + }, + body: JSON.stringify({ "id_reservation": idRes }) + }) + .then(response => response.json()) + .then(data => alert(data.message)) + .catch(error => console.error("Erreur:", error)); + }); +} + +const tableau_reservation_attente = new Tabulator("#tableau-reservation-attente", { + columns: [ + {title: "Employé", field: "employe"}, + {title: "Salle", field: "salle"}, + {title: "Date de l'evenement", field: "date_debut"}, + {title: "Heure de début", field: "heure_debut"}, + {title: "Heure de fin", field: "heure_fin"}, + {title: "Motif de reservation", field: "motif_reservation"}, + ], + placeholder: "Aucune reservation en attente.", + ajaxURL : $("tableau-reservation-attente").dataset.reservationattentes +}) + +tableau_reservation_attente.on("rowClick", (row, rowData) => { + const data = rowData.getData(); + + console.log(data); + + if(data.besoin_zoom === false){ + $("lien_zoom_container").className = 'd-none'; + } + + if(data.statut !== "refusee"){ + $("motif_refus_container").className = 'd-none'; + } + + $("id_reservation_detail").value = data.id; + $("id_reservation_refus").value = data.id; + $("id_reservation_zoom").value = data.id; + + $("employe").value=data.employe; + $("salle").value=data.salle; + $("statut-reservation").innerHTML=data.statut; + $("date_evenement").value=data.date_debut; + $("heure_debut").value=data.heure_debut; + $("heure_fin").value=data.heure_fin; + $("motif_reservation").value=data.motif_reservation; + $("besoin_zoom").checked=data.besoin_zoom; + $("besoin_ordinateur").checked=data.besoin_ordi; + $("lien_zoom").value=data.lien_zoom; + $("motif_refus").value=data.motif_refus; + + const modal = new bootstrap.Modal($("modalDetailReservation")); + bootstrap.Modal.getOrCreateInstance($("modalReservationAttente")).hide(); + modal.show(); +}) \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/index.html b/gestion_salle/templates/gestion_salle/index.html new file mode 100644 index 0000000..b0fa88e --- /dev/null +++ b/gestion_salle/templates/gestion_salle/index.html @@ -0,0 +1,59 @@ +{% extends "BASE.html" %} +{% load static %} +{% block 'titre_page' %} Gestion des projets {% endblock %} +{% block 'css' %} + + +{% endblock %} +{% block 'contenu' %} + {% if messages %} + {% for message in messages %} + + {% endfor %} + {% endif %} +
+
+

Reservation de salle

+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+{% endblock %} +{% block 'modal' %} + {% include 'gestion_salle/parts/modalCreationReservation.html' %} + {% include 'gestion_salle/parts/ModaleAjoutLienZoom.html' %} + {% include 'gestion_salle/parts/ModalRefusReservation.html' %} + {% include 'gestion_salle/parts/modalDetailResevation.html' %} + {% include 'gestion_salle/parts/modalListeValidation.html' %} +{% endblock %} +{% block 'js' %} + + + +{% endblock %} \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/parts/ModalRefusReservation.html b/gestion_salle/templates/gestion_salle/parts/ModalRefusReservation.html new file mode 100644 index 0000000..96d358d --- /dev/null +++ b/gestion_salle/templates/gestion_salle/parts/ModalRefusReservation.html @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/parts/ModaleAjoutLienZoom.html b/gestion_salle/templates/gestion_salle/parts/ModaleAjoutLienZoom.html new file mode 100644 index 0000000..0c7c534 --- /dev/null +++ b/gestion_salle/templates/gestion_salle/parts/ModaleAjoutLienZoom.html @@ -0,0 +1,26 @@ + + \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/parts/modalCreationReservation.html b/gestion_salle/templates/gestion_salle/parts/modalCreationReservation.html new file mode 100644 index 0000000..0db15f8 --- /dev/null +++ b/gestion_salle/templates/gestion_salle/parts/modalCreationReservation.html @@ -0,0 +1,23 @@ + + \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/parts/modalDetailResevation.html b/gestion_salle/templates/gestion_salle/parts/modalDetailResevation.html new file mode 100644 index 0000000..fb84ee8 --- /dev/null +++ b/gestion_salle/templates/gestion_salle/parts/modalDetailResevation.html @@ -0,0 +1,71 @@ + + \ No newline at end of file diff --git a/gestion_salle/templates/gestion_salle/parts/modalListeValidation.html b/gestion_salle/templates/gestion_salle/parts/modalListeValidation.html new file mode 100644 index 0000000..0f50e01 --- /dev/null +++ b/gestion_salle/templates/gestion_salle/parts/modalListeValidation.html @@ -0,0 +1,16 @@ + + \ No newline at end of file diff --git a/gestion_salle/tests.py b/gestion_salle/tests.py new file mode 100644 index 0000000..de8bdc0 --- /dev/null +++ b/gestion_salle/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/gestion_salle/urls.py b/gestion_salle/urls.py new file mode 100644 index 0000000..d13ee3e --- /dev/null +++ b/gestion_salle/urls.py @@ -0,0 +1,48 @@ +from django.urls import path +from . import views + +app_name = "gestion_salle" + +urlpatterns = [ + path( + 'revervation/', + views.index, + name='reservation-salle' + ), + path( + 'revervation/details/', + views.detail_reservation, + name='detail-reservation' + ), + + path( + 'reservation/annuler', + views.annuler_reservation, + name='annuler-reservation' + ), + path( + 'reservation/valider', + views.valider_reservation, + name='valider-reservation' + ), + path( + 'reservation/refuser', + views.refuser_reservation, + name='refuser-reservation' + ), + path( + 'reservation/ajout-de-lien-zoom', + views.ajouter_lien_zoom, + name='ajouter-lien_zoom' + ), + path( + 'liste-reservation', + views.liste_reservation, + name='liste-reservation' + ), + path( + 'liste-reservation-attente', + views.liste_reservation_attente, + name="liste-reservation-attente" + ) +] \ No newline at end of file diff --git a/gestion_salle/views.py b/gestion_salle/views.py new file mode 100644 index 0000000..de589cf --- /dev/null +++ b/gestion_salle/views.py @@ -0,0 +1,195 @@ +import json +from datetime import timedelta +from django.contrib import messages +from django.contrib.auth.decorators import login_required +from django.shortcuts import redirect, render +from django.http import JsonResponse, HttpRequest +from django.forms import model_to_dict +from gestion_employe.models import Employe +from gestion_salle.forms import ReservationForm +from .models import Reservation + +@login_required +def index(request:HttpRequest): + """Vue de gestion de la reservation de la salle""" + try: + employe = Employe.objects.get(user=request.user) + except Employe.DoesNotExist: + messages.error(request, "Impossible d'accéder au menu 'Reservation de salle' car votre profil Utilisateur n'est lié à aucun profil Employe. Veuillez contacter l'administrateur.") + return redirect('gestion_conges:conge') + + if request.method == "POST": + form = ReservationForm(request.POST) + if form.is_valid(): + date_debut = form.cleaned_data.get('date_debut') + date_fin = form.cleaned_data.get('date_fin') + salle = form.cleaned_data.get('salle') + heure_debut = form.cleaned_data.get('heure_debut') + heure_fin = form.cleaned_data.get('heure_fin') + motif_reservation = form.cleaned_data.get('motif_reservation') + besoin_zoom = form.cleaned_data.get('besoin_zoom') + besoin_ordi = form.cleaned_data.get('besoin_ordi') + + while date_debut <= date_fin : + reservation = Reservation( + employe = employe, + date_debut = date_debut, + date_fin = date_debut, + salle = salle, + heure_debut = heure_debut, + heure_fin = heure_fin, + besoin_zoom = besoin_zoom, + besoin_ordi = besoin_ordi, + motif_reservation=motif_reservation, + ) + reservation.save() + date_debut = date_debut + timedelta(days=1) + + messages.success(request, "Réservation(s) créées avec succès.") + return redirect('gestion_salle:reservation-salle') + + formulaire_reservation = ReservationForm() + departement = Employe.objects.get(user__username=request.user).departement + appartient_direction = 'direction' in request.user.groups.values_list('name', flat=True) + liste_demande_reservation = [ + reservation.id for reservation in + Reservation.objects.filter(employe=employe, statut='en_attente') + ] + + context = { + 'formulaire_reservation': formulaire_reservation, + 'nb_reservation_attente': Reservation.objects.filter(statut='en_attente').count(), + 'appartient_au_departement_informatique': 'Informatique' == departement.nom if departement else False, + 'appartient_direction': appartient_direction, + 'liste_demande_reservation': liste_demande_reservation + } + return render(request, "gestion_salle/index.html", context) + +def liste_reservation(request:HttpRequest): + """Vue d'affichage des creneaux disponibles""" + reservations = Reservation.objects.filter(statut = "validee") + liste_reservation = [] + for reservation in reservations: + color = None + if reservation.statut == "en_attente": + color = "#ffc107" + elif reservation.statut == "validee": + color = "#198754" + else: + color = "#dc3545" + + liste_reservation.append({ + "guid": reservation.pk, + "title": dict(Reservation.TYPE_CHOICES).get(reservation.salle), + "date": reservation.date_debut, + "start": reservation.heure_debut, + "end": reservation.heure_fin, + "color": color, + }) + + return JsonResponse(liste_reservation, safe=False) + +@login_required +def liste_reservation_attente(request): + reservations = Reservation.objects.filter(statut="en_attente") + liste_reservation = [ + { + **model_to_dict(reservation), + "employe": f"{reservation.employe.user.first_name} {reservation.employe.user.last_name}", + "salle": dict(Reservation.TYPE_CHOICES).get(reservation.salle) + } for reservation in reservations + ] + + return JsonResponse(liste_reservation, safe=False) + +def detail_reservation(request:HttpRequest, reservation_id:int): + reservation = Reservation.objects.get(id=reservation_id) + employe = reservation.employe.user + reservation_json = { + 'id_reservation': reservation_id, + 'employe': f"{employe.first_name} {employe.last_name}", + 'salle': reservation.salle, + 'statut': reservation.statut, + 'date_evenement': reservation.date_debut.strftime('%Y-%m-%d'), + 'heure_debut': reservation.heure_debut.strftime('%H:%M'), + 'heure_fin': reservation.heure_fin.strftime('%H:%M'), + 'motif_reservation': reservation.motif_reservation, + 'besoin_zoom': reservation.besoin_zoom, + 'besoin_ordinateur': reservation.besoin_ordi, + 'lien_zoom': reservation.lien_zoom or '', + 'motif_refus': reservation.motif_refus or '', + } + + return JsonResponse(reservation_json, safe=True) + +@login_required +def ajouter_lien_zoom(request:HttpRequest): + """Vue de gestion de l'ajout du lien zoom""" + if request.method == 'POST': + reservation_id= request.POST['id_reservation'] + try: + reservation = Reservation.objects.get(id=reservation_id) + except reservation.DoesNotExist: + messages.error(request, "La resevertion selectionné n'existe pas.") + return redirect("salle") + + if not (reservation.besoin_zoom or reservation.salle == "lien_zoom"): + messages.error(request, "Cette réservation ne nécessite pas de lien Zoom.") + return redirect('gestion_salle:reservation-salle') + elif reservation.statut in ["annulee", "refusee"]: + messages.error(request, "Le lien Zoom ne peut être ajouté pour les réservations annulée ou refusée.") + return redirect('gestion_salle:reservation-salle') + + if request.method == "POST": + lien = request.POST.get("lien_zoom") + reservation.lien_zoom = lien + reservation.statut = "validee" + reservation.save() + messages.success(request, "Le lien Zoom a été ajouté et la réservation a été validée. ") + return redirect('gestion_salle:reservation-salle') + +@login_required +def annuler_reservation(request:HttpRequest): + """Vue de gestion de l'annulation de la reservation""" + if request.method == 'POST': + reservation_id= request.POST['id_reservation'] + try: + reservation = Reservation.objects.get(id=reservation_id) + except Reservation.DoesNotExist: + messages.error(request, "La resevertion selectionné n'existe pas.") + return redirect("salle") + + reservation.statut = 'annulee' + reservation.save() + messages.success(request, "Votre réservation a été annulée.") + return redirect('gestion_salle:reservation-salle') + +@login_required +def valider_reservation(request:HttpRequest): + """Vue de gestion de l'annulation de la reservation""" + if request.method == 'POST': + reservation_id= request.POST['id_reservation'] + try: + reservation = Reservation.objects.get(id=reservation_id) + except reservation.DoesNotExist: + messages.error(request, "La resevertion selectionné n'existe pas.") + return redirect("salle") + + reservation.statut = 'validee' + reservation.save() + messages.success(request, f"Réservation de {reservation.employe.get_full_name()} validée avec succès.") + return redirect('gestion_salle:reservation-salle') + +@login_required +def refuser_reservation(request:HttpRequest): + """Vue de gestion de refus de la reservation""" + data = json.loads(request.body) + reservation_id = data.get("id_reservation") + try: + reservation = Reservation.objects.get(id=reservation_id) + except Reservation.DoesNotExist and ValueError: + return JsonResponse({"message": "La resevertion selectionné n'existe pas."}) + else: + reservation.statut = "refusee" + reservation.save() + return JsonResponse({"message": "Réservation refusée avec succès."}) \ No newline at end of file diff --git a/manage.py b/manage.py new file mode 100644 index 0000000..98b1355 --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'SIRH.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/media/photos/unnamed_-_Copie.png b/media/photos/unnamed_-_Copie.png new file mode 100644 index 0000000000000000000000000000000000000000..1d7cf9fcda2516ff8db1b87f0a1691c622af5208 GIT binary patch literal 777987 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�gW+KtaK4{F44s=J`d66X?(K#bKHF|1a<-AR>_ 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

tktQshH*u&(qHbaf&%}=@ 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

7cvmXkGY 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�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 Ra3SF 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%0Am)ikM`VPecoG6vdCS}j(vV^Vo?qC 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 Eg0m&Bp8x;= literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index a0fb268..fc1328b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +<<<<<<< HEAD asgiref==3.11.1 certifi==2026.4.22 charset-normalizer==3.4.7 @@ -19,3 +20,157 @@ tzdata==2026.2 urllib3==2.6.3 python-decouple gunicorn +======= +anyio==4.13.0 +argon2-cffi==25.1.0 +argon2-cffi-bindings==25.1.0 +arrow==1.4.0 +asgiref==3.11.0 +asttokens==3.0.1 +async-lru==2.3.0 +attrs==26.1.0 +Automat==20.2.0 +babel==2.18.0 +bcrypt==3.2.0 +beautifulsoup4==4.14.3 +bleach==6.3.0 +blinker==1.4 +certifi==2026.2.25 +cffi==2.0.0 +chardet==4.0.0 +charset-normalizer==3.4.7 +click==8.0.3 +cloud-init==25.3 +colorama==0.4.4 +comm==0.2.3 +command-not-found==0.3 +configobj==5.0.6 +constantly==15.1.0 +cryptography==3.4.8 +dbus-python==1.2.18 +debugpy==1.8.20 +decorator==5.2.1 +defusedxml==0.7.1 +distlib==0.4.0 +distro==1.7.0 +distro-info==1.1+ubuntu0.2 +Django==5.2.10 +et_xmlfile==2.0.0 +exceptiongroup==1.3.1 +executing==2.2.1 +fastjsonschema==2.21.2 +filelock==3.20.3 +fqdn==1.5.1 +h11==0.16.0 +httpcore==1.0.9 +httplib2==0.20.2 +httpx==0.28.1 +hyperlink==21.0.0 +idna==3.3 +importlib-metadata==4.6.4 +incremental==21.3.0 +ipykernel==7.2.0 +ipython==8.39.0 +isoduration==20.11.0 +jedi==0.19.2 +jeepney==0.7.1 +Jinja2==3.0.3 +json5==0.14.0 +jsonpatch==1.32 +jsonpointer==2.0 +jsonschema==4.26.0 +jsonschema-specifications==2025.9.1 +jupyter-events==0.12.0 +jupyter-lsp==2.3.1 +jupyter_client==8.8.0 +jupyter_core==5.9.1 +jupyter_server==2.17.0 +jupyter_server_terminals==0.5.4 +jupyterlab==4.5.6 +jupyterlab_pygments==0.3.0 +jupyterlab_server==2.28.0 +keyring==23.5.0 +lark==1.3.1 +launchpadlib==1.10.16 +lazr.restfulclient==0.14.4 +lazr.uri==1.0.6 +MarkupSafe==2.0.1 +matplotlib-inline==0.2.1 +mistune==3.2.0 +more-itertools==8.10.0 +nbclient==0.10.4 +nbconvert==7.17.0 +nbformat==5.10.4 +nest-asyncio==1.6.0 +netifaces==0.11.0 +notebook_shim==0.2.4 +numpy==2.2.6 +oauthlib==3.2.0 +openpyxl==3.1.5 +overrides==7.7.0 +packaging==26.0 +pandas==2.3.3 +pandocfilters==1.5.1 +parso==0.8.6 +pexpect==4.9.0 +platformdirs==4.5.1 +prometheus_client==0.24.1 +prompt_toolkit==3.0.52 +psutil==7.2.2 +ptyprocess==0.7.0 +pure_eval==0.2.3 +pyasn1==0.4.8 +pyasn1-modules==0.2.1 +pycparser==3.0 +pycurl==7.44.1 +Pygments==2.20.0 +PyGObject==3.42.1 +PyHamcrest==2.0.2 +PyJWT==2.3.0 +pyOpenSSL==21.0.0 +pyparsing==2.4.7 +pyrsistent==0.18.1 +pyserial==3.5 +python-apt==2.4.0+ubuntu4.1 +python-dateutil==2.9.0.post0 +python-json-logger==4.1.0 +pytz==2022.1 +PyYAML==5.4.1 +pyzmq==27.1.0 +referencing==0.37.0 +requests==2.33.1 +rfc3339-validator==0.1.4 +rfc3986-validator==0.1.1 +rfc3987-syntax==1.1.0 +rpds-py==0.30.0 +SecretStorage==3.3.1 +Send2Trash==2.1.0 +service-identity==18.1.0 +six==1.16.0 +soupsieve==2.8.3 +sqlparse==0.5.5 +ssh-import-id==5.11 +stack-data==0.6.3 +systemd-python==234 +terminado==0.18.1 +tinycss2==1.4.0 +tomli==2.4.1 +tornado==6.5.5 +traitlets==5.14.3 +Twisted==22.1.0 +typing_extensions==4.15.0 +tzdata==2025.3 +ubuntu-pro-client==8001 +ufw==0.36.1 +unattended-upgrades==0.1 +uri-template==1.3.0 +urllib3==1.26.5 +virtualenv==20.13.0+ds +wadllib==1.3.6 +wcwidth==0.6.0 +webcolors==25.10.0 +webencodings==0.5.1 +websocket-client==1.9.0 +zipp==1.0.0 +zope.interface==5.4.0 +>>>>>>> c28b14f (clean: remove pycache from tracking) diff --git a/static/css/bootstrap.min.css b/static/css/bootstrap.min.css new file mode 100644 index 0000000..955575a --- /dev/null +++ b/static/css/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.7 (https://getbootstrap.com/) + * Copyright 2011-2025 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{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);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/static/css/styles.css b/static/css/styles.css new file mode 100644 index 0000000..3b4d9ff --- /dev/null +++ b/static/css/styles.css @@ -0,0 +1,278 @@ +/* === Print === */ +@media print { + nav, .btn, .sidebar, .form-select, .form-control { + display: none !important; + } + body { + font-size: 12pt; + color: black; + } + table { + border-collapse: collapse; + } +} + + +@media (max-width: 768px) { + main { + margin-left: 0; + } +} + +/* === Body & Container === */ +body { + background-color: #e4dccc; + background-attachment: fixed; +} + +.dashboard-container { + background-color: #ffffff; + box-shadow: 0 0 10px rgba(0,0,0,0.05); + border-radius: 8px; + padding: 20px; + margin: 30px auto; + max-width: 1200px; +} + + + + +.sidebar { + position: fixed; + width: 220px; +} +main { + margin-left: 220px; +} + + + + + +/* === Sidebar === */ +.sidebar { + background: linear-gradient(180deg, #b35400, #993d00); /* dégradé orange foncé */ + color: white; + min-height: 100vh; /* prend toute la hauteur */ + top: 0; + z-index: 1000; + overflow-y: auto; + padding: 1rem; +} + +.sidebar .nav-link { + color: white; + font-weight: 700; +} + +.sidebar .nav-link:hover { + background-color: rgba(255, 255, 255, 0.1); + border-radius: 5px; + color: white; +} + +.sidebar .dropdown-menu { + display: none; + position: relative; + left: 10px; + top: -5px; + border: none; + padding-left: 1rem; + box-shadow: none; +} + +.sidebar .dropdown:hover .dropdown-menu { + display: block; +} + +.sidebar a { + color: white; +} + +.sidebar a:hover { + color: white; +} + +/* === Navbar / Logo / Profil === */ +.logo { + max-width: 80px; +} + +.img-profil { + width: 80px !important; + height: 80px !important; + object-fit: cover; + border-radius: 50%; +} + +/* === Cards === */ +.card { + border: 1px solid #dee2e6; + box-shadow: 0 2px 4px rgba(0,0,0,0.05); + border-radius: 8px; + transition: transform 0.3s ease; +} + +.card:hover { + transform: scale(1.02); +} + +.card-header { + background-color: #f8f9fa; + font-weight: bold !important; + color: black !important; + font-size: 1rem; + border-bottom: none; +} + +.card-body h5 { + color: black !important; + font-weight: bold; + font-size: 2.2rem; +} + +/* === Stat cards === */ +.stat-card { + background: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 5px rgba(113, 11, 11, 0.1); +} + +/* === Employé / Projet details === */ +.employe-detail { + background-color: #f9f9f9; + border-radius: 8px; + box-shadow: 0 2px 6px rgba(0,0,0,0.1); +} + +.employe-detail .card-title { + font-size: 1.8rem; + margin-bottom: 0.5rem; +} + +.employe-detail p { + margin-bottom: 0.4rem; + font-size: 1rem; +} + +.employe-detail a.btn { + font-weight: 500; +} + +.employe-card, .projet-card { + background-color: #fff; + border-radius: 10px; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); + padding: 2.5rem; + max-width: 1400px; + margin: 0 auto; + font-size: 1.1rem; +} + +/* === Forms === */ +.form-wrapper { + max-width: 1000px; + margin: auto; + background-color: rgba(255, 255, 255, 0.95); +} + +form label { + font-weight: 600; + margin-top: 1rem; + display: block; +} + +form input, form select, form textarea { + width: 100%; + padding: 0.5rem; + margin-top: 0.3rem; + border-radius: 5px; + border: 1px solid #ccc; +} + +/* === Formation badges === */ +.formation-badge { + position: relative; + display: inline-block; +} + +.formation-actions { + position: absolute; + top: -5px; + right: -5px; + display: none; +} + +.formation-badge:hover .formation-actions { + display: inline-block; +} + +.formation-actions button { + background: none; + border: none; + color: #fff; + margin-left: 5px; + font-size: 0.9rem; +} + +/* === Context menu === */ +#contextMenu { + width: 150px; +} + +/* === Transitions / Animations === */ +.fade-out { + opacity: 0; + transition: opacity 0.5s ease; +} + +#main-content { + transition: opacity 0.3s ease; +} + + +.login-box { + background: linear-gradient(to right, #f5f7fa, #c3cfe2); + border-radius: 10px; + box-shadow: 0 0 10px rgba(0,0,0,0.3); + width: 100%; + max-width: 400px; +} + +/* === Responsive === */ +@media (max-width: 576px) { + .modal-dialog { + max-width: 100%; + margin: 0; + height: 100%; + } + + .modal-content { + height: 100%; + border-radius: 0; + } + + .modal-body { + overflow-y: auto; + } + + .modal-footer button { + width: 100%; + } + + .img-profil { + width: 50px; + height: 50px; + } + + .sidebar { + width: 100%; + padding: 0.5rem 1rem; + } + + .sidebar .nav-link { + font-size: 0.9rem; + padding: 0.5rem 1rem; + } +} diff --git a/static/css/tabulator_bootstrap5.min.css b/static/css/tabulator_bootstrap5.min.css new file mode 100644 index 0000000..c5cdfdb --- /dev/null +++ b/static/css/tabulator_bootstrap5.min.css @@ -0,0 +1,2 @@ +.tabulator{border:1px solid #dee2e6;font-size:16px;overflow:hidden;position:relative;text-align:left;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.tabulator[tabulator-layout=fitDataFill] .tabulator-tableholder .tabulator-table{min-width:100%}.tabulator[tabulator-layout=fitDataTable]{display:inline-block}.tabulator.tabulator-block-select,.tabulator.tabulator-ranges .tabulator-cell:not(.tabulator-editing){user-select:none}.tabulator .tabulator-header{background-color:#fff;border-bottom:1px solid #dee2e6;box-sizing:border-box;color:#555;font-weight:700;outline:none;overflow:hidden;position:relative;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap;width:100%}.tabulator .tabulator-header.tabulator-header-hidden{display:none}.tabulator .tabulator-header .tabulator-header-contents{overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-header-contents .tabulator-headers{display:inline-block}.tabulator .tabulator-header .tabulator-col{background:#fff;border-right:1px solid #aaa;box-sizing:border-box;display:inline-flex;flex-direction:column;justify-content:flex-start;overflow:hidden;position:relative;text-align:left;vertical-align:bottom}.tabulator .tabulator-header .tabulator-col.tabulator-moving{background:#e6e6e6;border:1px solid #dee2e6;pointer-events:none;position:absolute}.tabulator .tabulator-header .tabulator-col.tabulator-range-highlight{background-color:#d6d6d6;color:#000}.tabulator .tabulator-header .tabulator-col.tabulator-range-selected{background-color:#3876ca;color:#fff}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{box-sizing:border-box;padding:4px;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button{padding:0 8px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-header-popup-button:hover{cursor:pointer;opacity:.6}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title-holder{position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title.tabulator-col-title-wrap{text-overflow:clip;white-space:normal}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-title-editor{background:#fff;border:1px solid #999;box-sizing:border-box;padding:1px;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title .tabulator-header-popup-button+.tabulator-title-editor{width:calc(100% - 22px)}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{align-items:center;bottom:0;display:flex;position:absolute;right:4px;top:0}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-left:6px solid transparent;border-right:6px solid transparent;height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #aaa;display:flex;margin-right:-1px;overflow:hidden;position:relative}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter{box-sizing:border-box;margin-top:2px;position:relative;text-align:center;width:100%}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter textarea{height:auto!important}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter svg{margin-top:3px}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input::-ms-clear{height:0;width:0}.tabulator .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-right:25px}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable.tabulator-col-sorter-element:hover{background-color:#e6e6e6;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter{color:#bbb}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=none] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #bbb;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-bottom:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=ascending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:6px solid #666;border-top:none}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter{color:#666}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter.tabulator-col-sorter-element .tabulator-arrow:hover{border-top:6px solid #555;cursor:pointer}}.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort=descending] .tabulator-col-content .tabulator-col-sorter .tabulator-arrow{border-bottom:none;border-top:6px solid #666;color:#666}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical .tabulator-col-content .tabulator-col-title{align-items:center;display:flex;justify-content:center;text-orientation:mixed;writing-mode:vertical-rl}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-col-vertical-flip .tabulator-col-title{transform:rotate(180deg)}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-title{padding-right:0;padding-top:20px}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable.tabulator-col-vertical-flip .tabulator-col-title{padding-bottom:20px;padding-right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-vertical.tabulator-sortable .tabulator-col-sorter{bottom:auto;justify-content:center;left:0;right:0;top:4px}.tabulator .tabulator-header .tabulator-frozen{left:0;position:sticky;z-index:11}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator .tabulator-header .tabulator-calcs-holder{background:#fff!important;border-bottom:1px solid #aaa;border-top:1px solid #dee2e6;box-sizing:border-box;display:inline-block}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row{background:#fff!important}.tabulator .tabulator-header .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-header .tabulator-frozen-rows-holder{display:inline-block;padding-top:1em}.tabulator .tabulator-header .tabulator-frozen-rows-holder:empty{display:none}.tabulator .tabulator-tableholder{-webkit-overflow-scrolling:touch;overflow:auto;position:relative;white-space:nowrap;width:100%}.tabulator .tabulator-tableholder:focus{outline:none}.tabulator .tabulator-tableholder .tabulator-placeholder{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-width:100%;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder[tabulator-render-mode=virtual]{min-height:100%}.tabulator .tabulator-tableholder .tabulator-placeholder .tabulator-placeholder-contents{color:#ccc;display:inline-block;font-size:20px;font-weight:700;padding:10px;text-align:center;white-space:normal}.tabulator .tabulator-tableholder .tabulator-table{background-color:#fff;color:#333;display:inline-block;overflow:visible;position:relative;white-space:nowrap}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs{background:#dadfe4!important;font-weight:700}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-top{border-bottom:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.tabulator-calcs.tabulator-calcs-bottom{border-top:2px solid #dee2e6}.tabulator .tabulator-tableholder .tabulator-range-overlay{inset:0;pointer-events:none;position:absolute;z-index:10}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range{border:1px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;position:absolute;right:-3px;width:6px}.tabulator .tabulator-tableholder .tabulator-range-overlay .tabulator-range-cell-active{border:2px solid #2975dd;box-sizing:border-box;position:absolute}.tabulator .tabulator-footer{background-color:#e6e6e6;border-top:1px solid #dee2e6;color:#555;font-weight:700;user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;white-space:nowrap}.tabulator .tabulator-footer .tabulator-footer-contents{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:5px 10px}.tabulator .tabulator-footer .tabulator-footer-contents:empty{display:none}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs{margin-top:-5px;overflow-x:auto}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{border:1px solid #dee2e6;border-bottom-left-radius:5px;border-bottom-right-radius:5px;border-top:none;display:inline-block;font-size:.9em;padding:5px}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab:hover{cursor:pointer;opacity:.7}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background:#fff}.tabulator .tabulator-footer .tabulator-calcs-holder{background:#f3f3f3!important;border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;overflow:hidden;text-align:left;width:100%}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background:#f3f3f3!important;display:inline-block}.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row .tabulator-col-resize-handle{display:none}.tabulator .tabulator-footer .tabulator-calcs-holder:only-child{border-bottom:none;margin-bottom:-5px}.tabulator .tabulator-footer>*+.tabulator-page-counter{margin-left:10px}.tabulator .tabulator-footer .tabulator-page-counter{font-weight:400}.tabulator .tabulator-footer .tabulator-paginator{color:#555;flex:1;font-family:inherit;font-size:inherit;font-weight:inherit;text-align:right}.tabulator .tabulator-footer .tabulator-page-size{border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 5px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-pages{margin:0 7px}.tabulator .tabulator-footer .tabulator-page{background:hsla(0,0%,100%,.2);border:1px solid #dee2e6;border-radius:3px;display:inline-block;margin:0 2px;padding:2px 5px}.tabulator .tabulator-footer .tabulator-page:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:rgba(0,0,0,.2);color:#fff;cursor:pointer}}.tabulator .tabulator-col-resize-handle{display:inline-block;margin-left:-3px;margin-right:-3px;position:relative;vertical-align:middle;width:6px;z-index:11}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-col-resize-handle:hover{cursor:ew-resize}}.tabulator .tabulator-col-resize-handle:last-of-type{margin-right:0;width:3px}.tabulator .tabulator-col-resize-guide{background-color:#999;height:100%;margin-left:-.5px;opacity:.5;position:absolute;top:0;width:4px}.tabulator .tabulator-row-resize-guide{background-color:#999;height:4px;left:0;margin-top:-.5px;opacity:.5;position:absolute;width:100%}.tabulator .tabulator-alert{align-items:center;background:rgba(0,0,0,.4);display:flex;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:100}.tabulator .tabulator-alert .tabulator-alert-msg{background:#fff;border-radius:10px;display:inline-block;font-size:16px;font-weight:700;margin:0 auto;padding:10px 20px}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-msg{border:4px solid #333;color:#000}.tabulator .tabulator-alert .tabulator-alert-msg.tabulator-alert-state-error{border:4px solid #d00;color:#590000}.tabulator-row{background-color:#fff;box-sizing:border-box;min-height:24px;position:relative}.tabulator-row.tabulator-row-even{background-color:#e9ecef}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selectable:hover{background-color:#ced4da;cursor:pointer}}.tabulator-row.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator-row.tabulator-row-moving{background:#fff;border:1px solid #000}.tabulator-row.tabulator-moving{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;pointer-events:none;position:absolute;z-index:15}.tabulator-row.tabulator-range-highlight .tabulator-cell.tabulator-range-row-header{background-color:#d6d6d6;color:#000}.tabulator-row.tabulator-range-highlight.tabulator-range-selected .tabulator-cell.tabulator-range-row-header,.tabulator-row.tabulator-range-selected .tabulator-cell.tabulator-range-row-header{background-color:#3876ca;color:#fff}.tabulator-row .tabulator-row-resize-handle{bottom:0;height:5px;left:0;position:absolute;right:0}.tabulator-row .tabulator-row-resize-handle.prev{bottom:auto;top:0}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-row-resize-handle:hover{cursor:ns-resize}}.tabulator-row .tabulator-responsive-collapse{border-bottom:1px solid #dee2e6;border-top:1px solid #dee2e6;box-sizing:border-box;padding:5px}.tabulator-row .tabulator-responsive-collapse:empty{display:none}.tabulator-row .tabulator-responsive-collapse table{font-size:16px}.tabulator-row .tabulator-responsive-collapse table tr td{position:relative}.tabulator-row .tabulator-responsive-collapse table tr td:first-of-type{padding-right:10px}.tabulator-row .tabulator-cell{border-right:1px solid #dee2e6;box-sizing:border-box;display:inline-block;outline:none;overflow:hidden;padding:4px;position:relative;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.tabulator-row .tabulator-cell.tabulator-row-header{border-bottom:1px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-frozen{background-color:inherit;display:inline-block;left:0;position:sticky;z-index:11}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-right:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-left:2px solid #dee2e6}.tabulator-row .tabulator-cell.tabulator-editing{border:1px solid #1d68cd;outline:none;padding:0}.tabulator-row .tabulator-cell.tabulator-editing input,.tabulator-row .tabulator-cell.tabulator-editing select{background:transparent;border:1px;outline:none}.tabulator-row .tabulator-cell.tabulator-validation-fail{border:1px solid #d00}.tabulator-row .tabulator-cell.tabulator-validation-fail input,.tabulator-row .tabulator-cell.tabulator-validation-fail select{background:transparent;border:1px;color:#d00}.tabulator-row .tabulator-cell.tabulator-row-handle{align-items:center;display:inline-flex;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box{width:80%}.tabulator-row .tabulator-cell.tabulator-row-handle .tabulator-row-handle-box .tabulator-row-handle-bar{background:#666;height:3px;margin-top:2px;width:100%}.tabulator-row .tabulator-cell.tabulator-range-selected:not(.tabulator-range-only-cell-selected):not(.tabulator-range-row-header){background-color:#9abcea}.tabulator-row .tabulator-cell .tabulator-data-tree-branch-empty{display:inline-block;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle{align-items:center;background:#666;border-radius:20px;color:#fff;display:inline-flex;font-size:1.1em;font-weight:700;height:15px;justify-content:center;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-o-user-select:none;width:15px}@media (hover:hover) and (pointer:fine){.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle:hover{cursor:pointer;opacity:.7}}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-close{display:initial}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle.open .tabulator-responsive-collapse-toggle-open{display:none}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle svg{stroke:#fff}.tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle .tabulator-responsive-collapse-toggle-close{display:none}.tabulator-row .tabulator-cell .tabulator-traffic-light{border-radius:14px;display:inline-block;height:14px;width:14px}.tabulator-row.tabulator-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-row.tabulator-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-row.tabulator-group.tabulator-group-level-1{padding-left:30px}.tabulator-row.tabulator-group.tabulator-group-level-2{padding-left:50px}.tabulator-row.tabulator-group.tabulator-group-level-3{padding-left:70px}.tabulator-row.tabulator-group.tabulator-group-level-4{padding-left:90px}.tabulator-row.tabulator-group.tabulator-group-level-5{padding-left:110px}.tabulator-row.tabulator-group .tabulator-group-toggle{display:inline-block}.tabulator-row.tabulator-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-row.tabulator-group span{color:#d00;margin-left:10px}.tabulator-toggle{background:#dcdcdc;border:1px solid #ccc;box-sizing:border-box;display:flex;flex-direction:row}.tabulator-toggle.tabulator-toggle-on{background:#1c6cc2}.tabulator-toggle .tabulator-toggle-switch{background:#fff;border:1px solid #ccc;box-sizing:border-box}.tabulator-popup-container{-webkit-overflow-scrolling:touch;border:1px solid #dee2e6;box-shadow:0 0 5px 0 rgba(0,0,0,.2);box-sizing:border-box;display:inline-block;font-size:16px;overflow-y:auto;position:absolute;z-index:10000}.tabulator-popup{border-radius:3px;padding:5px}.tabulator-tooltip{border-radius:2px;box-shadow:none;font-size:12px;max-width:min(500px,100%);padding:3px 5px;pointer-events:none}.tabulator-menu .tabulator-menu-item{box-sizing:border-box;padding:5px 10px;position:relative;user-select:none}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.tabulator-menu .tabulator-menu-item:not(.tabulator-menu-item-disabled):hover{background:#e9ecef;cursor:pointer}}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu{padding-right:25px}.tabulator-menu .tabulator-menu-item.tabulator-menu-item-submenu:after{border-color:#dee2e6;border-style:solid;border-width:1px 1px 0 0;content:"";display:inline-block;height:7px;position:absolute;right:10px;top:calc(5px + .4em);transform:rotate(45deg);vertical-align:top;width:7px}.tabulator-menu .tabulator-menu-separator{border-top:1px solid #dee2e6}.tabulator-edit-list{-webkit-overflow-scrolling:touch;font-size:16px;max-height:200px;overflow-y:auto}.tabulator-edit-list .tabulator-edit-list-item{color:#333;outline:none;padding:4px}.tabulator-edit-list .tabulator-edit-list-item.active{background:#1d68cd}.tabulator-edit-list .tabulator-edit-list-item.focused{outline:1px solid #1d68cd}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{background:#1d68cd;color:#fff;cursor:pointer}}.tabulator-edit-list .tabulator-edit-list-placeholder{color:#333;padding:4px;text-align:center}.tabulator-edit-list .tabulator-edit-list-group{border-bottom:1px solid #dee2e6;color:#333;font-weight:700;padding:6px 4px 4px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-2,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-2{padding-left:12px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-3,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-3{padding-left:20px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-4,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-4{padding-left:28px}.tabulator-edit-list .tabulator-edit-list-group.tabulator-edit-list-group-level-5,.tabulator-edit-list .tabulator-edit-list-item.tabulator-edit-list-group-level-5{padding-left:36px}.tabulator.tabulator-ltr{direction:ltr}.tabulator.tabulator-rtl{direction:rtl;text-align:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:1px solid #aaa;border-right:initial}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{margin-left:-1px;margin-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col.tabulator-sortable .tabulator-col-title{padding-left:25px;padding-right:0}.tabulator.tabulator-rtl .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{left:8px;right:auto}.tabulator.tabulator-rtl .tabulator-tableholder .tabulator-range-overlay .tabulator-range.tabulator-range-active:after{background-color:#2975dd;border-radius:999px;bottom:-3px;content:"";height:6px;left:-3px;position:absolute;right:auto;width:6px}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell{border-left:1px solid #dee2e6;border-right:initial}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-branch{border-bottom-left-radius:0;border-bottom-right-radius:1px;border-left:initial;border-right:2px solid #dee2e6;margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell .tabulator-data-tree-control{margin-left:5px;margin-right:0}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-left{border-left:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-cell.tabulator-frozen.tabulator-frozen-right{border-right:2px solid #dee2e6}.tabulator.tabulator-rtl .tabulator-row .tabulator-col-resize-handle:last-of-type{margin-left:0;margin-right:-3px;width:3px}.tabulator.tabulator-rtl .tabulator-footer .tabulator-calcs-holder{text-align:initial}.tabulator-print-fullscreen{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10000}body.tabulator-print-fullscreen-hide>:not(.tabulator-print-fullscreen){display:none!important}.tabulator-print-table{border-collapse:collapse}.tabulator-print-table .tabulator-data-tree-branch{border-bottom:2px solid #dee2e6;border-bottom-left-radius:1px;border-left:2px solid #dee2e6;display:inline-block;height:9px;margin-right:5px;margin-top:-9px;vertical-align:middle;width:7px}.tabulator-print-table .tabulator-print-table-group{background:#ccc;border-bottom:1px solid #999;border-right:1px solid #dee2e6;border-top:1px solid #999;box-sizing:border-box;font-weight:700;min-width:100%;padding:5px 5px 5px 10px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-print-table-group:hover{background-color:rgba(0,0,0,.1);cursor:pointer}}.tabulator-print-table .tabulator-print-table-group.tabulator-group-visible .tabulator-arrow{border-bottom:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #666;margin-right:10px}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-1 td{padding-left:30px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-2 td{padding-left:50px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-3 td{padding-left:70px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-4 td{padding-left:90px!important}.tabulator-print-table .tabulator-print-table-group.tabulator-group-level-5 td{padding-left:110px!important}.tabulator-print-table .tabulator-print-table-group .tabulator-group-toggle{display:inline-block}.tabulator-print-table .tabulator-print-table-group .tabulator-arrow{border-bottom:6px solid transparent;border-left:6px solid #666;border-right:0;border-top:6px solid transparent;display:inline-block;height:0;margin-right:16px;vertical-align:middle;width:0}.tabulator-print-table .tabulator-print-table-group span{color:#d00;margin-left:10px}.tabulator-print-table .tabulator-data-tree-control{align-items:center;background:rgba(0,0,0,.1);border:1px solid #333;border-radius:2px;display:inline-flex;height:11px;justify-content:center;margin-right:5px;overflow:hidden;vertical-align:middle;width:11px}@media (hover:hover) and (pointer:fine){.tabulator-print-table .tabulator-data-tree-control:hover{background:rgba(0,0,0,.2);cursor:pointer}}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse{background:transparent;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand{background:#333;display:inline-block;height:7px;position:relative;width:1px}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#333;content:"";height:1px;left:-3px;position:absolute;top:3px;width:7px}.tabulator{background-color:#fff;border:none}.tabulator .tabulator-header{border-bottom:2px solid #dee2e6;border-top:1px solid #dee2e6;color:inherit}.tabulator .tabulator-header .tabulator-col{background-color:#fff;border-right:none}.tabulator .tabulator-header .tabulator-col .tabulator-col-content{padding:12px}.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-sorter{right:0}.tabulator .tabulator-header .tabulator-col.tabulator-col-group .tabulator-col-group-cols{border-top:1px solid #dee2e6}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;font-size:1rem;line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus{background-color:#fff;border:1px solid #1d68cd;color:#495057;outline:0}.tabulator .tabulator-header .tabulator-calcs-holder{border-bottom:1px solid #dee2e6;width:100%}.tabulator .tabulator-tableholder .tabulator-placeholder span{color:#000}.tabulator .tabulator-footer,.tabulator .tabulator-tableholder .tabulator-table{color:inherit}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab{background-color:#fff;font-weight:400}.tabulator .tabulator-footer .tabulator-spreadsheet-tabs .tabulator-spreadsheet-tab.tabulator-spreadsheet-tab-active{background-color:#0d6efd;color:#fff}.tabulator .tabulator-footer .tabulator-paginator{color:inherit}.tabulator .tabulator-footer .tabulator-pages{margin:0}.tabulator .tabulator-footer .tabulator-page{margin:5px 0 0;padding:8px 12px}.tabulator .tabulator-footer .tabulator-page[data-page=first]{border-bottom-left-radius:4px;border-top-left-radius:4px}.tabulator .tabulator-footer .tabulator-page[data-page=last]{border:1px solid #dee2e6;border-bottom-right-radius:4px;border-top-right-radius:4px}.tabulator .tabulator-footer .tabulator-page.active{background-color:#0d6efd;border-color:#0d6efd;color:#fff}.tabulator .tabulator-footer .tabulator-page:disabled{background:#fff;border-color:#dee2e6;color:#6c757d}@media (hover:hover) and (pointer:fine){.tabulator .tabulator-footer .tabulator-page:not(.disabled):hover{background:#e9ecef;border-color:#dee2e6;color:#0a58ca}}.tabulator.table{background-color:#fff}.tabulator.table:not(.thead-light) .tabulator-header,.tabulator.table:not(.thead-light) .tabulator-header .tabulator-col{background-color:#fff;border-color:#dee2e6;color:#212529}.tabulator.table .tabulator-tableholder{color:#212529}.tabulator.table .tabulator-row{background-color:#fff;border-color:#dee2e6;color:#212529}@media (hover:hover) and (pointer:fine){.tabulator.table .tabulator-row:hover{background-color:#dee2e6}.tabulator.table .tabulator-row:hover .tabulator-cell{background-color:#ced4da}}.tabulator.table .tabulator-row.tabulator-selected{background-color:#9abcea}.tabulator.table .tabulator-footer{border-color:#dee2e6!important}.tabulator.table .tabulator-footer .tabulator-calcs-holder{background:#fff!important;border-color:#dee2e6!important}.tabulator.table .tabulator-footer .tabulator-calcs-holder .tabulator-row{background-color:#fff!important;border-color:#dee2e6!important;color:#212529!important}.tabulator.table-striped:not(.table) .tabulator-row.tabulator-row-even{background-color:#e9ecef}.tabulator.table-striped:not(.table) .tabulator-row.tabulator-row-even.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator.table-striped:not(.table) .tabulator-row.tabulator-row-even.tabulator-selectable:hover{background-color:#ced4da;cursor:pointer}.tabulator.table-striped:not(.table) .tabulator-row.tabulator-row-even.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator.table-striped.table .tabulator-row:nth-child(2n) .tabulator-cell{background-color:transparent}.tabulator.table-bordered{border:1px solid #dee2e6}.tabulator.table-bordered .tabulator-header .tabulator-col,.tabulator.table-bordered .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{border-right:1px solid #dee2e6}.tabulator.table-borderless .tabulator-header,.tabulator.table-borderless .tabulator-row{border:none}.tabulator.table-sm .tabulator-header .tabulator-col .tabulator-col-content{padding:5px!important}.tabulator.table-sm .tabulator-tableholder .tabulator-table .tabulator-row{min-height:26px}.tabulator.table-sm .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell{padding:5px!important}.tabulator.table-sm .tabulator-row{padding-bottom:0;padding-top:0}.tabulator.table-sm .tabulator-col-resize-handle{padding:0}.tabulator.thead-dark .tabulator-header,.tabulator.thead-dark .tabulator-header .tabulator-col{background-color:#212529;border-color:#4d5154;color:#fff}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even,html:not([data-bs-theme=dark]) .tabulator.table-striped .tabulator-row.tabulator-row-even{background-color:#e9ecef}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selected,html:not([data-bs-theme=dark]) .tabulator.table-striped .tabulator-row.tabulator-row-even.tabulator-selected{background-color:#9abcea}@media (hover:hover) and (pointer:fine){.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selectable:hover,html:not([data-bs-theme=dark]) .tabulator.table-striped .tabulator-row.tabulator-row-even.tabulator-selectable:hover{background-color:#ced4da;cursor:pointer}.tabulator.table-striped:not(.table-dark) .tabulator-row.tabulator-row-even.tabulator-selected:hover,html:not([data-bs-theme=dark]) .tabulator.table-striped .tabulator-row.tabulator-row-even.tabulator-selected:hover{background-color:#769bcc;cursor:pointer}}.tabulator.table-striped.table-dark .tabulator-row:nth-child(2n),html[data-bs-theme=dark] .tabulator.table-striped .tabulator-row:nth-child(2n){background-color:#2c3034!important}.tabulator.table-striped.table-dark .tabulator-row:nth-child(2n) .tabulator-cell,html[data-bs-theme=dark] .tabulator.table-striped .tabulator-row:nth-child(2n) .tabulator-cell{background-color:inherit}.tabulator.table-dark,html[data-bs-theme=dark] .tabulator{background-color:#212529}.tabulator.table-dark:not(.thead-light) .tabulator-header,.tabulator.table-dark:not(.thead-light) .tabulator-header .tabulator-col,html[data-bs-theme=dark] .tabulator:not(.thead-light) .tabulator-header,html[data-bs-theme=dark] .tabulator:not(.thead-light) .tabulator-header .tabulator-col{background-color:#212529;border-color:#4d5154;color:#fff}.tabulator.table-dark .tabulator-tableholder,html[data-bs-theme=dark] .tabulator .tabulator-tableholder{color:#fff}.tabulator.table-dark .tabulator-cell,.tabulator.table-dark .tabulator-row,html[data-bs-theme=dark] .tabulator .tabulator-cell,html[data-bs-theme=dark] .tabulator .tabulator-row{background-color:#212529;border-color:#4d5154;color:#fff}@media (hover:hover) and (pointer:fine){.tabulator.table-dark .tabulator-row:hover,html[data-bs-theme=dark] .tabulator .tabulator-row:hover{background-color:#4d5154}.tabulator.table-dark .tabulator-row:hover .tabulator-cell,html[data-bs-theme=dark] .tabulator .tabulator-row:hover .tabulator-cell{background-color:#323539}}.tabulator.table-dark .tabulator-row.tabulator-selected,html[data-bs-theme=dark] .tabulator .tabulator-row.tabulator-selected{background-color:#373b3e}.tabulator.table-dark .tabulator-footer,html[data-bs-theme=dark] .tabulator .tabulator-footer{border-color:#4d5154!important;color:#212529!important}.tabulator.table-dark .tabulator-footer .tabulator-calcs-holder,html[data-bs-theme=dark] .tabulator .tabulator-footer .tabulator-calcs-holder{background:#212529!important;border-color:#4d5154!important}.tabulator.table-dark .tabulator-footer .tabulator-calcs-holder .tabulator-row,html[data-bs-theme=dark] .tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row{background-color:#212529!important;border-color:#4d5154!important;color:#fff!important}.tabulator.table-dark input,html[data-bs-theme=dark] .tabulator input{background-color:#6c757d!important;color:#fff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-primary{background:#cfe2ff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-secondary{background:#e2e3e5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-success{background:#d1e7dd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-info{background:#cff4fc!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-warning{background:#fff3cd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-danger{background:#f8d7da!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table{background:#212529!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.table-active{background:#6c757d!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-primary{background:#cfe2ff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-secondary{background:#e2e3e5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-success{background:#d1e7dd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-info{background:#cff4fc!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-warning{background:#fff3cd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-danger{background:#f8d7da!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-dark{background:#212529!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row.bg-active{background:#6c757d!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-primary{background:#cfe2ff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-secondary{background:#e2e3e5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-success{background:#d1e7dd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-info{background:#cff4fc!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-warning{background:#fff3cd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-danger{background:#f8d7da!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table{background:#212529!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.table-active{background:#6c757d!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-primary{background:#cfe2ff!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-secondary{background:#e2e3e5!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-success{background:#d1e7dd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-info{background:#cff4fc!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-warning{background:#fff3cd!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-danger{background:#f8d7da!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-light{background:#f8f9fa!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-dark{background:#212529!important}.tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell.bg-active{background:#6c757d!important}.tabulator-row{border-bottom:1px solid #dee2e6;min-height:40px}.tabulator-row .tabulator-cell{border-right:none;padding:12px}.tabulator-row .tabulator-cell:last-of-type{border-right:none}.tabulator-row .tabulator-cell.tabulator-row-header{background:#fff;border-bottom:none;border-right:1px solid #dee2e6}.tabulator-row .tabulator-cell .tabulator-data-tree-control{border:1px solid #ccc}.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-row .tabulator-cell .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.tabulator-row.tabulator-group{background:#fafafa}.tabulator-row.tabulator-group span{color:#666}.tabulator-edit-select-list{background:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active{color:#fff}.tabulator-edit-select-list .tabulator-edit-select-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-select-list .tabulator-edit-select-list-item:hover{color:#fff}}.tabulator-edit-select-list .tabulator-edit-select-list-group,.tabulator-edit-select-list .tabulator-edit-select-list-notice{color:inherit}.tabulator.tabulator-rtl .tabulator-header .tabulator-col{border-left:initial;text-align:initial}.tabulator-print-table .tabulator-print-table-group{background:#fafafa}.tabulator-print-table .tabulator-print-table-group span{color:#666}.tabulator-print-table .tabulator-data-tree-control{color:inherit}.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-collapse:after,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand,.tabulator-print-table .tabulator-data-tree-control .tabulator-data-tree-control-expand:after{background:#ccc}.tabulator-popup-container{background:#fff}.tabulator-edit-list .tabulator-edit-list-item.active{color:#fff}.tabulator-edit-list .tabulator-edit-list-item.active.focused{outline:1px solid hsla(0,0%,100%,.5)}@media (hover:hover) and (pointer:fine){.tabulator-edit-list .tabulator-edit-list-item:hover{color:#fff}} +/*# sourceMappingURL=tabulator_bootstrap5.min.css.map */ \ No newline at end of file diff --git a/static/css/tabulator_bootstrap5.min.css:Zone.Identifier b/static/css/tabulator_bootstrap5.min.css:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..d6c1ec682968c796b9f5e9e080cc6f674b57c766 GIT binary patch literal 25 dcma!!%Fjy;DN4*MPD?F{<>dl#JyUFr831@K2xIvIkxga*A@)d${mqFb0Q2VG&itwW zf4&gB#{=MEr9ce;;J$f}|Bre?+=svFctSz|KwR8E>;IG{j^`ig{r}SZrw)k-i3mvw ziAf4Qx+g3mDJmuj76trgZGY)(slBJCtE8Zyvxk7y3m5B`0yZwM1%0ht1%(BK1Od`= zzOGg_PA@(0S--S%aF*fPt8eDI=kP*?%Mh$Cr0%Nl(%wPY-~FYozlNTTzmtu`3obcX zGGb|8N#ED5uU~pv-Sd6@%GpEGSBCAct4m_*f0_l^WTo9-*h=a=Rs4Go>@OL%zmLVo z$49_NRKUgEPEc4vLPAhTL{LP8AKQc9!_V2%%9r2SgZ=Lpc>2=A#@)fy)4|30-k%Fv zS-W_7%CLEPIlPdxwXy|Uzjy)Wx3&^}!7nWQ!iwMOg{Uz93sKP*kHEs>BDTWTY=6J~ zOYD>TkNf|NEdHGNOBmQY{;5koweoza=kWTarn>`HBv!9v|HzhKNQ__Tk=}pETUzix z?KU*Z{bcICzveHyr>Vc6lfG^FF}A zF8F^dIJnp`-XgqBL`;J1P<01@i-U)Ui;wqb)Y#sE*z*8p<4GWKmgvZ4vBqk+)OhIPn^_T3u6H z*Vf+A+11_it#^22bZmTLa%y^EacOyFb!~lP^WgC4_~i6A=Is0rUpN4~zp?cX&i;)r zN-STv`1pAEgn#(L!S%rs9wk1(ec@Yo<+TZ|+^E<@-rlBu@*%6dm55zbXP?H}eTbNr zLu}!}!5`NC;_Sc2Sn&TX&i=vJKlz#lkmBKBCl8MjAP2b8&4zOW{yUW0$1isBiJ*@m z2k!6^F9~n!F-2~le$6NfrT8L+aLGs#(ILaGPWYonL#9(9&8A+GXJJbp!!|WKWMN!* z8MJ>DreMa!x>%d8aGE*9K9KANTm_{s7IyowcJhUYp!SFC8ffu~I)w{j{A++Q(Dve> zFKuqw)6oahqa(uDMZv{`a*OYQPm>Z)11yV^ZW*oQFJ!ZW++z$ zor#@6j2AcW*tku@#y?+=X3d@?hfn1gmjCYlt6$04&}k3FWu;|*6CvWXyk<{s%fRNU z^a1v$becy?(SAAPDSKdAn3@}PHu^TiQvw~f4RbtN71*eeJ(*pHRhg&S^rcaBRmIvU znrq57#ZWFmXPdRRUMekS z4`^rCLqF`ne)fizbxbyeikl!GFZUyYJj(lic-nsz5P&LVLQ)7E-+7u z!@ER+04x5?wgk^l1pl4M`j0-j{X7o2hxRz5DY-eaxfCb>Kfl6*AKIi9#R#);$PFOs zcutz-2))W{7B@Sd&YNhSMcX(1Y_(xa8#9&VupC~4Kp4>c_;o#ePEd2-nZ4&X&AW2y zoCbtNlFCN|43AvR=@&P3k?a$zvx&ax%pJ{qZdtR9oj!Myf*oULoGHm`uXp96HlwHO z`$0~I*XEUh-p*MpFSIekfnR@J`xmTPlKs3M+a;Qk4GR10Ea#Lmyl_Wz^n3!;$6Z!X zq1k>p?08wQF7hlca2!8?G0@kpbg64JSKrWI?AI4RBA(nh`F=h{6D8$ zjzQcZ^>2CS!`SP~4oB_=} zivG7A0?P?{K~UIFU^=Ti%+KxQlSH!HSzh7gGFKQdU0O?Q zjxX?c6363s`xtFCl>;^jeDZVFIZod!V4UR!fT%1XO-}dyO`WRT<+U+lm=GsvHavlJ z1TuSq*yL*vvde~2unT4TgOHW}%(pc0B?R@-XRDKv0e!4f@1;hb6*d}CbTv7THanyW z*W_-U!BM5NK&CmU8|-UaSoYk z>rcCY&sC1?xFpc$>0-ts3(Dt6A-tKS@dB&SaQo+Tw=Xw5j`LmIMs@Ji9=H89w}0mM ze}#Cs0e$?OJVdRZ2zpL(z&cwxU%%k@i73U^ilb!?s=Ly;+V9kwew<2x`B$VXw^}^g zZJRHrujST`dYzHXQF1rQmYC4P$Rs&N3?&4V+`wT)S+Zl6PFwXwAo%Uk$Ka#2m}dJx zO(Q#DGdbCJ6EUU_^E4Oaw0avPez>6|w-SM$WVtaX*$xJKE3;Y8Dg5^-7_TRS+YF63 z=~;xF7H9S%7`yV%&PQAa7v@h9k8UtM$x+Jfp6eP6$6b&B|n$gM)p5Nb6& zFtEWe&Y%23oaYyl3((umPQ-H}Dwoqn52o;Cvm2%sxAf*R0~EsDOZgiU#T*=eijSRe za$pB`k^m0W?lJ|SyrWdRP|$Mz(!6Saga*d5 z2icaTH_uV0u)N8$-lM71)};FIJ#FyrtHATx4;zX~d9);Doigz-=&-eG&{;`+CT zL<2ma%<%o%(I-pGE?MJ`fkY)KtZCYZHvms9P+4I%7-b@QI4gds?&OdmG0r#eNbm*_ z$QZKRJqJt#f1uch3qGh|bIs8<(Nc2AhuV*o8d14U;*Cyx@^v{aAN5Sq_e;h5*}$+f z7OsjCh~to;zg5Q`iJ}P2fI!3fIzjsRh`I*K3-hQoc{ic%TC~r8_YO{u;|IYM4|=ZA zi4}Y~hmlz81Vk1Jq{*^*9#Hme7H7{QkNGDGya&u&4PtsOoSX!lld~54#p=MAAzhNd zaXM#?PnFwC`iem_FX$OYVQIG{S2av6tVL#WVz3Eth3;+8))bPSU!JH^cvzsTvL2+K z>gy8QYGDNP1G*1=uyC43L{Do*qHJtyARfD*L4Gf$fI(7`l8|+$*-&LY!zelK4y?AR z)EI<3t5#7a=YiO}k^I-ojTVjy(!@awQ29d7L*u=`#%=8_v)%foIWC22pQKHZ_OFm< zx!Gk?jl48Y-xSkKUCKvZke_50I(hrsbNVGJjW@lFP9os~|!Hal`A`e$zW%?({h%5SSSUf9FT&tH;%xXK6rJK($ z^OF44v16*oMMrUlT;-hba!BRGDsj>91C6$P0^#3ED`sUn@%46tx;anaRpKD(TX{u7 z-%@S>qH3q9YwVt-Fe*ch*{dN%rB8Wi52x;2?PpAJ7pymc?r5Ou1*s=`NMvuG9TOficLWa}F%Aw^ zm;6-6@${GKE=qSwH{k+^n>YtQ+WgSwYD66232 z6CS`>=(7rTRwnRC!of%X;(a7cG^I_=Qw<`9)E=(eeO#$S1t(R8p!%1r%Nkzi)IMcw}LgEn_#;fe28(Gq3e zc+|v?MR=5On_(K8YZ3g^+Il$38axgKD1h%kH$~(jhOsYKaRz=?1aq2c7Zv>IE52os zb74N6Qdz4kK0nd=q~j{@?3&%;mOz!VUZpW6lhTg9^dWy6)fd@PxvIurmnU-R!2R*x zu%p3iufyMyJ-hZ73@2Ak6fVYIvI_HQcp2JXb>Cnd0CsNmy zGMV2ePV!FR-<(Mz4yrK&C@9T^-kg)b0-D?+H1WE(@p!|c=-eJ_!2ziM zg;Zj(=A8kN~;rKr6iK6mj6vi2}6`it@LKQn=|XXP5OmP9lwbYxNRi z&*rr5Dg*q-WwRFNL^ZhjYqWx@4%eb@0FEb7P^})RSWxSw<-u>AaSj--%|I5oQ`(FT zswfw=|M4}?=0NSG(m}Q2@H|XlfduDjbHABBXiV;9ViM6?)~+VSrh~4MLQ$9W{Qzfh zyja{^TF**Te$9iJgv!W$qidl~!)w}za|*+&Vwb%~Y`sc@6C^08%NUq%(R=Nx_=wUe zq)%meu{IE8>Q<9l4V;$krH zV3Aj5a-`5gc-5ADOL>B-W>rxxMto^FTD#YFQzcr~>Y5G4=nNbkt<)`N{(&IJPF8cn z^}*%Fv34)>kLPiE(o#X52Z27oxy0}#Mee2HSe--_{*RcGK1ErBg&Tn6SouLyk*(6X zLT1OfB4Hjo_c3*xldWSpn6@u{H}xQ1?@O26D~i*S+Ce!-G6l`HO4Qpu3u5bAIS*^W zjwqw;0oAbA@T~p5OnZ#(Y4Ib0Y`-v>z5v58S*Z=iT&LC9dt9UN%bv)*uM$f4uADSR zx+K#>CEZwO@3wX3Nu1NwUvh6U)id9>qRqj|u)e#ObD{zH5); zq2%vW6Qd^FLeuSAz37~{5Mbw5pf%4*L?aRx+>kP)Kw(HDtE&Av-F)o$VT6e>4Pa9R z&4YCpx_3ZrAhyU4AKlX6XU$7oJ0?%#6>NmNpB14K8cYue^$(zjQW_YWxftlG;KOK{ zY17PV*R^n(a%ffgv{L!8Pp9Q{(~_1b2~WQyG{4Dbq6y^0%AVK}-!u$sa7qa7x2Sly zSJY=}#I6AswG=j_F{r4wJEk>%|8mNVn!8ns#x`v6P*Zp|?HrlJB$OF|EKk!mOHvxF zZA@y1ew@gLdjr;mA@pKBJ^^r}VY?~@JQNo)qtc9jibRnj@5xbY*GD_Aeu+F!oe;jE z;i9WDv#Xzuda-^8Vh>2K>(}j6_VH+hwoZPs`@9voqkNY6hu=(x#g+B+k_kzNkk@T7 z?c*pG;%yk7E|XH7d@m!vKGvHk-7~#gtNO1fb>^xcYONYZ325sZ zEYy!iiHms z{P>_pp82GtlGXn>cc?(BDrLymX>q)Kq4o~PE;VqE@my`eaL1JYQ;ZAOfP518P)(jG z))0x}paM}mfCq$_d%Ee{*LP-uQ}$2Ik*&p_RhkO6D1xtLH)J^{n>?)$Q22?IjN;Ez zq5a-6iY#>306Fx@SOXVtoyHA-=lTGhe@%8hc365KA1FMN_M$5AA>G61=@^B5i~IZI zWwZiKct&O6>*V%jT&m0S+*EHVl+Eu4|5XRcU0R7ODSuD_*5Camw{wv5F$`_OKr<_`8ty zrc>O3Psi&=ZR0x}6;}8OWt0m(~Xys6bTQ1v8#Fi z>#5t|Xs-&>Nbc^5+*6p%&~>QGG0o|nboLLA%rFc`msBywV&@Bc+v3cJzIkf|BYdquzzZZSk zwX;I>0S@Jv+i>FY+Ga4iPPNKK{U><^pfgl zEa-q4Mq~T&Jl4H7uIz@G-G=;5Nvz0O~IKPok;Z9@ii4EQcF z-0v^L;14ds;t6VpF8Ky7ADm|H5nst++-?ADE7cb{XNIeUZOvy)JFuTL=dk@>*O2e9 z-%5vQHJno83r*Y|t<7##!oRkYfysXZ12s(mqKXcAiF)yaKHwji)b2W$umxM>i&?^F zaP=7v#wsgC=@D;9si==At;*P9LX=-~%(a+95PeK|T4;EqFJb4e=~qvN73_GVDO=IW zm%0Zex(82JGJJ@!=Ej;qXP4yD%ZW#e=Xy*9VPl!{&}UcqD-CvPDm81nRlc0{2XY1z zEFnJ@G)owl+oXW$QCI5H_gG4L6O9K-60SCbw$ zg=2JX#8gc06-ZgXNYiGn)s8-mI{sayoaQCdLA&Y!>zL?0YZ-{Yenyr{0KNT7L&Cv{ z<>v59uOf`|^MfDD6sIv*JFl&I+Ix|taIyYa9)hgu+pZVA%kv_z4arzpL&L5 z^UZKcJNP}stE~ovwt1ao4QcM3K+te>LgLW57vu2(eNW{f3_B|Apr>F5~u? zL?7*vRUYw8?Cl+|K08cQ$7v9AgvLWU8 zjElnhsIE7i{-SX}12c1>GU=-^Zp5FjdyoE19SS-CE`2RoVk&|b{c_;SF(g}rQEyrZ zHv8EnPN}ixA`2V}a`8A`OtdeSp9qT#t;0-Rf8UxH;nntlC(7sS&V>Dzih{)VgmF0cx70BPnzpCkWhK7{*_rtO45p7m0YEkp6PA=Io|A{t} z&=F|)LyB^Aj`X8_iC4WTHdx4e11Z;@E;)1yGr>M-Sf%u!M5o_wC8YpP&&TA}E?~2K z#kCN))BmW$HL#?7xaszHkC=lc+3coNM7s$T=nV$GDdBN&A)M1bGpy3&ETD+E{LZu( zBu9xNqrm@im0_Soq&fT*6@&u;tPrkP3|2eQx8Q~ZW~%PRnueKEyf5lz*fG8St=Dgi@>L?0BK`z#>bn((xrjVKx+B6gvk~(^-FCwfVlaBJ-&S@7D z-~oqDw6J|2wf5?L9pQ%dTj_bK*u%-sX?^(hE6PcL7w9cp+7v} zSCss+CawQVPI%1J?Bx?oNj^qO zGjV!Bx`hINqOF-x&e5sSaW%k6Vv?taN!>5G6BgrN5WSbDoDbt~o(8XapOW!qyqdD* zszpb2*}9jWIc&r9T+x7q!#XF*7{g5K)f}{=|H*e1>Hb~~SECW@3JBms-?Q>;Qk>y5 zbzfxT%cApN^#tG5jc?!jnZRnFosmtTm)?rMk{@iA19=KszGRyA!QoXTocyl^8`cT=B+(eJb@qkUe! z2G27v5E96Ugyf1(N1YLu)5ikqun%3RbVhU#2h;%6kv3d4$7R#9aFwBlo};0}$P7}b)PfIRT7iSALaa`HnftvOhcOP;!3l?t@P8yp70P#sI;)QJNrJ%meN zUMB|V)rj;fHR_;`s^MaNyysXu5mqmcwG+QHVT}*0ooJooFh)+4r&cqA)dX>qBZS!V z>Erv~xJrN!aWzVy|NCzY(u}=&j_r$4cahfGYKIvKHv5JC&QUc9+R@s|xbLHfhm@bw zXZ6PMUL}=-vly%)TA!jPvO>D8UG-^HsT|5WG$@gkv3tq~Y<;2LWw8vy`b-*5J&TE1 zuS)JXWe-804vCax$n?QfUBe?|&1#-~J2N}mHn40cN>RpB_VM3%J4Cu^B8z=P`4d84W!e}?R!1`G=o8Tl^tm53|LAH?#h^Pd!>jEt2Q1c_ z!@j5fE~cv@b2rVuC)_<=p;nRkFx7bZ7W{dl~WR#`Z^QB=oVb5_4aXIHvGuB zmzX;bPYjTt`*qk=^598B`gI+|RJ z^9VH?+k%l>%u#+7J!AY$Ml!!&&HF+FG$@9^nKHTei!n~7(lw@oaYyY`gxaJNv@B$WEY!)Ey*X_WQ|5CcMNPQgDL6&a;iJAw?H1-`?C~b zIdkz#?l(!rDr!yJszXbK)1&>+udrGaZiws~9ya zkuou|oiOW{*a`M~`K#48pFtm(X#EpPGZjZ2q`$M}ZSbMM_!d1yhk+)EsyVqynsCyn ziIVP`+OK!+O6f)ChTtNoczqRqsU5=c9EDm)E=Kfb#Xqe`gANr9R9W%SJj#}ZQMQUZ zHn$IArq|l(#+O$gE=?Dzz2>iNF9L=Jh7|d-wXG-{joMAun0qYTHBUMm4ASr9!_O(z zjO}*SV2hcf^H>uUMfyr$?WnajhV8@@y=&YWex=8CpW_{(=K~D!i$)6$*caUV47hIX z7(C?GR_sFT;Zii-do`NxM{7MitgWX!9xZ1Q6Ed@~_!_mz>!@^*pRHEp79TZuEEpRSRqf%%kkc&tY&d}XKP6ap=Fuf9RIy){&iDIn@q6)A z1U;r{q^<5%{H$`}<9;Ian`ZmWX|_Q3-2gR-8C&Hub-$V)FNB81HUqm!_xrhI%Hj|; z)m9e@*FzH~sM*t`M`RToSai<1wytixK-5f1n5(uxWp(q>t$;9FK9%LMcUmC;PxM=q zg>Pi7O6C-UhJNU`&j(rI@VdE3YM$FI%p>3WxJ*ET?BiqgpR?gF;vyyr`}k>dOxDBW zs6Dj4N$4I%BTbzgP9&Z@4gKQQ>7V?z>5kcEEP_wT;e@7&mj+ZX&uU?Xe13>@&gXQ} z2*=6wb>1_7&#O4eRfsm-w``So;psQHv(EW7~_$SqrjT(w@7Y#f>otla=;WN&ADp+`Xf(ejWDG^%v>F7iLKW|JvAx8RJqr{%^lao}M!6FoNFNmj*^b z`?tBXqYseQq`D?rAt=QOj`ZS3jAKL6_XEo`>e-|;tB54(A(SR4J~5d*pBMEh@BNZ> z@MAU0D z2c|ObuKHm?CiUEIQ+XF#-0VW2YMff=v1MEF=eeKJh7O1Q(gR3M9mSN2PO;v#MlKU> zmiP6Mn+}r0w7BuUxl;GN;U#Pca8Q+#Z!zNDQS#Q~-GNsa%MR_u#wQK+3jw#_a-Y!J zrBhfmcjD5&dAPFVkqI`-$MD>c^N&5rE0yzO54JRa<;a`#`&w3x5#HSYlN)O%pe%KF zu@Y$i%bsMx(U9}m&mTd|UGfM<;z^*KcNV_sKs?%w5`@nXYom@`#Z+G4tz>!qc8 z_vxdvMNle_)}hX_DCMysqzbB+DM|c%tj24CaL+)1KrGn*h2gX{MwhD#B&h<86}K+# zE*hV~ydiyAqR8SeAw)#ea(NY5#Gawt@9uQ8{k<(3O+&~lFud-g`=c1L=`a0==aGW$ z9bq%FrfLojvaagmy*os=Nyjj(u!VfPgr9lfKI#BZ4@NKZjMWqB$ujmDhFiIy&LBBS z_dG6Qc%P5V(~-&7)Y>{iIc^q8_}UO~jymbgkXLv02L<6y9|O7#ANqSo7CMUL@~t%0 zSzG+C*-C`F8-uo5()nQIrm3SQp30SGNG{5tMxdx)A_bwl zUE5?7R#2p5M|l<&RMon9J~F5Lq`Z4PwPbV8?>tGs}2CNR8}WVi8Jg zGticTfKhlgZqzJ(JlYx#IuITI3)1K5&0zo=tZBv0y0?Re!rS#b`*d??XSSc_XP14K zmuF7XqnhI&`BoP6yTeqps)TmQG;WEV>j*t1B1cjo{f)P3f=`pT%tnKey(HB#QoLti zyh1=)K106KgMu&CAF28AgtOW2I~3IG>Y!TCFhHAcqZ7bb&A44kPJgtg57bX-UB33x z6GRaxf{xP!DOQZc3)|oqu|$SNTqQJRKa~J$Xq10<`>XU?G&>$SXd;LSMzLT~X+M~c z(ja0mZ=BkktD$b>W+C7g#yT{Q3B*pQHyt*)@m2<=zhBF{Uy(tv#;Tw@Hb%84`0p)i zZq1!aN8NO=W-M03!=ov$VpMT7O0D*r><@8$=Ep9BmX|T7&41ykE`RXU=KmT`)fB}1 zg{O*^uwa)#>;@W_d;a&_y-(Pb$+4(Km%Gy#_b!#S4|;EuzvUhXM!tqh*>H^X6hH3y zhK`h#xeQ3vt<4x7_NeA?b;>~5kC(swp%n?HUu0A;nmgQG{`M6Zj>$K{0 zrMPBT!lUfHzL+vb&HfBiZ}HFVxHb6kd1?z z@KY{53T%UO+q{u+c=$f}eS8{@&Wy=--wSP(K7YcHYlc}zky~-1)hO{N`ax8~t@EHI zyKkzG#2ZEB>&9M?Fg}z`+>oWhsENgap1lhhU~9B&mm}x*tTgas=+5(YgAh~(XzNj0 zbTTs{x`NshT+Mho^*VRmO$6JcK-?3aPVc4Q8z`|YC(2O$%VHbh0U8Etr{QRJmJjFp zq?|zF1p8LD_GdL`k7+0qV?^K;<$dKo)gH1Mnp_+46n_>?eAt`Ay~_ApC0ja(Un9GVI>@#QLum%`IBniTZbdwT;Bvu6uWqK^!n?bM7+ zRBr2AxH~P~0H#xy>Kwd}j7?@ef@O8hJ|Yj=N8Ig(mLNf z9n;UOUZ@C0;J#6QZG_hVco*p%W0z}M+|3w<$HF@#G}Tq!k)xjymDSvYW^cVo^ni+fLJBH-K>A z?wD`pWSPOQ?{}?F9Oh1LLvH{SVP&&d?S>2cUL#A~PU{5wjd7mQLHZ*04(BtTJ^ z^_-%6j|19;Pa%P=2~oRmp7#AMW5{t?fELDwIb}Myc(HsT$WOPYQ&u7bd7Q4c@Gd4U z^4w6g(3f+u)nny2OQ<~bt+M~9hw<#=HD0AEwsOk`VNLnFR}U2O_!ACI2%ky$FL zyV*Dtbs4;TqFIQ(hxxD{#PWnIX<9fwz6EV;!0S$CY;52)Ie*8u6f{^6f#4h3S}|@C z0zVI60J=D1W>2Q_0Gb3kumM7zp3x zc&SJ%1;i!&mG^szjP6DX1HS5 z4vLeOCr%3^mArB~0nSq;4YD22m`{Nkrw%N5A%$IQWwH5hhu@A4N*YcAe`F6qxKsfq zHg%tDZQe-6t7_)?Wp-IcKKx0xf4Q?7n(VM7J?_O>)QwbfrXbQ~u@K_{eI1ax%4rf; zSa|)=$tmCs$Fw32y5EJ~7n}do#aKD~9aKlPwP%hEoJIOrJe=U_=>Jv|ZCi68D|Y#?8HB)G1r85~CKjzAP@@>vpxo5lnd(VS;^>`l}FMUst>4pzx3!&qIF31ov%| zJ|RVxJx$iRy~w~>P*s_%o2Cdil{Tz~3Sp#wyFf-VPk4S#FS8NTpc9e0dYd{hYFSyEw^ zA|i~)3*4m;Cd8MU5lpe%_2~ffYJeDRevhvcj?#fl=hE$mFxzP+hQjk8#UadwF+{UN&)k&atuT z-NWY1QQ`_^tN+R<&alG<)qublh|W)JdQJC|w&B@KC-4wlvKjajh_T1I{bx3xc)EA5 zsi)m8nnNEP+>=m;WtBY-JTiY2;Stj1l=y8nNZ0aL#ve2-gR9e)z zu#T2s=rj8=nlaX8G_jawwa`T+{;ph{BS&VyhUBAadX5Z2@f9oNVMQfMUqB1j-AO$> zDDl$r4iWFVfZbv)+DI z@)jZd(3GLCVRNdb&!022kpBn3jlZAr5-8&ke*|&45DOb-H)!abQWbw*$vF@MX%P z9bE%NDS3fw7d24ueZQe(TKUZX+H=#YpeFF_u=f)fMeLl~uS^Li|3zR&7T|EnJ*qOeuZM+9(a^ul~vK zbb@T3)x5oOagByIUGoDvrpUZr=GH>$9@TN)Z30R76<5Zz(o?_jO==ygx9TD|;}u^5 zq66=5JUe}?j3rNJuKFQ@B$^vDe$>;`ZsV0r_nlS}mX zgS8Dz`_eh28)4HQ|7;fJ7l2A_m4161$Jml0g}iAM=`tEUTa+4aSM(3poJQ!k3ni$% zI%~g^l;4|Il!wUPJczn^hQ`Z}y5H9&s~FZ`l|Ee?Tp0mU55W{cUpI3cOf_4kgYCT)hqBe|J)qSp zUHESemlh!LQ^&XgR(~(F)#u^Yo`u2L+|PLj4^dR#W0aWPw4`Vy(Afp5Vu^8bSt8pd zWQikM1uOw^(#vb~oe)Ky(gpwVrh?MB-z-Y>TiSH9d!lryI*F5?UM;k)03*P~|p zpsbOG`)*L#g@NHZ^G6HNaEBLHyw0Kn20Sl;ylEpN%5@3*F%|<>`-|cSwS+6?G?~Ht z_briNxlmAS_rQU#^Ue+6ZMlh%?~|35USMzIiL~I0KXFyv{1C@q+AoTvV^Jt-U$ za+p02-SL^9`6%DU_${?P*-?WXeEb8+Qrc((Of-NIPszf(n-ir%5lD?F?{w{=7$-6I zRb5ME&G~u>LdwER5TOpnkNNFau4SHC1L=FSuf^GE*wmV<{AIKDo1UogBGFrJ9GT;mjRn!7zr1t#9y3>=^316ZfDH3FRmq@DJ= z$ewV;(N9Pp)BFkvL1svVkd@-lP`z^mDKB+BFSOaf=9|?X48WmWZdv^;S<@7G9`#K+ z6t|k{572L)kME?%2^qz^C>!WX;MtIlc{HW&}$TQW`yK6^NTfKl1( zXN0&$avOVR;Glm1BYq0kAH+6Fsj-VV%Uo^E!W^67?wfTDqte6o)6+m zr``e?wzD#2S~fxStZPemfX`A*nv|Dx0^BV1q3jqZ+DymzKKi*gel+XPUE?~{O>Guy z&=KqVr!;dHdp2qdh<0VMDErkU;Tn$~w7Q=GJ`sHj9YX|9aW`b>*v3>j| z{%eIZL#Ktz@L{t=2fg`;{PkfvrV|BrWom}DIb-;2i|4s=#v;Trp9Fhu}P>-sDxh$2wa1pJd2#imE{XV%Zs=^hx^e zP9H;iY|$cQ5LLGlLIxIbX??T0 z1~)Mlq+OSH6MoI0v{`APHxZ$W|JB{AjM*E&^EOoLv^bikW}lC-?9&%sT#t;zW2H6} z{st{~O$%;=*+a60Vp(&oGD-EneQg9NMP4)MV;ud&IlcS^188nU7L^M*R)_9tRpOTI+J zy2E#*I#wNz8N_<-eAbRvdF>*Q=gJ;!C#~;o<0hCC!f{|Rv+uHy<4DDE)Zx~;Y=CjR z+cByYxwvLrMT#Kg)AvDDf}5zITp}WxZgkA7kU+YEjni|P&#_>w$J^W^l|7zL;Fvo+ zcq}|D-^)2B)-lgGT;Eq!$wgv9B7~V0;E5(*ppADnI7EC3yYUB&_@BNIm@$-|uuD1O zF@37s_cevyZ^p3*6-d`kXY#In#kv-)^#`Lg3I_Fr$oS>CO&+nxwb7ZprB~?lKBs68 z>pd&#^bbm3m@&l%+~Wu^Kz2m_)}v^Pw<-T_gt^rVAcAmhm>SfvG#1RspBW_5;4v0{ z3LKOpHlxrSPWspA4(RW&sX?OcmgT|b4M26J6NVcUs^swpKV3Q~EH?dx!CX4>-T(+@^{i&b+WbD%k8N#*2;tvoOquq zk>;rB3b*Y*N1s1ndCt^pHc`&};%XZzD%oTp)sLBpv^ z#a$Q4V!KspYRUc8x60nWwOqF)yi;!EYhbRuUxDC5VllU}MeGN&6siCayZI&d=Z)m%E!5Hi>;f9$jaP-wwZ3?r@gIUb4^`WD5y8BR8#8_Ox`oUJXy|%d#~b zfL|Kq)Z5K)WS0iRxk~{&z7Rfp?X+=kbP#_w$Rfk^O-YLNLRfCuj7Sk!L;A;$2`>b{ zDo>e)qQfsfb+rIjXHE$Yc(f;q3Y7S1D!=Ar<$>w>1|` zysznMYr80G(Jw}Vm}X`Q`9j$0m^4XeOl_8#bzbrL1}3-9)ZXS4g>Q=e3Ri#ID11V* zm8YN>cewerlb+u;~9C za|?#;81jn!^EQp9zKedwQS{4s{VgFu_tm_tFy>H>*k1S5d%jeE+h*~g2fn>aohHlM z!?fnzjRA%`{0EAr7iTE8h&y9S~VAL}k-{(tT*KoL^bo86Xc8?*#^V8L+tk_JS zEF6^hfQ9mG2CJB#(i=u5A9v$cR+16FcHE()PUI|cKthp;!(GKjRF)8^$UeTe_l9)& zQMcnS3dnfkIneO^a+RpbhUuIs5=hiEf?qj1oDI?aoi38xM^jm zfR9~+^HEgi3WOm!$wPV${2>yn{|9yN9oEFxt_xFC6a_3q0fDF}RZxV`At2I0IspWt z(gXygcLE|Hy;p(IJ4BS;J18I!N|4@ruK|+y4Zrff`)zx_`#NWT=bS&r36qtXxyD&* zJ9c0wpNSJK4SbAdo!BpK=Fpx6CfYFb=qnoI4^4EI zZw?zSNOY9FDU=1KS{&P8sUI`jn}4ETm)B(_&Z0h0kwNE9ESF#yiouj>?WH@%(R5Cru=qzfe!HCOIxlt$>()cwQ+V*?W1nMG z)yTcEFydLLUpmCZ*JZ6uv$-S2@0{9xfo`miO^&=IhvkVTC@Se%V7h{;l8@g!OmvRw z!q}SQ^QR;u`$eDK0%J^$$y3ba*f@BE2H9p;sv(*KV$X+gx5a{Hso6iUx??8bUo9#Q z&)u!w0L{CiKHMF)iYULb^cj^ZMzu^TJ)kPy=F*q8p5sum{nJG1VFd$wG~t4)sktiJ z3&8A4@kF}+Amh*65|0ml$FUSPYB$S|V;X(XY9mi-$wY*yS*vJxIbagK;|)(jmhrdp z50>d{h;$#&^tcFyAPnV-msaShqJ9yXEppq!f|XNn5=C9J9tJKZucx@%oX=+CO2iRxKh_C-3n2pe?|uT4f}%tc0N!X%C^AWW%jxB6Wva7ppb~k+^)CS48G&4<-lE_U)?ZD!1OoN0=IKd~KaW`Zln!bVd3vc$X9Ijm_s-!7Ik}h9+ zGb&Hv#Wy8CSQ+&Q6Nu*_^$VqoRItMu2J(znExr=`Zm{Zl#mWV8CGuu-?mXISpc6!< zyMbex*0G+KiJ+V;8|jTH37F}DONq*64pZm~L!O%Y;sJydl%|q4bJo6WL@^2S)_Dj;S3%rOSza zmXl+?C)}A?VjFs~gMMg}GsOBz{aV`@GZu z+1uI0=o(CAD~oDffh1yfGd9 zshlf+6Jpp45P~k_1l-=E*so0`uDL&$rYT~A#R#^$fTkoY8LH2Rh=b*0ze`Jp%>?NS zJs{z(VT>uwz4q<`0F`(LDEx*0^|$}gT2=r^!HC)~V(%Glm>VL*bOjR5;mJdn68^x@ zG%6Z)cCdq*1jij2T!{Gz(#fAd2gC;T+RNn9%VuV`Hxrq5?m%$d0Q7dRj+yGfaK*rK zCJcK5*4>YX4uxeQT%4VNLfuC&Z76~50T5W_rMyw2(`6;8JyaPdts^crg>OsM;gm`q zTNG#V67O{c;3&jW*8AIS^djUqL+`6`tXj&*`KtsMq|Up-;+;EYHV4h_Dmu;PiORj% zE!8jxaumS33@A=B1L9z!&t^NQxNpIRTb4m* zF@cgZxVeM(bd`o1dd8P1KgXYx#(qO0x`KMG}k_1wa0wLAO%o<`ug{mIOQRz$C~0Z3{jic6I)7t5%9wrY8WU_HYOk zOAUs|h?Rz(I&aDLmJ)Hikk}qSsa^AZV7CGv{u0OY_V`2anv#&)F-dv}?S_Hx49Z_w zY&gPZDndWUx0dXDwES-B#3skr_rt=*qk&{II((YJN*v96!>V2?H};EiE${hkvVwh; zrNmnSHsxQC!#{ac|Cb?WGFh%2Ycq*E$gp2TSIPYBbyV+@%kP8MFkgc#%#20O)AqQt zovJ#|uijFB@i3tYm^8TVxrdv6+hK;TYP0dK|J>^cIye@QDpKI6x>HqHsvi{SM}6;U zM^fTvi=~W$8ffC0h6D3_YkDAiH%Wv>*Bz;Oq&&?uOk%o@L`hveY~g`KX4EHD8LgWi zN+2MC&0cA&>NKKMNco|=k*$>5I^T++RY@u-V@$*h#ZA#i&y~YTy>-9JYbTz#Qpd1z zfCqju>RkDHiDqolQ2PLK`TL6n1GDdRCZj&gHNY5iT}fKg`LmGASj|Azyx(Z*|IYZY zem}sN=2e7px|d*)Q`6ySw9G|*u=(yIkTa#F=+8Oz3ekdPx;&3;Nd&FVRr-O-LihZx z2VXbB83h(IIjd|r21M+pZ!oUheSSO*i&v&Ee?l{F;15b4l)}?Cprfy)SWE%roG*Hm zHly{3{!b3*h&6*>MAJy@9y~QKLPkAGK??MD@^3&6p3sz)opLFaN(|dH>s$(_)FWx+ zmYi(hAUrnjEySifU6CDkg^h#DasrJ8)^mczE>OARPHJj}V$*noZJp?_NwXEa$5gAm zSH3h9yfWY{(#E!5lPMGOZls3wBFpNY#s!;1Myh`dA$c(pVA(U&D76IHZ)ikaVrN&l z@A<(9=Hq-rS;()5E@q-P%L6&hNnzi^%tuZ=%^0(^DYve#Om8DKe7;5u z=)InN9Msrho<&#IwP8?N!9#02Dzslb)mVSk?O01jG5FwK{YshLu{3#?n)P|?-Qszj z`--7d_v$_=pwkD^G^KzVKAlz^V=_s8E*Z@VY>oMBZn|@poc(vVJJqG3n@=LSBv8y) z?`iIZ+P-3;#6$8Tk2i7QyjD*rc-P6gg|1xJF@JTRtjL3E<{n*}?0zwm-ZnJG(>R3t zhbzo%MmBMBLbb9nd!*3b-Y@o3in+AbAeR;zEvM}Tve+9qtlsgit4pDos$#I%=nWDo zFcYIq6nEUgK#uKpkgY|9&VKf$5BXD$x8Q=Gh8O%EshthK*FRyOL(0#0bFkBpm%*QDLR>Pr0-^R4X8gK2*^=|( z#A{l;0B=ozr}k-^3CO&7X|g};;dS7>t(AP4emCJw&Wqq~4)e>2rLcI>gehk;o2$j4 zCAFfAV=p}lUfRKz5tsVyZ4)^WfPf6KWTHWKC zD$I-?8nDUVDQ%}WI-FewO?c> zLUNZhGn89W7~-_5;n5o?`)!nO8hRrpk-KI^14l6vzs?yeqnhLjGZCPNO_je(C89Fd z{ZEEmpx*Qx$mqSq^zelZ^S2)LVVW9tk62FI>v#YDfYWW9213Nf>2!~i@qJ|UK6OkG zR8-;tYzzR1#Tt^uJEbhuh*G*Hs*SUaV!XcaXV zWof}Yi01%7juUn)^gPtt_-S8vRUV;$aPiF+b(vrCL$__d6HKEn{#)JPLR_&nCMYC% zBCJ&aLzl0iaqDS1r6}7QgZF{cGV}PSfo!+EB}a%~^T_5`eS_>%HBDX4iH@w^+eguC z$M}yO@ah>E!G;XT(9o~;^LK4JvYe*#_QXs)kxed66{wBHQW+`Mn>*}}NI@!A$;~J= z8|BLQ?o$~SfnrP(BbCK*q}(kgl>7-<+Ua27=_wP6Rxn^0{A`CR=8i+PwvDA#U6s*d zQ{Dhd9f=)8Q2_C~0Q#c(lsTC<<$aW+)KigNRej};(6@LQ_o#G!Lv%eGdhqzmQi{dO z)M$aO#e}>AXG+s}hv*#&}=0%%Q#_%pTgO7 zGWn|jG?Z*#RTO7kArg2p+!y4*dCghamHc>bIwgsmV`C-o1gubD@lEXkE$D<&RrzOs zH8jLsrd>qKbbV}OXxraEb7(6%`dG^C$bVmZzebZ-Twt98xefMOQbr?YBM`4@Hz5pw!QYXv^453uO2%v_@zwaNPGuPl1-yR1PdH$c*NdT=c7A{uyL(3!Uu*NO*|+eK+G`Fp)gdu21vu7625Nu8p# z*X+EJEtU@0OI=3FZU}k4ZUDOPjHLy9Z&LCX5eYA%d33m8sT6tCpGO$m1>>IP?kAk2 z0j)pD{vtwtz_o$5t4hO;vC7@B1q6<>$b#S|cjkcx{p}p1%BRcy_=q-UcZdqB zH!6d}u`B}gVc(uiL@(f?_m}Ja))qLi1u%%Gpb=BjVH*v1ei41tXh_1V{Iz}9pXcD% zZ6Mqn21W?c%wI(HA>i%uGSu+~3x59%aHCZJ&s`8oyB~JE1zu$HpEC$9B(4l&!KcAv z4QGeHh8>(ejW3>o%Z;VK*v?_Q%acwmK`FRcWnx4w=Mv9I|Vxyjw^IKz)xS;P*Yh zF|yPSucz|VaNjXyuCFkN*{{@{oJ>r>N_)ioA~G^G_N`mz{If)XE}XC+h{9KtLAXmN zU?@W`PaVMh4r@=(v;M7SQ2gdNij0h1aPju(gq-AnqYLynXb(=cHTy&!$T>Ac`qKZPIcH{N@_NY$ zs!`a8G0T2&HK|UPKd^iyC^B2Sr8P(~*wagkYOR%-bvBM?@yUARX`zm3d^I7rCmOs? z)WN{^=Eob&g%EpSt^ZKTYpFT6qM`5mo$^Cwz2i|p@I(uge9fAZTsHqpsq zzqT1_eju83TQsUg?b2KC3*}Nalf?Brqvs(bp)rJyFW)t&x2R|Q1YZ`k`_>5{fHj@u zX$5>^jwhNY-NR!yH}+9f!k_%$I>p_ifwldMqd|)c`NZg~dSG`K-S9)vy{beL{7LK( zOacTPmGZ>H3HD=5Q2B6&{OXJiuW5`GNn%mp2e6i@>gdCngJHAm#%jYDhUlOaK9RQKV znqD_>n?YVcNTmmi>FLwJQ@C{o+E)U@pHw3on;8`vs9d`Ss&<$^&r}!xKQ9l2)UTYV z`^)=nv}&Qb*UQ$xD1KwRImGCg_G2<}*Ts4f*psT)c2S8ZutU_K=YZQipLQkpek*Rc z@W+_d5rXNgZv6n5Pf3bxF|tHV;yjamR_1DR_6zEmpUVjH(tf_2+n`P$O_I2DbJX=b z&1@~p40E#2?YVl3N!}60gSn5Sq31m)DMd8s~u&$c{j=J*uNy7@W#j$5Fw+k@t18Ej^I!4@u+SLRx=@w13?*zaci`k$yAl zb)`R1;4mW)@a>ap`^_Pih&sAd1 ziUQIt^=aF; z{Mve&YaS^&pgti?1w2P0xOmX@m~E4=Lsm%;*dDeLPw}{uaDDbz&{R`>(|$O1&61=& zg9h|C)q%Hc*ggEO58%IgK>zxCbv;~mvJ#?tN}lML?65c~NU+@oPOKk38tjk%3U?z6 zgLgJ;u$aap=Q?T=Q@qR15IUs-+-7|+lZb1w)y4yd4zFTpX#AD{=8fux48Zh)7dY>fK#w5ss@s5 zRW_M1Qh{P@%)n!>=jtpG6vlum6Z{!(uFIFhW|4P7ddeVOGBV~1_yOGk{D7uL_JV{F zsi@EX67Y26sYaO{s@qeiud~|z7^HPIKNTT53h*2Szm3-C|9=>*%>Xyx%pRg0C6kMk z=6cbZV|`>M`S7U+g+{To`H7)rpnQ6MNSk@}c%0SK6tS{nnVUAlm+xn>+vm6@Qz=~b zNj7yVVJ<5Y?e^8IEELPRzr>rB5XKAJ(XvRK<$3$8geE}$>)Ogd2Ua{#3&-OU{K*J7}1NNT%sM3QWnFl$klxH{EGuG{3yuohxIW z68ByZRL@xY`M^+1INhkYuzTW$;#Gr7+D<*LmMIPNH&?4jNh(#Egx;}j zNIq%l4|(uKBqvTi>g_)1ED$=?$>8n>;7|4d2RvnUnPir{qPW0>c!bG-C@JCkGXfsG z9m#UE){9#aRbsSH$wuO&6g#0`%~HI75nZ~6@C?Js-8em1A^=~7ot@zS)Yp8 z>^^EvAO(3rU(Xo(0}$Ri4&$7}%ifhQW?&Jk^k35=4Xn<@><<59Vs@3`@$3X{@I=8} zmI>B}Afb+^F(??pTcMhm_LdG~5;BJ#{5Jev@UL@2Zrp7z-~u#8&9iH8{ufyP-AVhc zki1o(45GnEGQ#@7#OS17?o#WwgS?1$*ob}QX6KHd83I2nR+NdbZ}b)Dvz%w^ov~nZ zYcI?2#=4D~(*OdaO>@?hcgxb4Rg-6~4Ixjd2$-N8%OQb+)`*;7=T=ZZ0c_;S} zaY{l4RZQK8)fk^xG!lf}W#gLP$*Ts23)2PkNa&|H3e#SpU;&Ip$9@r&ukZN?5$qdA z4-tDm5kk0aXz9?=sGiFvkysfN$J@3E#WXDGDcmNVg<=$04ELE%4SES~kCtQ(+j4M+ z@E;9g(3xyQo?J)%VssOa=M0)crR-jO%WsAM? zxx-KO2JVZvwP6CeyIIu^=j#2)uOu?A@7kJe7i3Is1a6Py=O?aucu`8f$*;C=cN0Js zOPdclfgNsj7yAOy&TnMef0k8qTyE!1;FW7!T7cAOKyuyjV#Wu$2^S+OxaTL$jZ^{S z0NehI#yogM;h^AszH;mI>0rHIxEs>Y^Lya^$UD-mu!$4**TUM3L^g2b)R*#1rfOdW z;!XyOeNv@&hpPPff%qF-c|8(L*tpQg#eUXm%6Uc(yrrrJ3CGy~E%T?g(Y5Ei?T#Jvhp66ynXl^Mh;oblj>By9hr}!Bm*6}AnHTUOqbTu0YDFq z_l0vV=wFu1q7Ld)!vuO3Q>y|Nuor1IXmb+}G^PU^UcGc68>x+IbBINdp~^0{q+h2} z)GEnP%V{irH)|)tNQPf^&mlWJ5R3Mx@+jy7@<1dUi~u!5V5jn@w?!~bjm{>umTRs@hF4vTyuAeeeR$Lj}wJ7vR+tT}YAr-2>% z=LfNzj|3n))ZVo|#)XNV+McQ&E*zqs0{PN^T(=p&R`>kPVSLA4; zYeQx%ZnW+)f!Z(Q7m>)=ZpL3ftvZJ-P#uIZ137Nz-c-e-GB9wj`;V|{bYZwXYd|^h z=ZCymXf*VH^fuRejFnv}*0q-@TpO`>bLa3cJb{{fV~^}a`%^xiUeF`5j|6pD8)o^2 zg2og)%N75K}auAeg|Cx4=g?4URNm=Vxp zu93PKU-m~-A^+6@g*`xIS)Wy9sRI7Zvh05ZgQ35J!N`fQESCm9nG@L)Oj= zd}0#(gZGQ`cdJfpx8(%vbq}-or&X2QAFBmib?1z5&GoDGE^#w}uw9ehCPVOTh`HhS zfFWPIBQe%swo!y`W8DsKu&fqjhZgnGMGJm&hReiJtx+?tT9~6wm&4)y<6;Z7o#(co z5WBCdk>fWa-U@>P4&oL>JJ(3Sk3B z@=oQ^HKNXKQo6vn3KM7!WD{@vmj2_ASj7pFT(GKONlUaRos-X5Xhd1owyGO6AuFxC z1TTFDCYj|KSG0l5ncE;-<_)<^GLy9C9u!aw z=!M{GWT+HKrC#N7NP+LoFOJ17l{??Nb~CotE^vhd`mFSnA+eYnwoD9wXlLv-feNTR zrjY8IqSiegxL_-E_hHepwIufA-f8c_hH7Z^@o_ZL^(AUAgO;$PK6pBUI~xz@|17#) z`D0*wNGwII`Vt6?gU(VI?Xz^T5l9m6kk@4)IvVpKXNXOhw?Vry0;P7qU9ip5Us`hN zd!jiosLA;VFOO$mS>?dr{0<$@b7h)g$Grut3cvg!3fF6pgkShY)HROWqC4&SheHd1 zqzMH6;jT}>b;+b=W&xHnuX}q{R3DA=o^2_O6+%#7#4i8nFQQtGePFO?zy-zrBH9dF zfX9RXg`%NOq+!N%L*#Plk3#!=p;i-pzL$c+=G!Z(dPIE!2cXqD)syv@0huNL4al2* zbK6MnZzy7~dAbwCVd>Xv`ZYwv-%#;)Md*&duMR0MQr_`r7E0fH0OUtJi&{;pQDvAl zH4U}x#=$S?>%I9h7sP z#`*ySl*7)mXe>B$gi8HIWMc8II#UMPWCG1MQe_MnO~+!kmJl3@q5#*@Ox}ZPYip-Lqe;zs#RKr{78F z+@88kFRe+(KSY@hFiLfI!UjoFtChnm%9It8otmXsN>nEphfaC18SB+JZl1YCdXokv z9RIrtAyfA^*TK_@n3im&e(P`UdifI#ZPmTN=z{aa&gu zxueP(9@WCk`>=k7!R|}PnAMyP;Ts<5-Cm{(s2=M;IwrHx)^2GrLpVorztw=uzNs(m z2e!PKPeV!RDQxD#j(gWLQBk_ce%o<28Y4Ay-eThT+D~|H%U1it`2kEN>WB?$i(zYbc@xHabVD$+Mp~{Qa*n2N^8D z_Ppt|cM;*je`tw1y0J@*FabKg4fL+c{0X7d2-wU`TaRg-Vf6%uC~J<%Yt<_Sa7B&bN>}=Fx0AX9NF+#Th^}W7vln zX4gGL?p}xrq^@Di1c1U)Sm^vhVRFwiQtDDwl{@KyDm;qkGU|k_`XkM2k4nUOA`+L= z{EGq;eQC;na+wQ9-PCTnKm0tWC{x@QT4ZXT2spi{7JN!vSaOfFIAQT|e_Rw4&FvCw z3F_On(fMHL+?eu2?_AXL%e{4cuxnv@n1hrX6f(q51>A*7U%Pi_u8NtN zOHcn;4Knz;Js@c`#`I`KkIdH|Hi**j1q$EwKHI~Q)eeavsq|W5;`%)?w>2o^0rro# zFHobo=n8|(n&5vHNADLKwl=KxxKCX}bbhHwtD~A_@(W*-&K>|N0NQ3{1pC=vM3d~U zNH?%AfP(7z0LpUN3+BQJ?$Mnax@uYM2Ot5f*3rNkmY-V+3#XVz4zrS%uO)tT&YUaq zjFV{z-mQaZQSX~3KXhQN(OYwGa208Aod;$nHnCDfvzmtm9P5{Ggga$9eHv$1xQk!j z#jgSE&JUR<{XkYOcaTB2o9*$7NUY`mjqf{(UJQuK`HQakAwV&-6S{QZj}$}b;3dfN z!X$%fG`Gg;b2{c{JA+v_i`}fEe|meyI3IwbW|sCiHIVYdqEZM`<3VG|%g>XJWRG=2 z*}79E&_GEIWM`NpD)@9$!$>xeqzS zY=F`~jV!tYM_%PM9a^j~iDlP{7`YgCBgAZCuWQ&OZCFW2k!FE97Cjw4YuE*QtEoNN zRAYnK^RByYt*;g1!&={E@Lf2;Gj4B;POLl@N(xDDV09-gM7&!2+?CwGuZss`!LubO ztmhrL4LJw8Nn;=esC_>d)R`F*Rk#=X$wyuYR_s}Qwg5o$-D$AmTQ+~Gg{&>H~sg|Ik43p$vQ^$chWs9(0| zqU}-1-nfCsXDqT#E+J%=$E8yqDr|z(0cdX?k03w#MfCHF4P)M|)4^o~2rL(Ys29gy z=x_Kl8bGEtBxFBD`~+pd70aQyY`BZS1o^K61C0ZoAXuATKBj-m+bdP^xMfZ{GHw_~ ztCw7MjNhS>w_q^WBe{Sm@(jbtmOUx#j~IltP0`k}zKqmqzUG}YTT8#_lXqSK`4#)> z(?dq?nS5xFVO#j7s)CB--6vmC9=i>_=Z0S?hZbfRwr1qs3uF&q`^NKA|KUg34nfdi z$GYzhHz>U##mbq+5PoyK`F=o{>x$0f4mUl zJBoxF78PG#1Vzw*UWH4^U*Py5b_F|0MUAzcy6zXvy0u{tDg;~JU(A=11Gi{*Kiqa$ zdTOBolm$2>ga6%N;qTkA0hNK!H^0UDY&pR|93jr=v_pQ)&h*LWPLvn0;Gccb{EwjV zl=GhNoe3o6n=-D)GP7HLzWCCu&nabXp;;TbydM5!CdwQ=X{t5My}@bl2MNk#5Qy?D z2mj}x`%f?44uPqMbL?5zRxoxPJv1p$57Ax+?wQU1MZ}M);1i6_b{E`(2lkO?+6vS) z%~(e5#A#?-{2`ce$bNA}Ny%QYBwl;&@z<8F7ug=CGx`RiaQWc8Z$z3unMT@cWu~1% zBW2Yt>0N*KSjjE9RoM=lKm#lxaAI|{x>Ze0W*c$U*unN~vpsWRv4oVw!gB$3GxsV$ ze{7MvZKWh7xzLMmk%@yIQ4rgjvxB)1n{*<;x0P=$N2#hD+X1c?{bw!2^%4X9yO5`T zVP`E!<_9&zfa>}sfCE7LP zg&&3GU}D`lDeoz@fL0wovHqi0YyQ8Z)dGs23bIr7{onx75zKZk&ONNi^+{?Z5tWUB z-3;B;o0+Xug1{z zIsQ+ob=t*f%+U*q3$2>=Y25+Vwc=^A>L(b8OMaK|yXO=t5mPQ#l;@t4G*sC#p8x*k zB3o{r*i!p&JHTBjzY2sy&WS2SS=lwdpra$LQhOOtb&1a5m4UY#_XmqLL2`?cmt7t$ zUJP^r-214!Ke#c+2%9GQXSc`>ZRL?l^-fdA?5 zna|bVC+raWr7Szf2fv6kEEcgr1gV%h+I}F3oq=y9%EM0EBO87s!B5+i)wh_o&*G%; z*C^e*yfa_h7Y1eO>SyuA@OS9cifaaY1E~O~(xvD)9IG_Wc_n&#Z2EvH2dDSPSCet ze-W;*-pVeL9RXuq4#PGwdA3YyTfnpc=6%Z^Aqsh!MIEhq(f8-9gTwu+wiF&tr(Etz z3MTK-W-ik&6OSKYY-h`Hq_aA;f~c0qw)wYH%+Sa$$-M~XZbs4@bOly9YsOjM4a6hc zCA1jwZ4C6c6*}HIBgK8Mq-Bl@V{$n?9vWp9hpmh=-xJ8^E+ETbkh;6*#jW8G1mvQ? zEcUm>(*O83kWO>nS$#wN1>bQ3Yo98+5y{Lrbf}25A;j$DY)GN4(~959H1>wiB91O0 z8Ndg<2YKcI%BMG_8(Z(lvZq)9yt{?(*=jHqgkDPNqMM=?tt`tHV-2QZ$K-7XIg;4i z6U89>F4?k^A5Ahd)sd9Nu#7KYzi^ETum%H&fQc6I|)${;QED!8O@(ZWFhygKls|XW}l5@YJ@B==$7T7SOPwl zAix*nL6J3%)tftqSr+ptk|;9U(R;euP7za$k#$^x{UHEZo+3XmbNKWuc_dugB9`Xk5BCVMplgw@AIED36c*W`?Gi=J z(vvuHk6U7P=5O!sP7dug1X!NOCSI@V1?@Kkz2sRbB} zmoH=Q?!6P#ME1Ng(m@eWbI+@Ak2fAd4s+VTmzm45J2juYb0r7dv)bqsmJ>fjM0lt8 z)ssS6JPc4zba_s1x2)q$Dnb6a_~q!_%n!$b6r9c#RVOh;sTy`2byP)i;%mL~#C&BC z5wh6;UIuecG)R1WvEf<$CHP7`cYm5zgid*A{$`ng4< zRVrc-gNidWV08cD%Cq-eV8&c$5j4vtGZk>c&(flx^)^=zY#v4cWmO!(b_?o>b`HXV z_T!BMjh}#MX^U%iQS~1NF;AeOYcs2_%!MGJL;*Nf%W-Pr%thz-eNCFYkfvVa40J|k z4B>zPAo}0;TL3xb9b&t1qoKMX2K>j~DO&ZN0QB$A@SU}i9*pAFpdw?rDF`c?F-WXLx{*xG}qP zqWQ#H?0)XkwBwUuGTi++HRQR_`m!bd_BUI!+WQcz=7pkp^~94D*3R6eDx>AfNx3(+ zGX+ALH$>TFjXTqGS8lzZy?Tj3)ckl2z7%Wtz94os$1lHdKx{Q>NH*^-5Jm2VJWa1E zfAO)CsZ2qhlEWOb`f8OudLofo;gj^c>K~DPRWF54wB+aM>Gs{$sH=mwc>-q-^f_mu z=5-0^?bFcZ#Y*RCn=km;kz;ztOU-&ay0oEV7t9_OG7p-N2R^re$!t&j$a;L9l4r%B zYUUAkv51R!M=T&28mPTUGg9Mi&(CW?d0JE#lR2~bf&v?HS&nL>`;E4VW zTK=yi0DrdCEmy~#;h5Gw+8D} zW8mINH#0|~@#guD+svj`_+i&0b0^F{_gUKziq`OVzKs%kvzEhrigv!#&q%M9^4^}> zawoJJ zKBJ(OQ!(HX7;@bDdr&I-W`=_;|=9{^@Vl2Or-#9nM?j;L7^1YvOR> z|6!{jS!tC(RkSy{&hU`5Q;bETtde1^#r@UHOo6ss%r{z8hSvQhFKFHmcV3Qn# zbpwLt!4h0c$^yD;$JR&pvJ`FlSFyM3Y%m%oLBPwgPneVqN zu3L_eb?b54sE=tol%GJYiZtOoKJbWgjM@r@O+--xB?7}Bzs7akrS<#1`BJchQy;4+ z^QemHAe6edE=b#aw}0IuBaygAW59vcLE%~Att*+Pf#pK5QqM73HjXnJZ}LAw+JCy2 z7(}Bfv%PM!j3ct#%}!PAKP_9VSBcHxfhE31gEFTi^+v+H01zL@SQ2&y5XII-3ab1k zizkC+dnKy~-cF!P*JoZ+?!#1g_JVgoL2Cv~P)UP{QxQa`)}taVFg6Em1m6mWO4dI5 zMReyQ0`PV!TVrYl!2FB;_EScMxoW7|v>1D=LZG&J?|77$ zV8y3yl}n4+5dM$*Z2Jrn{o%RihTh!2e&+zyTR1yzgfNtThdQqtRjYl%+D6^VC;Oqm zr^jHsBajQnme;|{rNZ`Yen{L#wdZ0Cr7Id1wD{sf8r^66#o~k$;!|PIewEeX!$T*# zkP*`J1*>D1mr)yN?W8B4dqLQ$8RU&AXJxg}H%3M(Zgi(nho1QC)Y`zy!Yh6=zQ>96 z6-0yLRMJd}sve5H=`mTMnLxtyC=0wa-)u5zk!vdD- z>cAg2BegDOE`4`@TkT=-+ovd7)3VtRK%M+F`GHZGLI+@I z?=8LpH$d=Sofs?Xeh4h?rQGWAcvO#vwL{cmilc{c|4oYfl^Kr{b#dor>56g`y^kQx zBEV|t-=3aTh|dtKB|o9{E=!Kff!z9NukA3wC;QXsdVNf9P|HJ2zG|dQOVxs&KLcH# z=b9@L`K&IvtL;uZrC@=`wFm?69n+cdYRLYVHpW{hlG@=>+hSGhy$0SQd2N?UMZ$a+ z54m9dO@Tzpqlf+S(k}F94Tdfik>G0)n#qil%6vD<{Ihg2h=S>~R(aPGm)&5Es8RC0 z=EPvWBc6)bi>pH?x3`yOmBK=JJB{QbGTDVOa}#YD9LJv-3WWm?AH9b%KEl!Fwt!kU z7Dxo{W2(HmA4ugYEqf}oi(FIS%ihtJGRyQVrsS5VJnw>Np$e`x4K7_qc&3=Cj>ED$ z?tM>-@gZG-TRzV;FMjj&Sn}3;lz09zCL|FIEPQ<^kj20u`SBk;2mUA>{-Kl3`oo2= z$_CzuOj8}-6aL*v=07#$mYtyZlcn9^8_FePzIh-l;qg)>cxOcq?1z|J+Cj;FFnMsH zq1Ig(u=7?_4(>ou9}l#T-ZsMopT6T+(d(9R?%Xg~*`aE&aC!@5hWjYWs*gYQ;(O^a zYwUWtyQ7eOOSz&2mFMRj4>6bDdHJLWVd4v7UN%>UkZRreV3w(@3 zXK?T;re_!a=xDBXNRp)lpt~j#?+%jMuS$dSU&GzUO={{`UMOS|RY35`jW{O-!8Ce4 zF0I^}12JVNa zuA|z!m9bJq01*+0k#Cj~rf~&Ufd}2e|9Ft76{s%g4xIV`f$ud7c=Hsg3Ms9`GM%|3N>PHJYM&haWaur}du>l2RLT$0&F5u{JyN4}m&96#{N z*-o9!UVEhf)Mh&;4)+kB+3xaNl9JSI3S-9Gz=_SFs0C{#T3s;!?<_%J@m;>XG zVM?@fF>Lmh&+FmBi6P>*j-al9^!#?ba_H>aSix+D!R)$u_sE$MO9T3PHj-X(s0+OHs|@sf#arbju;{74A2s!STqZr8M?f)?7OA1oW9 zdunxE$;tzHD(cx6z%FC##;->ej~T9Z%({^C_N(~Jke@T;m^5p(LYHB-*ZQtn?Y705 zvNyOiEM`F$t`O0;30avb(Y5Wy2l-*szr89^Ui8RIgZj)Tbc?O- zWSurppqdc+32z6eGy@ti{KHwOEq!6yVLwiDZxb<_6 z@U+Ck{4>b;?!kV?!Fi}RfNDyl{%4s# zAc0Q8$@JBpIyvYiIf9lCWMH3PtZAt|u~E8IfaK&=Hhb6f%1s9wosb{v^>V7?7w#j(-+}3c=&L-%U@w>!+bqAcnJdA7 zOso3M#6^fEWM#sHMUTQW_jD zIGvanaLq`Mp9vlJBJH$D;F~^J8ApcC-Q-<)RazfEcLxAZES&jg%M)hZoCBZxj?peQ z+&On$SN49z18w?ki#`I_-DC*&z=_r^fP@WL?$?Pd@p<4vUOx2RtTom4&nSm&i&*_I zj8TNK%6Cb&O}4o;_ygPne14IG>XlpSSGF%P*GKi?EV3;emv{8CXNlXTJRInigjRP< z_oU6j4ZkFYf~J3bNK#D@3N9C{9uWLD8&K-+#EL#|$f%a$ni8KFlrYkJRQg)*o4yvK?+! zPe(C(T+oS_v(pWvW-E6?2G_HgdEP3E$gC8fcEz+q0Uva8xkpzH%XuONX|+&Su>m_3 zupP_6dd-&g*RI?sKBL$}$pKg`*wcbS= z3zk+b4v*L0rJr-?Ca%)I+y|^i_yhOjO6qN;FL-e94X>5VmAP)UhEWE*a=GSm0t*pg z9#$*rfaDtq)@{%P?(WtI1`nd%%2M79~)eH<55 ze96$2%Q<&8tS+Lwk_Az?>ORJOJ#w5 z>h$Xx{UMPXF1NOlq;s<8;MVT6_?!(${7b*xm$$w5=y2PKL(EI`1EoDM z)xOP01v3UB(STwcmryqCSlZ6dBl4F#qn4Gqy;Y}@8CbtAUGMu9(PA?x6y`o{p60lF z`0Onak-jz;9>ysiz+RgQ5dSJYYAtC;J@LEa067$R+aBXkFi6nv6?g=W)^IOb42#&X zPbfU4aO_gmeB51BQ*I#{TDF><(y_GrA$0>{!uf#NPF_g;&Od}#|4U)jlsy{FKfx-L_Z>lR} zo|fP(ocw4RIC?CtMt?Q|E8e`yw6J*MYXZW#%-$l>Y}ASsCcWIWWw`oIdx$l+%kFic ze$%mfgdDtANnp9x<*cN1jwwZ;z!A1(cIWO#lKg&s=eJ64Ii<9M3;VJ_5EG|r{*O0b zf<~)ZvvjCIcLH|>Se)sflw7DTy3r~nD+9qxH5uG*MsZPbJ9_jcwJmHI*#E%rYFb!~ zY*Js9(k9zMt&j@@YJX&p&a&@C+SoW6=4Nh)ujrEi4t?1qj4|ELad_3@q(5pze~>yd zgdYDQYLx-XEY4`PhDqL-zmPhdekXPKo`)cY10Bx(Ij{{oS~bYl^t|8-1u*!zL9K(A zSU5pc${KdU9gV0&@1F%*&4H|_muD&Vza(@0UuG%uyBRa=(hij*|8U{=hAgKTgOi_D zMH4ipVSq47ZF77DW2|kMSVI4P@k!D9oZ;#)FxI1}I7PgYcE9+^B@$d++naclVXx-{ zcc{|STd}O|Td&~4YeEl4l?F2Mh;EG54?2V{-isuXm`mJk_}D-hdBXObn~B# zORKa{kGT}{9=Cqxek#}rd2si*GS8+yxAKRolj4!`2Sh1o$$#_i`$ZF0N=hY<nxDFClC3kTV`thjT&TIjiVylF1#b+We78_%J* zB>}zWOU=5;#vp3D``>BlA0I-PE$k+$-7ZTp+o1z5oG~zfzVO%W&Z?OinYuVd)Fu>N z&x_BkRst9!dVgO)ikP)ND)g?5O~(6#x1^&(&s)RS@JB|}eNbM`dj{$84tAduL6DM@ zy=d)e7xTX+j;8!Dj z!8zBY?0PVQJ<-cXzR9ut-j_jZUY6@GYS_pG&tdYMNe}&oOF80)EduyRgi26PjH#OP z_jEEIbu}Fp_{sr`g$mke(=&@v(tKpG+rKfhv|(*5!rkHUn6pt3vN?GRTbGFqkdVtb zcN&O8cyB#?KtUZU*yCitfbA*3z9stF$vwtgw=QNaz@doq5!mj!^s#pPc{kqOU%k9i zMa^FDsDO2~)#WZ3xzukFYLml;ev2Il`nXXQ`V^55v zdl#S4?V%d6reL6uJFJ>uk^L}ulwV2Zr>Zo=|vHewuTBwkT;c~VWcoLj^ zyW_}zNt`OPM|!W_CrqMHCQ3 zDbi7pUZhC}6#@d%38DAidkr8RLa$0kIs^zv@6ww{FVYFU8hWVvF84m?{m$FI`@MhM zJMJB04@TBXm}{&gD{IdA%;)(PWpqT|_Qevw`ET%%UOf-pb508yp8A?(<+zZU#D*Z# zN4w04g3>uvVP&s#ZSmy>O0Zj?t3XCGS3Y22YSwkwhWz3;oU11PO1P}0(;#7FI!l}T zi(K(piuoP0lwbt4>cQ~SYqhav;io(bK`~yatT6qWjHv1--S*rElz^M(@MEaml!)vz z-lNBhr|r6mK7Je*^iB^?5qAmG2DDVg4f~t9J4dPyqxY%X4++j9rd*rCNpM4%x=xJs zl)Xz9cMtT|7s3y;azcjQU|oov8Y)SjJL(b3CY1bo?b{wSh)RKiMMR#^2F$z>PR&eA zA5-_0wzfSW8jLw*$h*rsnEpVXzhc$S#2P9HtWB=Pe?hj-zug65zGqd_7PsIFchsdy z>+>LdU#pupH(AeWgYn<~Hh>y8DO}cL?!FSJ`iZ&WKNgGU%bUH?+I(yJ+wKYP##llA z-Q;K@KwhGuK>O@*k_D^)(r8ktYa+HQi4$d1llS-Bh{h{Y6`ePW^6wF5g0w@F&-LSe z$xojAJ(g+R3EkA$RTk7rv) zLVTKEbN$k!rbk5;v{|*sX@-fy`+C+#x(bjr;_p}Nc)Cr9>10b0AJAkb9`ww#?UV+S zu@dDVugxw*pwrC2(Ol1)-ENPC$(o)|T+xzrnWrdlky__qvc+xFKvg=mJ4n4#-g+bx z7R@Y~Ir$t}A}B1s}Mv%;5%nrB2nJ7lwT$Rb(=*MHCC| zOqHqMWA4e&I08qFo?v&<%!VqBZHDRTyv973JoWSUvl3<13SnAHai_c+&w5Ob>{~rI z3EWpdv2|A-DIlOM$Ji|Ms^(#taIxFEJ{Mg6P{*s_pz~GS#3hEpGPUdZYW*9<`m%aN z_9skJ^=s=R_jfmWt{J380AX!E^>i4^cdCx_#l>;vg1iqF8#1vv4&7?Fk||E$IqELG zWg$rA41#X1(9FijHioNjxc(4MJz?dHZp1=HRb>NrLKz;I8D312hV<~`>KIIRN!fNu zDHoeYy2ZGjGwT1SwS}q{0wLY*aEo2Z+r4214-t@f^dkx)u*WZhSW^>K^!PRU_ zc6!JDkHsNJ@Z_Q=Sv+4!gIk zyu#2(xdQ9AX5*E@v4e#GO7iMo*(t-X?y2q{Wd3Zw=dUdJ^B(oYQA44S%kH>K3A})Q z-ZgyMVs^#>2oi}6nFdmipKVxBz8Z2B;%FMxxvja*Kw^hJ?G!XVnpqUCjw$%IIuRfA zbIf2=jtDMfLO9%V&v;vZh&!mbzr*VL<-K1Oi4A9YIfWC3veA7Plt%F|%lf8Xhap~u!!P>l-bU)iC${F{R75~AXwODP&GAQq z&v>uD5xLuFY^2UfRMxgM>27V_=$k}1Wg6544}d9cq@Rq+##{)YY;$SOjd96 z4))wLFl#MM=1an<=;K>!BZN|Gh>RAt5zD}Ole!sJQq%L?m5E~SW(t->hfJxIa_y@G zMuYT_^6Y0KgGicA$qD0l4P&xiLp`i=wB4puy{QYWS?h>O!gCo6!PV4N5p&eRl7|1R zK+m2Vg6CXdL+h9fqP#IsDgM~5^Ftmb7xjl(1!Pj;m<`Xcv;`)b#0^8l~4c$I>E zI#jv>NjZsK2G~pp#slJsWv1c=j09Nk&po_1_Olh8k`(G-U5~2kkvD&n{F3yEjs97b zBhgg2hKkN8AiW^*R3!-UP~(borFUP3Qd#O#{Ms^*%4Js|Y{2AgvgPl}33ZIT9lmO7Myye|{GxmcbHk1W3D z4cRyk0fd5e6$T_V8Epu>&i(G(j*ol@KTBzC;M-E|erGLlB0@uAaL6v@#j{iKHXp$} z?km3KZpAN~A{GRZH$3Ej-*(qzFssa!CC-~?$8zJDRU6*u^hRU%Q#=f7(`0 zVW*tAc>kibTY%0w>f05V&nMIxkK7ZkMfmc2q&_j4WVq`w|G`97KJ;{TDd6a5RZFvp zlj5D$yl7(@D$whVo+XtSo4&$bJv&BBxu=a2S2}?a&Uhh~@8mlxFaE$N+9GX~jHHkH zh~1(l7k93xbw%2f^{~uU%^A;_F%!!JJJOeMVH(Ccy_T2ABnX-cH}Bm5U`gq>mZT(QV5vL~L%LCwsSV zfyHRvJslbU1MAiiF+r-J|= zT%h3fu8g=%I8NYM;Kg)zuH4+{knkRx`1+SJ62mZEg@+DOa_q%f7IphEw3IqDKZIS^TguV0lz_c4e9&0MtO3}^xGqepmcr1e#d^--RN{H^yP6~B0rKmx3iQd;+i7l;CSC@Z8gs=L|! z=TiCg`zbIG&Hw@{1h3G+%iRr81>u5c2(pISPm1*>4sWoZA>aqL@f$CqF|j8gNgli3 z{Og9E5a?m4n9LjnKMy75Red&$sF85B1vHd(Wmju(=0ZRksf`l}O5?UQ5l->h{Rk4Y zKT4go#?vs;Jlz0NO-Cd+^ua_scy>2VXA(7W$TBWnmuRlBmt2xbuCNdj)C@x1{(%9? zsHCvP9+~FV-A}VF#unZEML>uq8HCjNEfgC83@(CIzknxF!)#oXuEKg`|E`b2H$5gfK{aN;BwlZetDnnj2z5tL^muY zlcUA;L36SgJ?y2O%4aBH`=!mZ{TorDl8lx-x1f{E#%K1_>HGYKCwwlHD#|97!wjVZ z5oK0xr6R@YzI-kD*D_P36?jL!W>px}i9M10R+a<8JS>StVDu}9gp0*9^ zvT;AlA*t_pKQ3tYAt4k1?wO%Nb$;rwOFiWK;m(?-tzUGiSk~7Y1R`69Z0@*_fB%a| z9U)?t0x0!!_?Z@CZ`%L(x;g%CQIbFX>5#=CI(Xvv6Shf}ZKK7F7W&blog&p-&+v2G zZ?1g5=<=bqR}`~hr3RZKI9K#8h{kU}z)Z#OZ>5p*RFwFZDp6P#U#$O=%gNlIVl-6$ zPK;(cs|=*S=}yFn2ABQA5HFX=s8tD&@&1c1UPu#;iTGFLZqGWPB>lgX#BSDCmabth zpk~78$ao-wH!;jByACy82|JZjH&q7I#wW)$CGZGiE$*(DdB6W8(_{d_Ra=b}*wx!! z&BBr{dUqsEBQ}W?%1n6u$q5|$@sUN1Q#;W z)h!-f?<&g+hLxk&#ZZXXV8Dk`uWFLM*6^4TvI5mzNv7b9tQ5eqw71)=3jY35aUrue z=P?28xHW;|^pp~DjJVc3OfAKUEA{sMkQ1e^Jb0{Y+~U#;yaLu^W6Gx^N;;kvx)Z48b(@4_RtHHj9+q!(tnNP!+0}y>4~+qM zs7{hW{fS#*bAfr6LJ2}KlbH1HTOA~hQsLV=z2Sb7VCFQ@zIH8fzb;CB~I-jB*(m{ zF}^;m1Hp?YvWmYgJUbA*$dCJ@* z!@kqvaO`}I@!B5qFes~a`MYm9@zVJoS&_F-TdH{4Y1;0z2FS>IkFq!O!^0oD^zsd> z2eFhXA75lj2M;~nh-rpG{Jtz$juEn%V9rlsEQIl$n!{Qtw5{SQVSMvGtldyBs$=tm zn@Je5S!hOP+&#J%sac0>RPn?P=TPJpmb$4>Ut>h|pyaB;!8-nI9-Z<|$t|7=#AIMm z!c*tSZHaS#2k`J1EF!GN5v1}dK3vq9C0KYrc*0w4%!kkV#W5|qsLmGIqO#zxxpZ8P zkVH4YE$5ttZ(X|#jPsvIlG6=6N|~fIwGi(4aCXCg7Cm9>fVY1!1(bMHeMlMH07cGu z1MHUPwb(7z`#WVZddc2Vg*8$>5Zf!QdE=DfP00A!*H1LNQPA)+8y6$yjwjfQH&#;& z#WVG3G&Hq7E`HX`Zvd#h;wrdY+*+n1qbd$P-M=U!-sLA`S<47lI^>f=r%~VjJXu)U z*Z1UjlYZl@0Thj^Yri2h~uc2Oq?>H%n_Y8YQp6na1h7|jj=D2Sz z*6S+jH%-o0kMXRX^L?)HSHbG$uoV5d2I)~p9QIdyI{}zal$gLhd=E&W?JrgJUI!ap zPKOQuiMzuSuQ9ruRJvsmi+N$a`!85K;@_of!Li@aDD{dp2#}oRy}buyjsN$h>wlKD zGpupD#3&=w{9BddMOnS#KZ-dWngp-*Kwh zy@whjzJK<8;;JCBm|IIA)`>?JpKC~R`(0mr=es+F2i=R}9r8y7UxQ7f zJkN?PCE|v8c{3wvH)WwG87Uij>}VcyXNu2s6fMCXq2afW^fmj2C~d2~aIWqM`V06< ze<}LK#?HCQGRgr^434-2b;&RD&3vO091koLYjEN>q`zr>3OzWfW$Bw&cZdhsr@X&r z-H&o#!AdS6Yp&qg*E2@y`v*K;lr$HYy?|YaYI*eO~>I}VO4G~#*dNbxw8}Yk(B3qLM`}Dpkq2Eyg^@UP7rUpE6wQyO}S`oOa zIx1mgiobTVaBn_o)ZUJng}8oLXCeUHO)4o+lfA>VSZ%LmnP8Cf$!WB~@?)aPftLIZ zGs8z75XID|@5&#HRQyv7W8DhK&R}Ut1M)DOSRSy}FREzECo3BQN*47ORON&BK~$De z4jEWF)u{dT+t*UPqPyO5Xx-uk*@keGPn1=$T2|-NkXFNh4#bk0OnSt?%rbeUVZrKTFn`Xt_|)x{iGeHDAyFXw0YYm#%t4a=Tdtn-!ps=U~+L{e*hjELg*q{dun z3xdoB!GnVH~L9Hx63mMCNu>SHjfu65aMND2!k7Pat)@v^>Rg9#8fn4o3PWw;Edt$7~65TH4 zZ?soxCra3HK(v-tH~7Sj(O*y5(V8PmP+B#{>#}xZk|P!#2|GrRLB*n1$lt57M^6Ha z`bhY%jf~V!s-v4@8!Q8FsB6>(105s52Qr5AM?ak8g)DN~-o?|>PN?0j%cp>IS!MC+ zrVOG(SKKm+yY}dGyBxbc5RtwQ2FQk*rKu-RzJ7SSnJ>F2IUtb@1e9W}ccOfg#d?{M z*TW3)4r%dwP^vNyoU8YYF1G$U^AREhA?h^B`X1I<1ba0#HeI=5lbc$9V0=rnEg#Kh zoPm5d;?|0DFYrB1K<5T^fuzaH7@*}<%g~NYM)hqNpgHp7nzFf$eXXm@8)pR}f?YJj zwLswypxg?`Ye;`d-WX$Nn%1L>RZ7agcV86Gv5@U^u-zUJo|gQ9VI$bCsxvevnkGJ)yeS3p^U`t!9dt4)sEl+n8;WY?Itse;#{gp0Uk{v4{?=s!j z1_B?L{Aj#xOi)Z$3|GsB^J&r9gje^G=6r=Qte|m^O$c_2jTA}XE=!qAXR1xx^U1&& zQ5$RUv!$>KJzEpYiP`V-0YR58TT=ao!+mk8*b=Hy+MCpq`)TR?oLGY@(^3+nxN z<$aO*4lT{X8T=t0jexyM*l&9k&#a&|(x(A6+p&03ZL+sB%ao!vuffmMqf(AEeln|# z{EpPd6-9m*TdlL>WPub=r^oQOL#tQSahyZZ9Zii=O5XywnHRr7tKeG+mZWT@L7XkB z(QlA|=xh%)UW7`WS=9YsR)!3XNXax(>VmcVg*_@gg zX^&6KqQrG9!tkvr$nt2TlaL!f8SaYYZ6mYO4r~>wx0<>$7Rp#$0R;#Odl8cEniRWn8r8mc~9_wY9w0bzNygkEyrt zNCDl<^b&GX7`W71;vrbx*QPTZE*J$bARh9_J$HQKai=ZMc}t-{Tm3P_P0Tk?HpgZq z!`C@ROTM6JxU7??TMpxG9{Cz0I@k{r`IYhqc;hChZqKLGdVF2$)7fZkk)NH!4%6*? z=mdoSAHQR_x0lc0l{_y8!@Wtm@(y8`Yi%Lb#5d-9(}l?zD+hL| z_Xxgwl>4|I$O!5RqFsyqh8h19>iX*$JS(}-7%Bes(C>IZy=O%-`Zf7Bpu(VQrGMOC zj6fZ$;`%@J1#=LS&j81GU%lp8F^)mY?TarWCI~_{#VBh3L@{5lpiP(Ar3i@UgnPcR zUP88MI(N-#P&bWYZ*c^~Wlvub#z$;O@9GeTl)aq*8ygo=G5!9dgq;pg{S(!V$u(rU zD?~4phgX_DRYrt)JRJokho)E8z(W1fb)^yxbGl;@5WKXfF9o z)~k_~yo%;04QVPY5n*)5$L5>f$$Io_KYc&Ef;AH;^Dbm9Mb)2`^FQo#fy&$5rz3Dx zc|>H9=V~!b3$sX=&HcPwMFZj$v;0X6d56Q)m&*&NN|9yXfdQhoxL8DHk>kKN?c;gg zQmTA*#SU}G2e(36OMIdyR-UkR8x=>HdiCJC(1TxMYc}%smP`12xS?cGmFj@zSM-hm z9>{N{y$Y7*?1FuSaK6cKxmZ#UuZ`uISLGECymh#5(mMeeX~Vvy(%L%iX}|B|sC)7% zL1oi?>nADhDzOEms5B<$nujb#<|AQXwR%y>8DUtNv2qUv{7y^4`Gejhr?cNRI)G*T ze+1gcWGOq#cyt1yf8)HbzLiZte;Cs_e-KY}j%)@PwxGuGb=m+@AP*{8Q92+I3EP0a zU7quK_d*%NK3~Pi{6_=_KEZFF%)M*SGTB~)(DT)?`r`e~8mIC+;|Xw>qn?EdxN)4s zRKz^hgEn%6Q>8#8S~DM(FooXKNn7D#sNKhq}^V zjkc}pJ1;QcbBYH(EijNjn%3zggM5`N%VcETgZvqx7hQN{f$^6Kgsl4!A>){Z)~szoW!lhtkQ zTKz}WTOnF6uY+wVqwU>1C$BX+$Mn{PvnVy7;uC9kT@)|W_X|7b`YZ6{hiiPiGV#X0 zP)g=fPqO(^d<|QZ0(^`6OdR!}iWw6kyRF(fgJVAN{(%uNu4C*Xe*rPfxyA%NPa#0E zE+f2L5HUqsj97;crJ#bQpXi$wVwCZxJ`+XSJb?{ zO6ohgQ!d)?XBF1uHC>EDv<(N*V8MnQXEukla$i2yp1Ya2OFgmCxQhF&WG!K0BZ0Wl zZRRLlr&Uy1m{im<+W^4ga}_A}dV%(H=!*&ySqSIHa^#+0V2TI32r&jSPSUINIi6&j z*$3}!WS+_v1K!}`!3GvK5Qp|&*-lj5$DHvv-HE#=<+IP!iDq-}e2MN#1mx8Lln>Cs z|M5t9@emV_n;D1|DUdPuI*TPWAKRS~uj;)(`TR&@C6b!k*Oz-tpl8jaI%0eJpwEQt z63oB=ZTb`%iY<2fqITz0|H(Cfzj+h^f_RfWGs3Y@5K95`q~rrg$WkZO>?q4GrcBi2 z(b(sw(t=^CLmh*icfmJBl&TH*gm&9j@(dZ4PK7Q8S&lkWb<3=*sF`3VA1oJ&&(zh2 z%v8sk1L+K}oiH@6WxS5^Y3GQtbj;`@SOG7!H@ftG z{&YmVp-3N;)#$VFv|C4>D9K_TEoFayXEf_n@q#=IZLF%C9R3Fe%T-eonKaONu2%J8_G+6ayd$WCelaD%0F=7e7?dlsxC#{Izh0>?ebL}Y! zL7F&aFVkO=zKahO&k%^=E=*nB3@@xADY2q^jW~h3LX?5<1XA9)K8$&Iji4Ie7uaZc z#__UuQ9Q#H0LcS#{x{Zfp@p)es$Z-dEw96yo8mo>fHcmn%RhETk;;2O<>7eW2QW;z zE0XQAs?6S1VAx-*z@^M|b2NVD;dgP?y4>89*@W6T1!?D5JZ8^o(iu#IA*35UemDsXRcfr}= z0tJb~3e0csCzo?O&b(ub3{S~f^JTA0ay=725<(;5ZZyg3e zv0~Hn^6T^ZV*0;)tN*K?gpBX|7qP?PsTwGwaLZ8${jsJhL2}JCllVC4u5?vrSuvuX zlVfuvlj2#We!dNUQp^hCxBaEfl$ZY7-!tPs)5wfG$m_iK4a7*o zEp;)=o3Yaq;(Y+x7EUr02sZ! z3t6(4a_`=x0_y(DkfBym!3B2Vh#GHlH&Z*5r6)!fTULuj>Yt0--+M+a zgu5y6ys3%qJUErqS`#SPN`Q5p;rnCgg>Os$mN@UNArVK|i zEtl6!l(=0QSh(aqZ>~(g$j+uz(iisP;;7aZPNeMtW)3+Gw5u(&*Ty)@YWF-#%j*MV zF-Iw~PMR1>O+nOP^_Cjshtd+{eh1+xhEl(}ql|C84QCGt<;bl0%4^m=GG11h-tU1~R^_(@6#y~Xk7Yes zFSB=WYFR)5QYcJA%^z|~w2SKtCL861lmfHXbQPMUJCqQyuK7tEf1l={N1Ua7{YX*D zGs%ObRE$jLLgu9D%O4nQvk6z+%cqgI;FGmByk+{^J>V2*LxSt$8y2x#o*z(B*cNp7 zCdCn;RToPoxh&9GU1~sIh2DDJCeiETWvdPl48#M@H`d|w$k>%@5cCUeF0``IW_+x=g%sKOo~ZdMkVKRVRQhLX<#{kUtZ8| zG25D{h^-+##&;d8kcyRu9YpD^e)#QW!;bPY6KFB7+yg%Y6@0+e@LW*~z`p z5+Lkhu$7fBca}tTpS4^-R(Z=uj3(%4N5)xdlQa)1Qd8MujEyQUp9X!cQx5wk{#I3F zu7Rjy?Yz9GgG-BUyT|}FV>&4NK&H!qlEq(lx^pn#xM*L`&%t@BsV!7|cPdSoV$VCj z@b&IVF<^Hwd@DM>tvUrn$~k|k+5J1L>A&Jm|KszQ>_nLA#|p4B?sz7_Uoa$80(C|a z1gwvJg1xYwlPw=H&l6Z|HnR_IEBb7_*CgoZooIgSQ$ z8B&eR{pssz_-V8};uO6OYL-IB=8}(Mv+|wXsmYpa?UXCQPO=6Yi7=R2@?41O2e|;R z@jJfEZ+m5p`X0$Nyx$$dphy$7IHtLpn2*uY!ZHz%MX!wq<>A**F<6GOc|U!KUh_?C z^_n2dg>i65DsCbQEROxpiU9kI7a5&#Psu{943nzbU!;MaAAMOgra|(irA@^r@CNj` zZTymX|IA$=`>X#nFMh|UlE}Ijj*FQL8k}uBShQn_pzR&-gcDl0Ll}b?#U{rr^swq1 z<0QizypWG)u(Wxd4ld_(j3Dcpq}$yNjDsk|r5zw`{zG(8Ol?IgTh#&5pT9sJ&9d7-B zAuAz*i^RV6;h$e63C?*>1dKikB_4QQcNS0xonMP;4Kkb zF1nuYAa%Oaq7ZK@dpct`^G0W0Na121wd*PbM2BZX5sR0-U{Iq*#ck-&wJ z3Tv^Fv+SDf^7x#=Q%NOPjoX@&tf00v@~pS|{1#b9M2ba-JSb2%qg}hiQL&pM=a(tB z?(sWZUXtC0rySM-@+s6wDbhb00adc_2p{1kdxSVGRj|KYklwV`hv0h}gKS*e@}bm-z&l_!vpw$*Omq$-U?vf&w0 zzADXs%fSBYWc44Pdlq(cqEE$T4}lM=fZW z)W%+^AEJ9;Z{38y+pEgbzetfuHQq4kuoJ(W@XS6fa+b2dHmpVg+I;NSiL&|^Y7*f#4p8SD<>7ioHpzat`l-JQ)^wY0MKVPG0 zMLw?RteBNM;Gb)x|LHzU*VtGT2e$DDXAb9Y@%S zc1-YC`ifP07M{7{%IY?#qxaES@LB$Gx0^g_XGL*dJn7Z7Xgy7b9}5SGAb|*u$f2$S z+S@^Kf%g>c?%)?R>QLEpfs7F#-&b9!>ExGfvPX5;L>BYvuz8+QU8>#=@tkO#YAc51 zJ2v>q&eWnk$&I;29cK}OmFZng{RbL5&oW1NDZI9qt84lCk@X2dTte?Vx>@PJkBwP5`*ac!n(QN6~&EveX+ z>K5ySbpVPwm?4Ec#oWuz@pbikz1+o7*)}s^^PHJ-P1sQ&#xZcatnvssf0`oWq{ zFN(QnIP|wj-M$i5RyIaJ0X)G>IUef!9Xex2*8dyCxIg|IIwKRMzr2M2ABNz(Zat*5ZFA(VSq7j_YOi`_KJ}#>f-}5l$0gG+h@nNuiFY(Uf{EIIK63%)v8v zn0Raanjn7aFH{p&7CO^yZsrawq>T-9OnxlqaQ*w59by*k*R1b2 z31%e*fK`rsa18ahFS%$R)~7O8Fa1t|eUv7a7rle@156^E1Y&-wNNob#*`G!CUn!2& z7}Z1*9%U2r5$OQs5taW#*_Z#@Ofx1|>bs9;G)Y1*4D-a$l9+*1gUCNH9sps|gGcF% zB?JR$XAi_TKf`&IuZl(`tPn>9xZh)FW`%3M$ZUzxO7r`S=ayGA?}~BivK6}pNFvC?gKrCe^B+B z?x=vmV;BW|DU6Rlfv=nQ`W4NE84Dncp}qH*;KGaRWW~Es1X7c{j=3hManPw5D6u6474`Ip5rQA;6G>%Q1e1jQOiY z1Ahay0-R*l4+`Y|{%ncBoFCQUzh-Mv`~?&LtHnS#l@)-X2Y<4>Ih6jZg$>&ow zv>2B=@RVpIX}w@6c`sX2fD?p{Lmh)irA3KN2mD}HEbn*Os%yhk9M_I%b;2rXN z3#?oJe$(6izc26KH`3o-=I_Db@3HsqS?2Hg^zX>w|K~AM@DSfO{pO_%Yc!7LkFRMF z#(cZ>sB)5LKh>-4Lq@izUnqU1y;P~EYK@io8YAk!aw=i_Ab?nTL~Zi!e@fpfFk3ck zd?bl}1Y$d!E4F;b65UX)t%c6`V&VBzx3}JHNLoa-Wre03tXpf79luy03d|>_`;B)6vXww#n>Y==>vkz3CG(kyYUo2= zZap$RBQ6)Fwaz;nCgfY}yw=UaWBzQ&m8m_JaAYc)o%O4IStuZAL5BkvRsE%p#b9Y! z*n+`fY1J}0rrD+YgUG#H=UR4b>UeL_DTOD}EFL6FS)31J6HWr*a{O;4+~yxLv))xYY)vYNXRKH2)rkX_-qLOHf3=aD znD>6d6w`v*5oDzLk&_IcU2OOGvJxvGmL#yPFl5oMa0Li>Sz7#6wUkMfSd7K(CYDf} zG8p?}$zYJ}&gWlvEj{i^k;NdWoF%ZUKz&vHwvc#;J-Ri4w{Pvqi;6AFWtGz>?h{%c z#>P~iRjZH-Dcu>BNo4~3xMD}{j45k2_B7m&A&fV}$<4IVNpvSyQ0N=aX%J;ZQm4Tc zj9_3hz)NJJ2Pugsc)!}wQaA29Vn7V`j_1v?S|UIXdw&N|x%)>gU`k+!Veigp>c%O8 zVrDBIt3D1KV`Q}vft0g#G~$CB~;o_{&``n_>l-KcOIFQ?XjzH`0x)5saXDz@z7tKgCj2ww9|^mmERK(-F*|B6MOiE z7fDluk~z zfqAF$7LmZW@QRB7L7G}%0}S!%IJtnBjH_bQEJGI5HWeufTv-;i@lP-2%OL~nBPW@U z*p1NMUA31t_3_wv5Bj=o0^_s>xC5)}cp?*%Myi!TGH-wPE}3rjx2{gfl~oNL{s}VG zNi$=%Kc6b=#GxY!@~7iA%CA?+;6jDbE;lUW!^xnB(`AqH5;MOgIIU}EFj!j0kNCdW z_PW}uOVPL@-z0sn7>@w(obMHyUe~SujqsVy@i_$hIbb|JhC*+ z36bs;^3o}Lt`jvxJZz&OdT)!dWo$y?KIN%QPlw4}e1V}#$%y0U80);^J!hc0l-+Wg^5 zZ!%}rnFbK8AX&B=2|JORv+VPC-yN_R#vq2RL5V3tj$XapqBPR=M`kH^Puls~ve6-P zdUa2=D@;V&OJL41B5n`8W0JK~Cjh83*7I(5zA!S;rg2P5>+ilVuZ=5El#+uiaLkd^ zO1;C9joIyR_AcXFMpe1YrBp2#$uXV!DKYJ~VqfAxInYs*xGev> zQVd*Ax7!qVh!qP=)(;0HzN$Y(E_Gx+Y>4NdU00-ot@Id)mB|bjkB8=-!b-B7yTmPj z&9-trxH$8IUgfVl6t+O^mI$FfhYUwDw#h3wi~$WBRlM>ffC?sQ*H~5GSofyWLq?J5 z?eliUkEx_VP+{ARnQr?0`|g}IZp%mKc--Ac{TBAf!E0R0=f4{_4ZHS2E$w3?^|5x8`rVF7O(NG)uXdM1_X*8c5xD#* zEGYr*e0xHaCoi=U+Bh~-SjscN58?X8OY74%*+%pkO3~S=U))!1sfVde=b=~Ao74O3 zSBiRQPMu_2O~pl8j0Nj1nzOLOm~fk+t~*A7>5-|2sMDzz)MKoYUXvBK9ac}gvnt5V z!`NJ18D?D*wyfLzto*3_I@ni!X1tu45yfX+UHZ6G6H;baj{8VT`cV^w#?`d;mA1#! zRX6ox%a!?o{!Fo?WJd+HRrzsu#bQtJdl893u;yp|s?FY%Q$NZFb{ulj8>`9Zh%t7W zu3A!Z7lN}yGUXm?6nr`V7GCHPUQQ>CM?Xwft z(IzCoF8z?x`&ihWhzGWo@8<7qXFBWoa?h|RC&@2K!0}q^z#Uog!>*H1pWLnCTIBX! zFFUx9bfn9WIgMGp6ystWU9-g18;`VJq0%wU=6rrigG1OH+WSh;y7l4YN~lsiNcS7G z>vD3%c%QArVzHyET&~e;&iS-ogRq<36T6)tiX@BhJDXdn|n3}r>N)s$BuANk6OzFes2 zdK8p?3tsmzPyL!JubWx=YWQd4Bvp=Y7~sj(d#QxlAAIXpdZq9REddMNTWk4TR9G8}CZ-KPimPz>z&OBeNsdR|Ug`=}xXbpu=;mzJ{$d zN*Os$K;(#uS?){WiNX&%rO>-bKWx2TN0+0pLGyU)1HYeDXQ{P^L)9cz-$lm#13>O$ zomU=$s_xd#nPukhtTVh3#izPP=tk7cmOIbgfD(CY5X<0`#uGZ&X0s1jLMQ)6KZofU zSV9yTU&FRxnNZxm^D*ODEO5cfwijQd{^)@$)E8l#A~;5GInYVfM#ASyw zbCzv{-=}499)5NAv94=F$E>hRe2Xx*#}l_aIz!!ehHZZ9AN^J;DY~t1+(h$i_*qfE zmgunGO|qZmPZ6+)I{#P}e=ti=>vV0C%>EODPD8RG-w(cnnFJH-ha;`9*K+zif@F7E z$Iw5oB(_J+uzrqA-Gpfu%g?Th+$ z(khS1*E>3AXL&|jqUUAL++9xP0P^kQH?$jR^x;pEjfn6!ntNBUyCcM@wg~4h2DB~c zH=51QGH;5EP*lxR$*Ol>KfqM zSU%6k2nNvF-z&M56x2@NUyYw79OBK=1eF*1qu#|oK)_lbTwAoX9qx9zI=u7ze37=; znt+Z#C?bbLj$}OYxWYEw0TEL^0uo)cTyFv{*30J3bL&91w9XCUVnx-F9uQ=ZPKBK3 zY*^y3HGURc>D|{!Olj7rEsW-j<>h7#90}Bqx(w}IBHMmFb==3Gk$88pwdE#3+!AtV z;;6kOcZ_$p{sf^FMI5f0s8_k=kx+!HUf!toQLHtIGkW*kt!T$OZQ}O1#q5VB#>O{` zDa1ftz1n@B%ywCx_;%>kqG~0=-*qWQjPWr4IzdaMK(s3$Z#qJ@sZ6|>QEC*3zVbwWpfXWw2WSl?9bE8*#y~r_+U_APg zqT3RN7+8v=sVT3?Ll2$I$)s<*d-d$MbyM3DzA_23{GzH-jfG@}s?OfoQIBv-qUdHd zUxYd@e_~8a`LFD+LH)e`MDBdwhYsc51g!R3cP)(n!a>8&qHYl86;k6a4eo;j*TDSV z+D3ToQ_N$9Q?W$AM5B+^*q<0K~ zhn1&+Q6BTUZ_?5E-rV74x9V=i&n4;C3p2u1`XJx2Y^$Y5YYm^FJ#6VWEY2ky!Oy^f zqcfdsrG*h^JX%>izCZNI%1>!Xo83RLSBMGPd)+)7g#thx;|KiV_5M8|U)n8dp;pwd z$a2H+$q3I-3hN1uRuOb>=RR>)j!8sdLh3oAR>lWWq7$1JMvK1D`wx({Z%B~>CkOf02Ug>*G`9uk@jo# zb)Fx*!|y%S{nYVmwhDsst-~tMrz<(=A%okn^Qn)dRcF2FY6WJQJm1PdIX!1o3^J;) ziwXxfY)#$iBMRijXe?X9Jdzf4&YiE$mpeo#^KHmv=azB&M2+25h(RcFn)Of{2?i9Y z1rJ`vfhV2&yM67ib#6*){D^j|er|siqzJo^xlLMUQ>=mS6|-jMIh+;lTLI(tsscJD zXUEx7Y2ms3d9b~rOO}Zx*k8x|MH@A5OjIiiDr#pzS0sn~ZND+>ig878Uydf?`o)My z_Ph=4o%xLxq3QiLJO%_l#Ar>2((PBc8jB9qM|txr zsGW`6SV}Yy!QzW7j;d3kc&m77W|bn|tE_$xw*D{nzVoZ8xak%}1wlm6&_tpjA|N15 zS_mrA1*C=^=|ZGQhY+M!LAp|Aio#eLg2SE9;!| zo7pq7XYa~6xf;=e`M&o63wdt@=i=iPnx-Ca!QjZA*7H(qS!U(pN!jd-2e9 zVj~S3x82#eNK*w|-Qdb@#~v9eRD;58&47Z@h@bI0Oy75LTmB~x$MN!p z?#~bdohs9uJjq<;z_OV4izOP1=&7ebNk?=4hSscB`!%bUHy7V!Yz=)`4Z9JpLf=0z zUc*jI9PoAVtbZ!G!c?|N@_c7|Cj2Km^otd))-YA9d%)>Xoz_S##73J-^u&~qL<}U* z^oDVj|4fws)I~;vN=JHz_Al{fUbdru?J>ah*THo2xD8OeO1iu^cEB{L=FbTi?_(cP z^|_U@9Nqj(B!3+4MRB3Q?60_QdI9O4=n;&+O+jAJot9hR4`<^C0`2P4s@Q~ISP zP^)`B!*H#PFiG8{rNoxkF`vJK6MXD>DmsVb5Oc=rF+pNs#WX(4^<$zbs{BI7!aP?t z5e!(Ie2BZ#-(KLZMOwhtLVD5D3p!&*-w!W1zYi*Z4g?ko2oVC2P>G?kkyFcW3XM(> zY;;h;7N=ygT>2_|NX0Sx9tY9t{RWWwH z5B2>&yR(`#VTnnAJ4%zlr;Z*giC-rMXx7VI-8)`|A5HxudgP57#4~(qzf_^c`VAA@ zi0mc3I70@=pKJp9PxRE@GHp2Y5dvlY-GFuNajIG4LUaaL;F9HaU3~HK*?1nu#rGaj zF>mH!U%jG@&b+nx<8;1}?d&(@f+`I2hC%VR{|eKE97?(O?41X?rzVzKSeRC4 zwV32UEG5wTxk@)g{K}VRic#Z+Cwd7hbx-Xh%#XIT2>cnj3N5&$J3h8GNz2B(x;{0> ziUUWW6KCAQbX-@9_^7PSJmQwC3F14+=1koqy3^!Y@QkMCJK@i=u~OqpHVxxG@rORQ zwx9-V)9E#{7hwvwfA~{E6AX^EYDTk!)OoU^R+|o%db=9!oZAIAHGlsIJ$5Ccfh|&7 z+Ud>BPOXf$BRS7bcwQvqy2ldP8ai`5?=Kc!*vFN6%Yogy35>GI&h&G6+sk`Yy~9d_K-M*zS{G zhKv57Pw}EJCEPZ~<0K7KdlGnjRCcRWS^tZox|Ks@DvxFA(Co!E0L2c#G)K(i)MCEH zWW;AEZ?#%@H`^{H?X3K|c7a2*vy);tqmr)L3R;j+{NddIf0m&WDLCAdc2lUbCc9$N zb5ntuWmj!WYp_c~JNuQP*4F)ElF0h4Bzm5wtg(m;F#X}(Po`&P4jaeCIEQI#Vr4^R zqmP*KC!@cn>Ll178Un2M>)>>lewXK5x;kiiso2{AWgvGXZ7}KkK3-tYO~&fu-eOB6 zMCe(#cYuqxJR*p$zo>eT$W%HC59{o07;*%j{P=)%_Eu`ib69Ab1 zOrcX-tz@DQgu6<97IDstuA+x#F_Bn#F4|`zCy$-pp;-v4vc)o5*k^~|`e*+XP!yK< zJ|K0_Qm&60|7mxN+(#VLE~9r`y$fv*^lU21rNYlkO+?CB$3Z-{+eaHqsf7&{Zi*MT zYDpQHMzfy0ZYh;fSqxP%mtQPf) z{1z#hz>j~3v5O$gjTQ*FnkyWsyWed!QrGv_0vn-lXRE%4S1-L(neF%U)b!ZN3%hbc zOH6^vO1DeoWlE5JFZ-__|IylAwhr;NS-1;W82-%rv7f~N+{Hb3?n32ScOW25w4Te) zToZM)(@TSqoq098kI*H85+s0r!IUZzd!|FWTx&mlGxD-qQPV>lozsVo@wL-?)9`pP zdP(#^B7TLkH>v(m;-k4_sY>}@-%74tX_ao1XZu_U-(`;e5f#& z)FL|a@uiUQk8?S_k#iN(l8i(B@qc72=Kqv-UzE9r50Pm&{qMmgBOdG)hZGDiQ z%i(WyOYpe#`Jr^xoP-Sr)dA6QEvgXgi5h_d-hY8I9b)u3eqftk(GyGB9y{}HU;0~u zM)k5U#La>Aa@44aNIfCCv$sAl_Lk?bQy}iQk2Qhm-9QL}&lCOFAh}d!|@z*Hc)w?YziH)oZzd-`o!>cvl)7qGON{JjC{|JPsNX zej?BdoQ}lSWmOZMpRup&H}gf;&C8)!=BJu4g@n(Yb??WO(auMP%7mV{66lO~yqUL! z?&(j$HA1~ zn-h71$b0CBFOm_movs4YH*gC$rJ6G($|pTy-qe#_8fusZ5`C<&Fg%Lwn9LPT7A0pl5WPjYBc9h zisRMfodH3%9+3^s(rB^kA+F^hYaiMYeiY{i-6XcRNnx$xJ#uy%r`=`63}-gFKt+NQ zod;S;^Nok zfd597zzt)g*WLQsUlm4L7)V@%6s-y9Bhkt~+gV0HLLq{CTj>luT9+&;+m`x!(}AqR zd?sU4XhRTEvS88>J3`Am3e5hln{SvqSkhywuUxF|hN|>1``edg*!PJ1@3rL8LeiQ1 zh~<=%i(j)4ZyS^!HJq41d(QH8MzO^=DUuwcOp@(teb8jH?4zl_-L%XGI1_KYBe2cT zJ#GJx{?`=0n@E4R;K+JwA`X`(rBC*s3ZzC3;V%e}15>ry0*bRTM*dhGA)Z~byKr zT>L~lrZ$zN8(#5+dFJ$3&TZu^)gPc>MTD7 zYL_Djtv>P%L$P-joJ*wq<5TQF5KO=iE%V4rV@$^(o;fzRbiH#Zpjmk%5X(FSoUr#PQoRn{2d2Lq zW_wJiDdg4fd-QURNwjnkKJ8$PhoY%$=@kp>$m^2VfQF2LsEdPnHhpsn3S(%GsxQ7l z<}bLTVj_bFFY}?h(iphtgX74Xy+{ym9c(tw-IW-Od=)~TaPKGC!AONDEyyO>Jg}}o zvG0hzj`m9iqaEtOdgbpCo?rJCt&`6e341%Qa1Kl!UzSIvVK3Kqk3lP)cXx^;UB!@@={9*lIz=UOAOk0O+S>y)G#&Su}8VXsXHAbWMq3;UNM(AP%h4hgIi z2v=gybih4necfsetg$ixeW`D+zKP`AKH5~E*|CwVO51i+Ys?m93CB(ze;oJTnk;$m znftyV`*HHOJ1@I|2+F;zfUgbUpXZu9qkV`CitH*8h1%yAhGg$-K4oJ*dv`gZwB*c} znDWAs>@%nl`%BPc0f_zdXcj{!N3&0gGpRc2H%X}DWwEZBGuf(g&$&K{)mC*BE%Npd z1hh0`E*klE=?dpWBmTR0c933)%7h{FvQwWKH2)P+s`7wCa~#Uy!P(W#|6F1Zu8R62 z!v;}6o5&&xZc;ont%U278avo-U^zVa-&g7O0CUj=it|VKq!3q7eZ_P1KssgFpW7U< zpT6jL97+gQc^2lYPAgPQngrx^i{v}>$0dJ+J}ggH=X;{-@D`hV{+>{RV#HVN*)IQ; zjRf1CFfP&VfP8S^(4O`cvljd3hVylJJ9C0?wtD8MN$SsU;yCN_Q?Tfm?nd(@&*=nX zsOT1K)N0>a*QfakTADPo%#9RX)bPG<=fEqIi%h{E6T_OZqJ5=#@$oc~clETwd&UZb zqX@IZsLen@bt}_zSHL_6X&s^aRc_Vo6g$yc`6T}ngqL{?jIg_uJjuW@c1cUPhMrHx zq}Ce2GSvwh5D7d^WlNJ|h7D!Hs|=c;C0mwuEl)RP4C~R-7+ISXCdH}MzQ(w+Q8Zi2 z5h&ym9k}g>T7V|=UqF&I07v5hOYa%@`*oKiApI!Gm2lR>_F!zev0nJGoZlLISyIz7 zCM&Uf91!iys*aVhTx^J1A@2cz;EiGgBf{MLSxMV_*dK7k+74CAi;+9V{fX28arzlm z$2($-fe&LRCN%2)z8AIp-o3c8ZL&X!5%4u?N*ta&fKT7oi0e-0I%7Ao`;tPjigvn4 zhThd*_xi|)a`b$DTMFCe4ySkZy=M&l5mQOqL@T-hrffxgk?m+0lXN|dEUe>a!ZqKj zNX}K?oKchaOwBb=M(A~2C`VF`U75~qXbBz^I#8rjfM7w3@UTQE7rw&Q*An3QBF$6`^ZRqDi4{+A=eRb@aa1HHXIMy8NJn(}3MnPC)9G*Zw8J3u$c4qe z98o0CHm~y)SpJL>Mw$@pGr7k!R`w4XAEqN_pjS|nV!FvqlBj&{Yc;dNuv{Pw{v&hu zRxj@hOUd5rHj&1R;B63Tcz6WgIV?xkojmx~4?H6C0Wa0p1PO5^+YrD>x?7ojSPpa} z^M5H80Iqrm`8xqQ7~e&kKQB|ce}R=xh3es~XtC;Wm5*-QG(ZQFGzwIf?uKpuqoM<(Ka1_mKPD?jUj8MD|$RBCt0^Aq{{Jk)p z84OBA8wAN8alXH+7m&9vY8;S^9}*3+VmX*PvBOJ*`0~l8a*b-zv;yFO!l0f8JS;ML z^m`eHAGPw*J@+StX>Q%)f$kc@UN=A|1cEH_I7w&J;DM+U$L%mp)FAk7lg9FZ6U*Ab zzJB8xsQY!oTZ2^gQp@^0cE?UFt+?h>rVRW$Fav<7V{O6HD@HtGnYE@a=r z7QeA=f380Y*R7s$u&gGuYlLsgSW_E&zYezR=jn2u9bYAV$=SjVb$op^7d3uV+kw8a zfo-{!xXJ4Rd#bK(OT;@R(g)e@EsYTfabG+&v$3*E;4fZ}2x5`!`ui&4TSw?h6gg^e z8d&eX6*)2^Zy{*S`DzWcFVibfYvX&D;puxbf72mv>^gY+*c;%gQyF?K1xnM7)O`TN z6W?o>sv7L1tU~^gO~>0PZO5GK5bn3(J>a;(emOdHDs*q6C61sTyi*Mh{5|@^YX9tl zx9w8I7!HmI`6!n(uobXn@{bIszl&X>w~O4}Z!n*(bVzv|xY9gWG+g6E?FNxrjP@&e zg3Z?rb84KfSC4MFRvp*#^=0T)23D$V==Hfx@-8ihuy}`E8dIcGQ!ATvEiW})lXLj+ z!q%i-ZEj2ug>7A86QCVG=xzwG%PJp5C4BOKtHqOLh3)4G*I{Mi^ zG9orRm%St>v8tTtI4xu3CTf`X>9v?gTso`fZLX$n;6q7kX#p0}9solgeWgF*agV$>0wL7 zzSKx9j~&N*D#NJiT{fAE`Z9>zBG!LSkUN@5V*#{}>4;|7oaZBb*QTXHBpm-ZArXZcE+RQxmql(}BvBUOmt)T7J zs>A0$ClipaGdjMO4`kq@5C_UBcG*>LtZ~7)=7?xEsLAos;FU$#7`PJdUp4SX!K3DP zX{tX%^T!(cOr8YYKl|lJ91zHd=2Nf^$xIU3oY;&?fc5e-cGjX&XzUEyYKGXK zF5ZI45bjiv%nm-RnWFE4MYq=;yDdJ%ZFFaRZLLOq=g&qPUt~xf1IL?b42!1le>m)xyruWg7dUT5e05d+%6E=)(v5;k4Y&(daUgUc^5 zlz!`brpxbvn3|E@+?&epXwa$s+%nFRZA5wS6_{RlP3ox3=%= zFaNaarD}e1*KK921i@Xlp=Hc0_V-ZFS>=8qX#AX;P@NxO2krN<&x|);HQ23E2icei z5$@e7ZAjp|nCBfYRE2eGr9Rjx?+i)l98FHHb*{fi6_s}GL{U94W%mOkPhtK@#W60z zUbi^lfB1ys1*Q2OJZGMQWSwsdrI@;C{8=l0rQ6^pObzPFCB}p)pd)d=55ZdUOUNx?x-t7q+(X}$&aq~gHwv{r zfP~?li5nU1r|gsSc?P1?!K|x|s?@~k7D7l^EHyH8s=V8499!LE5`{4jxRv%yir8T2 zJk$Cijb)(|b*&+M>^e2ujq51S^M`o8)-O=*7#Bb6;9s$cmK_qdYl>`aMNai*InlBmlY(=Kfb51_dvsk~cBUk;ud@KV^}#=j== zNlLAonvqfDdSW_&R;hspbj)DBjl7`u4=<#=Lxg8E?zpT|ShJ8vE2PuHX@OZps(8+T z`B~{LyE@h)>~O|)%L(95lZn7y%SHFEJ8u|GgyH4{dRjRAIcs$_+g#8;U1hFL*#H~8 z7U>h$Z<}%j5laOH6B&8q5(`sZQ=L4Dw3i!Xr1>B>9dMXPO6!+x1B0G>@J}Ac9f_^9 zmvkjH8qYp?k|!_$nldEae`N2fNq-oBNkPu7DJEJKnv|AqLR|5=?|BoSUy1Ih>5+$T zUWh5q^C>_g5z;Xy)%dv1LIM}g{7DW@?w~>N7(E(IgTk9eiQ;`vh1|l=+p#6p z8GfyI9ydmD=>_Ii21HdKVnY6rEoQP~I+d;!_ zJkOrD@uJi+d3ouuvWUT%F~8cwbBsrphSsKfcp*tU|Cu|_EJ=k3csAPr2_3q6qM5^r%5ya0>s}s zm+(D*6qTdguvZ9%FPp|(3sx(tKMd|IU4#8V3X?+2mwcWZm~?=~%qdFU=2-{~- z7ecYPoBUiM7_*BL^vFN58OEh+^Zdj1mi|Kj$hg;e4>0XSA*3)tB+T0`h;|m%|F_}` z&$y22eQ2$4^IJ|)75n_`bG2Gyt=Dv&=GC8jsRv8}fb;|i*YRQ5Ukxh{VtRNRT1lnZ zoA2bVz6^>sIJG9);Z44m&G0SOz9jvULM*gvxo{XX8t7-pgcmZuPUC6`!DLjm`j_ZZ zyLq&^kwd76GLtE71}+R6l3k7Q`&lrc>yuCK~D7|MgC zhGRl<2mDJ#XGcR91b#+m5_1&Gdy2Bjs7_>v{RGa5w55~fpm6{E{E?P&HEmeH<){oz zMt2KKonWEWw3iR>>Ve+xcj~zqYo1i@aqNFgz0P>gAwLOgT{Nd(^_7xH^?Ps>^3_EK z5-?ez3@k{DDWqF`kUi4+qDcbhW4v$Tk3OnnRcea$Gg44&@g}RkH@0( zNb~GOE=1l~eRGas-Z~*TS2N0n8#YzBHY0OmiUh;`jX=~=3oiN~7N8QO9^&ZIUIJ@m z#L6Pi@MX=#^! z+5`^DE@3L;Dw6N(94S~O40kZuw*c5_h7q@lK3o+qarym*mF!V3fE?C?VFbni1^n}*AnAKBXhl$-}3m{LJ%#9d1qzMB}w3fqG3TpMhmZF<@mo#@EBzt)L`1>jC8 z{AxTq(^`)9C3Ki@!tTsq{fLy@_ydl02fvJp8@V*4X=nB`?W+x#X%f&R&dE?$otQto1xvgfTcA$qnZN%%E3z?2nzvZ0SchNnoO{#LQ&iHqkR@&| zg9g=qNmfn@SiSStV^pzM)K^VHP6X5M0{a6I$7S{}zz{bKT1g$H#{ zT)XKbz2ieIZKS?6*BARGG5wD}H=T`pJ2AnMwOs?6#+n{Rg;Mo5%3C;X+*@b}w-^eq zv^fn<5599uWQpR?H-6w)N)_9slbKZsUATyb-m#HX57gb;-dMfIx;)(izi4nV^~S~7 zrt+Vg6VR2d7Ap0-O=NkNJjn7M!2EB(Lt9QIzvPGLB?H?+@l*i>9R>;;k`rm0rJN^L8Bd=XsZ-eLFv+-+hUufjwdDez!x8#CFkyVP_q>kZEv z&y5|p5Ni6^y|a5~r33R_T6!JBUs-f#Ba;<6i?2(L9WPFgJ7Yel8acvHhqU-vNXdj+ zHF*bTPOat1xZKd$3i%KvL+gZBXy1i4rpnmG&uKUARVa69Av<%1l3FW%iOdMwhhQ z^x#)#ITzjk8yftfJklHXJA+iLX6>NKIE6+1TMYqmYYoJog~!=X;prAXY;>IQxhrGzyT>-Psa2f7sLc z{_J%ROnfb0nRL*TanBX~0I3+P8}`TUxdacuK76E{Q<*D{0J$%B6pFY1 z+c$v}EX71a;p58W@~8<&xWV6nmbE-23a?X^lFMOOpjAuqK+E9ap$;zUw7=Qi-brr_ z%h>SA6KPna%M(w0q>E`6-Tlgtc0ZKSS7u-B7%?dhdc0L_c;RLHF7W4|x870<3&|cF z3a2+?iMx3vE*tE1K{MWJok0bh*W2t28hdx5Q$8G`2lp7KZ2ys6J9n!s@7iMNYZR9* zo))DgJ-ru8g6LfXf0(Mxm*&l<(@a2C+{4f0T5noxjOQnN8?;i-3;|ZsUeA1QxA0|c zL<5l|^-;H1e)oXYRu}4Outb>M@a_ERrp`7K@B~y0sStkoAuUVDejPCj^e`}#s*7mK z&U=or{Y=ZC?(lrb3#uT9+D`JIMz_^0$v#3W{35F5`o{Eb)5u&$nHU@8fSYfPZ@VhT z>+*wVi*McwCm8AcBb)So*A%A#wXnRgJl&u^leNEXv(52(nJr*ip-<&;$XS^4`WieGUTDe_1aVr?Z{ zJKeOfc+E0232~-bS5~6gT!m=aE5*w0Ixrg(Evr)aFm(y@c5zMX4 ze$IGqX4;H+v*vu_?fPVC33fB(≦jiZgHHd0;wqxyimP?PQ#>eV?;)nk$W2jY31K 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 literal 0 HcmV?d00001 diff --git a/static/js/monprofil.js b/static/js/monprofil.js new file mode 100644 index 0000000..dc53e6c --- /dev/null +++ b/static/js/monprofil.js @@ -0,0 +1,13 @@ + + + diff --git a/static/js/rapport.js b/static/js/rapport.js new file mode 100644 index 0000000..b0f0e6d --- /dev/null +++ b/static/js/rapport.js @@ -0,0 +1,102 @@ +if ('serviceWorker' in navigator) { + window.addEventListener('load', function() { + navigator.serviceWorker.register('{% static "sw.js" %}').then(function(reg) { + console.log('Service worker registered.', reg); + }).catch(function(err) { + console.warn('Service worker registration failed:', err); + }); + }); +} + +const couleursOrange = ['#b35400', '#ff9f1c', '#ffc107', '#ffb84d', '#ffcc80']; +const departementLabels = {{ departement_labels|safe }}; +const departementCounts = {{ departement_counts|safe }}; +const sexeLabels = {{ sexe_labels|safe }}; +const sexeCounts = {{ sexe_counts|safe }}; +const projetLabels = {{ projet_labels|safe }}; +const projetCounts = {{ projet_counts|safe }}; +const ticketsLabels = ["Traités", "Non traités"]; +const ticketsCounts = [{{ tickets_traite }}, {{ tickets_non_traite }}]; +const domaineLabels = {{ domaine_labels|safe }}; +const domaineCounts = {{ domaine_counts|safe }}; + +new Chart(document.getElementById("chartDepartement"), { + type: 'pie', + plugins: [ChartDataLabels], + data: { + labels: departementLabels, + datasets: [{ data: departementCounts, backgroundColor: couleursOrange }] + }, + options: { + plugins: { + legend: { position: 'bottom' }, + datalabels: { color: '#fff', font: { weight: 'bold', size: 14 }, formatter: v => v } + } + } +}); + +new Chart(document.getElementById("chartSexe"), { + type: 'doughnut', + plugins: [ChartDataLabels], + data: { + labels: sexeLabels, + datasets: [{ data: sexeCounts, backgroundColor: couleursOrange }] + }, + options: { + plugins: { + legend: { position: 'bottom' }, + datalabels: { color: '#fff', font: { weight: 'bold', size: 14 }, formatter: v => v } + } + } +}); + +new Chart(document.getElementById("chartProjets"), { + type: 'bar', + plugins: [ChartDataLabels], + data: { + labels: projetLabels, + datasets: [{ label:'Nombre de projets', data: projetCounts, backgroundColor: couleursOrange }] + }, + options: { + responsive: true, + plugins: { + legend: { display: false }, + datalabels: { anchor:'end', align:'top', color:'#000', font:{ weight:'bold', size:16 }, formatter:v => v } + }, + scales: { + y: { beginAtZero:true, ticks:{ stepSize:1, precision:0 }, title:{ display:true, text:'Nombre de projets' } }, + x: { title:{ display:true, text:'' } } + } + } +}); + +new Chart(document.getElementById("chartDomaine"), { + type: 'bar', + plugins: [ChartDataLabels], + data: { + labels: domaineLabels, + datasets: [{ label:'Nombre de projets', data: domaineCounts, backgroundColor: couleursOrange }] + }, + options: { + responsive: true, + plugins: { + legend: { display: false }, + datalabels: { anchor:'end', align:'top', color:'#000', font:{ weight:'bold', size:14 }, formatter:v => v } + }, + scales: { + y: { beginAtZero:true, title:{ display:true, text:'Nombre de projets' }, ticks:{ precision:0, stepSize:1 } }, + x: { + ticks:{ autoSkip:false, maxRotation:100, minRotation:30, callback: function(value){ return this.getLabelForValue(value); } } + } + } + } +}); + +document.getElementById('btnVoirRapport').addEventListener('click', function() { + const projetId = document.getElementById('projetId').value; + if(!projetId) return alert("Veuillez sélectionner un projet."); + fetch(`/rapports/projet/${projetId}/`) + .then(resp => { if(!resp.ok) throw new Error("Projet non trouvé"); return resp.text(); }) + .then(html => { document.getElementById('contenuRapportProjet').innerHTML = html; }) + .catch(err => { document.getElementById('contenuRapportProjet').innerHTML = "

    Erreur lors du chargement.

    "; console.error(err); }); +}); \ No newline at end of file diff --git a/static/js/sirh-index.js b/static/js/sirh-index.js new file mode 100644 index 0000000..242fed3 --- /dev/null +++ b/static/js/sirh-index.js @@ -0,0 +1,75 @@ + + + + + + + +> + + +{% endif %} + + + + + + \ No newline at end of file diff --git a/staticfiles/admin/css/autocomplete.css b/staticfiles/admin/css/autocomplete.css new file mode 100644 index 0000000..7478c2c --- /dev/null +++ b/staticfiles/admin/css/autocomplete.css @@ -0,0 +1,279 @@ +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: var(--body-quiet-color); + 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: var(--body-bg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-selection--single .select2-selection__rendered { + color: var(--body-fg); + 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: var(--body-quiet-color); +} + +.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: var(--darkened-bg); + 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: var(--body-bg); + border: 1px solid var(--border-color); + 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 10px 5px 5px; + width: 100%; + display: flex; + flex-wrap: wrap; +} + +.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: var(--body-quiet-color); + margin-top: 5px; + float: left; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin: 5px; + position: absolute; + right: 0; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice { + background-color: var(--darkened-bg); + border: 1px solid var(--border-color); + 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: var(--body-quiet-color); + cursor: pointer; + display: inline-block; + font-weight: bold; + margin-right: 2px; +} + +.select2-container--admin-autocomplete .select2-selection--multiple .select2-selection__choice__remove:hover { + color: var(--body-fg); +} + +.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 var(--body-quiet-color) 1px; + outline: 0; +} + +.select2-container--admin-autocomplete.select2-container--disabled .select2-selection--multiple { + background-color: var(--darkened-bg); + 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 { + background: var(--darkened-bg); +} + +.select2-container--admin-autocomplete .select2-search--dropdown .select2-search__field { + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; +} + +.select2-container--admin-autocomplete .select2-search--inline .select2-search__field { + background: transparent; + color: var(--body-fg); + 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; + color: var(--body-fg); + background: var(--body-bg); +} + +.select2-container--admin-autocomplete .select2-results__option[role=group] { + padding: 0; +} + +.select2-container--admin-autocomplete .select2-results__option[aria-disabled=true] { + color: var(--body-quiet-color); +} + +.select2-container--admin-autocomplete .select2-results__option[aria-selected=true] { + background-color: var(--selected-bg); + color: var(--body-fg); +} + +.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: var(--primary); + color: var(--primary-fg); +} + +.select2-container--admin-autocomplete .select2-results__group { + cursor: default; + display: block; + padding: 6px; +} + +.errors .select2-selection { + border: 1px solid var(--error-fg); +} diff --git a/staticfiles/admin/css/base.css b/staticfiles/admin/css/base.css new file mode 100644 index 0000000..3791043 --- /dev/null +++ b/staticfiles/admin/css/base.css @@ -0,0 +1,1180 @@ +/* + DJANGO Admin styles +*/ + +/* VARIABLE DEFINITIONS */ +html[data-theme="light"], +:root { + --primary: #79aec8; + --secondary: #417690; + --accent: #f5dd5d; + --primary-fg: #fff; + + --body-fg: #333; + --body-bg: #fff; + --body-quiet-color: #666; + --body-medium-color: #444; + --body-loud-color: #000; + + --header-color: #ffc; + --header-branding-color: var(--accent); + --header-bg: var(--secondary); + --header-link-color: var(--primary-fg); + + --breadcrumbs-fg: #c4dce8; + --breadcrumbs-link-fg: var(--body-bg); + --breadcrumbs-bg: #264b5d; + + --link-fg: #417893; + --link-hover-color: #036; + --link-selected-fg: var(--secondary); + + --hairline-color: #e8e8e8; + --border-color: #ccc; + + --error-fg: #ba2121; + + --message-success-bg: #dfd; + --message-warning-bg: #ffc; + --message-error-bg: #ffefef; + + --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */ + --selected-bg: #e4e4e4; /* E.g. selected table cells */ + --selected-row: #ffc; + + --button-fg: #fff; + --button-bg: var(--secondary); + --button-hover-bg: #205067; + --default-button-bg: #205067; + --default-button-hover-bg: var(--secondary); + --close-button-bg: #747474; + --close-button-hover-bg: #333; + --delete-button-bg: #ba2121; + --delete-button-hover-bg: #a41515; + + --object-tools-fg: var(--button-fg); + --object-tools-bg: var(--close-button-bg); + --object-tools-hover-bg: var(--close-button-hover-bg); + + --font-family-primary: + "Segoe UI", + system-ui, + Roboto, + "Helvetica Neue", + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + --font-family-monospace: + ui-monospace, + Menlo, + Monaco, + "Cascadia Mono", + "Segoe UI Mono", + "Roboto Mono", + "Oxygen Mono", + "Ubuntu Monospace", + "Source Code Pro", + "Fira Mono", + "Droid Sans Mono", + "Courier New", + monospace, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol", + "Noto Color Emoji"; + + color-scheme: light; +} + +html, body { + height: 100%; +} + +body { + margin: 0; + padding: 0; + font-size: 0.875rem; + font-family: var(--font-family-primary); + color: var(--body-fg); + background: var(--body-bg); +} + +/* LINKS */ + +a:link, a:visited { + color: var(--link-fg); + text-decoration: none; + transition: color 0.15s, background 0.15s; +} + +a:focus, a:hover { + color: var(--link-hover-color); +} + +a:focus { + text-decoration: underline; +} + +a img { + border: none; +} + +a.section:link, a.section:visited { + color: var(--header-link-color); + 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: 1.25rem; +} + +h2 { + font-size: 1rem; + margin: 1em 0 .5em 0; +} + +h2.subhead { + font-weight: normal; + margin-top: 0; +} + +h3 { + font-size: 0.875rem; + margin: .8em 0 .3em 0; + color: var(--body-medium-color); + font-weight: bold; +} + +h4 { + font-size: 0.75rem; + margin: 1em 0 .8em 0; + padding-bottom: 3px; + color: var(--body-medium-color); +} + +h5 { + font-size: 0.625rem; + margin: 1.5em 0 .5em 0; + color: var(--body-quiet-color); + 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: 0.8125rem; + line-height: 1.25rem; +} + +dt { + font-weight: bold; + margin-top: 4px; +} + +dd { + margin-left: 0; +} + +form { + margin: 0; + padding: 0; +} + +fieldset { + margin: 0; + min-width: 0; + padding: 0; + border: none; + border-top: 1px solid var(--hairline-color); +} + +details summary { + cursor: pointer; +} + +blockquote { + font-size: 0.6875rem; + color: #777; + margin-left: 2px; + padding-left: 10px; + border-left: 5px solid #ddd; +} + +code, pre { + font-family: var(--font-family-monospace); + color: var(--body-quiet-color); + font-size: 0.75rem; + overflow-x: auto; +} + +pre.literal-block { + margin: 10px; + background: var(--darkened-bg); + padding: 6px 8px; +} + +code strong { + color: #930; +} + +hr { + clear: both; + color: var(--hairline-color); + background-color: var(--hairline-color); + height: 1px; + border: none; + margin: 0; + padding: 0; + line-height: 1px; +} + +/* TEXT STYLES & MODIFIERS */ + +.small { + font-size: 0.6875rem; +} + +.mini { + font-size: 0.625rem; +} + +.help, p.help, form p.help, div.help, form div.help, div.help li { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +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: var(--body-quiet-color); + font-weight: normal; +} + +.clear { + clear: both; +} + +.nowrap { + white-space: nowrap; +} + +.hidden { + display: none !important; +} + +/* TABLES */ + +table { + border-collapse: collapse; + border-color: var(--border-color); +} + +td, th { + font-size: 0.8125rem; + line-height: 1rem; + border-bottom: 1px solid var(--hairline-color); + vertical-align: top; + padding: 8px; +} + +th { + font-weight: 500; + text-align: left; +} + +thead th, +tfoot td { + color: var(--body-quiet-color); + padding: 5px 10px; + font-size: 0.6875rem; + background: var(--body-bg); + border: none; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); +} + +tfoot td { + border-bottom: none; + border-top: 1px solid var(--hairline-color); +} + +thead th.required { + font-weight: bold; +} + +tr.alt { + background: var(--darkened-bg); +} + +tr:nth-child(odd), .row-form-errors { + background: var(--body-bg); +} + +tr:nth-child(even), +tr:nth-child(even) .errorlist, +tr:nth-child(odd) + .row-form-errors, +tr:nth-child(odd) + .row-form-errors .errorlist { + background: var(--darkened-bg); +} + +/* SORTABLE TABLES */ + +thead th { + padding: 5px 10px; + line-height: normal; + text-transform: uppercase; + background: var(--darkened-bg); +} + +thead th a:link, thead th a:visited { + color: var(--body-quiet-color); +} + +thead th.sorted { + background: var(--selected-bg); +} + +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: var(--selected-bg); +} + +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: 1.125rem; + color: var(--body-quiet-color); +} + +table thead th.sorted .sortoptions a.sortremove:focus:after, +table thead th.sorted .sortoptions a.sortremove:hover:after { + color: var(--link-fg); +} + +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: var(--font-family-primary); + font-weight: normal; + font-size: 0.8125rem; +} +.form-row div.help { + padding: 2px 3px; +} + +textarea { + vertical-align: top; +} + +/* +Minifiers remove the default (text) "type" attribute from "input" HTML tags. +Add input:not([type]) to make the CSS stylesheet work the same. +*/ +input:not([type]), input[type=text], input[type=password], input[type=email], +input[type=url], input[type=number], input[type=tel], textarea, select, +.vTextField { + border: 1px solid var(--border-color); + border-radius: 4px; + padding: 5px 6px; + margin-top: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} + +/* +Minifiers remove the default (text) "type" attribute from "input" HTML tags. +Add input:not([type]) to make the CSS stylesheet work the same. +*/ +input:not([type]):focus, 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: var(--body-quiet-color); +} + +select { + height: 1.875rem; +} + +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: var(--button-bg); + padding: 10px 15px; + border: none; + border-radius: 4px; + color: var(--button-fg); + cursor: pointer; + transition: background 0.15s; +} + +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: var(--button-hover-bg); +} + +.button[disabled], input[type=submit][disabled], input[type=button][disabled] { + opacity: 0.4; +} + +.button.default, input[type=submit].default, .submit-row input.default { + border: none; + font-weight: 400; + background: var(--default-button-bg); +} + +.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: var(--default-button-hover-bg); +} + +.button[disabled].default, +input[type=submit][disabled].default, +input[type=button][disabled].default { + opacity: 0.4; +} + + +/* MODULES */ + +.module { + border: none; + margin-bottom: 30px; + background: var(--body-bg); +} + +.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: 0.8125rem; + text-align: left; + background: var(--header-bg); + color: var(--header-link-color); +} + +.module caption, +.inline-group h2 { + font-size: 0.75rem; + 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: 0.8125rem; + padding: 10px 10px 10px 65px; + margin: 0 0 10px 0; + background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat; + background-size: 16px auto; + color: var(--body-fg); + word-break: break-word; +} + +ul.messagelist li.warning { + background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat; + background-size: 14px auto; +} + +ul.messagelist li.error { + background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat; + background-size: 16px auto; +} + +.errornote { + font-size: 0.875rem; + font-weight: 700; + display: block; + padding: 10px 12px; + margin: 0 0 10px 0; + color: var(--error-fg); + border: 1px solid var(--error-fg); + border-radius: 4px; + background-color: var(--body-bg); + background-position: 5px 12px; + overflow-wrap: break-word; +} + +ul.errorlist { + margin: 0 0 4px; + padding: 0; + color: var(--error-fg); + background: var(--body-bg); +} + +ul.errorlist li { + font-size: 0.8125rem; + display: block; + margin-bottom: 4px; + overflow-wrap: break-word; +} + +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 var(--hairline-color); + background: none; +} + +.form-row.errors ul.errorlist li { + padding-left: 0; +} + +.errors input, .errors select, .errors textarea, +td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea { + border: 1px solid var(--error-fg); +} + +.description { + font-size: 0.75rem; + padding: 5px 0 0 12px; +} + +/* BREADCRUMBS */ + +div.breadcrumbs { + background: var(--breadcrumbs-bg); + padding: 10px 40px; + border: none; + color: var(--breadcrumbs-fg); + text-align: left; +} + +div.breadcrumbs a { + color: var(--breadcrumbs-link-fg); +} + +div.breadcrumbs a:focus, div.breadcrumbs a:hover { + color: var(--breadcrumbs-fg); +} + +/* ACTION ICONS */ + +.viewlink, .inlineviewlink { + padding-left: 16px; + background: url(../img/icon-viewlink.svg) 0 1px no-repeat; +} + +.hidelink { + padding-left: 16px; + background: url(../img/icon-hidelink.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; /* XXX Probably unused? */ +} + +a.deletelink:focus, a.deletelink:hover { + color: #993333; /* XXX Probably unused? */ + text-decoration: none; +} + +/* OBJECT TOOLS */ + +.object-tools { + font-size: 0.625rem; + font-weight: bold; + padding-left: 0; + float: right; + position: relative; + margin-top: -48px; +} + +.object-tools li { + display: block; + float: left; + margin-left: 5px; + height: 1rem; +} + +.object-tools a { + border-radius: 15px; +} + +.object-tools a:link, .object-tools a:visited { + display: block; + float: left; + padding: 3px 12px; + background: var(--object-tools-bg); + color: var(--object-tools-fg); + font-weight: 400; + font-size: 0.6875rem; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.object-tools a:focus, .object-tools a:hover { + background-color: var(--object-tools-hover-bg); +} + +.object-tools a:focus{ + text-decoration: none; +} + +.object-tools a.viewsitelink, .object-tools a.addlink { + background-repeat: no-repeat; + background-position: right 7px center; + padding-right: 26px; +} + +.object-tools a.viewsitelink { + background-image: url(../img/tooltag-arrowright.svg); +} + +.object-tools a.addlink { + background-image: url(../img/tooltag-add.svg); +} + +/* OBJECT HISTORY */ + +#change-history table { + width: 100%; +} + +#change-history table tbody th { + width: 16em; +} + +#change-history .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + overflow: hidden; +} + +/* PAGE STRUCTURE */ + +#container { + position: relative; + width: 100%; + min-width: 980px; + padding: 0; + display: flex; + flex-direction: column; + height: 100%; +} + +#container > .main { + display: flex; + flex: 1 0 auto; +} + +.main > .content { + flex: 1 0; + max-width: 100%; +} + +.skip-to-content-link { + position: absolute; + top: -999px; + margin: 5px; + padding: 5px; + background: var(--body-bg); + z-index: 1; +} + +.skip-to-content-link:focus { + left: 0px; + top: 0px; +} + +#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; +} + +@media (forced-colors: active) { + #content-related { + border: 1px solid; + } +} + +/* 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: var(--header-bg); + color: var(--header-color); +} + +#header a:link, #header a:visited, #logout-form button { + color: var(--header-link-color); +} + +#header a:focus , #header a:hover { + text-decoration: underline; +} + +@media (forced-colors: active) { + #header { + border-bottom: 1px solid; + } +} + +#branding { + display: flex; +} + +#site-name { + padding: 0; + margin: 0; + margin-inline-end: 20px; + font-weight: 300; + font-size: 1.5rem; + color: var(--header-branding-color); +} + +#site-name a:link, #site-name a:visited { + color: var(--accent); +} + +#branding h2 { + padding: 0 10px; + font-size: 0.875rem; + margin: -8px 0 8px 0; + font-weight: normal; + color: var(--header-color); +} + +#branding a:hover { + text-decoration: none; +} + +#logout-form { + display: inline; +} + +#logout-form button { + background: none; + border: 0; + cursor: pointer; + font-family: var(--font-family-primary); +} + +#user-tools { + float: right; + margin: 0 0 0 20px; + text-align: right; +} + +#user-tools, #logout-form button{ + padding: 0; + font-weight: 300; + font-size: 0.6875rem; + letter-spacing: 0.5px; + text-transform: uppercase; +} + +#user-tools a, #logout-form button { + border-bottom: 1px solid rgba(255, 255, 255, 0.25); +} + +#user-tools a:focus, #user-tools a:hover, +#logout-form button:active, #logout-form button:hover { + text-decoration: none; + border-bottom: 0; +} + +#logout-form button:active, #logout-form button:hover { + margin-bottom: 1px; +} + +/* SIDEBAR */ + +#content-related { + background: var(--darkened-bg); +} + +#content-related .module { + background: none; +} + +#content-related h3 { + color: var(--body-quiet-color); + padding: 0 16px; + margin: 0 0 16px; +} + +#content-related h4 { + font-size: 0.8125rem; +} + +#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 var(--hairline-color); + font-size: 1.125rem; + color: var(--body-fg); +} + +.delete-confirmation form input[type="submit"] { + background: var(--delete-button-bg); + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); +} + +.delete-confirmation form input[type="submit"]:active, +.delete-confirmation form input[type="submit"]:focus, +.delete-confirmation form input[type="submit"]:hover { + background: var(--delete-button-hover-bg); +} + +.delete-confirmation form .cancel-link { + display: inline-block; + vertical-align: middle; + height: 0.9375rem; + line-height: 0.9375rem; + border-radius: 4px; + padding: 10px 15px; + color: var(--button-fg); + background: var(--close-button-bg); + margin: 0 0 0 10px; +} + +.delete-confirmation form .cancel-link:active, +.delete-confirmation form .cancel-link:focus, +.delete-confirmation form .cancel-link:hover { + background: var(--close-button-hover-bg); +} + +/* POPUP */ +.popup #content { + padding: 20px; +} + +.popup #container { + min-width: 0; +} + +.popup #header { + padding: 10px 20px; +} + +/* PAGINATOR */ + +.paginator { + display: flex; + align-items: center; + gap: 4px; + font-size: 0.8125rem; + padding-top: 10px; + padding-bottom: 10px; + line-height: 22px; + margin: 0; + border-top: 1px solid var(--hairline-color); + width: 100%; + box-sizing: border-box; +} + +.paginator a:link, .paginator a:visited { + padding: 2px 6px; + background: var(--button-bg); + text-decoration: none; + color: var(--button-fg); +} + +.paginator a.showall { + border: none; + background: none; + color: var(--link-fg); +} + +.paginator a.showall:focus, .paginator a.showall:hover { + background: none; + color: var(--link-hover-color); +} + +.paginator .end { + margin-right: 6px; +} + +.paginator .this-page { + padding: 2px 6px; + font-weight: bold; + font-size: 0.8125rem; + vertical-align: top; +} + +.paginator a:focus, .paginator a:hover { + color: white; + background: var(--link-hover-color); +} + +.paginator input { + margin-left: auto; +} + +.base-svgs { + display: none; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + overflow: hidden; + clip: rect(0,0,0,0); + white-space: nowrap; + border: 0; + color: var(--body-fg); + background-color: var(--body-bg); +} diff --git a/staticfiles/admin/css/changelists.css b/staticfiles/admin/css/changelists.css new file mode 100644 index 0000000..005b776 --- /dev/null +++ b/staticfiles/admin/css/changelists.css @@ -0,0 +1,343 @@ +/* CHANGELISTS */ + +#changelist { + display: flex; + align-items: flex-start; + justify-content: space-between; +} + +#changelist .changelist-form-container { + flex: 1 1 auto; + min-width: 0; +} + +#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 { + width: auto; +} + +.change-list .filtered table tbody th { + padding-right: 1em; +} + +#changelist-form .results { + overflow-x: auto; + width: 100%; +} + +#changelist .toplinks { + border-bottom: 1px solid var(--hairline-color); +} + +#changelist .paginator { + color: var(--body-quiet-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--body-bg); + 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: var(--body-quiet-color); +} + +/* TOOLBAR */ + +#toolbar { + padding: 8px 10px; + margin-bottom: 15px; + border-top: 1px solid var(--hairline-color); + border-bottom: 1px solid var(--hairline-color); + background: var(--darkened-bg); + color: var(--body-quiet-color); +} + +#toolbar form input { + border-radius: 4px; + font-size: 0.875rem; + padding: 5px; + color: var(--body-fg); +} + +#toolbar #searchbar { + height: 1.1875rem; + border: 1px solid var(--border-color); + padding: 2px 5px; + margin: 0; + vertical-align: top; + font-size: 0.8125rem; + max-width: 100%; +} + +#toolbar #searchbar:focus { + border-color: var(--body-quiet-color); +} + +#toolbar form input[type="submit"] { + border: 1px solid var(--border-color); + font-size: 0.8125rem; + padding: 4px 8px; + margin: 0; + vertical-align: middle; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + color: var(--body-fg); +} + +#toolbar form input[type="submit"]:focus, +#toolbar form input[type="submit"]:hover { + border-color: var(--body-quiet-color); +} + +#changelist-search img { + vertical-align: middle; + margin-right: 4px; +} + +#changelist-search .help { + word-break: break-word; +} + +/* FILTER COLUMN */ + +#changelist-filter { + flex: 0 0 240px; + order: 1; + background: var(--darkened-bg); + border-left: none; + margin: 0 0 0 30px; +} + +@media (forced-colors: active) { + #changelist-filter { + border: 1px solid; + } +} + +#changelist-filter h2 { + font-size: 0.875rem; + text-transform: uppercase; + letter-spacing: 0.5px; + padding: 5px 15px; + margin-bottom: 12px; + border-bottom: none; +} + +#changelist-filter h3, +#changelist-filter details summary { + font-weight: 400; + padding: 0 15px; + margin-bottom: 10px; +} + +#changelist-filter details summary > * { + display: inline; +} + +#changelist-filter details > summary { + list-style-type: none; +} + +#changelist-filter details > summary::-webkit-details-marker { + display: none; +} + +#changelist-filter details > summary::before { + content: '→'; + font-weight: bold; + color: var(--link-hover-color); +} + +#changelist-filter details[open] > summary::before { + content: '↓'; +} + +#changelist-filter ul { + margin: 5px 0; + padding: 0 15px 15px; + border-bottom: 1px solid var(--hairline-color); +} + +#changelist-filter ul:last-child { + border-bottom: none; +} + +#changelist-filter li { + list-style-type: none; + margin-left: 0; + padding-left: 0; +} + +#changelist-filter a { + display: block; + color: var(--body-quiet-color); + word-break: break-word; +} + +#changelist-filter li.selected { + border-left: 5px solid var(--hairline-color); + padding-left: 10px; + margin-left: -15px; +} + +#changelist-filter li.selected a { + color: var(--link-selected-fg); +} + +#changelist-filter a:focus, #changelist-filter a:hover, +#changelist-filter li.selected a:focus, +#changelist-filter li.selected a:hover { + color: var(--link-hover-color); +} + +#changelist-filter #changelist-filter-extra-actions { + font-size: 0.8125rem; + margin-bottom: 10px; + border-bottom: 1px solid var(--hairline-color); +} + +/* DATE DRILLDOWN */ + +.change-list .toplinks { + display: flex; + padding-bottom: 5px; + flex-wrap: wrap; + gap: 3px 17px; + font-weight: bold; +} + +.change-list .toplinks a { + font-size: 0.8125rem; +} + +.change-list .toplinks .date-back { + color: var(--body-quiet-color); +} + +.change-list .toplinks .date-back:focus, +.change-list .toplinks .date-back:hover { + color: var(--link-hover-color); +} + +/* ACTIONS */ + +.filtered .actions { + border-right: none; +} + +#changelist table input { + margin: 0; + vertical-align: baseline; +} + +/* Once the :has() pseudo-class is supported by all browsers, the tr.selected + selector and the JS adding the class can be removed. */ +#changelist tbody tr.selected { + background-color: var(--selected-row); +} + +#changelist tbody tr:has(.action-select:checked) { + background-color: var(--selected-row); +} + +@media (forced-colors: active) { + #changelist tbody tr.selected { + background-color: SelectedItem; + } + #changelist tbody tr:has(.action-select:checked) { + background-color: SelectedItem; + } +} + +#changelist .actions { + padding: 10px; + background: var(--body-bg); + border-top: none; + border-bottom: none; + line-height: 1.5rem; + color: var(--body-quiet-color); + width: 100%; +} + +#changelist .actions span.all, +#changelist .actions span.action-counter, +#changelist .actions span.clear, +#changelist .actions span.question { + font-size: 0.8125rem; + margin: 0 0.5em; +} + +#changelist .actions:last-child { + border-bottom: none; +} + +#changelist .actions select { + vertical-align: top; + height: 1.5rem; + color: var(--body-fg); + border: 1px solid var(--border-color); + border-radius: 4px; + font-size: 0.875rem; + padding: 0 0 0 4px; + margin: 0; + margin-left: 10px; +} + +#changelist .actions select:focus { + border-color: var(--body-quiet-color); +} + +#changelist .actions label { + display: inline-block; + vertical-align: middle; + font-size: 0.8125rem; +} + +#changelist .actions .button { + font-size: 0.8125rem; + border: 1px solid var(--border-color); + border-radius: 4px; + background: var(--body-bg); + box-shadow: 0 -15px 20px -10px rgba(0, 0, 0, 0.15) inset; + cursor: pointer; + height: 1.5rem; + line-height: 1; + padding: 4px 8px; + margin: 0; + color: var(--body-fg); +} + +#changelist .actions .button:focus, #changelist .actions .button:hover { + border-color: var(--body-quiet-color); +} diff --git a/staticfiles/admin/css/dark_mode.css b/staticfiles/admin/css/dark_mode.css new file mode 100644 index 0000000..65b58d0 --- /dev/null +++ b/staticfiles/admin/css/dark_mode.css @@ -0,0 +1,130 @@ +@media (prefers-color-scheme: dark) { + :root { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #d0d0d0; + --body-medium-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + + color-scheme: dark; + } + } + + +html[data-theme="dark"] { + --primary: #264b5d; + --primary-fg: #f7f7f7; + + --body-fg: #eeeeee; + --body-bg: #121212; + --body-quiet-color: #d0d0d0; + --body-medium-color: #e0e0e0; + --body-loud-color: #ffffff; + + --breadcrumbs-link-fg: #e0e0e0; + --breadcrumbs-bg: var(--primary); + + --link-fg: #81d4fa; + --link-hover-color: #4ac1f7; + --link-selected-fg: #6f94c6; + + --hairline-color: #272727; + --border-color: #353535; + + --error-fg: #e35f5f; + --message-success-bg: #006b1b; + --message-warning-bg: #583305; + --message-error-bg: #570808; + + --darkened-bg: #212121; + --selected-bg: #1b1b1b; + --selected-row: #00363a; + + --close-button-bg: #333333; + --close-button-hover-bg: #666666; + + color-scheme: dark; +} + +/* THEME SWITCH */ +.theme-toggle { + cursor: pointer; + border: none; + padding: 0; + background: transparent; + vertical-align: middle; + margin-inline-start: 5px; + margin-top: -1px; +} + +.theme-toggle svg { + vertical-align: middle; + height: 1.5rem; + width: 1.5rem; + display: none; +} + +/* +Fully hide screen reader text so we only show the one matching the current +theme. +*/ +.theme-toggle .visually-hidden { + display: none; +} + +html[data-theme="auto"] .theme-toggle .theme-label-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle .theme-label-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle .theme-label-when-light { + display: block; +} + +/* ICONS */ +.theme-toggle svg.theme-icon-when-auto, +.theme-toggle svg.theme-icon-when-dark, +.theme-toggle svg.theme-icon-when-light { + fill: var(--header-link-color); + color: var(--header-bg); +} + +html[data-theme="auto"] .theme-toggle svg.theme-icon-when-auto { + display: block; +} + +html[data-theme="dark"] .theme-toggle svg.theme-icon-when-dark { + display: block; +} + +html[data-theme="light"] .theme-toggle svg.theme-icon-when-light { + display: block; +} diff --git a/staticfiles/admin/css/dashboard.css b/staticfiles/admin/css/dashboard.css new file mode 100644 index 0000000..242b81a --- /dev/null +++ b/staticfiles/admin/css/dashboard.css @@ -0,0 +1,29 @@ +/* DASHBOARD */ +.dashboard td, .dashboard th { + word-break: break-word; +} + +.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; +} diff --git a/staticfiles/admin/css/forms.css b/staticfiles/admin/css/forms.css new file mode 100644 index 0000000..c6ce788 --- /dev/null +++ b/staticfiles/admin/css/forms.css @@ -0,0 +1,498 @@ +@import url('widgets.css'); + +/* FORM ROWS */ + +.form-row { + overflow: hidden; + padding: 10px; + font-size: 0.8125rem; + border-bottom: 1px solid var(--hairline-color); +} + +.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; +} + +.flex-container { + display: flex; +} + +.form-multiline { + flex-wrap: wrap; +} + +.form-multiline > div { + padding-bottom: 10px; +} + +/* FORM LABELS */ + +label { + font-weight: normal; + color: var(--body-quiet-color); + font-size: 0.8125rem; +} + +.required label, label.required { + font-weight: bold; +} + +/* RADIO BUTTONS */ + +form div.radiolist div { + padding-right: 7px; +} + +form div.radiolist.inline div { + display: inline-block; +} + +form div.radiolist label { + width: auto; +} + +form div.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; +} + +/* FIELDSETS */ + +fieldset .fieldset-heading, +fieldset .inline-heading, +:not(.inline-related) .collapse summary { + border: 1px solid var(--header-bg); + margin: 0; + padding: 8px; + font-weight: 400; + font-size: 0.8125rem; + background: var(--header-bg); + color: var(--header-link-color); +} + +/* ALIGNED FIELDSETS */ + +.aligned label { + display: block; + padding: 4px 10px 0 0; + min-width: 160px; + width: 160px; + word-wrap: break-word; +} + +.aligned label:not(.vCheckboxLabel):after { + content: ''; + display: inline-block; + vertical-align: middle; +} + +.aligned label + p, .aligned .checkbox-row + div.help, .aligned label + div.readonly { + padding: 6px 0; + margin-top: 0; + margin-bottom: 0; + margin-left: 0; + overflow-wrap: break-word; +} + +.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 div.radiolist { + display: inline-block; + margin: 0; + padding: 0; +} + +form .aligned p.help, +form .aligned div.help { + margin-top: 0; + margin-left: 160px; + padding-left: 10px; +} + +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-left: 0; + padding-left: 0; + font-weight: normal; +} + +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 select option:checked { + background-color: var(--selected-row); +} + +form .aligned ul li { + list-style: none; +} + +form .aligned table p { + margin-left: 0; + padding-left: 0; +} + +.aligned .vCheckboxLabel { + padding: 1px 0 0 5px; +} + +.aligned .vCheckboxLabel + p.help, +.aligned .vCheckboxLabel + div.help { + margin-top: -4px; +} + +.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { + width: 610px; +} + +fieldset .fieldBox { + margin-right: 20px; +} + +/* WIDE FIELDSETS */ + +.wide label { + width: 200px; +} + +form .wide p.help, +form .wide ul.errorlist, +form .wide div.help { + padding-left: 50px; +} + +form div.help ul { + padding-left: 0; + margin-left: 0; +} + +.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField { + width: 450px; +} + +/* COLLAPSIBLE FIELDSETS */ + +.collapse summary .fieldset-heading, +.collapse summary .inline-heading { + background: transparent; + border: none; + color: currentColor; + display: inline; + margin: 0; + padding: 0; +} + +/* MONOSPACE TEXTAREAS */ + +fieldset.monospace textarea { + font-family: var(--font-family-monospace); +} + +/* SUBMIT ROW */ + +.submit-row { + padding: 12px 14px 12px; + margin: 0 0 20px; + background: var(--darkened-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + display: flex; + gap: 10px; + flex-wrap: wrap; +} + +body.popup .submit-row { + overflow: auto; +} + +.submit-row input { + height: 2.1875rem; + line-height: 0.9375rem; +} + +.submit-row input, .submit-row a { + margin: 0; +} + +.submit-row input.default { + text-transform: uppercase; +} + +.submit-row a.deletelink { + margin-left: auto; +} + +.submit-row a.deletelink { + display: block; + background: var(--delete-button-bg); + border-radius: 4px; + padding: 0.625rem 0.9375rem; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.closelink { + display: inline-block; + background: var(--close-button-bg); + border-radius: 4px; + padding: 10px 15px; + height: 0.9375rem; + line-height: 0.9375rem; + color: var(--button-fg); +} + +.submit-row a.deletelink:focus, +.submit-row a.deletelink:hover, +.submit-row a.deletelink:active { + background: var(--delete-button-hover-bg); + text-decoration: none; +} + +.submit-row a.closelink:focus, +.submit-row a.closelink:hover, +.submit-row a.closelink:active { + background: var(--close-button-hover-bg); + text-decoration: none; +} + +/* 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; +} + +.vIntegerField { + width: 5em; +} + +.vBigIntegerField { + width: 10em; +} + +.vForeignKeyRawIdAdminField { + width: 5em; +} + +.vTextField, .vUUIDField { + width: 20em; +} + +/* 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 h4, +.inline-related:not(.tabular) .collapse summary { + margin: 0; + color: var(--body-medium-color); + padding: 5px; + font-size: 0.8125rem; + background: var(--darkened-bg); + border: 1px solid var(--hairline-color); + border-left-color: var(--darkened-bg); + border-right-color: var(--darkened-bg); +} + +.inline-related h3 span.delete { + float: right; +} + +.inline-related h3 span.delete label { + margin-left: 2px; + font-size: 0.6875rem; +} + +.inline-related fieldset { + margin: 0; + background: var(--body-bg); + border: none; + width: 100%; +} + +.inline-group .tabular fieldset.module { + border: none; +} + +.inline-related.tabular fieldset.module table { + width: 100%; + overflow-x: scroll; +} + +.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: 0.5625rem; + font-weight: bold; + color: var(--body-quiet-color); + _width: 700px; +} + +.inline-group div.add-row, +.inline-group .tabular tr.add-row td { + color: var(--body-quiet-color); + background: var(--darkened-bg); + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group .tabular tr.add-row td { + padding: 8px 10px; + border-bottom: 1px solid var(--hairline-color); +} + +.inline-group div.add-row a, +.inline-group .tabular tr.add-row td a { + font-size: 0.75rem; +} + +.empty-form { + display: none; +} + +/* RELATED FIELD ADD ONE / LOOKUP */ + +.related-lookup { + margin-left: 5px; + display: inline-block; + vertical-align: middle; + background-repeat: no-repeat; + background-size: 14px; +} + +.related-lookup { + width: 1rem; + height: 1rem; + 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/staticfiles/admin/css/login.css b/staticfiles/admin/css/login.css new file mode 100644 index 0000000..805a34b --- /dev/null +++ b/staticfiles/admin/css/login.css @@ -0,0 +1,61 @@ +/* LOGIN FORM */ + +.login { + background: var(--darkened-bg); + height: auto; +} + +.login #header { + height: auto; + padding: 15px 16px; + justify-content: center; +} + +.login #header h1 { + font-size: 1.125rem; + margin: 0; +} + +.login #header h1 a { + color: var(--header-link-color); +} + +.login #content { + padding: 20px; +} + +.login #container { + background: var(--body-bg); + border: 1px solid var(--hairline-color); + border-radius: 4px; + overflow: hidden; + width: 28em; + min-width: 300px; + margin: 100px auto; + height: auto; +} + +.login .form-row { + padding: 4px 0; +} + +.login .form-row label { + display: block; + line-height: 2em; +} + +.login .form-row #id_username, .login .form-row #id_password { + padding: 8px; + width: 100%; + box-sizing: border-box; +} + +.login .submit-row { + padding: 1em 0 0 0; + margin: 0; + text-align: center; +} + +.login .password-reset-link { + text-align: center; +} diff --git a/staticfiles/admin/css/nav_sidebar.css b/staticfiles/admin/css/nav_sidebar.css new file mode 100644 index 0000000..7eb0de9 --- /dev/null +++ b/staticfiles/admin/css/nav_sidebar.css @@ -0,0 +1,150 @@ +.sticky { + position: sticky; + top: 0; + max-height: 100vh; +} + +.toggle-nav-sidebar { + z-index: 20; + left: 0; + display: flex; + align-items: center; + justify-content: center; + flex: 0 0 23px; + width: 23px; + border: 0; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + cursor: pointer; + font-size: 1.25rem; + color: var(--link-fg); + padding: 0; +} + +[dir="rtl"] .toggle-nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; +} + +.toggle-nav-sidebar:hover, +.toggle-nav-sidebar:focus { + background-color: var(--darkened-bg); +} + +#nav-sidebar { + z-index: 15; + flex: 0 0 275px; + left: -276px; + margin-left: -276px; + border-top: 1px solid transparent; + border-right: 1px solid var(--hairline-color); + background-color: var(--body-bg); + overflow: auto; +} + +[dir="rtl"] #nav-sidebar { + border-left: 1px solid var(--hairline-color); + border-right: 0; + left: 0; + margin-left: 0; + right: -276px; + margin-right: -276px; +} + +.toggle-nav-sidebar::before { + content: '\00BB'; +} + +.main.shifted .toggle-nav-sidebar::before { + content: '\00AB'; +} + +.main > #nav-sidebar { + visibility: hidden; +} + +.main.shifted > #nav-sidebar { + margin-left: 0; + visibility: visible; +} + +[dir="rtl"] .main.shifted > #nav-sidebar { + margin-right: 0; +} + +#nav-sidebar .module th { + width: 100%; + overflow-wrap: anywhere; +} + +#nav-sidebar .module th, +#nav-sidebar .module caption { + padding-left: 16px; +} + +#nav-sidebar .module td { + white-space: nowrap; +} + +[dir="rtl"] #nav-sidebar .module th, +[dir="rtl"] #nav-sidebar .module caption { + padding-left: 8px; + padding-right: 16px; +} + +#nav-sidebar .current-app .section:link, +#nav-sidebar .current-app .section:visited { + color: var(--header-color); + font-weight: bold; +} + +#nav-sidebar .current-model { + background: var(--selected-row); +} + +@media (forced-colors: active) { + #nav-sidebar .current-model { + background-color: SelectedItem; + } +} + +.main > #nav-sidebar + .content { + max-width: calc(100% - 23px); +} + +.main.shifted > #nav-sidebar + .content { + max-width: calc(100% - 299px); +} + +@media (max-width: 767px) { + #nav-sidebar, #toggle-nav-sidebar { + display: none; + } + + .main > #nav-sidebar + .content, + .main.shifted > #nav-sidebar + .content { + max-width: 100%; + } +} + +#nav-filter { + width: 100%; + box-sizing: border-box; + padding: 2px 5px; + margin: 5px 0; + border: 1px solid var(--border-color); + background-color: var(--darkened-bg); + color: var(--body-fg); +} + +#nav-filter:focus { + border-color: var(--body-quiet-color); +} + +#nav-filter.no-results { + background: var(--message-error-bg); +} + +#nav-sidebar table { + width: 100%; +} diff --git a/staticfiles/admin/css/responsive.css b/staticfiles/admin/css/responsive.css new file mode 100644 index 0000000..f0fcade --- /dev/null +++ b/staticfiles/admin/css/responsive.css @@ -0,0 +1,904 @@ +/* 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: 0.875rem; + } + + .small { + font-size: 0.75rem; + } + + /* Layout */ + + #container { + min-width: 0; + } + + #content { + padding: 15px 20px 20px; + } + + div.breadcrumbs { + padding: 10px 30px; + } + + /* Header */ + + #header { + flex-direction: column; + padding: 15px 30px; + justify-content: flex-start; + } + + #site-name { + margin: 0 0 8px; + 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: 0.8125rem; + } + + /* Changelist */ + + #toolbar { + border: none; + padding: 15px; + } + + #changelist-search > div { + display: flex; + flex-wrap: nowrap; + max-width: 480px; + } + + #changelist-search label { + line-height: 1.375rem; + } + + #toolbar form #searchbar { + flex: 1 0 auto; + width: 0; + height: 1.375rem; + margin: 0 10px 0 6px; + } + + #toolbar form input[type=submit] { + flex: 0 1 auto; + } + + #changelist-search .quiet { + width: 0; + flex: 1 0 auto; + margin: 5px 0 0 25px; + } + + #changelist .actions { + display: flex; + flex-wrap: wrap; + padding: 15px 0; + } + + #changelist .actions label { + display: flex; + } + + #changelist .actions select { + background: var(--body-bg); + } + + #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: 0.6875rem; + margin: 0 10px 0 0; + } + + #changelist-filter { + flex-basis: 200px; + } + + .change-list .filtered .results, + .change-list .filtered .paginator, + .filtered #toolbar, + .filtered .actions, + + #changelist .paginator { + border-top-color: var(--hairline-color); /* XXX Is this used at all? */ + } + + #changelist .results + .paginator { + border-top: none; + } + + /* Forms */ + + label { + font-size: 1rem; + } + + /* + Minifiers remove the default (text) "type" attribute from "input" HTML + tags. Add input:not([type]) to make the CSS stylesheet work the same. + */ + .form-row input:not([type]), + .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: 2.25rem; + font-size: 1rem; + } + + .form-row select { + height: 2.25rem; + } + + .form-row select[multiple] { + height: auto; + min-height: 0; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 10px; + padding-top: 10px; + border-top: 1px solid var(--hairline-color); + } + + textarea { + max-width: 100%; + max-height: 120px; + } + + .aligned label { + padding-top: 6px; + } + + .aligned .related-lookup, + .aligned .datetimeshortcuts, + .aligned .related-lookup + strong { + align-self: center; + margin-left: 15px; + } + + form .aligned div.radiolist { + margin-left: 2px; + } + + .submit-row { + padding: 8px; + } + + .submit-row a.deletelink { + padding: 10px 7px; + } + + .button, input[type=submit], input[type=button], .submit-row input, a.button { + padding: 7px; + } + + /* Selector */ + + .selector { + display: flex; + width: 100%; + } + + .selector .selector-filter { + display: flex; + align-items: center; + } + + .selector .selector-filter input { + width: 100%; + 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-chooseall, .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 { + padding: 0 2px; + transform: none; + } + + .stacked .selector-chooser li { + padding: 3px; + } + + .help-tooltip, .selector .help-icon { + display: none; + } + + .datetime input { + width: 50%; + max-width: 120px; + } + + .datetime span { + font-size: 0.8125rem; + } + + .datetime .timezonewarning { + display: block; + font-size: 0.6875rem; + color: var(--body-quiet-color); + } + + .datetimeshortcuts { + color: var(--border-color); /* XXX Redundant, .datetime span also sets #ccc */ + } + + .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + width: 75%; + } + + .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 #site-name { + 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 { + padding: 15px; + } + + 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: 1rem; + } + + /* Changelist */ + + #changelist { + align-items: stretch; + flex-direction: column; + } + + #toolbar { + padding: 10px; + } + + #changelist-filter { + margin-left: 0; + } + + #changelist .actions label { + flex: 1 1; + } + + #changelist .actions select { + flex: 1 0; + width: 100%; + } + + #changelist .actions span { + flex: 1 0 100%; + } + + #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 { + max-width: 100vw; + } + + .aligned .form-row > div { + width: calc(100vw - 30px); + } + + .flex-container { + flex-flow: column; + } + + .flex-container.checkbox-row { + flex-flow: row; + } + + textarea { + max-width: none; + } + + .vURLField { + width: auto; + } + + fieldset .fieldBox + .fieldBox { + margin-top: 15px; + padding-top: 15px; + } + + .aligned label { + width: 100%; + min-width: auto; + 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 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 { + font-size: 0.8125rem; + } + + span.clearable-file-input { + margin-left: 15px; + } + + span.clearable-file-input label { + font-size: 0.8125rem; + 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, + form .aligned ul.errorlist { + margin-left: 0; + padding-left: 0; + } + + form .aligned div.radiolist { + margin-top: 5px; + margin-right: 15px; + margin-bottom: -3px; + } + + form .aligned div.radiolist:not(.inline) div + div { + margin-top: 5px; + } + + /* Related widget */ + + .related-widget-wrapper { + width: 100%; + display: flex; + align-items: flex-start; + } + + .related-widget-wrapper .selector { + order: 1; + flex: 1 0 auto; + } + + .related-widget-wrapper > a { + order: 2; + } + + .related-widget-wrapper .radiolist ~ a { + align-self: flex-end; + } + + .related-widget-wrapper > select ~ a { + align-self: center; + } + + /* Selector */ + + .selector { + flex-direction: column; + gap: 10px 0; + } + + .selector-available, .selector-chosen { + flex: 1 1 auto; + } + + .selector select { + max-height: 96px; + } + + .selector ul.selector-chooser { + display: flex; + width: 60px; + height: 30px; + padding: 0 2px; + transform: none; + } + + .selector ul.selector-chooser li { + float: left; + } + + .selector-remove { + background-position: 0 0; + } + + :enabled.selector-remove:focus, :enabled.selector-remove:hover { + background-position: 0 -24px; + } + + .selector-add { + background-position: 0 -48px; + } + + :enabled.selector-add:focus, :enabled.selector-add:hover { + background-position: 0 -72px; + } + + /* Inlines */ + + .inline-group[data-inline-type="stacked"] .inline-related { + border: 1px solid var(--hairline-color); + 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 .module { + padding: 0 10px; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row { + border-top: 1px solid var(--hairline-color); + border-bottom: none; + } + + .inline-group[data-inline-type="stacked"] .inline-related .module .form-row:first-child { + border-top: 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 var(--hairline-color); + 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; + margin: 0 0 15px; + flex-direction: column; + gap: 8px; + } + + .submit-row input, .submit-row input.default, .submit-row a { + text-align: center; + } + + .submit-row a.closelink { + padding: 10px 0; + text-align: center; + } + + .submit-row a.deletelink { + margin: 0; + } + + /* 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 { + margin: 0 0 5px; + line-height: 1.2; + } + + .login .submit-row { + padding: 15px 0 0; + } + + .login br { + display: none; + } + + .login .submit-row input { + margin: 0; + text-transform: uppercase; + } + + .errornote { + margin: 0 0 20px; + padding: 8px 12px; + font-size: 0.8125rem; + } + + /* 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: 0.75rem; + line-height: 0.75rem; + } + + .calendar-shortcuts a { + margin: 0 4px; + } + + .timelist a { + background: var(--body-bg); + 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: 0.8125rem; + word-break: break-word; + } + + table#change-history tbody th { + width: auto; + } + + /* Docs */ + + table.model tbody th, table.model tbody td { + font-size: 0.8125rem; + word-break: break-word; + } +} diff --git a/staticfiles/admin/css/responsive_rtl.css b/staticfiles/admin/css/responsive_rtl.css new file mode 100644 index 0000000..5e8f5c5 --- /dev/null +++ b/staticfiles/admin/css/responsive_rtl.css @@ -0,0 +1,89 @@ +/* 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, + [dir="rtl"] #changelist-filter { + margin-left: 0; + } + + [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"] .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"] .aligned .related-lookup, + [dir="rtl"] .aligned .datetimeshortcuts { + margin-left: 0; + margin-right: 15px; + } + + [dir="rtl"] .aligned ul, + [dir="rtl"] form .aligned ul.errorlist { + margin-right: 0; + } + + [dir="rtl"] #changelist-filter { + margin-left: 0; + margin-right: 0; + } + [dir="rtl"] .aligned .vCheckboxLabel { + padding: 1px 5px 0 0; + } + + [dir="rtl"] .selector-remove { + background-position: 0 0; + } + + [dir="rtl"] :enabled.selector-remove:focus, :enabled.selector-remove:hover { + background-position: 0 -24px; + } + + [dir="rtl"] .selector-add { + background-position: 0 -48px; + } + + [dir="rtl"] :enabled.selector-add:focus, :enabled.selector-add:hover { + background-position: 0 -72px; + } +} diff --git a/staticfiles/admin/css/rtl.css b/staticfiles/admin/css/rtl.css new file mode 100644 index 0000000..a2556d0 --- /dev/null +++ b/staticfiles/admin/css/rtl.css @@ -0,0 +1,293 @@ +/* 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, .hidelink { + 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 { + border-left: none; + border-right: none; + margin-left: 0; + margin-right: 30px; +} + +#changelist-filter li.selected { + border-left: none; + padding-left: 10px; + margin-left: 0; + border-right: 5px solid var(--hairline-color); + padding-right: 10px; + margin-right: -15px; +} + +#changelist table tbody td:first-child, #changelist table tbody th:first-child { + border-right: none; + border-left: none; +} + +.paginator .end { + margin-left: 6px; + margin-right: 0; +} + +.paginator input { + margin-left: 0; + margin-right: auto; +} + +/* FORMS */ + +.aligned label { + padding: 0 0 3px 1em; +} + +.submit-row a.deletelink { + margin-left: 0; + margin-right: auto; +} + +.vDateField, .vTimeField { + margin-left: 2px; +} + +.aligned .form-row input { + margin-left: 5px; +} + +form .aligned ul { + margin-right: 163px; + padding-right: 10px; + margin-left: 0; + padding-left: 0; +} + +form ul.inline li { + float: right; + padding-right: 0; + padding-left: 7px; +} + +form .aligned p.help, +form .aligned div.help { + margin-left: 0; + margin-right: 160px; + padding-right: 10px; +} + +form div.help ul, +form .aligned .checkbox-row + .help, +form .aligned p.date div.help.timezonewarning, +form .aligned p.datetime div.help.timezonewarning, +form .aligned p.time div.help.timezonewarning { + margin-right: 0; + padding-right: 0; +} + +form .wide p.help, +form .wide ul.errorlist, +form .wide div.help { + padding-left: 0; + padding-right: 50px; +} + +.submit-row { + text-align: right; +} + +fieldset .fieldBox { + 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; + background: url(../img/calendar-icons.svg) 0 -15px no-repeat; +} + +.calendarnav-next { + top: 0; + right: auto; + left: 10px; + background: url(../img/calendar-icons.svg) 0 0 no-repeat; +} + +.calendar caption, .calendarbox h2 { + text-align: center; +} + +.selector { + float: right; +} + +.selector .selector-filter { + text-align: right; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; + background-size: 24px auto; +} + +:enabled.selector-add:focus, :enabled.selector-add:hover { + background-position: 0 -120px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -144px no-repeat; + background-size: 24px auto; +} + +:enabled.selector-remove:focus, :enabled.selector-remove:hover { + background-position: 0 -168px; +} + +.selector-chooseall { + background: url(../img/selector-icons.svg) right -128px no-repeat; +} + +:enabled.selector-chooseall:focus, :enabled.selector-chooseall:hover { + background-position: 100% -144px; +} + +.selector-clearall { + background: url(../img/selector-icons.svg) 0 -160px no-repeat; +} + +:enabled.selector-clearall:focus, :enabled.selector-clearall:hover { + background-position: 0 -176px; +} + +.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; +} + +.inline-group .tabular td.original p { + right: 0; +} + +.selector .selector-chooser { + margin: 0; +} diff --git a/staticfiles/admin/css/unusable_password_field.css b/staticfiles/admin/css/unusable_password_field.css new file mode 100644 index 0000000..d46eb03 --- /dev/null +++ b/staticfiles/admin/css/unusable_password_field.css @@ -0,0 +1,19 @@ +/* Hide warnings fields if usable password is selected */ +form:has(#id_usable_password input[value="true"]:checked) .messagelist { + display: none; +} + +/* Hide password fields if unusable password is selected */ +form:has(#id_usable_password input[value="false"]:checked) .field-password1, +form:has(#id_usable_password input[value="false"]:checked) .field-password2 { + display: none; +} + +/* Select appropriate submit button */ +form:has(#id_usable_password input[value="true"]:checked) input[type="submit"].unset-password { + display: none; +} + +form:has(#id_usable_password input[value="false"]:checked) input[type="submit"].set-password { + display: none; +} diff --git a/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md b/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md new file mode 100644 index 0000000..8cb8a2b --- /dev/null +++ b/staticfiles/admin/css/vendor/select2/LICENSE-SELECT2.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2017 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/staticfiles/admin/css/vendor/select2/select2.css b/staticfiles/admin/css/vendor/select2/select2.css new file mode 100644 index 0000000..750b320 --- /dev/null +++ b/staticfiles/admin/css/vendor/select2/select2.css @@ -0,0 +1,481 @@ +.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; + -webkit-clip-path: inset(50%) !important; + clip-path: inset(50%) !important; + height: 1px !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + width: 1px !important; + white-space: nowrap !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__clear { + cursor: pointer; + float: right; + font-weight: bold; + margin-top: 5px; + margin-right: 10px; + padding: 1px; } + .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-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; + 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/staticfiles/admin/css/vendor/select2/select2.min.css b/staticfiles/admin/css/vendor/select2/select2.min.css new file mode 100644 index 0000000..7c18ad5 --- /dev/null +++ b/staticfiles/admin/css/vendor/select2/select2.min.css @@ -0,0 +1 @@ +.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;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !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__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.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-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;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/staticfiles/admin/css/widgets.css b/staticfiles/admin/css/widgets.css new file mode 100644 index 0000000..a5f615a --- /dev/null +++ b/staticfiles/admin/css/widgets.css @@ -0,0 +1,613 @@ +/* SELECTOR (FILTER INTERFACE) */ + +.selector { + display: flex; + flex: 1; + gap: 0 10px; +} + +.selector select { + height: 17.2em; + flex: 1 0 auto; + overflow: scroll; + width: 100%; +} + +.selector-available, .selector-chosen { + display: flex; + flex-direction: column; + flex: 1 1; +} + +.selector-available-title, .selector-chosen-title { + border: 1px solid var(--border-color); + border-radius: 4px 4px 0 0; +} + +.selector .helptext { + font-size: 0.6875rem; +} + +.selector-chosen .list-footer-display { + border: 1px solid var(--border-color); + border-top: none; + border-radius: 0 0 4px 4px; + margin: 0 0 10px; + padding: 8px; + text-align: center; + background: var(--primary); + color: var(--header-link-color); + cursor: pointer; +} +.selector-chosen .list-footer-display__clear { + color: var(--breadcrumbs-fg); +} + +.selector-chosen-title { + background: var(--secondary); + color: var(--header-link-color); + padding: 8px; +} + +.selector-chosen-title label { + color: var(--header-link-color); + width: 100%; +} + +.selector-available-title { + background: var(--darkened-bg); + color: var(--body-quiet-color); + padding: 8px; +} + +.selector-available-title label { + width: 100%; +} + +.selector .selector-filter { + border: 1px solid var(--border-color); + border-width: 0 1px; + padding: 8px; + color: var(--body-quiet-color); + font-size: 0.625rem; + margin: 0; + text-align: left; + display: flex; + gap: 8px; +} + +.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; + min-width: auto; +} + +.selector-filter input { + flex-grow: 1; +} + +.selector ul.selector-chooser { + align-self: center; + width: 30px; + background-color: var(--selected-bg); + border-radius: 10px; + margin: 0; + padding: 0; + transform: translateY(-17px); +} + +.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 .selector-chosen--with-filtered select { + margin: 0; + border-radius: 0; + height: 14em; +} + +.selector .selector-chosen:not(.selector-chosen--with-filtered) .list-footer-display { + display: none; +} + +.selector-add, .selector-remove { + width: 24px; + height: 24px; + display: block; + text-indent: -3000px; + overflow: hidden; + cursor: default; + opacity: 0.55; + border: none; +} + +:enabled.selector-add, :enabled.selector-remove { + opacity: 1; +} + +:enabled.selector-add:hover, :enabled.selector-remove:hover { + cursor: pointer; +} + +.selector-add { + background: url(../img/selector-icons.svg) 0 -144px no-repeat; + background-size: 24px auto; +} + +:enabled.selector-add:focus, :enabled.selector-add:hover { + background-position: 0 -168px; +} + +.selector-remove { + background: url(../img/selector-icons.svg) 0 -96px no-repeat; + background-size: 24px auto; +} + +:enabled.selector-remove:focus, :enabled.selector-remove:hover { + background-position: 0 -120px; +} + +.selector-chooseall, .selector-clearall { + display: inline-block; + height: 16px; + text-align: left; + margin: 0 auto; + overflow: hidden; + font-weight: bold; + line-height: 16px; + color: var(--body-quiet-color); + text-decoration: none; + opacity: 0.55; + border: none; +} + +:enabled.selector-chooseall:focus, :enabled.selector-clearall:focus, +:enabled.selector-chooseall:hover, :enabled.selector-clearall:hover { + color: var(--link-fg); +} + +:enabled.selector-chooseall, :enabled.selector-clearall { + opacity: 1; +} + +:enabled.selector-chooseall:hover, :enabled.selector-clearall:hover { + cursor: pointer; +} + +.selector-chooseall { + padding: 0 18px 0 0; + background: url(../img/selector-icons.svg) right -160px no-repeat; + cursor: default; +} + +:enabled.selector-chooseall:focus, :enabled.selector-chooseall:hover { + background-position: 100% -176px; +} + +.selector-clearall { + padding: 0 0 0 18px; + background: url(../img/selector-icons.svg) 0 -128px no-repeat; + cursor: default; +} + +:enabled.selector-clearall:focus, :enabled.selector-clearall:hover { + background-position: 0 -144px; +} + +/* STACKED SELECTORS */ + +.stacked { + float: left; + width: 490px; + display: block; +} + +.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 { + display: flex; + height: 30px; + width: 64px; + margin: 0 0 10px 40%; + background-color: #eee; + border-radius: 10px; + transform: none; +} + +.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 -48px no-repeat; + background-size: 24px auto; + cursor: default; +} + +.stacked :enabled.selector-add { + background-position: 0 -48px; + cursor: pointer; +} + +.stacked :enabled.selector-add:focus, .stacked :enabled.selector-add:hover { + background-position: 0 -72px; + cursor: pointer; +} + +.stacked .selector-remove { + background: url(../img/selector-icons.svg) 0 0 no-repeat; + background-size: 24px auto; + cursor: default; +} + +.stacked :enabled.selector-remove { + background-position: 0 0px; + cursor: pointer; +} + +.stacked :enabled.selector-remove:focus, .stacked :enabled.selector-remove:hover { + background-position: 0 -24px; + 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: 1.125rem; + width: 1.125rem; +} + +/* DATE AND TIME */ + +p.datetime { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-weight: bold; +} + +.datetime span { + white-space: nowrap; + font-weight: normal; + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +.datetime input, .form-row .datetime input.vDateField, .form-row .datetime input.vTimeField { + margin-left: 5px; + margin-bottom: 4px; +} + +table p.datetime { + font-size: 0.6875rem; + margin-left: 0; + padding-left: 0; +} + +.datetimeshortcuts .clock-icon, .datetimeshortcuts .date-icon { + position: relative; + display: inline-block; + vertical-align: middle; + height: 24px; + width: 24px; + overflow: hidden; +} + +.datetimeshortcuts .clock-icon { + background: url(../img/icon-clock.svg) 0 0 no-repeat; + background-size: 24px auto; +} + +.datetimeshortcuts a:focus .clock-icon, +.datetimeshortcuts a:hover .clock-icon { + background-position: 0 -24px; +} + +.datetimeshortcuts .date-icon { + background: url(../img/icon-calendar.svg) 0 0 no-repeat; + background-size: 24px auto; + top: -1px; +} + +.datetimeshortcuts a:focus .date-icon, +.datetimeshortcuts a:hover .date-icon { + background-position: 0 -24px; +} + +.timezonewarning { + font-size: 0.6875rem; + color: var(--body-quiet-color); +} + +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + +/* FILE UPLOADS */ + +p.file-upload { + line-height: 20px; + margin: 0; + padding: 0; + color: var(--body-quiet-color); + font-size: 0.6875rem; + font-weight: bold; +} + +.file-upload a { + font-weight: normal; +} + +.file-upload .deletelink { + margin-left: 5px; +} + +span.clearable-file-input label { + color: var(--body-fg); + font-size: 0.6875rem; + display: inline; + float: none; +} + +/* CALENDARS & CLOCKS */ + +.calendarbox, .clockbox { + margin: 5px auto; + font-size: 0.75rem; + width: 19em; + text-align: center; + background: var(--body-bg); + color: var(--body-fg); + border: 1px solid var(--hairline-color); + 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; + font-weight: 700; + font-size: 0.75rem; + color: #333; + background: var(--accent); +} + +.calendar th { + padding: 8px 5px; + background: var(--darkened-bg); + border-bottom: 1px solid var(--border-color); + font-weight: 400; + font-size: 0.75rem; + text-align: center; + color: var(--body-quiet-color); +} + +.calendar td { + font-weight: 400; + font-size: 0.75rem; + text-align: center; + padding: 0; + border-top: 1px solid var(--hairline-color); + border-bottom: none; +} + +.calendar td.selected a { + background: var(--secondary); + color: var(--button-fg); +} + +.calendar td.nonday { + background: var(--darkened-bg); +} + +.calendar td.today a { + font-weight: 700; +} + +.calendar td a, .timelist a { + display: block; + font-weight: 400; + padding: 6px; + text-decoration: none; + color: var(--body-quiet-color); +} + +.calendar td a:focus, .timelist a:focus, +.calendar td a:hover, .timelist a:hover { + background: var(--primary); + color: white; +} + +.calendar td a:active, .timelist a:active { + background: var(--header-bg); + color: white; +} + +.calendarnav { + font-size: 0.625rem; + text-align: center; + color: #ccc; + margin: 0; + padding: 1px 3px; +} + +.calendarnav a:link, #calendarnav a:visited, +#calendarnav a:focus, #calendarnav a:hover { + color: var(--body-quiet-color); +} + +.calendar-shortcuts { + background: var(--body-bg); + color: var(--body-quiet-color); + font-size: 0.6875rem; + line-height: 0.6875rem; + border-top: 1px solid var(--hairline-color); + padding: 8px 0; +} + +.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; +} + +.calendarnav-next { + right: 10px; + background: url(../img/calendar-icons.svg) 0 -15px no-repeat; +} + +.calendar-cancel { + margin: 0; + padding: 4px 0; + font-size: 0.75rem; + background: var(--close-button-bg); + border-top: 1px solid var(--border-color); + color: var(--button-fg); +} + +.calendar-cancel:focus, .calendar-cancel:hover { + background: var(--close-button-hover-bg); +} + +.calendar-cancel a { + color: var(--button-fg); + 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: 1.5rem; + height: 1.5rem; + border: 0px none; + margin-bottom: .25rem; +} + +.inline-deletelink:focus, .inline-deletelink:hover { + cursor: pointer; +} + +/* RELATED WIDGET WRAPPER */ +.related-widget-wrapper { + display: flex; + gap: 0 10px; + flex-grow: 1; + flex-wrap: wrap; + margin-bottom: 5px; +} + +.related-widget-wrapper-link { + opacity: .6; + filter: grayscale(1); +} + +.related-widget-wrapper-link:link { + opacity: 1; + filter: grayscale(0); +} + +/* GIS MAPS */ +.dj_map { + width: 600px; + height: 400px; +} diff --git a/staticfiles/admin/img/LICENSE b/staticfiles/admin/img/LICENSE new file mode 100644 index 0000000..a4faaa1 --- /dev/null +++ b/staticfiles/admin/img/LICENSE @@ -0,0 +1,20 @@ +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/staticfiles/admin/img/README.txt b/staticfiles/admin/img/README.txt new file mode 100644 index 0000000..bf81f35 --- /dev/null +++ b/staticfiles/admin/img/README.txt @@ -0,0 +1,7 @@ +All icons are taken from Font Awesome (https://fontawesome.com/) 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/staticfiles/admin/img/calendar-icons.svg b/staticfiles/admin/img/calendar-icons.svg new file mode 100644 index 0000000..04c0274 --- /dev/null +++ b/staticfiles/admin/img/calendar-icons.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + diff --git a/staticfiles/admin/img/gis/move_vertex_off.svg b/staticfiles/admin/img/gis/move_vertex_off.svg new file mode 100644 index 0000000..228854f --- /dev/null +++ b/staticfiles/admin/img/gis/move_vertex_off.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/staticfiles/admin/img/gis/move_vertex_on.svg b/staticfiles/admin/img/gis/move_vertex_on.svg new file mode 100644 index 0000000..96b87fd --- /dev/null +++ b/staticfiles/admin/img/gis/move_vertex_on.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/staticfiles/admin/img/icon-addlink.svg b/staticfiles/admin/img/icon-addlink.svg new file mode 100644 index 0000000..8d5c6a3 --- /dev/null +++ b/staticfiles/admin/img/icon-addlink.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-alert.svg b/staticfiles/admin/img/icon-alert.svg new file mode 100644 index 0000000..e51ea83 --- /dev/null +++ b/staticfiles/admin/img/icon-alert.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-calendar.svg b/staticfiles/admin/img/icon-calendar.svg new file mode 100644 index 0000000..97910a9 --- /dev/null +++ b/staticfiles/admin/img/icon-calendar.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/staticfiles/admin/img/icon-changelink.svg b/staticfiles/admin/img/icon-changelink.svg new file mode 100644 index 0000000..592b093 --- /dev/null +++ b/staticfiles/admin/img/icon-changelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-clock.svg b/staticfiles/admin/img/icon-clock.svg new file mode 100644 index 0000000..bf9985d --- /dev/null +++ b/staticfiles/admin/img/icon-clock.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/staticfiles/admin/img/icon-deletelink.svg b/staticfiles/admin/img/icon-deletelink.svg new file mode 100644 index 0000000..4059b15 --- /dev/null +++ b/staticfiles/admin/img/icon-deletelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-hidelink.svg b/staticfiles/admin/img/icon-hidelink.svg new file mode 100644 index 0000000..2a8b404 --- /dev/null +++ b/staticfiles/admin/img/icon-hidelink.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-no.svg b/staticfiles/admin/img/icon-no.svg new file mode 100644 index 0000000..2e0d383 --- /dev/null +++ b/staticfiles/admin/img/icon-no.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-unknown-alt.svg b/staticfiles/admin/img/icon-unknown-alt.svg new file mode 100644 index 0000000..1c6b99f --- /dev/null +++ b/staticfiles/admin/img/icon-unknown-alt.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-unknown.svg b/staticfiles/admin/img/icon-unknown.svg new file mode 100644 index 0000000..50b4f97 --- /dev/null +++ b/staticfiles/admin/img/icon-unknown.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-viewlink.svg b/staticfiles/admin/img/icon-viewlink.svg new file mode 100644 index 0000000..a1ca1d3 --- /dev/null +++ b/staticfiles/admin/img/icon-viewlink.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/icon-yes.svg b/staticfiles/admin/img/icon-yes.svg new file mode 100644 index 0000000..5883d87 --- /dev/null +++ b/staticfiles/admin/img/icon-yes.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/inline-delete.svg b/staticfiles/admin/img/inline-delete.svg new file mode 100644 index 0000000..8751150 --- /dev/null +++ b/staticfiles/admin/img/inline-delete.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/search.svg b/staticfiles/admin/img/search.svg new file mode 100644 index 0000000..c8c69b2 --- /dev/null +++ b/staticfiles/admin/img/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/selector-icons.svg b/staticfiles/admin/img/selector-icons.svg new file mode 100644 index 0000000..926b8e2 --- /dev/null +++ b/staticfiles/admin/img/selector-icons.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/staticfiles/admin/img/sorting-icons.svg b/staticfiles/admin/img/sorting-icons.svg new file mode 100644 index 0000000..7c31ec9 --- /dev/null +++ b/staticfiles/admin/img/sorting-icons.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/staticfiles/admin/img/tooltag-add.svg b/staticfiles/admin/img/tooltag-add.svg new file mode 100644 index 0000000..1ca64ae --- /dev/null +++ b/staticfiles/admin/img/tooltag-add.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/img/tooltag-arrowright.svg b/staticfiles/admin/img/tooltag-arrowright.svg new file mode 100644 index 0000000..b664d61 --- /dev/null +++ b/staticfiles/admin/img/tooltag-arrowright.svg @@ -0,0 +1,3 @@ + + + diff --git a/staticfiles/admin/js/SelectBox.js b/staticfiles/admin/js/SelectBox.js new file mode 100644 index 0000000..3db4ec7 --- /dev/null +++ b/staticfiles/admin/js/SelectBox.js @@ -0,0 +1,116 @@ +'use strict'; +{ + const SelectBox = { + cache: {}, + init: function(id) { + const box = document.getElementById(id); + SelectBox.cache[id] = []; + const cache = SelectBox.cache[id]; + for (const node of box.options) { + cache.push({value: node.value, text: node.text, displayed: 1}); + } + }, + redisplay: function(id) { + // Repopulate HTML select box from cache + const box = document.getElementById(id); + const scroll_value_from_top = box.scrollTop; + box.innerHTML = ''; + for (const node of SelectBox.cache[id]) { + if (node.displayed) { + const new_option = new Option(node.text, node.value, false, false); + // Shows a tooltip when hovering over the option + new_option.title = node.text; + box.appendChild(new_option); + } + } + box.scrollTop = scroll_value_from_top; + }, + filter: function(id, text) { + // Redisplay the HTML select box, displaying only the choices containing ALL + // the words in text. (It's an AND search.) + const tokens = text.toLowerCase().split(/\s+/); + for (const node of SelectBox.cache[id]) { + node.displayed = 1; + const node_text = node.text.toLowerCase(); + for (const token of tokens) { + if (!node_text.includes(token)) { + node.displayed = 0; + break; // Once the first token isn't found we're done + } + } + } + SelectBox.redisplay(id); + }, + get_hidden_node_count(id) { + const cache = SelectBox.cache[id] || []; + return cache.filter(node => node.displayed === 0).length; + }, + delete_from_cache: function(id, value) { + let delete_index = null; + const cache = SelectBox.cache[id]; + for (const [i, node] of cache.entries()) { + 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 + for (const node of SelectBox.cache[id]) { + if (node.value === value) { + return true; + } + } + return false; + }, + move: function(from, to) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const 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) { + const from_box = document.getElementById(from); + for (const option of from_box.options) { + const 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(); + if (a > b) { + return 1; + } + if (a < b) { + return -1; + } + return 0; + } ); + }, + select_all: function(id) { + const box = document.getElementById(id); + for (const option of box.options) { + option.selected = true; + } + } + }; + window.SelectBox = SelectBox; +} diff --git a/staticfiles/admin/js/SelectFilter2.js b/staticfiles/admin/js/SelectFilter2.js new file mode 100644 index 0000000..970b511 --- /dev/null +++ b/staticfiles/admin/js/SelectFilter2.js @@ -0,0 +1,311 @@ +/*global SelectBox, gettext, ngettext, interpolate, quickElement, SelectFilter*/ +/* +SelectFilter2 - Turns a multiple-select box into a filter interface. + +Requires core.js and SelectBox.js. +*/ +'use strict'; +{ + window.SelectFilter = { + init: function(field_id, field_name, is_stacked) { + if (field_id.match(/__prefix__/)) { + // Don't initialize on empty forms. + return; + } + const from_box = document.getElementById(field_id); + from_box.id += '_from'; // change its ID + from_box.className = 'filtered'; + from_box.setAttribute('aria-labelledby', field_id + '_from_title'); + + for (const p of from_box.parentNode.getElementsByTagName('p')) { + if (p.classList.contains("info")) { + // Remove

    , because it just gets in the way. + from_box.parentNode.removeChild(p); + } else if (p.classList.contains("help")) { + // 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(p, from_box.parentNode.firstChild); + } + } + + //

    or
    + const selector_div = quickElement('div', from_box.parentNode); + // Make sure the selector div is at the beginning so that the + // add link would be displayed to the right of the widget. + from_box.parentNode.prepend(selector_div); + selector_div.className = is_stacked ? 'selector stacked' : 'selector'; + + //
    + const selector_available = quickElement('div', selector_div); + selector_available.className = 'selector-available'; + const selector_available_title = quickElement('div', selector_available); + selector_available_title.id = field_id + '_from_title'; + selector_available_title.className = 'selector-available-title'; + quickElement('label', selector_available_title, interpolate(gettext('Available %s') + ' ', [field_name]), 'for', field_id + '_from'); + quickElement( + 'p', + selector_available_title, + interpolate(gettext('Choose %s by selecting them and then select the "Choose" arrow button.'), [field_name]), + 'class', 'helptext' + ); + + const filter_p = quickElement('p', selector_available, '', 'id', field_id + '_filter'); + filter_p.className = 'selector-filter'; + + const search_filter_label = quickElement('label', filter_p, '', 'for', field_id + '_input'); + + quickElement( + 'span', search_filter_label, '', + 'class', 'help-tooltip search-label-icon', + 'aria-label', interpolate(gettext("Type into this box to filter down the list of available %s."), [field_name]) + ); + + filter_p.appendChild(document.createTextNode(' ')); + + const filter_input = quickElement('input', filter_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_input.id = field_id + '_input'; + + selector_available.appendChild(from_box); + const choose_all = quickElement( + 'button', + selector_available, + interpolate(gettext('Choose all %s'), [field_name]), + 'id', field_id + '_add_all', + 'class', 'selector-chooseall', + 'type', 'button' + ); + + //
      + const selector_chooser = quickElement('ul', selector_div); + selector_chooser.className = 'selector-chooser'; + const add_button = quickElement( + 'button', + quickElement('li', selector_chooser), + interpolate(gettext('Choose selected %s'), [field_name]), + 'id', field_id + '_add', + 'class', 'selector-add', + 'type', 'button' + ); + const remove_button = quickElement( + 'button', + quickElement('li', selector_chooser), + interpolate(gettext('Remove selected %s'), [field_name]), + 'id', field_id + '_remove', + 'class', 'selector-remove', + 'type', 'button' + ); + + //
      + const selector_chosen = quickElement('div', selector_div, '', 'id', field_id + '_selector_chosen'); + selector_chosen.className = 'selector-chosen'; + const selector_chosen_title = quickElement('div', selector_chosen); + selector_chosen_title.className = 'selector-chosen-title'; + selector_chosen_title.id = field_id + '_to_title'; + quickElement('label', selector_chosen_title, interpolate(gettext('Chosen %s') + ' ', [field_name]), 'for', field_id + '_to'); + quickElement( + 'p', + selector_chosen_title, + interpolate(gettext('Remove %s by selecting them and then select the "Remove" arrow button.'), [field_name]), + 'class', 'helptext' + ); + + const filter_selected_p = quickElement('p', selector_chosen, '', 'id', field_id + '_filter_selected'); + filter_selected_p.className = 'selector-filter'; + + const search_filter_selected_label = quickElement('label', filter_selected_p, '', 'for', field_id + '_selected_input'); + + quickElement( + 'span', search_filter_selected_label, '', + 'class', 'help-tooltip search-label-icon', + 'aria-label', interpolate(gettext("Type into this box to filter down the list of selected %s."), [field_name]) + ); + + filter_selected_p.appendChild(document.createTextNode(' ')); + + const filter_selected_input = quickElement('input', filter_selected_p, '', 'type', 'text', 'placeholder', gettext("Filter")); + filter_selected_input.id = field_id + '_selected_input'; + + quickElement( + 'select', + selector_chosen, + '', + 'id', field_id + '_to', + 'multiple', '', + 'size', from_box.size, + 'name', from_box.name, + 'aria-labelledby', field_id + '_to_title', + 'class', 'filtered' + ); + const warning_footer = quickElement('div', selector_chosen, '', 'class', 'list-footer-display'); + quickElement('span', warning_footer, '', 'id', field_id + '_list-footer-display-text'); + quickElement('span', warning_footer, ' ' + gettext('(click to clear)'), 'class', 'list-footer-display__clear'); + const clear_all = quickElement( + 'button', + selector_chosen, + interpolate(gettext('Remove all %s'), [field_name]), + 'id', field_id + '_remove_all', + 'class', 'selector-clearall', + 'type', 'button' + ); + + from_box.name = from_box.name + '_old'; + + // Set up the JavaScript event handlers for the select box filter interface + const move_selection = function(e, elem, move_func, from, to) { + if (!elem.hasAttribute('disabled')) { + move_func(from, to); + SelectFilter.refresh_icons(field_id); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + } + e.preventDefault(); + }; + choose_all.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move_all, field_id + '_from', field_id + '_to'); + }); + add_button.addEventListener('click', function(e) { + move_selection(e, this, SelectBox.move, field_id + '_from', field_id + '_to'); + }); + remove_button.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'); + }); + warning_footer.addEventListener('click', function(e) { + filter_selected_input.value = ''; + SelectBox.filter(field_id + '_to', ''); + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }); + filter_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_from', '_to'); + }); + filter_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_from'); + }); + filter_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_from', '_to'); + }); + filter_selected_input.addEventListener('keypress', function(e) { + SelectFilter.filter_key_press(e, field_id, '_to', '_from'); + }); + filter_selected_input.addEventListener('keyup', function(e) { + SelectFilter.filter_key_up(e, field_id, '_to', '_selected_input'); + }); + filter_selected_input.addEventListener('keydown', function(e) { + SelectFilter.filter_key_down(e, field_id, '_to', '_from'); + }); + 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); + } + }); + from_box.closest('form').addEventListener('submit', function() { + SelectBox.filter(field_id + '_to', ''); + 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'); + + // Initial icon refresh + SelectFilter.refresh_icons(field_id); + }, + any_selected: function(field) { + // Temporarily add the required attribute and check validity. + field.required = true; + const any_selected = field.checkValidity(); + field.required = false; + return any_selected; + }, + refresh_filtered_warning: function(field_id) { + const count = SelectBox.get_hidden_node_count(field_id + '_to'); + const selector = document.getElementById(field_id + '_selector_chosen'); + const warning = document.getElementById(field_id + '_list-footer-display-text'); + selector.className = selector.className.replace('selector-chosen--with-filtered', ''); + warning.textContent = interpolate(ngettext( + '%s selected option not visible', + '%s selected options not visible', + count + ), [count]); + if(count > 0) { + selector.className += ' selector-chosen--with-filtered'; + } + }, + refresh_filtered_selects: function(field_id) { + SelectBox.filter(field_id + '_from', document.getElementById(field_id + "_input").value); + SelectBox.filter(field_id + '_to', document.getElementById(field_id + "_selected_input").value); + }, + refresh_icons: function(field_id) { + const from = document.getElementById(field_id + '_from'); + const to = document.getElementById(field_id + '_to'); + // Disabled if no items are selected. + document.getElementById(field_id + '_add').disabled = !SelectFilter.any_selected(from); + document.getElementById(field_id + '_remove').disabled = !SelectFilter.any_selected(to); + // Disabled if the corresponding box is empty. + document.getElementById(field_id + '_add_all').disabled = !from.querySelector('option'); + document.getElementById(field_id + '_remove_all').disabled = !to.querySelector('option'); + }, + filter_key_press: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // don't submit form if user pressed Enter + if ((event.which && event.which === 13) || (event.keyCode && event.keyCode === 13)) { + source_box.selectedIndex = 0; + SelectBox.move(field_id + source, field_id + target); + source_box.selectedIndex = 0; + event.preventDefault(); + } + }, + filter_key_up: function(event, field_id, source, filter_input) { + const input = filter_input || '_input'; + const source_box = document.getElementById(field_id + source); + const temp = source_box.selectedIndex; + SelectBox.filter(field_id + source, document.getElementById(field_id + input).value); + source_box.selectedIndex = temp; + SelectFilter.refresh_filtered_warning(field_id); + SelectFilter.refresh_icons(field_id); + }, + filter_key_down: function(event, field_id, source, target) { + const source_box = document.getElementById(field_id + source); + // right key (39) or left key (37) + const direction = source === '_from' ? 39 : 37; + // right arrow -- move across + if ((event.which && event.which === direction) || (event.keyCode && event.keyCode === direction)) { + const old_index = source_box.selectedIndex; + SelectBox.move(field_id + source, field_id + target); + SelectFilter.refresh_filtered_selects(field_id); + SelectFilter.refresh_filtered_warning(field_id); + source_box.selectedIndex = (old_index === source_box.length) ? source_box.length - 1 : old_index; + return; + } + // down arrow -- wrap around + if ((event.which && event.which === 40) || (event.keyCode && event.keyCode === 40)) { + source_box.selectedIndex = (source_box.length === source_box.selectedIndex + 1) ? 0 : source_box.selectedIndex + 1; + } + // up arrow -- wrap around + if ((event.which && event.which === 38) || (event.keyCode && event.keyCode === 38)) { + source_box.selectedIndex = (source_box.selectedIndex === 0) ? source_box.length - 1 : source_box.selectedIndex - 1; + } + } + }; + + window.addEventListener('load', function(e) { + document.querySelectorAll('select.selectfilter, select.selectfilterstacked').forEach(function(el) { + const data = el.dataset; + SelectFilter.init(el.id, data.fieldName, parseInt(data.isStacked, 10)); + }); + }); +} diff --git a/staticfiles/admin/js/actions.js b/staticfiles/admin/js/actions.js new file mode 100644 index 0000000..04b25e9 --- /dev/null +++ b/staticfiles/admin/js/actions.js @@ -0,0 +1,204 @@ +/*global gettext, interpolate, ngettext, Actions*/ +'use strict'; +{ + function show(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.remove('hidden'); + }); + } + + function hide(selector) { + document.querySelectorAll(selector).forEach(function(el) { + el.classList.add('hidden'); + }); + } + + function showQuestion(options) { + hide(options.acrossClears); + show(options.acrossQuestions); + hide(options.allContainer); + } + + function showClear(options) { + show(options.acrossClears); + hide(options.acrossQuestions); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + show(options.allContainer); + hide(options.counterContainer); + } + + function reset(options) { + hide(options.acrossClears); + hide(options.acrossQuestions); + hide(options.allContainer); + show(options.counterContainer); + } + + function clearAcross(options) { + reset(options); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 0; + }); + document.querySelector(options.actionContainer).classList.remove(options.selectedClass); + } + + function checker(actionCheckboxes, options, checked) { + if (checked) { + showQuestion(options); + } else { + reset(options); + } + actionCheckboxes.forEach(function(el) { + el.checked = checked; + el.closest('tr').classList.toggle(options.selectedClass, checked); + }); + } + + function updateCounter(actionCheckboxes, options) { + const sel = Array.from(actionCheckboxes).filter(function(el) { + return el.checked; + }).length; + const counter = document.querySelector(options.counterContainer); + // data-actions-icnt is defined in the generated HTML + // and contains the total amount of objects in the queryset + const actions_icnt = Number(counter.dataset.actionsIcnt); + counter.textContent = interpolate( + ngettext('%(sel)s of %(cnt)s selected', '%(sel)s of %(cnt)s selected', sel), { + sel: sel, + cnt: actions_icnt + }, true); + const allToggle = document.getElementById(options.allToggleId); + allToggle.checked = sel === actionCheckboxes.length; + if (allToggle.checked) { + showQuestion(options); + } else { + clearAcross(options); + } + } + + const 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", + allToggleId: "action-toggle", + selectedClass: "selected" + }; + + window.Actions = function(actionCheckboxes, options) { + options = Object.assign({}, defaults, options); + let list_editable_changed = false; + let lastChecked = null; + let shiftPressed = false; + + document.addEventListener('keydown', (event) => { + shiftPressed = event.shiftKey; + }); + + document.addEventListener('keyup', (event) => { + shiftPressed = event.shiftKey; + }); + + document.getElementById(options.allToggleId).addEventListener('click', function(event) { + checker(actionCheckboxes, options, this.checked); + updateCounter(actionCheckboxes, options); + }); + + document.querySelectorAll(options.acrossQuestions + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + const acrossInputs = document.querySelectorAll(options.acrossInput); + acrossInputs.forEach(function(acrossInput) { + acrossInput.value = 1; + }); + showClear(options); + }); + }); + + document.querySelectorAll(options.acrossClears + " a").forEach(function(el) { + el.addEventListener('click', function(event) { + event.preventDefault(); + document.getElementById(options.allToggleId).checked = false; + clearAcross(options); + checker(actionCheckboxes, options, false); + updateCounter(actionCheckboxes, options); + }); + }); + + function affectedCheckboxes(target, withModifier) { + const multiSelect = (lastChecked && withModifier && lastChecked !== target); + if (!multiSelect) { + return [target]; + } + const checkboxes = Array.from(actionCheckboxes); + const targetIndex = checkboxes.findIndex(el => el === target); + const lastCheckedIndex = checkboxes.findIndex(el => el === lastChecked); + const startIndex = Math.min(targetIndex, lastCheckedIndex); + const endIndex = Math.max(targetIndex, lastCheckedIndex); + const filtered = checkboxes.filter((el, index) => (startIndex <= index) && (index <= endIndex)); + return filtered; + }; + + Array.from(document.getElementById('result_list').tBodies).forEach(function(el) { + el.addEventListener('change', function(event) { + const target = event.target; + if (target.classList.contains('action-select')) { + const checkboxes = affectedCheckboxes(target, shiftPressed); + checker(checkboxes, options, target.checked); + updateCounter(actionCheckboxes, options); + lastChecked = target; + } else { + list_editable_changed = true; + } + }); + }); + + document.querySelector('#changelist-form button[name=index]').addEventListener('click', function(event) { + if (list_editable_changed) { + const confirmed = confirm(gettext("You have unsaved changes on individual editable fields. If you run an action, your unsaved changes will be lost.")); + if (!confirmed) { + event.preventDefault(); + } + } + }); + + const el = document.querySelector('#changelist-form input[name=_save]'); + // The button does not exist if no fields are editable. + if (el) { + el.addEventListener('click', function(event) { + if (document.querySelector('[name=action]').value) { + const text = list_editable_changed + ? 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.") + : 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."); + if (!confirm(text)) { + event.preventDefault(); + } + } + }); + } + // Sync counter when navigating to the page, such as through the back + // button. + window.addEventListener('pageshow', (event) => updateCounter(actionCheckboxes, options)); + }; + + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + const actionsEls = document.querySelectorAll('tr input.action-select'); + if (actionsEls.length > 0) { + Actions(actionsEls); + } + }); +} diff --git a/staticfiles/admin/js/admin/DateTimeShortcuts.js b/staticfiles/admin/js/admin/DateTimeShortcuts.js new file mode 100644 index 0000000..aa1cae9 --- /dev/null +++ b/staticfiles/admin/js/admin/DateTimeShortcuts.js @@ -0,0 +1,408 @@ +/*global Calendar, findPosX, findPosY, get_format, gettext, gettext_noop, interpolate, ngettext, quickElement*/ +// Inserts shortcut buttons after all of the following: +// +// +'use strict'; +{ + const 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
      that gets toggled + calendarDivName2: 'calendarin', // name of
      that contains calendar + calendarLinkName: 'calendarlink', // name of the link that is used to toggle + clockDivName: 'clockbox', // name of clock
      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() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localOffset = new Date().getTimezoneOffset() * -60; + DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; + } + + for (const inp of document.getElementsByTagName('input')) { + if (inp.type === 'text' && inp.classList.contains('vTimeField')) { + DateTimeShortcuts.addClock(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + else if (inp.type === 'text' && inp.classList.contains('vDateField')) { + DateTimeShortcuts.addCalendar(inp); + DateTimeShortcuts.addTimezoneWarning(inp); + } + } + }, + // Return the current time while accounting for the server timezone. + now: function() { + const serverOffset = document.body.dataset.adminUtcOffset; + if (serverOffset) { + const localNow = new Date(); + const 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) { + const warningClass = DateTimeShortcuts.timezoneWarningClass; + let 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; + } + + let 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]); + + const warning = document.createElement('div'); + warning.classList.add('help', warningClass); + warning.textContent = message; + inp.parentNode.appendChild(warning); + }, + // Add clock widget to a given field + addClock: function(inp) { + const num = DateTimeShortcuts.clockInputs.length; + DateTimeShortcuts.clockInputs[num] = inp; + DateTimeShortcuts.dismissClockFunc[num] = function() { DateTimeShortcuts.dismissClock(num); return true; }; + + // Shortcut links (clock icon and "Now" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const now_link = document.createElement('a'); + now_link.href = "#"; + now_link.textContent = gettext('Now'); + now_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleClockQuicklink(num, -1); + }); + const clock_link = document.createElement('a'); + clock_link.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: + // + + const clock_box = document.createElement('div'); + clock_box.style.display = 'none'; + clock_box.style.position = 'absolute'; + clock_box.className = 'clockbox module'; + clock_box.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')); + const 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 . + const name = typeof DateTimeShortcuts.clockHours[inp.name] === 'undefined' ? 'default_' : inp.name; + DateTimeShortcuts.clockHours[name].forEach(function(element) { + const 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]); + }); + }); + + const cancel_p = quickElement('p', clock_box); + cancel_p.className = 'calendar-cancel'; + const 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) { + const clock_box = document.getElementById(DateTimeShortcuts.clockDivName + num); + const clock_link = document.getElementById(DateTimeShortcuts.clockLinkName + num); + + // Recalculate the clockbox position + // is it left-to-right or right-to-left layout ? + if (window.getComputedStyle(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 + 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) { + let 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) { + const num = DateTimeShortcuts.calendars.length; + + DateTimeShortcuts.calendarInputs[num] = inp; + DateTimeShortcuts.dismissCalendarFunc[num] = function() { DateTimeShortcuts.dismissCalendar(num); return true; }; + + // Shortcut links (calendar icon and "Today" link) + const shortcuts_span = document.createElement('span'); + shortcuts_span.className = DateTimeShortcuts.shortCutsClass; + inp.parentNode.insertBefore(shortcuts_span, inp.nextSibling); + const today_link = document.createElement('a'); + today_link.href = '#'; + today_link.appendChild(document.createTextNode(gettext('Today'))); + today_link.addEventListener('click', function(e) { + e.preventDefault(); + DateTimeShortcuts.handleCalendarQuickLink(num, 0); + }); + const cal_link = document.createElement('a'); + cal_link.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: + // + //
      + //

      + // + // February 2003 + //

      + //
      + // + //
      + //
      + // Yesterday | Today | Tomorrow + //
      + //

      Cancel

      + //
      + const cal_box = document.createElement('div'); + cal_box.style.display = 'none'; + cal_box.style.position = 'absolute'; + cal_box.className = 'calendarbox module'; + cal_box.id = DateTimeShortcuts.calendarDivName1 + num; + document.body.appendChild(cal_box); + cal_box.addEventListener('click', function(e) { e.stopPropagation(); }); + + // next-prev links + const cal_nav = quickElement('div', cal_box); + const 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); + }); + + const 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 + const 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 + const shortcuts = quickElement('div', cal_box); + shortcuts.className = 'calendar-shortcuts'; + let 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 + const cancel_p = quickElement('p', cal_box); + cancel_p.className = 'calendar-cancel'; + const 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) { + const cal_box = document.getElementById(DateTimeShortcuts.calendarDivName1 + num); + const cal_link = document.getElementById(DateTimeShortcuts.calendarLinkName + num); + const 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) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + const selected = inp.value.strptime(format); + const year = selected.getUTCFullYear(); + const month = selected.getUTCMonth() + 1; + const 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 (window.getComputedStyle(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 + 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) { + const format = get_format('DATE_INPUT_FORMATS')[0]; + 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) { + const 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/staticfiles/admin/js/admin/RelatedObjectLookups.js b/staticfiles/admin/js/admin/RelatedObjectLookups.js new file mode 100644 index 0000000..1fc03c6 --- /dev/null +++ b/staticfiles/admin/js/admin/RelatedObjectLookups.js @@ -0,0 +1,252 @@ +/*global SelectBox, interpolate*/ +// Handles related-objects functionality: lookup link for raw_id_fields +// and Add Another links. +'use strict'; +{ + const $ = django.jQuery; + let popupIndex = 0; + const relatedWindows = []; + + function dismissChildPopups() { + relatedWindows.forEach(function(win) { + if(!win.closed) { + win.dismissChildPopups(); + win.close(); + } + }); + } + + function setPopupIndex() { + if(document.getElementsByName("_popup").length > 0) { + const index = window.name.lastIndexOf("__") + 2; + popupIndex = parseInt(window.name.substring(index)); + } else { + popupIndex = 0; + } + } + + function addPopupIndex(name) { + return name + "__" + (popupIndex + 1); + } + + function removePopupIndex(name) { + return name.replace(new RegExp("__" + (popupIndex + 1) + "$"), ''); + } + + function showAdminPopup(triggeringLink, name_regexp, add_popup) { + const name = addPopupIndex(triggeringLink.id.replace(name_regexp, '')); + const href = new URL(triggeringLink.href); + if (add_popup) { + href.searchParams.set('_popup', 1); + } + const win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes'); + relatedWindows.push(win); + win.focus(); + return false; + } + + function showRelatedObjectLookupPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^lookup_/, true); + } + + function dismissRelatedLookupPopup(win, chosenId) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + chosenId; + } else { + elem.value = chosenId; + } + $(elem).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function showRelatedObjectPopup(triggeringLink) { + return showAdminPopup(triggeringLink, /^(change|add|delete)_/, false); + } + + function updateRelatedObjectLinks(triggeringLink) { + const $this = $(triggeringLink); + const siblings = $this.nextAll('.view-related, .change-related, .delete-related'); + if (!siblings.length) { + return; + } + const value = $this.val(); + if (value) { + siblings.each(function() { + const elm = $(this); + elm.attr('href', elm.attr('data-href-template').replace('__fk__', value)); + elm.removeAttr('aria-disabled'); + }); + } else { + siblings.removeAttr('href'); + siblings.attr('aria-disabled', true); + } + } + + function updateRelatedSelectsOptions(currentSelect, win, objId, newRepr, newId, skipIds = []) { + // After create/edit a model from the options next to the current + // select (+ or :pencil:) update ForeignKey PK of the rest of selects + // in the page. + + const path = win.location.pathname; + // Extract the model from the popup url '...//add/' or + // '...///change/' depending the action (add or change). + const modelName = path.split('/')[path.split('/').length - (objId ? 4 : 3)]; + // Select elements with a specific model reference and context of "available-source". + const selectsRelated = document.querySelectorAll(`[data-model-ref="${modelName}"] [data-context="available-source"]`); + + selectsRelated.forEach(function(select) { + if (currentSelect === select || skipIds && skipIds.includes(select.id)) { + return; + } + + let option = select.querySelector(`option[value="${objId}"]`); + + if (!option) { + option = new Option(newRepr, newId); + select.options.add(option); + // Update SelectBox cache for related fields. + if (window.SelectBox !== undefined && !SelectBox.cache[currentSelect.id]) { + SelectBox.add_to_cache(select.id, option); + SelectBox.redisplay(select.id); + } + return; + } + + option.textContent = newRepr; + option.value = newId; + }); + } + + function dismissAddRelatedObjectPopup(win, newId, newRepr) { + const name = removePopupIndex(win.name); + const elem = document.getElementById(name); + if (elem) { + const elemName = elem.nodeName.toUpperCase(); + if (elemName === 'SELECT') { + elem.options[elem.options.length] = new Option(newRepr, newId, true, true); + updateRelatedSelectsOptions(elem, win, null, newRepr, newId); + } else if (elemName === 'INPUT') { + if (elem.classList.contains('vManyToManyRawIdAdminField') && elem.value) { + elem.value += ',' + newId; + } else { + elem.value = newId; + } + } + // Trigger a change event to update related links if required. + $(elem).trigger('change'); + } else { + const toId = name + "_to"; + const toElem = document.getElementById(toId); + const o = new Option(newRepr, newId); + SelectBox.add_to_cache(toId, o); + SelectBox.redisplay(toId); + if (toElem && toElem.nodeName.toUpperCase() === 'SELECT') { + const skipIds = [name + "_from"]; + updateRelatedSelectsOptions(toElem, win, null, newRepr, newId, skipIds); + } + } + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissChangeRelatedObjectPopup(win, objId, newRepr, newId) { + const id = removePopupIndex(win.name.replace(/^edit_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + this.textContent = newRepr; + this.value = newId; + } + }).trigger('change'); + updateRelatedSelectsOptions(selects[0], win, objId, newRepr, 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; + }); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + function dismissDeleteRelatedObjectPopup(win, objId) { + const id = removePopupIndex(win.name.replace(/^delete_/, '')); + const selectsSelector = interpolate('#%s, #%s_from, #%s_to', [id, id, id]); + const selects = $(selectsSelector); + selects.find('option').each(function() { + if (this.value === objId) { + $(this).remove(); + } + }).trigger('change'); + const index = relatedWindows.indexOf(win); + if (index > -1) { + relatedWindows.splice(index, 1); + } + win.close(); + } + + window.showRelatedObjectLookupPopup = showRelatedObjectLookupPopup; + window.dismissRelatedLookupPopup = dismissRelatedLookupPopup; + window.showRelatedObjectPopup = showRelatedObjectPopup; + window.updateRelatedObjectLinks = updateRelatedObjectLinks; + window.dismissAddRelatedObjectPopup = dismissAddRelatedObjectPopup; + window.dismissChangeRelatedObjectPopup = dismissChangeRelatedObjectPopup; + window.dismissDeleteRelatedObjectPopup = dismissDeleteRelatedObjectPopup; + window.dismissChildPopups = dismissChildPopups; + window.relatedWindows = relatedWindows; + + // Kept for backward compatibility + window.showAddAnotherPopup = showRelatedObjectPopup; + window.dismissAddAnotherPopup = dismissAddRelatedObjectPopup; + + window.addEventListener('unload', function(evt) { + window.dismissChildPopups(); + }); + + $(document).ready(function() { + setPopupIndex(); + $("a[data-popup-opener]").on('click', function(event) { + event.preventDefault(); + opener.dismissRelatedLookupPopup(window, $(this).data("popup-opener")); + }); + $('body').on('click', '.related-widget-wrapper-link[data-popup="yes"]', function(e) { + e.preventDefault(); + if (this.href) { + const 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) { + const 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(); + const event = $.Event('django:lookup-related'); + $(this).trigger(event); + if (!event.isDefaultPrevented()) { + showRelatedObjectLookupPopup(this); + } + }); + }); +} diff --git a/staticfiles/admin/js/autocomplete.js b/staticfiles/admin/js/autocomplete.js new file mode 100644 index 0000000..d3daeab --- /dev/null +++ b/staticfiles/admin/js/autocomplete.js @@ -0,0 +1,33 @@ +'use strict'; +{ + const $ = django.jQuery; + + $.fn.djangoAdminSelect2 = function() { + $.each(this, function(i, element) { + $(element).select2({ + ajax: { + data: (params) => { + return { + term: params.term, + page: params.page, + app_label: element.dataset.appLabel, + model_name: element.dataset.modelName, + field_name: element.dataset.fieldName + }; + } + } + }); + }); + 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.addEventListener('formset:added', (event) => { + $(event.target).find('.admin-autocomplete').djangoAdminSelect2(); + }); +} diff --git a/staticfiles/admin/js/calendar.js b/staticfiles/admin/js/calendar.js new file mode 100644 index 0000000..776310f --- /dev/null +++ b/staticfiles/admin/js/calendar.js @@ -0,0 +1,239 @@ +/*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 +*/ +'use strict'; +{ + // CalendarNamespace -- Provides a collection of HTML calendar-related helper functions + const 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') + ], + monthsOfYearAbbrev: [ + pgettext('abbrev. month January', 'Jan'), + pgettext('abbrev. month February', 'Feb'), + pgettext('abbrev. month March', 'Mar'), + pgettext('abbrev. month April', 'Apr'), + pgettext('abbrev. month May', 'May'), + pgettext('abbrev. month June', 'Jun'), + pgettext('abbrev. month July', 'Jul'), + pgettext('abbrev. month August', 'Aug'), + pgettext('abbrev. month September', 'Sep'), + pgettext('abbrev. month October', 'Oct'), + pgettext('abbrev. month November', 'Nov'), + pgettext('abbrev. month December', 'Dec') + ], + daysOfWeek: [ + gettext('Sunday'), + gettext('Monday'), + gettext('Tuesday'), + gettext('Wednesday'), + gettext('Thursday'), + gettext('Friday'), + gettext('Saturday') + ], + daysOfWeekAbbrev: [ + pgettext('abbrev. day Sunday', 'Sun'), + pgettext('abbrev. day Monday', 'Mon'), + pgettext('abbrev. day Tuesday', 'Tue'), + pgettext('abbrev. day Wednesday', 'Wed'), + pgettext('abbrev. day Thursday', 'Thur'), + pgettext('abbrev. day Friday', 'Fri'), + pgettext('abbrev. day Saturday', 'Sat') + ], + daysOfWeekInitial: [ + 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) { + let 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 + const today = new Date(); + const todayDay = today.getDate(); + const todayMonth = today.getMonth() + 1; + const todayYear = today.getFullYear(); + let 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. + let isSelectedMonth = false; + if (typeof selected !== 'undefined') { + isSelectedMonth = (selected.getUTCFullYear() === year && (selected.getUTCMonth() + 1) === month); + } + + month = parseInt(month); + year = parseInt(year); + const calDiv = document.getElementById(div_id); + removeChildren(calDiv); + const calTable = document.createElement('table'); + quickElement('caption', calTable, CalendarNamespace.monthsOfYear[month - 1] + ' ' + year); + const tableBody = quickElement('tbody', calTable); + + // Draw days-of-week header + let tableRow = quickElement('tr', tableBody); + for (let i = 0; i < 7; i++) { + quickElement('th', tableRow, CalendarNamespace.daysOfWeekInitial[(i + CalendarNamespace.firstDayOfWeek) % 7]); + } + + const startingPos = new Date(year, month - 1, 1 - CalendarNamespace.firstDayOfWeek).getDay(); + const days = CalendarNamespace.getDaysInMonth(month, year); + + let nonDayCell; + + // Draw blanks before first of month + tableRow = quickElement('tr', tableBody); + for (let 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 + let currentDay = 1; + for (let 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"; + } + + const cell = quickElement('td', tableRow, '', 'class', todayClass); + const 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/staticfiles/admin/js/cancel.js b/staticfiles/admin/js/cancel.js new file mode 100644 index 0000000..3069c6f --- /dev/null +++ b/staticfiles/admin/js/cancel.js @@ -0,0 +1,29 @@ +'use strict'; +{ + // Call function fn when the DOM is loaded and ready. If it is already + // loaded, call the function now. + // http://youmightnotneedjquery.com/#ready + function ready(fn) { + if (document.readyState !== 'loading') { + fn(); + } else { + document.addEventListener('DOMContentLoaded', fn); + } + } + + ready(function() { + function handleClick(event) { + event.preventDefault(); + const params = new URLSearchParams(window.location.search); + if (params.has('_popup')) { + window.close(); // Close the popup. + } else { + window.history.back(); // Otherwise, go back. + } + } + + document.querySelectorAll('.cancel-link').forEach(function(el) { + el.addEventListener('click', handleClick); + }); + }); +} diff --git a/staticfiles/admin/js/change_form.js b/staticfiles/admin/js/change_form.js new file mode 100644 index 0000000..96a4c62 --- /dev/null +++ b/staticfiles/admin/js/change_form.js @@ -0,0 +1,16 @@ +'use strict'; +{ + const inputTags = ['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']; + const modelName = document.getElementById('django-admin-form-add-constants').dataset.modelName; + if (modelName) { + const form = document.getElementById(modelName + '_form'); + for (const element of form.elements) { + // HTMLElement.offsetParent returns null when the element is not + // rendered. + if (inputTags.includes(element.tagName) && !element.disabled && element.offsetParent) { + element.focus(); + break; + } + } + } +} diff --git a/staticfiles/admin/js/core.js b/staticfiles/admin/js/core.js new file mode 100644 index 0000000..10504d4 --- /dev/null +++ b/staticfiles/admin/js/core.js @@ -0,0 +1,184 @@ +// Core JavaScript helper functions +'use strict'; + +// quickElement(tagType, parentReference [, textInChildNode, attribute, attributeValue ...]); +function quickElement() { + const obj = document.createElement(arguments[0]); + if (arguments[2]) { + const textNode = document.createTextNode(arguments[2]); + obj.appendChild(textNode); + } + const len = arguments.length; + for (let 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) { + while (a.hasChildNodes()) { + a.removeChild(a.lastChild); + } +} + +// ---------------------------------------------------------------------------- +// Find-position functions by PPK +// See https://www.quirksmode.org/js/findpos.html +// ---------------------------------------------------------------------------- +function findPosX(obj) { + let curleft = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curleft += obj.offsetLeft - obj.scrollLeft; + obj = obj.offsetParent; + } + } else if (obj.x) { + curleft += obj.x; + } + return curleft; +} + +function findPosY(obj) { + let curtop = 0; + if (obj.offsetParent) { + while (obj.offsetParent) { + curtop += obj.offsetTop - obj.scrollTop; + obj = obj.offsetParent; + } + } else if (obj.y) { + curtop += obj.y; + } + return curtop; +} + +//----------------------------------------------------------------------------- +// Date object extensions +// ---------------------------------------------------------------------------- +{ + Date.prototype.getTwelveHours = function() { + return this.getHours() % 12 || 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.getAbbrevDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeekAbbrev[this.getDay()]; + }; + + Date.prototype.getFullDayName = function() { + return typeof window.CalendarNamespace === "undefined" + ? '0' + this.getDay() + : window.CalendarNamespace.daysOfWeek[this.getDay()]; + }; + + Date.prototype.getAbbrevMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYearAbbrev[this.getMonth()]; + }; + + Date.prototype.getFullMonthName = function() { + return typeof window.CalendarNamespace === "undefined" + ? this.getTwoDigitMonth() + : window.CalendarNamespace.monthsOfYear[this.getMonth()]; + }; + + Date.prototype.strftime = function(format) { + const fields = { + a: this.getAbbrevDayName(), + A: this.getFullDayName(), + b: this.getAbbrevMonthName(), + 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(), + '%': '%' + }; + let result = '', i = 0; + while (i < format.length) { + if (format.charAt(i) === '%') { + result += fields[format.charAt(i + 1)]; + ++i; + } + else { + result += format.charAt(i); + } + ++i; + } + return result; + }; + + // ---------------------------------------------------------------------------- + // String object extensions + // ---------------------------------------------------------------------------- + String.prototype.strptime = function(format) { + const split_format = format.split(/[.\-/]/); + const date = this.split(/[.\-/]/); + let i = 0; + let 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": + // A %y value in the range of [00, 68] is in the current + // century, while [69, 99] is in the previous century, + // according to the Open Group Specification. + if (parseInt(date[i], 10) >= 69) { + year = date[i]; + } else { + year = (new Date(Date.UTC(date[i], 0))).getUTCFullYear() + 100; + } + 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)); + }; +} diff --git a/staticfiles/admin/js/filters.js b/staticfiles/admin/js/filters.js new file mode 100644 index 0000000..f5536eb --- /dev/null +++ b/staticfiles/admin/js/filters.js @@ -0,0 +1,30 @@ +/** + * Persist changelist filters state (collapsed/expanded). + */ +'use strict'; +{ + // Init filters. + let filters = JSON.parse(sessionStorage.getItem('django.admin.filtersState')); + + if (!filters) { + filters = {}; + } + + Object.entries(filters).forEach(([key, value]) => { + const detailElement = document.querySelector(`[data-filter-title='${CSS.escape(key)}']`); + + // Check if the filter is present, it could be from other view. + if (detailElement) { + value ? detailElement.setAttribute('open', '') : detailElement.removeAttribute('open'); + } + }); + + // Save filter state when clicks. + const details = document.querySelectorAll('details'); + details.forEach(detail => { + detail.addEventListener('toggle', event => { + filters[`${event.target.dataset.filterTitle}`] = detail.open; + sessionStorage.setItem('django.admin.filtersState', JSON.stringify(filters)); + }); + }); +} diff --git a/staticfiles/admin/js/inlines.js b/staticfiles/admin/js/inlines.js new file mode 100644 index 0000000..cd3726c --- /dev/null +++ b/staticfiles/admin/js/inlines.js @@ -0,0 +1,359 @@ +/*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 + */ +'use strict'; +{ + const $ = django.jQuery; + $.fn.formset = function(opts) { + const options = $.extend({}, $.fn.formset.defaults, opts); + const $this = $(this); + const $parent = $this.parent(); + const updateElementIndex = function(el, prefix, ndx) { + const id_regex = new RegExp("(" + prefix + "-(\\d+|__prefix__))"); + const 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); + } + }; + const totalForms = $("#id_" + options.prefix + "-TOTAL_FORMS").prop("autocomplete", "off"); + let nextIndex = parseInt(totalForms.val(), 10); + const maxForms = $("#id_" + options.prefix + "-MAX_NUM_FORMS").prop("autocomplete", "off"); + const minForms = $("#id_" + options.prefix + "-MIN_NUM_FORMS").prop("autocomplete", "off"); + let addButton; + + /** + * The "Add another MyModel" button below the inline forms. + */ + const addInlineAddButton = function() { + 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: + const numCols = $this.eq(-1).children().length; + $parent.append('' + options.addText + ""); + addButton = $parent.find("tr:last a"); + } else { + // Otherwise, insert it immediately after the last form: + $this.filter(":last").after('"); + addButton = $this.filter(":last").next().find("a"); + } + } + addButton.on('click', addInlineClickHandler); + }; + + const addInlineClickHandler = function(e) { + e.preventDefault(); + const template = $("#" + options.prefix + "-empty"); + const row = template.clone(true); + row.removeClass(options.emptyCssClass) + .addClass(options.formCssClass) + .attr("id", options.prefix + "-" + nextIndex); + addInlineDeleteButton(row); + 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 the add button if there's a limit and it's been reached. + if ((maxForms.val() !== '') && (maxForms.val() - totalForms.val()) <= 0) { + addButton.parent().hide(); + } + // Show the remove buttons if there are more than min_num. + toggleDeleteButtonVisibility(row.closest('.inline-group')); + + // Pass the new form to the post-add callback, if provided. + if (options.added) { + options.added(row); + } + row.get(0).dispatchEvent(new CustomEvent("formset:added", { + bubbles: true, + detail: { + formsetName: options.prefix + } + })); + }; + + /** + * The "X" button that is part of every unsaved inline. + * (When saved, it is replaced with a "Delete" checkbox.) + */ + const addInlineDeleteButton = function(row) { + 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('"); + } else if (row.is("ul") || row.is("ol")) { + // If they're laid out as an ordered/unordered list, + // insert an
    • after the last list item: + row.append('
    • ' + options.deleteText + "
    • "); + } else { + // Otherwise, just insert the remove button as the + // last child element of the form's container: + row.children(":first").append('' + options.deleteText + ""); + } + // Add delete handler for each row. + row.find("a." + options.deleteCssClass).on('click', inlineDeleteHandler.bind(this)); + }; + + const inlineDeleteHandler = function(e1) { + e1.preventDefault(); + const deleteButton = $(e1.target); + const row = deleteButton.closest('.' + options.formCssClass); + const inlineGroup = row.closest('.inline-group'); + // Remove the parent form containing this button, + // and also remove the relevant row with non-field errors: + const prevRow = row.prev(); + if (prevRow.length && prevRow.hasClass('row-form-errors')) { + prevRow.remove(); + } + row.remove(); + nextIndex -= 1; + // Pass the deleted form to the post-delete callback, if provided. + if (options.removed) { + options.removed(row); + } + document.dispatchEvent(new CustomEvent("formset:removed", { + detail: { + formsetName: options.prefix + } + })); + // Update the TOTAL_FORMS form count. + const forms = $("." + options.formCssClass); + $("#id_" + options.prefix + "-TOTAL_FORMS").val(forms.length); + // Show add button again once below maximum number. + if ((maxForms.val() === '') || (maxForms.val() - forms.length) > 0) { + addButton.parent().show(); + } + // Hide the remove buttons if at min_num. + toggleDeleteButtonVisibility(inlineGroup); + // Also, update names and ids for all remaining form controls so + // they remain in sequence: + let i, formCount; + const 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); + } + }; + + const toggleDeleteButtonVisibility = function(inlineGroup) { + if ((minForms.val() !== '') && (minForms.val() - totalForms.val()) >= 0) { + inlineGroup.find('.inline-deletelink').hide(); + } else { + inlineGroup.find('.inline-deletelink').show(); + } + }; + + $this.each(function(i) { + $(this).not("." + options.emptyCssClass).addClass(options.formCssClass); + }); + + // Create the delete buttons for all unsaved inlines: + $this.filter('.' + options.formCssClass + ':not(.has_original):not(.' + options.emptyCssClass + ')').each(function() { + addInlineDeleteButton($(this)); + }); + toggleDeleteButtonVisibility($this); + + // Create the add button, initially hidden. + addButton = options.addButton; + addInlineAddButton(); + + // Show the add button if allowed to add more items. + // Note that max_num = None translates to a blank string. + const showAddButton = maxForms.val() === '' || (maxForms.val() - totalForms.val()) > 0; + if ($this.length && showAddButton) { + addButton.parent().show(); + } else { + addButton.parent().hide(); + } + + 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) { + const $rows = $(this); + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const 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) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $('.selectfilterstacked').each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const 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", + added: function(row) { + initPrepopulatedFields(row); + reinitDateTimeShortCuts(); + updateSelectFilter(); + }, + addButton: options.addButton + }); + + return $rows; + }; + + // Stacked inlines --------------------------------------------------------- + $.fn.stackedFormset = function(selector, options) { + const $rows = $(this); + const updateInlineLabel = function(row) { + $(selector).find(".inline_label").each(function(i) { + const count = i + 1; + $(this).html($(this).html().replace(/(#\d+)/g, "#" + count)); + }); + }; + + const reinitDateTimeShortCuts = function() { + // Reinitialize the calendar and clock widgets by force, yuck. + if (typeof DateTimeShortcuts !== "undefined") { + $(".datetimeshortcuts").remove(); + DateTimeShortcuts.init(); + } + }; + + const updateSelectFilter = function() { + // If any SelectFilter widgets were added, instantiate a new instance. + if (typeof SelectFilter !== "undefined") { + $(".selectfilter").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, false); + }); + $(".selectfilterstacked").each(function(index, value) { + SelectFilter.init(value.id, this.dataset.fieldName, true); + }); + } + }; + + const initPrepopulatedFields = function(row) { + row.find('.prepopulated_field').each(function() { + const field = $(this), + input = field.find('input, select, textarea'), + dependency_list = input.data('dependency_list') || [], + dependencies = []; + $.each(dependency_list, function(i, field_name) { + // Dependency in a fieldset. + let field_element = row.find('.form-row .field-' + field_name); + // Dependency without a fieldset. + if (!field_element.length) { + field_element = row.find('.form-row.field-' + field_name); + } + dependencies.push('#' + field_element.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() { + const data = $(this).data(), + inlineOptions = data.inlineFormset; + let 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.form-row"; + $(selector).tabularFormset(selector, inlineOptions.options); + break; + } + }); + }); +} diff --git a/staticfiles/admin/js/jquery.init.js b/staticfiles/admin/js/jquery.init.js new file mode 100644 index 0000000..f40b27f --- /dev/null +++ b/staticfiles/admin/js/jquery.init.js @@ -0,0 +1,8 @@ +/*global jQuery:false*/ +'use strict'; +/* 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). + */ +window.django = {jQuery: jQuery.noConflict(true)}; diff --git a/staticfiles/admin/js/nav_sidebar.js b/staticfiles/admin/js/nav_sidebar.js new file mode 100644 index 0000000..7e735db --- /dev/null +++ b/staticfiles/admin/js/nav_sidebar.js @@ -0,0 +1,79 @@ +'use strict'; +{ + const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); + if (toggleNavSidebar !== null) { + const navSidebar = document.getElementById('nav-sidebar'); + const main = document.getElementById('main'); + let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); + if (navSidebarIsOpen === null) { + navSidebarIsOpen = 'true'; + } + main.classList.toggle('shifted', navSidebarIsOpen === 'true'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + + toggleNavSidebar.addEventListener('click', function() { + if (navSidebarIsOpen === 'true') { + navSidebarIsOpen = 'false'; + } else { + navSidebarIsOpen = 'true'; + } + localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); + main.classList.toggle('shifted'); + navSidebar.setAttribute('aria-expanded', navSidebarIsOpen); + }); + } + + function initSidebarQuickFilter() { + const options = []; + const navSidebar = document.getElementById('nav-sidebar'); + if (!navSidebar) { + return; + } + navSidebar.querySelectorAll('th[scope=row] a').forEach((container) => { + options.push({title: container.innerHTML, node: container}); + }); + + function checkValue(event) { + let filterValue = event.target.value; + if (filterValue) { + filterValue = filterValue.toLowerCase(); + } + if (event.key === 'Escape') { + filterValue = ''; + event.target.value = ''; // clear input + } + let matches = false; + for (const o of options) { + let displayValue = ''; + if (filterValue) { + if (o.title.toLowerCase().indexOf(filterValue) === -1) { + displayValue = 'none'; + } else { + matches = true; + } + } + // show/hide parent + o.node.parentNode.parentNode.style.display = displayValue; + } + if (!filterValue || matches) { + event.target.classList.remove('no-results'); + } else { + event.target.classList.add('no-results'); + } + sessionStorage.setItem('django.admin.navSidebarFilterValue', filterValue); + } + + const nav = document.getElementById('nav-filter'); + nav.addEventListener('change', checkValue, false); + nav.addEventListener('input', checkValue, false); + nav.addEventListener('keyup', checkValue, false); + + const storedValue = sessionStorage.getItem('django.admin.navSidebarFilterValue'); + if (storedValue) { + nav.value = storedValue; + checkValue({target: nav, key: ''}); + } + } + window.initSidebarQuickFilter = initSidebarQuickFilter; + initSidebarQuickFilter(); +} diff --git a/staticfiles/admin/js/popup_response.js b/staticfiles/admin/js/popup_response.js new file mode 100644 index 0000000..fecf0f4 --- /dev/null +++ b/staticfiles/admin/js/popup_response.js @@ -0,0 +1,15 @@ +'use strict'; +{ + const 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/staticfiles/admin/js/prepopulate.js b/staticfiles/admin/js/prepopulate.js new file mode 100644 index 0000000..89e95ab --- /dev/null +++ b/staticfiles/admin/js/prepopulate.js @@ -0,0 +1,43 @@ +/*global URLify*/ +'use strict'; +{ + const $ = django.jQuery; + $.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() { + const prepopulatedField = $(this); + + const populate = function() { + // Bail if the field's value has been changed by the user + if (prepopulatedField.data('_changed')) { + return; + } + + const 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); + } + }); + }; +} diff --git a/staticfiles/admin/js/prepopulate_init.js b/staticfiles/admin/js/prepopulate_init.js new file mode 100644 index 0000000..a58841f --- /dev/null +++ b/staticfiles/admin/js/prepopulate_init.js @@ -0,0 +1,15 @@ +'use strict'; +{ + const $ = django.jQuery; + const 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 + + ', .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 + ); + }); +} diff --git a/staticfiles/admin/js/theme.js b/staticfiles/admin/js/theme.js new file mode 100644 index 0000000..e79d375 --- /dev/null +++ b/staticfiles/admin/js/theme.js @@ -0,0 +1,51 @@ +'use strict'; +{ + function setTheme(mode) { + if (mode !== "light" && mode !== "dark" && mode !== "auto") { + console.error(`Got invalid theme mode: ${mode}. Resetting to auto.`); + mode = "auto"; + } + document.documentElement.dataset.theme = mode; + localStorage.setItem("theme", mode); + } + + function cycleTheme() { + const currentTheme = localStorage.getItem("theme") || "auto"; + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + + if (prefersDark) { + // Auto (dark) -> Light -> Dark + if (currentTheme === "auto") { + setTheme("light"); + } else if (currentTheme === "light") { + setTheme("dark"); + } else { + setTheme("auto"); + } + } else { + // Auto (light) -> Dark -> Light + if (currentTheme === "auto") { + setTheme("dark"); + } else if (currentTheme === "dark") { + setTheme("light"); + } else { + setTheme("auto"); + } + } + } + + function initTheme() { + // set theme defined in localStorage if there is one, or fallback to auto mode + const currentTheme = localStorage.getItem("theme"); + currentTheme ? setTheme(currentTheme) : setTheme("auto"); + } + + window.addEventListener('load', function(_) { + const buttons = document.getElementsByClassName("theme-toggle"); + Array.from(buttons).forEach((btn) => { + btn.addEventListener("click", cycleTheme); + }); + }); + + initTheme(); +} diff --git a/staticfiles/admin/js/unusable_password_field.js b/staticfiles/admin/js/unusable_password_field.js new file mode 100644 index 0000000..ec26238 --- /dev/null +++ b/staticfiles/admin/js/unusable_password_field.js @@ -0,0 +1,29 @@ +"use strict"; +// Fallback JS for browsers which do not support :has selector used in +// admin/css/unusable_password_fields.css +// Remove file once all supported browsers support :has selector +try { + // If browser does not support :has selector this will raise an error + document.querySelector("form:has(input)"); +} catch (error) { + console.log("Defaulting to javascript for usable password form management: " + error); + // JS replacement for unsupported :has selector + document.querySelectorAll('input[name="usable_password"]').forEach(option => { + option.addEventListener('change', function() { + const usablePassword = (this.value === "true" ? this.checked : !this.checked); + const submit1 = document.querySelector('input[type="submit"].set-password'); + const submit2 = document.querySelector('input[type="submit"].unset-password'); + const messages = document.querySelector('#id_unusable_warning'); + document.getElementById('id_password1').closest('.form-row').hidden = !usablePassword; + document.getElementById('id_password2').closest('.form-row').hidden = !usablePassword; + if (messages) { + messages.hidden = usablePassword; + } + if (submit1 && submit2) { + submit1.hidden = !usablePassword; + submit2.hidden = usablePassword; + } + }); + option.dispatchEvent(new Event('change')); + }); +} diff --git a/staticfiles/admin/js/urlify.js b/staticfiles/admin/js/urlify.js new file mode 100644 index 0000000..9fc0409 --- /dev/null +++ b/staticfiles/admin/js/urlify.js @@ -0,0 +1,169 @@ +/*global XRegExp*/ +'use strict'; +{ + const 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' + }; + const LATIN_SYMBOLS_MAP = { + '©': '(c)' + }; + const 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' + }; + const TURKISH_MAP = { + 'ş': 's', 'Ş': 'S', 'ı': 'i', 'İ': 'I', 'ç': 'c', 'Ç': 'C', 'ü': 'u', + 'Ü': 'U', 'ö': 'o', 'Ö': 'O', 'ğ': 'g', 'Ğ': 'G' + }; + const ROMANIAN_MAP = { + 'ă': 'a', 'î': 'i', 'ș': 's', 'ț': 't', 'â': 'a', + 'Ă': 'A', 'Î': 'I', 'Ș': 'S', 'Ț': 'T', 'Â': 'A' + }; + const 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' + }; + const UKRAINIAN_MAP = { + 'Є': 'Ye', 'І': 'I', 'Ї': 'Yi', 'Ґ': 'G', 'є': 'ye', 'і': 'i', + 'ї': 'yi', 'ґ': 'g' + }; + const CZECH_MAP = { + 'č': 'c', 'ď': 'd', 'ě': 'e', 'ň': 'n', 'ř': 'r', 'š': 's', 'ť': 't', + 'ů': 'u', 'ž': 'z', 'Č': 'C', 'Ď': 'D', 'Ě': 'E', 'Ň': 'N', 'Ř': 'R', + 'Š': 'S', 'Ť': 'T', 'Ů': 'U', 'Ž': 'Z' + }; + const 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' + }; + const POLISH_MAP = { + 'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l', 'ń': 'n', 'ó': 'o', 'ś': 's', + 'ź': 'z', 'ż': 'z', + 'Ą': 'A', 'Ć': 'C', 'Ę': 'E', 'Ł': 'L', 'Ń': 'N', 'Ó': 'O', 'Ś': 'S', + 'Ź': 'Z', 'Ż': 'Z' + }; + const LATVIAN_MAP = { + 'ā': 'a', 'č': 'c', 'ē': 'e', 'ģ': 'g', 'ī': 'i', 'ķ': 'k', 'ļ': 'l', + 'ņ': 'n', 'š': 's', 'ū': 'u', 'ž': 'z', + 'Ā': 'A', 'Č': 'C', 'Ē': 'E', 'Ģ': 'G', 'Ī': 'I', 'Ķ': 'K', 'Ļ': 'L', + 'Ņ': 'N', 'Š': 'S', 'Ū': 'U', 'Ž': 'Z' + }; + const 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' + }; + const LITHUANIAN_MAP = { + 'ą': 'a', 'č': 'c', 'ę': 'e', 'ė': 'e', 'į': 'i', 'š': 's', 'ų': 'u', + 'ū': 'u', 'ž': 'z', + 'Ą': 'A', 'Č': 'C', 'Ę': 'E', 'Ė': 'E', 'Į': 'I', 'Š': 'S', 'Ų': 'U', + 'Ū': 'U', 'Ž': 'Z' + }; + const SERBIAN_MAP = { + 'ђ': 'dj', 'ј': 'j', 'љ': 'lj', 'њ': 'nj', 'ћ': 'c', 'џ': 'dz', + 'đ': 'dj', 'Ђ': 'Dj', 'Ј': 'j', 'Љ': 'Lj', 'Њ': 'Nj', 'Ћ': 'C', + 'Џ': 'Dz', 'Đ': 'Dj' + }; + const AZERBAIJANI_MAP = { + 'ç': 'c', 'ə': 'e', 'ğ': 'g', 'ı': 'i', 'ö': 'o', 'ş': 's', 'ü': 'u', + 'Ç': 'C', 'Ə': 'E', 'Ğ': 'G', 'İ': 'I', 'Ö': 'O', 'Ş': 'S', 'Ü': 'U' + }; + const 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' + }; + + const 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 + ]; + + const Downcoder = { + 'Initialize': function() { + if (Downcoder.map) { // already made + return; + } + Downcoder.map = {}; + for (const lookup of ALL_DOWNCODE_MAPS) { + Object.assign(Downcoder.map, lookup); + } + Downcoder.regex = new RegExp(Object.keys(Downcoder.map).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" + if (!allowUnicode) { + s = downcode(s); + } + s = s.toLowerCase(); // convert to lowercase + // 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 + return s.replace(/-+$/g, ''); // trim any trailing hyphens + } + window.URLify = URLify; +} diff --git a/staticfiles/admin/js/vendor/jquery/LICENSE.txt b/staticfiles/admin/js/vendor/jquery/LICENSE.txt new file mode 100644 index 0000000..f642c3f --- /dev/null +++ b/staticfiles/admin/js/vendor/jquery/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +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/staticfiles/admin/js/vendor/jquery/jquery.js b/staticfiles/admin/js/vendor/jquery/jquery.js new file mode 100644 index 0000000..1a86433 --- /dev/null +++ b/staticfiles/admin/js/vendor/jquery/jquery.js @@ -0,0 +1,10716 @@ +/*! + * jQuery JavaScript Library v3.7.1 + * https://jquery.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2023-08-28T13:37Z + */ +( 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 trac-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 elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +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.7.1", + + rhtmlSuffix = /HTML$/i, + + // 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; + }, + + + // Retrieve the text value of an array of DOM nodes + text: function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += jQuery.text( node ); + } + } + if ( nodeType === 1 || nodeType === 11 ) { + return elem.textContent; + } + if ( nodeType === 9 ) { + return elem.documentElement.textContent; + } + if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; + }, + + // 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 ); + }, + + isXMLDoc: function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Assume HTML when documentElement doesn't yet exist, such as inside + // document fragments. + return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); + }, + + // 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; +} + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var pop = arr.pop; + + +var sort = arr.sort; + + +var splice = arr.splice; + + +var whitespace = "[\\x20\\t\\r\\n\\f]"; + + +var rtrimCSS = new RegExp( + "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", + "g" +); + + + + +// Note: an element does not contain itself +jQuery.contains = function( a, b ) { + var bup = b && b.parentNode; + + return a === bup || !!( bup && bup.nodeType === 1 && ( + + // Support: IE 9 - 11+ + // IE doesn't have `contains` on SVG. + a.contains ? + a.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); +}; + + + + +// CSS string/identifier serialization +// https://drafts.csswg.org/cssom/#common-serializing-idioms +var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; + +function fcssescape( 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; +} + +jQuery.escapeSelector = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + + + + +var preferredDoc = document, + pushNative = push; + +( function() { + +var i, + Expr, + outermostContext, + sortInput, + hasDuplicate, + push = pushNative, + + // Local document vars + document, + documentElement, + documentIsHTML, + rbuggyQSA, + matches, + + // Instance-specific data + expando = jQuery.expando, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + + "loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // 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: https://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" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rleadingCombinator = 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" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // https://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; + + if ( nonHex ) { + + // Strip the backslash prefix from a non-hex escape sequence + return 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 + return high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes; see `setDocument`. + // Support: IE 9 - 11+, Edge 12 - 18+ + // Removing the function wrapper causes a "Permission Denied" + // error in IE/Edge. + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && nodeName( elem, "fieldset" ); + }, + { dir: "parentNode", next: "legend" } + ); + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +// 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: function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + }, + call: function( target ) { + pushNative.apply( target, slice.call( arguments, 1 ) ); + } + }; +} + +function find( 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 9 only + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + push.call( results, elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE 9 only + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + find.contains( context, elem ) && + elem.id === m ) { + + push.call( results, elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { + + 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 ) || rleadingCombinator.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. + // 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 ( newContext != context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = jQuery.escapeSelector( nid ); + } 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( rtrimCSS, "$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 https://github.com/jquery/sizzle/issues/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 jQuery selector module + * @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; + } +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + return nodeName( elem, "input" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + return ( nodeName( elem, "input" ) || nodeName( elem, "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 + 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 jQuery selector 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; +} + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [node] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +function setDocument( node ) { + var 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; + documentElement = document.documentElement; + documentIsHTML = !jQuery.isXMLDoc( document ); + + // Support: iOS 7 only, IE 9 - 11+ + // Older browsers didn't support unprefixed `matches`. + matches = documentElement.matches || + documentElement.webkitMatchesSelector || + documentElement.msMatchesSelector; + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors + // (see trac-13936). + // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, + // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. + if ( documentElement.msMatchesSelector && + + // 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 + preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 9 - 11+, Edge 12 - 18+ + subWindow.addEventListener( "unload", unloadHandler ); + } + + // 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 ) { + documentElement.appendChild( el ).id = jQuery.expando; + return !document.getElementsByName || + !document.getElementsByName( jQuery.expando ).length; + } ); + + // Support: IE 9 only + // Check to see if it's possible to do matchesSelector + // on a disconnected node. + support.disconnectedMatch = assert( function( el ) { + return matches.call( el, "*" ); + } ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // IE/Edge don't support the :scope pseudo-class. + support.scope = assert( function() { + return document.querySelectorAll( ":scope" ); + } ); + + // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only + // Make sure the `:has()` argument is parsed unforgivingly. + // We include `*` in the test to detect buggy implementations that are + // _selectively_ forgiving (specifically when the list includes at least + // one valid selector). + // Note that we treat complete lack of support for `:has()` as if it were + // spec-compliant support, which is fine because use of `:has()` in such + // environments will fail in the qSA path and fall back to jQuery traversal + // anyway. + support.cssHas = assert( function() { + try { + document.querySelector( ":has(*,:jqfake)" ); + return false; + } catch ( e ) { + return true; + } + } ); + + // 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 = function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else { + return context.querySelectorAll( tag ); + } + }; + + // Class + Expr.find.CLASS = function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + rbuggyQSA = []; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + documentElement.appendChild( el ).innerHTML = + "" + + ""; + + // Support: iOS <=7 - 8 only + // Boolean attributes and "value" are not treated correctly in some XML documents + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: iOS <=7 - 8 only + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: iOS 8 only + // 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: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE 9 - 11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ + // In some of the document kinds, these selectors wouldn't work natively. + // This is probably OK but for backwards compatibility we want to maintain + // handling them through jQuery traversal in jQuery 3.x. + documentElement.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // 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 + "*(?:''|\"\")" ); + } + } ); + + if ( !support.cssHas ) { + + // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ + // Our regular `try-catch` mechanism fails to detect natively-unsupported + // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) + // in browsers that parse the `:has()` argument as a forgiving selector list. + // https://drafts.csswg.org/selectors/#relational now requires the argument + // to be parsed unforgivingly, but browsers have not yet fully adjusted. + rbuggyQSA.push( ":has" ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = 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 && + find.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 && + find.contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + }; + + return document; +} + +find.matches = function( expr, elements ) { + return find( expr, null, null, elements ); +}; + +find.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( documentIsHTML && + !nonnativeSelectorCache[ 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 find( expr, document, null, [ elem ] ).length > 0; +}; + +find.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 jQuery.contains( context, elem ); +}; + + +find.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 (see trac-13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + if ( val !== undefined ) { + return val; + } + + return elem.getAttribute( name ); +}; + +find.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +jQuery.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + // + // Support: Android <=4.0+ + // Testing for detecting duplicates is unpredictable so instead assume we can't + // depend on duplicate detection in all browsers without a stable sort. + hasDuplicate = !support.sortStable; + sortInput = !support.sortStable && slice.call( results, 0 ); + sort.call( results, sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + splice.call( results, duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +jQuery.fn.uniqueSort = function() { + return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); +}; + +Expr = jQuery.expr = { + + // 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 ] ) { + find.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 ] ) { + find.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 expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return nodeName( elem, expectedNodeName ); + }; + }, + + 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 = find.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + if ( operator === "=" ) { + return result === check; + } + if ( operator === "!=" ) { + return result !== check; + } + if ( operator === "^=" ) { + return check && result.indexOf( check ) === 0; + } + if ( operator === "*=" ) { + return check && result.indexOf( check ) > -1; + } + if ( operator === "$=" ) { + return check && result.slice( -check.length ) === check; + } + if ( operator === "~=" ) { + return ( " " + result.replace( rwhitespace, " " ) + " " ) + .indexOf( check ) > -1; + } + if ( operator === "|=" ) { + return result === check || result.slice( 0, check.length + 1 ) === check + "-"; + } + + return false; + }; + }, + + CHILD: function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, 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 ? + nodeName( node, 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 + outerCache = parent[ expando ] || ( parent[ expando ] = {} ); + cache = outerCache[ 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 ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + cache = outerCache[ 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 ? + nodeName( node, name ) : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + outerCache[ 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 + // https://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() ] || + find.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as jQuery 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.call( 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( rtrimCSS, "$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 + // (see https://github.com/jquery/sizzle/issues/299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + has: markFunction( function( selector ) { + return function( elem ) { + return find( selector, elem ).length > 0; + }; + } ), + + contains: markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || jQuery.text( 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." + // https://www.w3.org/TR/selectors/#lang-pseudo + lang: markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + find.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 === documentElement; + }, + + focus: function( elem ) { + return elem === safeActiveElement() && + 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 + // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + return ( nodeName( elem, "input" ) && !!elem.checked ) || + ( nodeName( elem, "option" ) && !!elem.selected ); + }, + + selected: function( elem ) { + + // Support: IE <=11+ + // Accessing the selectedIndex property + // forces the browser to treat the default option as + // selected when in an optgroup. + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + empty: function( elem ) { + + // https://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 ) { + return nodeName( elem, "input" ) && elem.type === "button" || + nodeName( elem, "button" ); + }, + + text: function( elem ) { + var attr; + return nodeName( elem, "input" ) && elem.type === "text" && + + // Support: IE <10 only + // 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; + + if ( argument < 0 ) { + i = argument + length; + } else if ( argument > length ) { + i = length; + } else { + i = 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(); + +function tokenize( 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 = rleadingCombinator.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrimCSS, " " ) + } ); + 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 + if ( parseOnly ) { + return soFar.length; + } + + return soFar ? + find.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, 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 ] = {} ); + + if ( skip && nodeName( elem, skip ) ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = outerCache[ 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 + outerCache[ 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++ ) { + find( 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, matcherOut, + 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; + + if ( matcher ) { + + // If we have a postFinder, or filtered seed, or non-seed postFilter + // or preexisting results, + matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results; + + // Find primary matches + matcher( matcherIn, matcherOut, context, xml ); + } else { + matcherOut = matcherIn; + } + + // 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.call( 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.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + + // 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 + var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element + // (see https://github.com/jquery/sizzle/issues/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( rtrimCSS, "$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: iOS <=7 - 9 only + // Tolerate NodeList properties (IE: "length"; Safari: ) matching + // elements by id. (see trac-14142) + 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 ) ) { + push.call( results, 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 ) { + + jQuery.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +function compile( 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 jQuery's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with jQuery selector compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +function select( 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 + +// Support: Android <=4.0 - 4.1+ +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Initialize against the default document +setDocument(); + +// Support: Android <=4.0 - 4.1+ +// 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; +} ); + +jQuery.find = find; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.unique = jQuery.uniqueSort; + +// These have always been private, but they used to be documented as part of +// Sizzle so let's maintain them for now for backwards compatibility purposes. +find.compile = compile; +find.select = select; +find.setDocument = setDocument; +find.tokenize = tokenize; + +find.escape = jQuery.escapeSelector; +find.getText = jQuery.text; +find.isXML = jQuery.isXMLDoc; +find.selectors = jQuery.expr; +find.support = jQuery.support; +find.uniqueSort = jQuery.uniqueSort; + + /* eslint-enable */ + +} )(); + + +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; + +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 to avoid XSS via location.hash (trac-9521) + // Strict HTML recognition (trac-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 jQuery#find + 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+ + // 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.error ); + } + + // 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 error, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getErrorHook ) { + process.error = jQuery.Deferred.getErrorHook(); + + // The deprecated alias of the above. While the name suggests + // returning the stack, not an error instance, jQuery just passes + // it directly to `console.warn` so both will work; an instance + // just better cooperates with source maps. + } else if ( jQuery.Deferred.getStackHook ) { + process.error = 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 primary Deferred + primary = 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 ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.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$/; + +// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error +// captured before the async barrier to get the original error cause +// which may otherwise be hidden. +jQuery.Deferred.exceptionHook = function( error, asyncError ) { + + // 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, asyncError ); + } +}; + + + + +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 trac-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 (trac-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 trac-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 (trac-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 (trac-11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (trac-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 = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (trac-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 or other required elements. + thead: [ 1, "", "
      " ], + col: [ 2, "", "
      " ], + tr: [ 2, "", "
      " ], + td: [ 3, "", "
      " ], + + _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, "" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (trac-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 (trac-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 rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +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 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 (trac-13208) + // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-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 (trac-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", true ); + } + + // 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, isSetup ) { + + // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add + if ( !isSetup ) { + 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 result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + if ( !saved ) { + + // 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 + this[ type ](); + result = dataPriv.get( this, type ); + dataPriv.set( this, type, false ); + + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + return result; + } + + // 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 ) { + + // ...and capture the result + dataPriv.set( this, type, jQuery.event.trigger( + saved[ 0 ], + saved.slice( 1 ), + this + ) ); + + // Abort handling of the native event by all jQuery handlers while allowing + // native handlers on the same element to run. On target, this is achieved + // by stopping immediate propagation just on the jQuery event. However, + // the native event is re-wrapped by a jQuery one on each level of the + // propagation so the only way to stop it for jQuery is to stop it for + // everyone via native `stopPropagation()`. This is not a problem for + // focus/blur which don't bubble, but it does also stop click on checkboxes + // and radios. We accept this limitation. + event.stopPropagation(); + event.isImmediatePropagationStopped = returnTrue; + } + } + } ); +} + +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 (trac-504, trac-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: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + + function focusMappedHandler( nativeEvent ) { + if ( document.documentMode ) { + + // Support: IE 11+ + // Attach a single focusin/focusout handler on the document while someone wants + // focus/blur. This is because the former are synchronous in IE while the latter + // are async. In other browsers, all those handlers are invoked synchronously. + + // `handle` from private data would already wrap the event, but we need + // to change the `type` here. + var handle = dataPriv.get( this, "handle" ), + event = jQuery.event.fix( nativeEvent ); + event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; + event.isSimulated = true; + + // First, handle focusin/focusout + handle( nativeEvent ); + + // ...then, handle focus/blur + // + // focus/blur don't bubble while focusin/focusout do; simulate the former by only + // invoking the handler at the lower level. + if ( event.target === event.currentTarget ) { + + // The setup part calls `leverageNative`, which, in turn, calls + // `jQuery.event.add`, so event handle will already have been set + // by this point. + handle( event ); + } + } else { + + // For non-IE browsers, attach a single capturing handler on the document + // while someone wants focusin/focusout. + jQuery.event.simulate( delegateType, nativeEvent.target, + jQuery.event.fix( nativeEvent ) ); + } + } + + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + var attaches; + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, true ); + + if ( document.documentMode ) { + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + attaches = dataPriv.get( this, delegateType ); + if ( !attaches ) { + this.addEventListener( delegateType, focusMappedHandler ); + } + dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); + } else { + + // 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; + }, + + teardown: function() { + var attaches; + + if ( document.documentMode ) { + attaches = dataPriv.get( this, delegateType ) - 1; + if ( !attaches ) { + this.removeEventListener( delegateType, focusMappedHandler ); + dataPriv.remove( this, delegateType ); + } else { + dataPriv.set( this, delegateType, attaches ); + } + } else { + + // Return false to indicate standard teardown should be applied + return false; + } + }, + + // Suppress native focus or blur if we're currently inside + // a leveraged native-event stack + _default: function( event ) { + return dataPriv.get( event.target, type ); + }, + + delegateType: delegateType + }; + + // 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 + // + // Support: IE 9 - 11+ + // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, + // attach a single handler for both events in IE. + jQuery.event.special[ delegateType ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ); + + // Support: IE 9 - 11+ + // We use the same native handler for focusin & focus (and focusout & blur) + // so we need to coordinate setup & teardown parts between those events. + // Use `delegateType` as the key as `type` is already used by `leverageNative`. + if ( !attaches ) { + if ( document.documentMode ) { + this.addEventListener( delegateType, focusMappedHandler ); + } else { + doc.addEventListener( type, focusMappedHandler, true ); + } + } + dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + dataHolder = document.documentMode ? this : doc, + attaches = dataPriv.get( dataHolder, delegateType ) - 1; + + if ( !attaches ) { + if ( document.documentMode ) { + this.removeEventListener( delegateType, focusMappedHandler ); + } else { + doc.removeEventListener( type, focusMappedHandler, true ); + } + dataPriv.remove( dataHolder, delegateType ); + } else { + dataPriv.set( dataHolder, delegateType, attaches ); + } + } + }; +} ); + +// 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 = /\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 (trac-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; + + // Re-enable 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 { + + // Unwrap a CDATA section containing script contents. This shouldn't be + // needed as in XML documents they're already not visible when + // inspecting element contents and in HTML documents they have no + // meaning but we're preserving that logic for backwards compatibility. + // This will be removed completely in 4.0. See gh-4904. + 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 jQuery#find 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 rcustomProp = /^--/; + + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-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 (trac-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! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + 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;border-collapse:separate"; + tr.style.cssText = "box-sizing:content-box;border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is `display: block` + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + isCustomProp = rcustomProp.test( name ), + + // 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, trac-12537) + // .css('--customProperty) (gh-3144) + if ( computed ) { + + // Support: IE <=9 - 11+ + // IE only supports `"float"` in `getPropertyValue`; in computed styles + // it's only available as `"cssFloat"`. We no longer modify properties + // sent to `.css()` apart from camelCasing, so we need to check both. + // Normally, this would create difference in behavior: if + // `getPropertyValue` returns an empty string, the value returned + // by `.css()` would be `undefined`. This is usually the case for + // disconnected elements. However, in IE even disconnected elements + // with no styles return `"none"` for `getPropertyValue( "float" )` + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( isCustomProp && ret ) { + + // Support: Firefox 105+, Chrome <=105+ + // Spec requires trimming whitespace for custom properties (gh-4926). + // Firefox only trims leading whitespace. Chrome just collapses + // both leading & trailing whitespace to a single space. + // + // Fall back to `undefined` if empty string returned. + // This collapses a missing definition with property defined + // and set to an empty string but there's no standard API + // allowing us to differentiate them without a performance penalty + // and returning `undefined` aligns with older jQuery. + // + // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED + // as whitespace while CSS does not, but this is not a problem + // because CSS preprocessing replaces them with U+000A LINE FEED + // (which *is* CSS whitespace) + // https://www.w3.org/TR/css-syntax-3/#input-preprocessing + ret = ret.replace( rtrimCSS, "$1" ) || undefined; + } + + 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]).+)/, + 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, + marginDelta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + // Count margin delta separately to only add it after scroll gutter adjustment. + // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). + if ( box === "margin" ) { + marginDelta += 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 + marginDelta; +} + +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, + aspectRatio: true, + borderImageSlice: true, + columnCount: 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, + scale: true, + widows: true, + zIndex: true, + zoom: true, + + // SVG-related + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeMiterlimit: true, + strokeOpacity: 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 (trac-7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug trac-9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (trac-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 )` (trac-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. +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 + // Use proper attribute retrieval (trac-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 classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + if ( cur.indexOf( " " + className + " " ) < 0 ) { + cur += className + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + removeClass: function( value ) { + var classNames, cur, curValue, className, i, finalValue; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classNames = classesToArray( value ); + + if ( classNames.length ) { + return this.each( function() { + curValue = getClass( this ); + + // This expression is here for better compressibility (see addClass) + cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + for ( i = 0; i < classNames.length; i++ ) { + className = classNames[ i ]; + + // Remove *all* instances + while ( cur.indexOf( " " + className + " " ) > -1 ) { + cur = cur.replace( " " + className + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + this.setAttribute( "class", finalValue ); + } + } + } ); + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var classNames, className, i, self, + type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + classNames = classesToArray( value ); + + return this.each( function() { + if ( isValidValue ) { + + // Toggle individual class names + self = jQuery( this ); + + for ( i = 0; i < classNames.length; i++ ) { + 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 (trac-14686, trac-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 (trac-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 +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + 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 ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +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 (trac-9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (trac-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 (trac-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 ); + } + } +} ); + + +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, + + // trac-7653, trac-8125, trac-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 (trac-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 trac-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 (trac-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 trac-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 (trac-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; + + // trac-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 but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + 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 (trac-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 + // trac-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 trac-8605, trac-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 ) { + + // trac-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( " + + diff --git a/staticfiles/js/rapport.js b/staticfiles/js/rapport.js new file mode 100644 index 0000000..b0f0e6d --- /dev/null +++ b/staticfiles/js/rapport.js @@ -0,0 +1,102 @@ +if ('serviceWorker' in navigator) { + window.addEventListener('load', function() { + navigator.serviceWorker.register('{% static "sw.js" %}').then(function(reg) { + console.log('Service worker registered.', reg); + }).catch(function(err) { + console.warn('Service worker registration failed:', err); + }); + }); +} + +const couleursOrange = ['#b35400', '#ff9f1c', '#ffc107', '#ffb84d', '#ffcc80']; +const departementLabels = {{ departement_labels|safe }}; +const departementCounts = {{ departement_counts|safe }}; +const sexeLabels = {{ sexe_labels|safe }}; +const sexeCounts = {{ sexe_counts|safe }}; +const projetLabels = {{ projet_labels|safe }}; +const projetCounts = {{ projet_counts|safe }}; +const ticketsLabels = ["Traités", "Non traités"]; +const ticketsCounts = [{{ tickets_traite }}, {{ tickets_non_traite }}]; +const domaineLabels = {{ domaine_labels|safe }}; +const domaineCounts = {{ domaine_counts|safe }}; + +new Chart(document.getElementById("chartDepartement"), { + type: 'pie', + plugins: [ChartDataLabels], + data: { + labels: departementLabels, + datasets: [{ data: departementCounts, backgroundColor: couleursOrange }] + }, + options: { + plugins: { + legend: { position: 'bottom' }, + datalabels: { color: '#fff', font: { weight: 'bold', size: 14 }, formatter: v => v } + } + } +}); + +new Chart(document.getElementById("chartSexe"), { + type: 'doughnut', + plugins: [ChartDataLabels], + data: { + labels: sexeLabels, + datasets: [{ data: sexeCounts, backgroundColor: couleursOrange }] + }, + options: { + plugins: { + legend: { position: 'bottom' }, + datalabels: { color: '#fff', font: { weight: 'bold', size: 14 }, formatter: v => v } + } + } +}); + +new Chart(document.getElementById("chartProjets"), { + type: 'bar', + plugins: [ChartDataLabels], + data: { + labels: projetLabels, + datasets: [{ label:'Nombre de projets', data: projetCounts, backgroundColor: couleursOrange }] + }, + options: { + responsive: true, + plugins: { + legend: { display: false }, + datalabels: { anchor:'end', align:'top', color:'#000', font:{ weight:'bold', size:16 }, formatter:v => v } + }, + scales: { + y: { beginAtZero:true, ticks:{ stepSize:1, precision:0 }, title:{ display:true, text:'Nombre de projets' } }, + x: { title:{ display:true, text:'' } } + } + } +}); + +new Chart(document.getElementById("chartDomaine"), { + type: 'bar', + plugins: [ChartDataLabels], + data: { + labels: domaineLabels, + datasets: [{ label:'Nombre de projets', data: domaineCounts, backgroundColor: couleursOrange }] + }, + options: { + responsive: true, + plugins: { + legend: { display: false }, + datalabels: { anchor:'end', align:'top', color:'#000', font:{ weight:'bold', size:14 }, formatter:v => v } + }, + scales: { + y: { beginAtZero:true, title:{ display:true, text:'Nombre de projets' }, ticks:{ precision:0, stepSize:1 } }, + x: { + ticks:{ autoSkip:false, maxRotation:100, minRotation:30, callback: function(value){ return this.getLabelForValue(value); } } + } + } + } +}); + +document.getElementById('btnVoirRapport').addEventListener('click', function() { + const projetId = document.getElementById('projetId').value; + if(!projetId) return alert("Veuillez sélectionner un projet."); + fetch(`/rapports/projet/${projetId}/`) + .then(resp => { if(!resp.ok) throw new Error("Projet non trouvé"); return resp.text(); }) + .then(html => { document.getElementById('contenuRapportProjet').innerHTML = html; }) + .catch(err => { document.getElementById('contenuRapportProjet').innerHTML = "

      Erreur lors du chargement.

      "; console.error(err); }); +}); \ No newline at end of file diff --git a/staticfiles/js/sirh-index.js b/staticfiles/js/sirh-index.js new file mode 100644 index 0000000..242fed3 --- /dev/null +++ b/staticfiles/js/sirh-index.js @@ -0,0 +1,75 @@ + + + + + + + +> + + +{% endif %} + + + + + + \ No newline at end of file diff --git a/staticfiles/styles.css b/staticfiles/styles.css new file mode 100644 index 0000000..3b4d9ff --- /dev/null +++ b/staticfiles/styles.css @@ -0,0 +1,278 @@ +/* === Print === */ +@media print { + nav, .btn, .sidebar, .form-select, .form-control { + display: none !important; + } + body { + font-size: 12pt; + color: black; + } + table { + border-collapse: collapse; + } +} + + +@media (max-width: 768px) { + main { + margin-left: 0; + } +} + +/* === Body & Container === */ +body { + background-color: #e4dccc; + background-attachment: fixed; +} + +.dashboard-container { + background-color: #ffffff; + box-shadow: 0 0 10px rgba(0,0,0,0.05); + border-radius: 8px; + padding: 20px; + margin: 30px auto; + max-width: 1200px; +} + + + + +.sidebar { + position: fixed; + width: 220px; +} +main { + margin-left: 220px; +} + + + + + +/* === Sidebar === */ +.sidebar { + background: linear-gradient(180deg, #b35400, #993d00); /* dégradé orange foncé */ + color: white; + min-height: 100vh; /* prend toute la hauteur */ + top: 0; + z-index: 1000; + overflow-y: auto; + padding: 1rem; +} + +.sidebar .nav-link { + color: white; + font-weight: 700; +} + +.sidebar .nav-link:hover { + background-color: rgba(255, 255, 255, 0.1); + border-radius: 5px; + color: white; +} + +.sidebar .dropdown-menu { + display: none; + position: relative; + left: 10px; + top: -5px; + border: none; + padding-left: 1rem; + box-shadow: none; +} + +.sidebar .dropdown:hover .dropdown-menu { + display: block; +} + +.sidebar a { + color: white; +} + +.sidebar a:hover { + color: white; +} + +/* === Navbar / Logo / Profil === */ +.logo { + max-width: 80px; +} + +.img-profil { + width: 80px !important; + height: 80px !important; + object-fit: cover; + border-radius: 50%; +} + +/* === Cards === */ +.card { + border: 1px solid #dee2e6; + box-shadow: 0 2px 4px rgba(0,0,0,0.05); + border-radius: 8px; + transition: transform 0.3s ease; +} + +.card:hover { + transform: scale(1.02); +} + +.card-header { + background-color: #f8f9fa; + font-weight: bold !important; + color: black !important; + font-size: 1rem; + border-bottom: none; +} + +.card-body h5 { + color: black !important; + font-weight: bold; + font-size: 2.2rem; +} + +/* === Stat cards === */ +.stat-card { + background: #fff; + padding: 20px; + border-radius: 8px; + box-shadow: 0 2px 5px rgba(113, 11, 11, 0.1); +} + +/* === Employé / Projet details === */ +.employe-detail { + background-color: #f9f9f9; + border-radius: 8px; + box-shadow: 0 2px 6px rgba(0,0,0,0.1); +} + +.employe-detail .card-title { + font-size: 1.8rem; + margin-bottom: 0.5rem; +} + +.employe-detail p { + margin-bottom: 0.4rem; + font-size: 1rem; +} + +.employe-detail a.btn { + font-weight: 500; +} + +.employe-card, .projet-card { + background-color: #fff; + border-radius: 10px; + box-shadow: 0 4px 12px rgba(0,0,0,0.1); + padding: 2.5rem; + max-width: 1400px; + margin: 0 auto; + font-size: 1.1rem; +} + +/* === Forms === */ +.form-wrapper { + max-width: 1000px; + margin: auto; + background-color: rgba(255, 255, 255, 0.95); +} + +form label { + font-weight: 600; + margin-top: 1rem; + display: block; +} + +form input, form select, form textarea { + width: 100%; + padding: 0.5rem; + margin-top: 0.3rem; + border-radius: 5px; + border: 1px solid #ccc; +} + +/* === Formation badges === */ +.formation-badge { + position: relative; + display: inline-block; +} + +.formation-actions { + position: absolute; + top: -5px; + right: -5px; + display: none; +} + +.formation-badge:hover .formation-actions { + display: inline-block; +} + +.formation-actions button { + background: none; + border: none; + color: #fff; + margin-left: 5px; + font-size: 0.9rem; +} + +/* === Context menu === */ +#contextMenu { + width: 150px; +} + +/* === Transitions / Animations === */ +.fade-out { + opacity: 0; + transition: opacity 0.5s ease; +} + +#main-content { + transition: opacity 0.3s ease; +} + + +.login-box { + background: linear-gradient(to right, #f5f7fa, #c3cfe2); + border-radius: 10px; + box-shadow: 0 0 10px rgba(0,0,0,0.3); + width: 100%; + max-width: 400px; +} + +/* === Responsive === */ +@media (max-width: 576px) { + .modal-dialog { + max-width: 100%; + margin: 0; + height: 100%; + } + + .modal-content { + height: 100%; + border-radius: 0; + } + + .modal-body { + overflow-y: auto; + } + + .modal-footer button { + width: 100%; + } + + .img-profil { + width: 50px; + height: 50px; + } + + .sidebar { + width: 100%; + padding: 0.5rem 1rem; + } + + .sidebar .nav-link { + font-size: 0.9rem; + padding: 0.5rem 1rem; + } +}