From d4efb061a34af546fe1797e538794c088b8499de Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 3 Nov 2021 08:52:03 +0100 Subject: [PATCH] Client - dowload workout static map only when hover workout --- fittrackee/dist/index.html | 2 +- ...ifest.df69f746e04ed0c0a73cbef257234d2c.js} | 32 +++++++++---------- fittrackee/dist/service-worker.js | 2 +- fittrackee/dist/static/css/app.24ba011a.css | 1 - fittrackee/dist/static/css/app.5efeb1fe.css | 1 + .../{main.4b6a4ae2.css => main.967c2c29.css} | 2 +- .../dist/static/css/workouts.72b1c915.css | 1 + .../dist/static/css/workouts.a9a41b99.css | 1 - fittrackee/dist/static/js/app.1d2a8a56.js | 2 -- fittrackee/dist/static/js/app.1d2a8a56.js.map | 1 - fittrackee/dist/static/js/app.9069e434.js | 2 ++ fittrackee/dist/static/js/app.9069e434.js.map | 1 + fittrackee/dist/static/js/main.8f9faede.js | 2 ++ .../dist/static/js/main.8f9faede.js.map | 1 + fittrackee/dist/static/js/main.96af01eb.js | 2 -- .../dist/static/js/main.96af01eb.js.map | 1 - .../dist/static/js/main~workouts.44a477db.js | 2 -- .../static/js/main~workouts.44a477db.js.map | 1 - .../dist/static/js/main~workouts.896585f2.js | 2 ++ .../static/js/main~workouts.896585f2.js.map | 1 + .../dist/static/js/workouts.4a8b05f4.js | 2 -- .../dist/static/js/workouts.4a8b05f4.js.map | 1 - .../dist/static/js/workouts.c5b00439.js | 2 ++ .../dist/static/js/workouts.c5b00439.js.map | 1 + .../src/components/Common/StaticMap.vue | 13 +++----- .../src/components/Workouts/WorkoutsList.vue | 26 ++++++++++++--- 26 files changed, 59 insertions(+), 46 deletions(-) rename fittrackee/dist/{precache-manifest.59ca4201c0d0fa2f3034655a073d8255.js => precache-manifest.df69f746e04ed0c0a73cbef257234d2c.js} (89%) delete mode 100644 fittrackee/dist/static/css/app.24ba011a.css create mode 100644 fittrackee/dist/static/css/app.5efeb1fe.css rename fittrackee/dist/static/css/{main.4b6a4ae2.css => main.967c2c29.css} (96%) create mode 100644 fittrackee/dist/static/css/workouts.72b1c915.css delete mode 100644 fittrackee/dist/static/css/workouts.a9a41b99.css delete mode 100644 fittrackee/dist/static/js/app.1d2a8a56.js delete mode 100644 fittrackee/dist/static/js/app.1d2a8a56.js.map create mode 100644 fittrackee/dist/static/js/app.9069e434.js create mode 100644 fittrackee/dist/static/js/app.9069e434.js.map create mode 100644 fittrackee/dist/static/js/main.8f9faede.js create mode 100644 fittrackee/dist/static/js/main.8f9faede.js.map delete mode 100644 fittrackee/dist/static/js/main.96af01eb.js delete mode 100644 fittrackee/dist/static/js/main.96af01eb.js.map delete mode 100644 fittrackee/dist/static/js/main~workouts.44a477db.js delete mode 100644 fittrackee/dist/static/js/main~workouts.44a477db.js.map create mode 100644 fittrackee/dist/static/js/main~workouts.896585f2.js create mode 100644 fittrackee/dist/static/js/main~workouts.896585f2.js.map delete mode 100644 fittrackee/dist/static/js/workouts.4a8b05f4.js delete mode 100644 fittrackee/dist/static/js/workouts.4a8b05f4.js.map create mode 100644 fittrackee/dist/static/js/workouts.c5b00439.js create mode 100644 fittrackee/dist/static/js/workouts.c5b00439.js.map diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 6c4eead5..1fcb397a 100644 --- a/fittrackee/dist/index.html +++ b/fittrackee/dist/index.html @@ -1 +1 @@ -FitTrackee
\ No newline at end of file +FitTrackee
\ No newline at end of file diff --git a/fittrackee/dist/precache-manifest.59ca4201c0d0fa2f3034655a073d8255.js b/fittrackee/dist/precache-manifest.df69f746e04ed0c0a73cbef257234d2c.js similarity index 89% rename from fittrackee/dist/precache-manifest.59ca4201c0d0fa2f3034655a073d8255.js rename to fittrackee/dist/precache-manifest.df69f746e04ed0c0a73cbef257234d2c.js index 10f88a82..f7871db5 100644 --- a/fittrackee/dist/precache-manifest.59ca4201c0d0fa2f3034655a073d8255.js +++ b/fittrackee/dist/precache-manifest.df69f746e04ed0c0a73cbef257234d2c.js @@ -64,7 +64,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/img/workouts/mountains.svg" }, { - "revision": "ea991ffce2185e4cc072abf683bedd86", + "revision": "196d8a285c086a57132534b24c1135a0", "url": "/index.html" }, { @@ -80,8 +80,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/admin.c784857e.css" }, { - "revision": "7f1bfdb54f95f3215297", - "url": "/static/css/app.24ba011a.css" + "revision": "7b174df05f6f7a9edd0f", + "url": "/static/css/app.5efeb1fe.css" }, { "revision": "82c1118c918377daaa71a320ab8eea42", @@ -92,11 +92,11 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/leaflet.css" }, { - "revision": "05c628021239246381f3", - "url": "/static/css/main.4b6a4ae2.css" + "revision": "1af89ab12eabaa087e43", + "url": "/static/css/main.967c2c29.css" }, { - "revision": "7cbc2a35623621321963", + "revision": "6134dd1635749b25d931", "url": "/static/css/main~workouts.c12079e7.css" }, { @@ -108,8 +108,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/css/reset.5eaa1e50.css" }, { - "revision": "afbde641dcb3d7f75c9f", - "url": "/static/css/workouts.a9a41b99.css" + "revision": "11fdb71c08ef58de3405", + "url": "/static/css/workouts.72b1c915.css" }, { "revision": "e719f9244c69e28e7d00e725ca1e280e", @@ -196,8 +196,8 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/admin.b2c267a7.js" }, { - "revision": "7f1bfdb54f95f3215297", - "url": "/static/js/app.1d2a8a56.js" + "revision": "7b174df05f6f7a9edd0f", + "url": "/static/js/app.9069e434.js" }, { "revision": "bd7d183c9f68e5f4027d", @@ -224,12 +224,12 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/chunk-vendors.61765c73.js" }, { - "revision": "05c628021239246381f3", - "url": "/static/js/main.96af01eb.js" + "revision": "1af89ab12eabaa087e43", + "url": "/static/js/main.8f9faede.js" }, { - "revision": "7cbc2a35623621321963", - "url": "/static/js/main~workouts.44a477db.js" + "revision": "6134dd1635749b25d931", + "url": "/static/js/main~workouts.896585f2.js" }, { "revision": "c3fbb4741fcfd33236fb", @@ -240,7 +240,7 @@ self.__precacheManifest = (self.__precacheManifest || []).concat([ "url": "/static/js/reset.60cf3dbf.js" }, { - "revision": "afbde641dcb3d7f75c9f", - "url": "/static/js/workouts.4a8b05f4.js" + "revision": "11fdb71c08ef58de3405", + "url": "/static/js/workouts.c5b00439.js" } ]); \ No newline at end of file diff --git a/fittrackee/dist/service-worker.js b/fittrackee/dist/service-worker.js index 458ee276..42cfdfbd 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -14,7 +14,7 @@ importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js"); importScripts( - "/precache-manifest.59ca4201c0d0fa2f3034655a073d8255.js" + "/precache-manifest.df69f746e04ed0c0a73cbef257234d2c.js" ); workbox.core.setCacheNameDetails({prefix: "fittrackee_client"}); diff --git a/fittrackee/dist/static/css/app.24ba011a.css b/fittrackee/dist/static/css/app.24ba011a.css deleted file mode 100644 index a09bfa1e..00000000 --- a/fittrackee/dist/static/css/app.24ba011a.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-e1641806]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-e1641806]{margin:0}#app[data-v-e1641806]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-e1641806]{color:var(--app-a-color);text-decoration:none}img[data-v-e1641806]{max-width:100%}input[data-v-e1641806],select[data-v-e1641806],textarea[data-v-e1641806]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e1641806]:disabled,select[data-v-e1641806]:disabled,textarea[data-v-e1641806]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e1641806]{font-weight:700}button[data-v-e1641806]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e1641806]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e1641806]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e1641806]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e1641806]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e1641806]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e1641806]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e1641806]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e1641806]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e1641806]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e1641806]{margin:10px;padding:5px}.upper[data-v-e1641806]{text-transform:uppercase}.fa-trophy[data-v-e1641806]{color:var(--workout-trophy-color)}.section-title[data-v-e1641806]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e1641806]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-e1641806]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e1641806]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e1641806]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e1641806]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-e1641806]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e1641806]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e1641806]{font-weight:700}.description-list dl dd[data-v-e1641806]{margin-bottom:10px}.center-card[data-v-e1641806]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e1641806]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e1641806]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e1641806]{margin-top:0}}.center-text[data-v-e1641806]{text-align:center}.responsive-table[data-v-e1641806]{margin-bottom:15px}.responsive-table table[data-v-e1641806]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e1641806]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e1641806]{font-size:.95em}.responsive-table table tbody td[data-v-e1641806]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:none}.responsive-table table .cell-heading[data-v-e1641806]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-e1641806]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e1641806]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e1641806]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e1641806]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e1641806]{width:100%}}#footer[data-v-e1641806]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-e1641806]{text-decoration:none}#footer .footer-items[data-v-e1641806]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-e1641806]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-e1641806]{font-size:.85em}#footer .footer-items .footer-item[data-v-e1641806]{padding:5px 5px}#footer .footer-items .bullet[data-v-e1641806]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-03a78350]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-03a78350]{margin:0}#app[data-v-03a78350]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-03a78350]{color:var(--app-a-color);text-decoration:none}img[data-v-03a78350]{max-width:100%}input[data-v-03a78350],select[data-v-03a78350],textarea[data-v-03a78350]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-03a78350]:disabled,select[data-v-03a78350]:disabled,textarea[data-v-03a78350]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-03a78350]{font-weight:700}button[data-v-03a78350]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-03a78350]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-03a78350]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-03a78350]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-03a78350]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-03a78350]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-03a78350]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-03a78350]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-03a78350]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-03a78350]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-03a78350]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-03a78350]{display:flex;flex-direction:column}.form-box .form-items input[data-v-03a78350]{margin:10px;padding:5px}.upper[data-v-03a78350]{text-transform:uppercase}.fa-trophy[data-v-03a78350]{color:var(--workout-trophy-color)}.section-title[data-v-03a78350]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-03a78350]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-03a78350]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-03a78350]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-03a78350]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-03a78350]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-03a78350]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-03a78350]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-03a78350]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-03a78350]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-03a78350]{font-weight:700}.description-list dl dd[data-v-03a78350]{margin-bottom:10px}.center-card[data-v-03a78350]{margin:0 auto;width:700px}.center-card.with-margin[data-v-03a78350]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-03a78350]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-03a78350]{margin-top:0}}.center-text[data-v-03a78350]{text-align:center}.responsive-table[data-v-03a78350]{margin-bottom:15px}.responsive-table table[data-v-03a78350]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-03a78350]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-03a78350]{font-size:.95em}.responsive-table table tbody td[data-v-03a78350]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-03a78350]{border:none}.responsive-table table .cell-heading[data-v-03a78350]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-03a78350]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-03a78350]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-03a78350]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-03a78350]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-03a78350]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-03a78350]{width:100%}}#nav[data-v-03a78350]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-03a78350]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-03a78350]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-03a78350]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-03a78350]:hover{cursor:pointer}#nav .fa[data-v-03a78350]{font-size:1.2em}#nav .close-icon[data-v-03a78350],#nav .hamburger-icon[data-v-03a78350],#nav .nav-icon-open[data-v-03a78350]{display:none}#nav .nav-items[data-v-03a78350]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-03a78350]{display:none}#nav .nav-items .nav-items-app-menu[data-v-03a78350],#nav .nav-items .nav-items-user-menu[data-v-03a78350]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-03a78350]{display:flex}#nav .nav-items .nav-item[data-v-03a78350]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-03a78350]{width:60px}#nav .nav-items .nav-item[data-v-03a78350] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-03a78350]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-03a78350]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-03a78350] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-03a78350] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-03a78350]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-03a78350]{display:block}#nav .nav-icon-open[data-v-03a78350]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-03a78350]{display:none}#nav .close-icon[data-v-03a78350]{display:block}#nav .close-icon.menu-closed[data-v-03a78350],#nav .nav-items[data-v-03a78350]{display:none}#nav .nav-items.menu-open[data-v-03a78350]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-03a78350],#nav .nav-items.menu-open .nav-items-close[data-v-03a78350],#nav .nav-items.menu-open .nav-items-user-menu[data-v-03a78350]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-03a78350]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-03a78350]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-03a78350]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-03a78350]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-03a78350]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-03a78350]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}[data-v-01d4a985]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-01d4a985]{margin:0}#app[data-v-01d4a985]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-01d4a985]{color:var(--app-a-color);text-decoration:none}img[data-v-01d4a985]{max-width:100%}input[data-v-01d4a985],select[data-v-01d4a985],textarea[data-v-01d4a985]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-01d4a985]:disabled,select[data-v-01d4a985]:disabled,textarea[data-v-01d4a985]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-01d4a985]{font-weight:700}button[data-v-01d4a985]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-01d4a985]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-01d4a985]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-01d4a985]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-01d4a985]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-01d4a985]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-01d4a985]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-01d4a985]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-01d4a985]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-01d4a985]{display:flex;flex-direction:column}.form-box .form-items input[data-v-01d4a985]{margin:10px;padding:5px}.upper[data-v-01d4a985]{text-transform:uppercase}.fa-trophy[data-v-01d4a985]{color:var(--workout-trophy-color)}.section-title[data-v-01d4a985]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-01d4a985]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-01d4a985]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-01d4a985]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-01d4a985]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-01d4a985]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-01d4a985]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-01d4a985]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-01d4a985]{font-weight:700}.description-list dl dd[data-v-01d4a985]{margin-bottom:10px}.center-card[data-v-01d4a985]{margin:0 auto;width:700px}.center-card.with-margin[data-v-01d4a985]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-01d4a985]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-01d4a985]{margin-top:0}}.center-text[data-v-01d4a985]{text-align:center}.responsive-table[data-v-01d4a985]{margin-bottom:15px}.responsive-table table[data-v-01d4a985]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-01d4a985]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-01d4a985]{font-size:.95em}.responsive-table table tbody td[data-v-01d4a985]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:none}.responsive-table table .cell-heading[data-v-01d4a985]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-01d4a985]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-01d4a985]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-01d4a985]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-01d4a985]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-01d4a985]{width:100%}}#no-config[data-v-01d4a985]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-01d4a985]{width:150px}#no-config .error-page .error-img svg .error-page-img[data-v-01d4a985]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-01d4a985]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-01d4a985]{font-size:1em}}[data-v-317a6409]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-317a6409]{margin:0}#app[data-v-317a6409]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-317a6409]{color:var(--app-a-color);text-decoration:none}img[data-v-317a6409]{max-width:100%}input[data-v-317a6409],select[data-v-317a6409],textarea[data-v-317a6409]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-317a6409]:disabled,select[data-v-317a6409]:disabled,textarea[data-v-317a6409]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-317a6409]{font-weight:700}button[data-v-317a6409]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-317a6409]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-317a6409]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-317a6409]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-317a6409]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-317a6409]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-317a6409]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-317a6409]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-317a6409]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-317a6409]{display:flex;flex-direction:column}.form-box .form-items input[data-v-317a6409]{margin:10px;padding:5px}.upper[data-v-317a6409]{text-transform:uppercase}.fa-trophy[data-v-317a6409]{color:var(--workout-trophy-color)}.section-title[data-v-317a6409]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-317a6409]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-317a6409]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-317a6409]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-317a6409]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-317a6409]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-317a6409]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-317a6409]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-317a6409]{font-weight:700}.description-list dl dd[data-v-317a6409]{margin-bottom:10px}.center-card[data-v-317a6409]{margin:0 auto;width:700px}.center-card.with-margin[data-v-317a6409]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-317a6409]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-317a6409]{margin-top:0}}.center-text[data-v-317a6409]{text-align:center}.responsive-table[data-v-317a6409]{margin-bottom:15px}.responsive-table table[data-v-317a6409]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-317a6409]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-317a6409]{font-size:.95em}.responsive-table table tbody td[data-v-317a6409]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:none}.responsive-table table .cell-heading[data-v-317a6409]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-317a6409]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-317a6409]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-317a6409]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-317a6409]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-317a6409]{width:100%}}.app-container[data-v-317a6409]{height:calc(100vh - 130px)}.app-container.hide-scroll[data-v-317a6409]{overflow:hidden}.app-container .app-loading[data-v-317a6409]{display:flex;align-items:center;height:100%}.scroll[data-v-317a6409]{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button[data-v-317a6409]{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button[data-v-317a6409]{display:block}[data-v-26175b66]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-26175b66]{margin:0}#app[data-v-26175b66]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-26175b66]{color:var(--app-a-color);text-decoration:none}img[data-v-26175b66]{max-width:100%}input[data-v-26175b66],select[data-v-26175b66],textarea[data-v-26175b66]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-26175b66]:disabled,select[data-v-26175b66]:disabled,textarea[data-v-26175b66]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-26175b66]{font-weight:700}button[data-v-26175b66]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-26175b66]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-26175b66]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-26175b66]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-26175b66]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-26175b66]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-26175b66]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-26175b66]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-26175b66]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-26175b66]{display:flex;flex-direction:column}.form-box .form-items input[data-v-26175b66]{margin:10px;padding:5px}.upper[data-v-26175b66]{text-transform:uppercase}.fa-trophy[data-v-26175b66]{color:var(--workout-trophy-color)}.section-title[data-v-26175b66]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-26175b66]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-26175b66]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-26175b66]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-26175b66]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-26175b66]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-26175b66]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-26175b66]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-26175b66]{font-weight:700}.description-list dl dd[data-v-26175b66]{margin-bottom:10px}.center-card[data-v-26175b66]{margin:0 auto;width:700px}.center-card.with-margin[data-v-26175b66]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-26175b66]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-26175b66]{margin-top:0}}.center-text[data-v-26175b66]{text-align:center}.responsive-table[data-v-26175b66]{margin-bottom:15px}.responsive-table table[data-v-26175b66]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-26175b66]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-26175b66]{font-size:.95em}.responsive-table table tbody td[data-v-26175b66]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:none}.responsive-table table .cell-heading[data-v-26175b66]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-26175b66]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-26175b66]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-26175b66]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-26175b66]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-26175b66]{width:100%}}.user-limit-help[data-v-26175b66]{display:flex}.user-limit-help span[data-v-26175b66]{font-style:italic}.user-limit-help .fa-info-circle[data-v-26175b66]{margin-right:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}[data-v-4f30aa64]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-4f30aa64]{margin:0}#app[data-v-4f30aa64]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-4f30aa64]{color:var(--app-a-color);text-decoration:none}img[data-v-4f30aa64]{max-width:100%}input[data-v-4f30aa64],select[data-v-4f30aa64],textarea[data-v-4f30aa64]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4f30aa64]:disabled,select[data-v-4f30aa64]:disabled,textarea[data-v-4f30aa64]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4f30aa64]{font-weight:700}button[data-v-4f30aa64]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4f30aa64]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4f30aa64]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4f30aa64]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4f30aa64]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4f30aa64]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4f30aa64]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4f30aa64]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4f30aa64]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4f30aa64]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4f30aa64]{margin:10px;padding:5px}.upper[data-v-4f30aa64]{text-transform:uppercase}.fa-trophy[data-v-4f30aa64]{color:var(--workout-trophy-color)}.section-title[data-v-4f30aa64]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4f30aa64]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-4f30aa64]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4f30aa64]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4f30aa64]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4f30aa64]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-4f30aa64]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4f30aa64]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4f30aa64]{font-weight:700}.description-list dl dd[data-v-4f30aa64]{margin-bottom:10px}.center-card[data-v-4f30aa64]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4f30aa64]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4f30aa64]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4f30aa64]{margin-top:0}}.center-text[data-v-4f30aa64]{text-align:center}.responsive-table[data-v-4f30aa64]{margin-bottom:15px}.responsive-table table[data-v-4f30aa64]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4f30aa64]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4f30aa64]{font-size:.95em}.responsive-table table tbody td[data-v-4f30aa64]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:none}.responsive-table table .cell-heading[data-v-4f30aa64]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-4f30aa64]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4f30aa64]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4f30aa64]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4f30aa64]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4f30aa64]{width:100%}}#admin-menu[data-v-4f30aa64]{display:flex}#admin-menu.center-card[data-v-4f30aa64]{width:100%}#admin-menu[data-v-4f30aa64] .card{flex-grow:1}#admin-menu[data-v-4f30aa64] .card .admin-menu{padding:0 10px}#admin-menu[data-v-4f30aa64] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-4f30aa64] .card .admin-menu .registration-status{font-weight:700}[data-v-6d930723]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6d930723]{margin:0}#app[data-v-6d930723]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6d930723]{color:var(--app-a-color);text-decoration:none}img[data-v-6d930723]{max-width:100%}input[data-v-6d930723],select[data-v-6d930723],textarea[data-v-6d930723]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6d930723]:disabled,select[data-v-6d930723]:disabled,textarea[data-v-6d930723]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6d930723]{font-weight:700}button[data-v-6d930723]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6d930723]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6d930723]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6d930723]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6d930723]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6d930723]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6d930723]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6d930723]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6d930723]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6d930723]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6d930723]{margin:10px;padding:5px}.upper[data-v-6d930723]{text-transform:uppercase}.fa-trophy[data-v-6d930723]{color:var(--workout-trophy-color)}.section-title[data-v-6d930723]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6d930723]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6d930723]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6d930723]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6d930723]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6d930723]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6d930723]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6d930723]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6d930723]{font-weight:700}.description-list dl dd[data-v-6d930723]{margin-bottom:10px}.center-card[data-v-6d930723]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6d930723]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6d930723]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6d930723]{margin-top:0}}.center-text[data-v-6d930723]{text-align:center}.responsive-table[data-v-6d930723]{margin-bottom:15px}.responsive-table table[data-v-6d930723]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6d930723]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6d930723]{font-size:.95em}.responsive-table table tbody td[data-v-6d930723]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:none}.responsive-table table .cell-heading[data-v-6d930723]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6d930723]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6d930723]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6d930723]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6d930723]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6d930723]{width:100%}}#admin-sports table td[data-v-6d930723]{font-size:1.1em}#admin-sports .sport-img[data-v-6d930723]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d930723]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .text-left[data-v-6d930723]{text-align:left}#admin-sports .sport-action[data-v-6d930723]{padding-left:40px}#admin-sports .action-button[data-v-6d930723]{display:block}#admin-sports .top-button[data-v-6d930723]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d930723]{padding-left:10px}#admin-sports .has-workouts[data-v-6d930723]{padding-top:5px}#admin-sports .action-button[data-v-6d930723]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d930723]{display:block;margin-bottom:20px}}[data-v-4a4a3d67]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-4a4a3d67]{margin:0}#app[data-v-4a4a3d67]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-4a4a3d67]{color:var(--app-a-color);text-decoration:none}img[data-v-4a4a3d67]{max-width:100%}input[data-v-4a4a3d67],select[data-v-4a4a3d67],textarea[data-v-4a4a3d67]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4a4a3d67]:disabled,select[data-v-4a4a3d67]:disabled,textarea[data-v-4a4a3d67]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4a4a3d67]{font-weight:700}button[data-v-4a4a3d67]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-4a4a3d67]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4a4a3d67]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4a4a3d67]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4a4a3d67]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4a4a3d67]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4a4a3d67]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4a4a3d67]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4a4a3d67]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4a4a3d67]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4a4a3d67]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4a4a3d67]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4a4a3d67]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4a4a3d67]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4a4a3d67]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4a4a3d67]{margin:10px;padding:5px}.upper[data-v-4a4a3d67]{text-transform:uppercase}.fa-trophy[data-v-4a4a3d67]{color:var(--workout-trophy-color)}.section-title[data-v-4a4a3d67]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4a4a3d67]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-4a4a3d67]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4a4a3d67]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4a4a3d67]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4a4a3d67]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4a4a3d67]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4a4a3d67]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-4a4a3d67]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4a4a3d67]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4a4a3d67]{font-weight:700}.description-list dl dd[data-v-4a4a3d67]{margin-bottom:10px}.center-card[data-v-4a4a3d67]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4a4a3d67]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4a4a3d67]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4a4a3d67]{margin-top:0}}.center-text[data-v-4a4a3d67]{text-align:center}.responsive-table[data-v-4a4a3d67]{margin-bottom:15px}.responsive-table table[data-v-4a4a3d67]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4a4a3d67]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4a4a3d67]{font-size:.95em}.responsive-table table tbody td[data-v-4a4a3d67]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4a4a3d67]{border:none}.responsive-table table .cell-heading[data-v-4a4a3d67]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-4a4a3d67]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4a4a3d67]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4a4a3d67]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-4a4a3d67]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4a4a3d67]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4a4a3d67]{width:100%}}.table-selects[data-v-4a4a3d67]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-4a4a3d67]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-4a4a3d67]{flex-wrap:wrap}.table-selects label[data-v-4a4a3d67]{margin-bottom:10px}.table-selects label select[data-v-4a4a3d67]{margin-left:0}}[data-v-7694e784]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7694e784]{margin:0}#app[data-v-7694e784]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7694e784]{color:var(--app-a-color);text-decoration:none}img[data-v-7694e784]{max-width:100%}input[data-v-7694e784],select[data-v-7694e784],textarea[data-v-7694e784]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7694e784]:disabled,select[data-v-7694e784]:disabled,textarea[data-v-7694e784]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7694e784]{font-weight:700}button[data-v-7694e784]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7694e784]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7694e784]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7694e784]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7694e784]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7694e784]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7694e784]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7694e784]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7694e784]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7694e784]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7694e784]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7694e784]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7694e784]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7694e784]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7694e784]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7694e784]{margin:10px;padding:5px}.upper[data-v-7694e784]{text-transform:uppercase}.fa-trophy[data-v-7694e784]{color:var(--workout-trophy-color)}.section-title[data-v-7694e784]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7694e784]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7694e784]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7694e784]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7694e784]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7694e784]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7694e784]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7694e784]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7694e784]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7694e784]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7694e784]{font-weight:700}.description-list dl dd[data-v-7694e784]{margin-bottom:10px}.center-card[data-v-7694e784]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7694e784]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7694e784]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7694e784]{margin-top:0}}.center-text[data-v-7694e784]{text-align:center}.responsive-table[data-v-7694e784]{margin-bottom:15px}.responsive-table table[data-v-7694e784]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7694e784]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7694e784]{font-size:.95em}.responsive-table table tbody td[data-v-7694e784]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7694e784]{border:none}.responsive-table table .cell-heading[data-v-7694e784]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7694e784]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7694e784]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7694e784]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7694e784]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7694e784]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7694e784]{width:100%}}.pagination-center[data-v-7694e784]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-7694e784]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-7694e784],.pagination-center .pagination .page-prev[data-v-7694e784],.pagination-center .pagination .page[data-v-7694e784]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-7694e784],.pagination-center .pagination .page-prev.active[data-v-7694e784],.pagination-center .pagination .page.active[data-v-7694e784]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-7694e784],.pagination-center .pagination .page-prev.disabled[data-v-7694e784],.pagination-center .pagination .page.disabled[data-v-7694e784]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-7694e784],.pagination-center .pagination .page-prev.disabled a[data-v-7694e784],.pagination-center .pagination .page.disabled a[data-v-7694e784]{color:var(--disabled-color)}.pagination-center .pagination .page[data-v-7694e784]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-7694e784]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-7694e784]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}[data-v-579fae0e]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-579fae0e]{margin:0}#app[data-v-579fae0e]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-579fae0e]{color:var(--app-a-color);text-decoration:none}img[data-v-579fae0e]{max-width:100%}input[data-v-579fae0e],select[data-v-579fae0e],textarea[data-v-579fae0e]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-579fae0e]:disabled,select[data-v-579fae0e]:disabled,textarea[data-v-579fae0e]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-579fae0e]{font-weight:700}button[data-v-579fae0e]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-579fae0e]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-579fae0e]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-579fae0e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-579fae0e]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-579fae0e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-579fae0e]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-579fae0e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-579fae0e]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-579fae0e]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-579fae0e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-579fae0e]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-579fae0e]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-579fae0e]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-579fae0e]{display:flex;flex-direction:column}.form-box .form-items input[data-v-579fae0e]{margin:10px;padding:5px}.upper[data-v-579fae0e]{text-transform:uppercase}.fa-trophy[data-v-579fae0e]{color:var(--workout-trophy-color)}.section-title[data-v-579fae0e]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-579fae0e]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-579fae0e]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-579fae0e]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-579fae0e]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-579fae0e]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-579fae0e]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-579fae0e]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-579fae0e]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-579fae0e]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-579fae0e]{font-weight:700}.description-list dl dd[data-v-579fae0e]{margin-bottom:10px}.center-card[data-v-579fae0e]{margin:0 auto;width:700px}.center-card.with-margin[data-v-579fae0e]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-579fae0e]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-579fae0e]{margin-top:0}}.center-text[data-v-579fae0e]{text-align:center}.responsive-table[data-v-579fae0e]{margin-bottom:15px}.responsive-table table[data-v-579fae0e]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-579fae0e]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-579fae0e]{font-size:.95em}.responsive-table table tbody td[data-v-579fae0e]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-579fae0e]{border:none}.responsive-table table .cell-heading[data-v-579fae0e]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-579fae0e]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-579fae0e]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-579fae0e]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-579fae0e]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-579fae0e]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-579fae0e]{width:100%}}#admin-users .top-button[data-v-579fae0e]{display:none}#admin-users table td[data-v-579fae0e]{font-size:1.1em}#admin-users .left-text[data-v-579fae0e]{text-align:left}#admin-users[data-v-579fae0e] .user-picture img{height:30px;width:30px}#admin-users[data-v-579fae0e] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-579fae0e]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-579fae0e]{margin-top:-30px}}[data-v-a6fa997c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a6fa997c]{margin:0}#app[data-v-a6fa997c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a6fa997c]{color:var(--app-a-color);text-decoration:none}img[data-v-a6fa997c]{max-width:100%}input[data-v-a6fa997c],select[data-v-a6fa997c],textarea[data-v-a6fa997c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a6fa997c]:disabled,select[data-v-a6fa997c]:disabled,textarea[data-v-a6fa997c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a6fa997c]{font-weight:700}button[data-v-a6fa997c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a6fa997c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a6fa997c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a6fa997c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a6fa997c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a6fa997c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a6fa997c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a6fa997c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a6fa997c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a6fa997c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a6fa997c]{margin:10px;padding:5px}.upper[data-v-a6fa997c]{text-transform:uppercase}.fa-trophy[data-v-a6fa997c]{color:var(--workout-trophy-color)}.section-title[data-v-a6fa997c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a6fa997c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a6fa997c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a6fa997c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a6fa997c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a6fa997c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a6fa997c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a6fa997c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a6fa997c]{font-weight:700}.description-list dl dd[data-v-a6fa997c]{margin-bottom:10px}.center-card[data-v-a6fa997c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a6fa997c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a6fa997c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a6fa997c]{margin-top:0}}.center-text[data-v-a6fa997c]{text-align:center}.responsive-table[data-v-a6fa997c]{margin-bottom:15px}.responsive-table table[data-v-a6fa997c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a6fa997c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a6fa997c]{font-size:.95em}.responsive-table table tbody td[data-v-a6fa997c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:none}.responsive-table table .cell-heading[data-v-a6fa997c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a6fa997c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a6fa997c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a6fa997c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a6fa997c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a6fa997c]{width:100%}}.user-header[data-v-a6fa997c]{display:flex;align-items:stretch}.user-header .user-details[data-v-a6fa997c]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-a6fa997c]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-a6fa997c]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-a6fa997c],.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-a6fa997c]{font-size:1.5em}.user-header .user-details .user-stats[data-v-a6fa997c]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-a6fa997c]{display:none}}.profile-tabs{margin:10px 0 10px}[data-v-c81580c0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-c81580c0]{margin:0}#app[data-v-c81580c0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-c81580c0]{color:var(--app-a-color);text-decoration:none}img[data-v-c81580c0]{max-width:100%}input[data-v-c81580c0],select[data-v-c81580c0],textarea[data-v-c81580c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-c81580c0]:disabled,select[data-v-c81580c0]:disabled,textarea[data-v-c81580c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-c81580c0]{font-weight:700}button[data-v-c81580c0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-c81580c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-c81580c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-c81580c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-c81580c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-c81580c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-c81580c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-c81580c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-c81580c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-c81580c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-c81580c0]{margin:10px;padding:5px}.upper[data-v-c81580c0]{text-transform:uppercase}.fa-trophy[data-v-c81580c0]{color:var(--workout-trophy-color)}.section-title[data-v-c81580c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-c81580c0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-c81580c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-c81580c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-c81580c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-c81580c0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-c81580c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-c81580c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-c81580c0]{font-weight:700}.description-list dl dd[data-v-c81580c0]{margin-bottom:10px}.center-card[data-v-c81580c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-c81580c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-c81580c0]{margin-top:0}}.center-text[data-v-c81580c0]{text-align:center}.responsive-table[data-v-c81580c0]{margin-bottom:15px}.responsive-table table[data-v-c81580c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-c81580c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-c81580c0]{font-size:.95em}.responsive-table table tbody td[data-v-c81580c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:none}.responsive-table table .cell-heading[data-v-c81580c0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-c81580c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-c81580c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-c81580c0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-c81580c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-c81580c0]{width:100%}}#user-profile[data-v-c81580c0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}}[data-v-1267fe4f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1267fe4f]{margin:0}#app[data-v-1267fe4f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1267fe4f]{color:var(--app-a-color);text-decoration:none}img[data-v-1267fe4f]{max-width:100%}input[data-v-1267fe4f],select[data-v-1267fe4f],textarea[data-v-1267fe4f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1267fe4f]:disabled,select[data-v-1267fe4f]:disabled,textarea[data-v-1267fe4f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-1267fe4f]{font-weight:700}button[data-v-1267fe4f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1267fe4f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1267fe4f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1267fe4f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1267fe4f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1267fe4f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1267fe4f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1267fe4f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1267fe4f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1267fe4f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1267fe4f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1267fe4f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1267fe4f]{margin:10px;padding:5px}.upper[data-v-1267fe4f]{text-transform:uppercase}.fa-trophy[data-v-1267fe4f]{color:var(--workout-trophy-color)}.section-title[data-v-1267fe4f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1267fe4f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1267fe4f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1267fe4f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1267fe4f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1267fe4f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1267fe4f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1267fe4f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1267fe4f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1267fe4f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1267fe4f]{font-weight:700}.description-list dl dd[data-v-1267fe4f]{margin-bottom:10px}.center-card[data-v-1267fe4f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1267fe4f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1267fe4f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1267fe4f]{margin-top:0}}.center-text[data-v-1267fe4f]{text-align:center}.responsive-table[data-v-1267fe4f]{margin-bottom:15px}.responsive-table table[data-v-1267fe4f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1267fe4f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1267fe4f]{font-size:.95em}.responsive-table table tbody td[data-v-1267fe4f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1267fe4f]{border:none}.responsive-table table .cell-heading[data-v-1267fe4f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1267fe4f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1267fe4f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1267fe4f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1267fe4f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1267fe4f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1267fe4f]{width:100%}}#user-infos .user-bio[data-v-1267fe4f]{white-space:pre-wrap}#user-infos .profile-buttons[data-v-1267fe4f]{display:flex;gap:10px}[data-v-39667dbe]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-39667dbe]{margin:0}#app[data-v-39667dbe]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-39667dbe]{color:var(--app-a-color);text-decoration:none}img[data-v-39667dbe]{max-width:100%}input[data-v-39667dbe],select[data-v-39667dbe],textarea[data-v-39667dbe]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-39667dbe]:disabled,select[data-v-39667dbe]:disabled,textarea[data-v-39667dbe]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-39667dbe]{font-weight:700}button[data-v-39667dbe]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-39667dbe]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-39667dbe]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-39667dbe]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-39667dbe]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-39667dbe]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-39667dbe]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-39667dbe]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-39667dbe]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-39667dbe]{display:flex;flex-direction:column}.form-box .form-items input[data-v-39667dbe]{margin:10px;padding:5px}.upper[data-v-39667dbe]{text-transform:uppercase}.fa-trophy[data-v-39667dbe]{color:var(--workout-trophy-color)}.section-title[data-v-39667dbe]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-39667dbe]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-39667dbe]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-39667dbe]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-39667dbe]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-39667dbe]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-39667dbe]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-39667dbe]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-39667dbe]{font-weight:700}.description-list dl dd[data-v-39667dbe]{margin-bottom:10px}.center-card[data-v-39667dbe]{margin:0 auto;width:700px}.center-card.with-margin[data-v-39667dbe]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-39667dbe]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-39667dbe]{margin-top:0}}.center-text[data-v-39667dbe]{text-align:center}.responsive-table[data-v-39667dbe]{margin-bottom:15px}.responsive-table table[data-v-39667dbe]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-39667dbe]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-39667dbe]{font-size:.95em}.responsive-table table tbody td[data-v-39667dbe]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:none}.responsive-table table .cell-heading[data-v-39667dbe]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-39667dbe]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-39667dbe]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-39667dbe]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-39667dbe]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-39667dbe]{width:100%}}#user-preferences .profile-buttons[data-v-39667dbe]{display:flex;gap:10px}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.form-buttons{flex-direction:row}@media screen and (max-width:500px){.form-buttons{flex-direction:column}}[data-v-500d4a7a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-500d4a7a]{margin:0}#app[data-v-500d4a7a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-500d4a7a]{color:var(--app-a-color);text-decoration:none}img[data-v-500d4a7a]{max-width:100%}input[data-v-500d4a7a],select[data-v-500d4a7a],textarea[data-v-500d4a7a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-500d4a7a]:disabled,select[data-v-500d4a7a]:disabled,textarea[data-v-500d4a7a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-500d4a7a]{font-weight:700}button[data-v-500d4a7a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-500d4a7a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-500d4a7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-500d4a7a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-500d4a7a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-500d4a7a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-500d4a7a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-500d4a7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-500d4a7a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-500d4a7a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-500d4a7a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-500d4a7a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-500d4a7a]{margin:10px;padding:5px}.upper[data-v-500d4a7a]{text-transform:uppercase}.fa-trophy[data-v-500d4a7a]{color:var(--workout-trophy-color)}.section-title[data-v-500d4a7a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-500d4a7a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-500d4a7a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-500d4a7a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-500d4a7a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-500d4a7a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-500d4a7a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-500d4a7a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-500d4a7a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-500d4a7a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-500d4a7a]{font-weight:700}.description-list dl dd[data-v-500d4a7a]{margin-bottom:10px}.center-card[data-v-500d4a7a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-500d4a7a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-500d4a7a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-500d4a7a]{margin-top:0}}.center-text[data-v-500d4a7a]{text-align:center}.responsive-table[data-v-500d4a7a]{margin-bottom:15px}.responsive-table table[data-v-500d4a7a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-500d4a7a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-500d4a7a]{font-size:.95em}.responsive-table table tbody td[data-v-500d4a7a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-500d4a7a]{border:none}.responsive-table table .cell-heading[data-v-500d4a7a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-500d4a7a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-500d4a7a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-500d4a7a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-500d4a7a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-500d4a7a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-500d4a7a]{width:100%}}#user-picture-edition .user-picture-form[data-v-500d4a7a]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-500d4a7a]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-500d4a7a]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-500d4a7a]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form .picture-buttons[data-v-500d4a7a]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-500d4a7a]{flex-direction:column;align-items:stretch}}[data-v-f5e8066a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-f5e8066a]{margin:0}#app[data-v-f5e8066a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-f5e8066a]{color:var(--app-a-color);text-decoration:none}img[data-v-f5e8066a]{max-width:100%}input[data-v-f5e8066a],select[data-v-f5e8066a],textarea[data-v-f5e8066a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-f5e8066a]:disabled,select[data-v-f5e8066a]:disabled,textarea[data-v-f5e8066a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-f5e8066a]{font-weight:700}button[data-v-f5e8066a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-f5e8066a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-f5e8066a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-f5e8066a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-f5e8066a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-f5e8066a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-f5e8066a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-f5e8066a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-f5e8066a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-f5e8066a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-f5e8066a]{margin:10px;padding:5px}.upper[data-v-f5e8066a]{text-transform:uppercase}.fa-trophy[data-v-f5e8066a]{color:var(--workout-trophy-color)}.section-title[data-v-f5e8066a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-f5e8066a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-f5e8066a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-f5e8066a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-f5e8066a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-f5e8066a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-f5e8066a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-f5e8066a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-f5e8066a]{font-weight:700}.description-list dl dd[data-v-f5e8066a]{margin-bottom:10px}.center-card[data-v-f5e8066a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-f5e8066a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-f5e8066a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-f5e8066a]{margin-top:0}}.center-text[data-v-f5e8066a]{text-align:center}.responsive-table[data-v-f5e8066a]{margin-bottom:15px}.responsive-table table[data-v-f5e8066a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-f5e8066a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-f5e8066a]{font-size:.95em}.responsive-table table tbody td[data-v-f5e8066a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:none}.responsive-table table .cell-heading[data-v-f5e8066a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-f5e8066a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-f5e8066a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-f5e8066a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-f5e8066a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-f5e8066a]{width:100%}}.alert-message[data-v-f5e8066a]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}[data-v-ad3739fc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ad3739fc]{margin:0}#app[data-v-ad3739fc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ad3739fc]{color:var(--app-a-color);text-decoration:none}img[data-v-ad3739fc]{max-width:100%}input[data-v-ad3739fc],select[data-v-ad3739fc],textarea[data-v-ad3739fc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ad3739fc]:disabled,select[data-v-ad3739fc]:disabled,textarea[data-v-ad3739fc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-ad3739fc]{font-weight:700}button[data-v-ad3739fc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ad3739fc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ad3739fc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ad3739fc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ad3739fc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ad3739fc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ad3739fc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ad3739fc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ad3739fc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ad3739fc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ad3739fc]{margin:10px;padding:5px}.upper[data-v-ad3739fc]{text-transform:uppercase}.fa-trophy[data-v-ad3739fc]{color:var(--workout-trophy-color)}.section-title[data-v-ad3739fc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ad3739fc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ad3739fc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ad3739fc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ad3739fc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ad3739fc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ad3739fc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ad3739fc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ad3739fc]{font-weight:700}.description-list dl dd[data-v-ad3739fc]{margin-bottom:10px}.center-card[data-v-ad3739fc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ad3739fc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ad3739fc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ad3739fc]{margin-top:0}}.center-text[data-v-ad3739fc]{text-align:center}.responsive-table[data-v-ad3739fc]{margin-bottom:15px}.responsive-table table[data-v-ad3739fc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ad3739fc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ad3739fc]{font-size:.95em}.responsive-table table tbody td[data-v-ad3739fc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:none}.responsive-table table .cell-heading[data-v-ad3739fc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ad3739fc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ad3739fc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ad3739fc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ad3739fc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ad3739fc]{width:100%}}.custom-textarea[data-v-ad3739fc]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-ad3739fc]{font-size:.8em;font-style:italic}.dropdown-list[data-v-5ef2ddef]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-5ef2ddef]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-5ef2ddef]:last-child{padding-bottom:5px}.dropdown-item[data-v-5ef2ddef]{cursor:default}.dropdown-item.selected[data-v-5ef2ddef]{font-weight:700}.dropdown-item.selected[data-v-5ef2ddef]:after{content:" ✔"}[data-v-5c177a93]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c177a93]{margin:0}#app[data-v-5c177a93]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c177a93]{color:var(--app-a-color);text-decoration:none}img[data-v-5c177a93]{max-width:100%}input[data-v-5c177a93],select[data-v-5c177a93],textarea[data-v-5c177a93]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c177a93]:disabled,select[data-v-5c177a93]:disabled,textarea[data-v-5c177a93]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c177a93]{font-weight:700}button[data-v-5c177a93]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c177a93]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c177a93]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c177a93]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c177a93]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c177a93]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c177a93]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c177a93]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c177a93]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c177a93]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c177a93]{margin:10px;padding:5px}.upper[data-v-5c177a93]{text-transform:uppercase}.fa-trophy[data-v-5c177a93]{color:var(--workout-trophy-color)}.section-title[data-v-5c177a93]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c177a93]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c177a93]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c177a93]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c177a93]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c177a93]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c177a93]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c177a93]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c177a93]{font-weight:700}.description-list dl dd[data-v-5c177a93]{margin-bottom:10px}.center-card[data-v-5c177a93]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c177a93]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c177a93]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c177a93]{margin-top:0}}.center-text[data-v-5c177a93]{text-align:center}.responsive-table[data-v-5c177a93]{margin-bottom:15px}.responsive-table table[data-v-5c177a93]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c177a93]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c177a93]{font-size:.95em}.responsive-table table tbody td[data-v-5c177a93]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:none}.responsive-table table .cell-heading[data-v-5c177a93]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c177a93]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c177a93]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c177a93]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c177a93]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c177a93]{width:100%}}.error-message[data-v-5c177a93]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}[data-v-8bf75da8]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-8bf75da8]{margin:0}#app[data-v-8bf75da8]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-8bf75da8]{color:var(--app-a-color);text-decoration:none}img[data-v-8bf75da8]{max-width:100%}input[data-v-8bf75da8],select[data-v-8bf75da8],textarea[data-v-8bf75da8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8bf75da8]:disabled,select[data-v-8bf75da8]:disabled,textarea[data-v-8bf75da8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8bf75da8]{font-weight:700}button[data-v-8bf75da8]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8bf75da8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8bf75da8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8bf75da8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8bf75da8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8bf75da8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8bf75da8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8bf75da8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8bf75da8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8bf75da8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8bf75da8]{margin:10px;padding:5px}.upper[data-v-8bf75da8]{text-transform:uppercase}.fa-trophy[data-v-8bf75da8]{color:var(--workout-trophy-color)}.section-title[data-v-8bf75da8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8bf75da8]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-8bf75da8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8bf75da8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8bf75da8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8bf75da8]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-8bf75da8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8bf75da8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8bf75da8]{font-weight:700}.description-list dl dd[data-v-8bf75da8]{margin-bottom:10px}.center-card[data-v-8bf75da8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8bf75da8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8bf75da8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8bf75da8]{margin-top:0}}.center-text[data-v-8bf75da8]{text-align:center}.responsive-table[data-v-8bf75da8]{margin-bottom:15px}.responsive-table table[data-v-8bf75da8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8bf75da8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8bf75da8]{font-size:.95em}.responsive-table table tbody td[data-v-8bf75da8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:none}.responsive-table table .cell-heading[data-v-8bf75da8]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-8bf75da8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8bf75da8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8bf75da8]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8bf75da8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8bf75da8]{width:100%}}.loader[data-v-8bf75da8]{-webkit-animation:spin-8bf75da8 2s linear infinite;animation:spin-8bf75da8 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@-webkit-keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-v-21b6cb61]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-21b6cb61]{margin:0}#app[data-v-21b6cb61]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21b6cb61]{color:var(--app-a-color);text-decoration:none}img[data-v-21b6cb61]{max-width:100%}input[data-v-21b6cb61],select[data-v-21b6cb61],textarea[data-v-21b6cb61]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21b6cb61]:disabled,select[data-v-21b6cb61]:disabled,textarea[data-v-21b6cb61]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-21b6cb61]{font-weight:700}button[data-v-21b6cb61]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21b6cb61]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21b6cb61]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21b6cb61]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21b6cb61]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21b6cb61]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21b6cb61]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21b6cb61]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21b6cb61]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21b6cb61]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21b6cb61]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21b6cb61]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21b6cb61]{margin:10px;padding:5px}.upper[data-v-21b6cb61]{text-transform:uppercase}.fa-trophy[data-v-21b6cb61]{color:var(--workout-trophy-color)}.section-title[data-v-21b6cb61]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21b6cb61]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21b6cb61]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21b6cb61]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21b6cb61]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21b6cb61]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21b6cb61]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21b6cb61]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21b6cb61]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21b6cb61]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21b6cb61]{font-weight:700}.description-list dl dd[data-v-21b6cb61]{margin-bottom:10px}.center-card[data-v-21b6cb61]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21b6cb61]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21b6cb61]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21b6cb61]{margin-top:0}}.center-text[data-v-21b6cb61]{text-align:center}.responsive-table[data-v-21b6cb61]{margin-bottom:15px}.responsive-table table[data-v-21b6cb61]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21b6cb61]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21b6cb61]{font-size:.95em}.responsive-table table tbody td[data-v-21b6cb61]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21b6cb61]{border:none}.responsive-table table .cell-heading[data-v-21b6cb61]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21b6cb61]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21b6cb61]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21b6cb61]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21b6cb61]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21b6cb61]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21b6cb61]{width:100%}}#modal[data-v-21b6cb61]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-21b6cb61]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-21b6cb61]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-21b6cb61]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-21b6cb61] .card{border:0;margin:0}#modal .custom-modal[data-v-21b6cb61] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.5efeb1fe.css b/fittrackee/dist/static/css/app.5efeb1fe.css new file mode 100644 index 00000000..ee59922c --- /dev/null +++ b/fittrackee/dist/static/css/app.5efeb1fe.css @@ -0,0 +1 @@ +[data-v-e1641806]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-e1641806]{margin:0}#app[data-v-e1641806]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-e1641806]{color:var(--app-a-color);text-decoration:none}img[data-v-e1641806]{max-width:100%}input[data-v-e1641806],select[data-v-e1641806],textarea[data-v-e1641806]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e1641806]:disabled,select[data-v-e1641806]:disabled,textarea[data-v-e1641806]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e1641806]{font-weight:700}button[data-v-e1641806]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e1641806]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e1641806]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e1641806]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e1641806]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e1641806]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e1641806]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e1641806]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e1641806]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e1641806]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e1641806]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e1641806]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e1641806]{margin:10px;padding:5px}.upper[data-v-e1641806]{text-transform:uppercase}.fa-trophy[data-v-e1641806]{color:var(--workout-trophy-color)}.section-title[data-v-e1641806]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e1641806]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-e1641806]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e1641806]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e1641806]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e1641806]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e1641806]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-e1641806]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e1641806]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e1641806]{font-weight:700}.description-list dl dd[data-v-e1641806]{margin-bottom:10px}.center-card[data-v-e1641806]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e1641806]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e1641806]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e1641806]{margin-top:0}}.center-text[data-v-e1641806]{text-align:center}.responsive-table[data-v-e1641806]{margin-bottom:15px}.responsive-table table[data-v-e1641806]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e1641806]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e1641806]{font-size:.95em}.responsive-table table tbody td[data-v-e1641806]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:none}.responsive-table table .cell-heading[data-v-e1641806]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-e1641806]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e1641806]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e1641806]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-e1641806]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e1641806]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e1641806]{width:100%}}#footer[data-v-e1641806]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-e1641806]{text-decoration:none}#footer .footer-items[data-v-e1641806]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-e1641806]{padding:10px 10px;border-top:solid 1px var(--footer-border-color);text-align:center}@media screen and (max-width:500px){#footer .footer-items[data-v-e1641806]{font-size:.85em}#footer .footer-items .footer-item[data-v-e1641806]{padding:5px 5px}#footer .footer-items .bullet[data-v-e1641806]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%}.user-picture img{border-radius:50%;height:90px;width:90px}.user-picture .no-picture{color:var(--app-a-color);font-size:5.5em}[data-v-03a78350]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-03a78350]{margin:0}#app[data-v-03a78350]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-03a78350]{color:var(--app-a-color);text-decoration:none}img[data-v-03a78350]{max-width:100%}input[data-v-03a78350],select[data-v-03a78350],textarea[data-v-03a78350]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-03a78350]:disabled,select[data-v-03a78350]:disabled,textarea[data-v-03a78350]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-03a78350]{font-weight:700}button[data-v-03a78350]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-03a78350]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-03a78350]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-03a78350]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-03a78350]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-03a78350]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-03a78350]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-03a78350]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-03a78350]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-03a78350]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-03a78350]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-03a78350]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-03a78350]{display:flex;flex-direction:column}.form-box .form-items input[data-v-03a78350]{margin:10px;padding:5px}.upper[data-v-03a78350]{text-transform:uppercase}.fa-trophy[data-v-03a78350]{color:var(--workout-trophy-color)}.section-title[data-v-03a78350]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-03a78350]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-03a78350]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-03a78350]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-03a78350]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-03a78350]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-03a78350]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-03a78350]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-03a78350]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-03a78350]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-03a78350]{font-weight:700}.description-list dl dd[data-v-03a78350]{margin-bottom:10px}.center-card[data-v-03a78350]{margin:0 auto;width:700px}.center-card.with-margin[data-v-03a78350]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-03a78350]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-03a78350]{margin-top:0}}.center-text[data-v-03a78350]{text-align:center}.responsive-table[data-v-03a78350]{margin-bottom:15px}.responsive-table table[data-v-03a78350]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-03a78350]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-03a78350]{font-size:.95em}.responsive-table table tbody td[data-v-03a78350]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-03a78350]{border:none}.responsive-table table .cell-heading[data-v-03a78350]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-03a78350]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-03a78350]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-03a78350]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-03a78350]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-03a78350]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-03a78350]{width:100%}}#nav[data-v-03a78350]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-03a78350]{display:flex;margin-left:auto;margin-right:auto;padding:0 15px 15px 15px;max-width:1140px;width:100%;border-bottom:solid 1px var(--nav-border-color)}#nav a.router-link-exact-active[data-v-03a78350]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-03a78350]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-03a78350]:hover{cursor:pointer}#nav .fa[data-v-03a78350]{font-size:1.2em}#nav .close-icon[data-v-03a78350],#nav .hamburger-icon[data-v-03a78350],#nav .nav-icon-open[data-v-03a78350]{display:none}#nav .nav-items[data-v-03a78350]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-03a78350]{display:none}#nav .nav-items .nav-items-app-menu[data-v-03a78350],#nav .nav-items .nav-items-user-menu[data-v-03a78350]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-03a78350]{display:flex}#nav .nav-items .nav-item[data-v-03a78350]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-03a78350]{width:60px}#nav .nav-items .nav-item[data-v-03a78350] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-03a78350]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-03a78350]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-03a78350] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-03a78350] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-03a78350]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-03a78350]{display:block}#nav .nav-icon-open[data-v-03a78350]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-03a78350]{display:none}#nav .close-icon[data-v-03a78350]{display:block}#nav .close-icon.menu-closed[data-v-03a78350],#nav .nav-items[data-v-03a78350]{display:none}#nav .nav-items.menu-open[data-v-03a78350]{display:flex;flex-direction:column;justify-content:flex-start;z-index:1001;position:absolute;top:0;right:0;bottom:0;left:0;background:var(--nav-bar-background-color)}#nav .nav-items.menu-open .nav-items-app-menu[data-v-03a78350],#nav .nav-items.menu-open .nav-items-close[data-v-03a78350],#nav .nav-items.menu-open .nav-items-user-menu[data-v-03a78350]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-03a78350]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-03a78350]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-03a78350]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-03a78350]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-03a78350]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-03a78350]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}[data-v-01d4a985]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-01d4a985]{margin:0}#app[data-v-01d4a985]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-01d4a985]{color:var(--app-a-color);text-decoration:none}img[data-v-01d4a985]{max-width:100%}input[data-v-01d4a985],select[data-v-01d4a985],textarea[data-v-01d4a985]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-01d4a985]:disabled,select[data-v-01d4a985]:disabled,textarea[data-v-01d4a985]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-01d4a985]{font-weight:700}button[data-v-01d4a985]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-01d4a985]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-01d4a985]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-01d4a985]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-01d4a985]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-01d4a985]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-01d4a985]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-01d4a985]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-01d4a985]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-01d4a985]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-01d4a985]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-01d4a985]{display:flex;flex-direction:column}.form-box .form-items input[data-v-01d4a985]{margin:10px;padding:5px}.upper[data-v-01d4a985]{text-transform:uppercase}.fa-trophy[data-v-01d4a985]{color:var(--workout-trophy-color)}.section-title[data-v-01d4a985]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-01d4a985]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-01d4a985]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-01d4a985]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-01d4a985]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-01d4a985]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-01d4a985]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-01d4a985]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-01d4a985]{font-weight:700}.description-list dl dd[data-v-01d4a985]{margin-bottom:10px}.center-card[data-v-01d4a985]{margin:0 auto;width:700px}.center-card.with-margin[data-v-01d4a985]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-01d4a985]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-01d4a985]{margin-top:0}}.center-text[data-v-01d4a985]{text-align:center}.responsive-table[data-v-01d4a985]{margin-bottom:15px}.responsive-table table[data-v-01d4a985]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-01d4a985]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-01d4a985]{font-size:.95em}.responsive-table table tbody td[data-v-01d4a985]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:none}.responsive-table table .cell-heading[data-v-01d4a985]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-01d4a985]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-01d4a985]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-01d4a985]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-01d4a985]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-01d4a985]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-01d4a985]{width:100%}}#no-config[data-v-01d4a985]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-01d4a985]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-01d4a985]{width:150px}#no-config .error-page .error-img svg .error-page-img[data-v-01d4a985]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-01d4a985]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-01d4a985]{font-size:1em}}[data-v-317a6409]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-317a6409]{margin:0}#app[data-v-317a6409]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-317a6409]{color:var(--app-a-color);text-decoration:none}img[data-v-317a6409]{max-width:100%}input[data-v-317a6409],select[data-v-317a6409],textarea[data-v-317a6409]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-317a6409]:disabled,select[data-v-317a6409]:disabled,textarea[data-v-317a6409]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-317a6409]{font-weight:700}button[data-v-317a6409]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-317a6409]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-317a6409]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-317a6409]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-317a6409]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-317a6409]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-317a6409]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-317a6409]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-317a6409]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-317a6409]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-317a6409]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-317a6409]{display:flex;flex-direction:column}.form-box .form-items input[data-v-317a6409]{margin:10px;padding:5px}.upper[data-v-317a6409]{text-transform:uppercase}.fa-trophy[data-v-317a6409]{color:var(--workout-trophy-color)}.section-title[data-v-317a6409]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-317a6409]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-317a6409]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-317a6409]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-317a6409]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-317a6409]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-317a6409]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-317a6409]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-317a6409]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-317a6409]{font-weight:700}.description-list dl dd[data-v-317a6409]{margin-bottom:10px}.center-card[data-v-317a6409]{margin:0 auto;width:700px}.center-card.with-margin[data-v-317a6409]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-317a6409]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-317a6409]{margin-top:0}}.center-text[data-v-317a6409]{text-align:center}.responsive-table[data-v-317a6409]{margin-bottom:15px}.responsive-table table[data-v-317a6409]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-317a6409]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-317a6409]{font-size:.95em}.responsive-table table tbody td[data-v-317a6409]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:none}.responsive-table table .cell-heading[data-v-317a6409]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-317a6409]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-317a6409]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-317a6409]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-317a6409]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-317a6409]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-317a6409]{width:100%}}.app-container[data-v-317a6409]{height:calc(100vh - 130px)}.app-container.hide-scroll[data-v-317a6409]{overflow:hidden}.app-container .app-loading[data-v-317a6409]{display:flex;align-items:center;height:100%}.scroll[data-v-317a6409]{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button[data-v-317a6409]{background-color:var(--scroll-button-bg-color);border-radius:4px;box-shadow:1px 1px 3px #d3d3d3;display:none;padding:0 10px}.scroll .scroll-button.display-button[data-v-317a6409]{display:block}[data-v-26175b66]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-26175b66]{margin:0}#app[data-v-26175b66]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-26175b66]{color:var(--app-a-color);text-decoration:none}img[data-v-26175b66]{max-width:100%}input[data-v-26175b66],select[data-v-26175b66],textarea[data-v-26175b66]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-26175b66]:disabled,select[data-v-26175b66]:disabled,textarea[data-v-26175b66]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-26175b66]{font-weight:700}button[data-v-26175b66]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-26175b66]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-26175b66]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-26175b66]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-26175b66]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-26175b66]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-26175b66]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-26175b66]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-26175b66]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-26175b66]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-26175b66]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-26175b66]{display:flex;flex-direction:column}.form-box .form-items input[data-v-26175b66]{margin:10px;padding:5px}.upper[data-v-26175b66]{text-transform:uppercase}.fa-trophy[data-v-26175b66]{color:var(--workout-trophy-color)}.section-title[data-v-26175b66]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-26175b66]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-26175b66]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-26175b66]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-26175b66]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-26175b66]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-26175b66]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-26175b66]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-26175b66]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-26175b66]{font-weight:700}.description-list dl dd[data-v-26175b66]{margin-bottom:10px}.center-card[data-v-26175b66]{margin:0 auto;width:700px}.center-card.with-margin[data-v-26175b66]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-26175b66]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-26175b66]{margin-top:0}}.center-text[data-v-26175b66]{text-align:center}.responsive-table[data-v-26175b66]{margin-bottom:15px}.responsive-table table[data-v-26175b66]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-26175b66]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-26175b66]{font-size:.95em}.responsive-table table tbody td[data-v-26175b66]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:none}.responsive-table table .cell-heading[data-v-26175b66]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-26175b66]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-26175b66]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-26175b66]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-26175b66]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-26175b66]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-26175b66]{width:100%}}.user-limit-help[data-v-26175b66]{display:flex}.user-limit-help span[data-v-26175b66]{font-style:italic}.user-limit-help .fa-info-circle[data-v-26175b66]{margin-right:10px}.stat-card{flex:1;max-width:25%}@media screen and (max-width:700px){.stat-card{flex:1 0 50%;max-width:49%}}.stat-card .stat-content{display:flex;flex-direction:row;justify-content:space-between;padding:10px 20px}.stat-card .stat-content .stat-icon{width:30%;text-align:center;vertical-align:center}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon{width:50%;text-align:left}}.stat-card .stat-content .stat-icon .fa{font-size:3em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-icon .fa{font-size:2em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-icon .fa{font-size:1.5em}}.stat-card .stat-content .stat-details{width:70%;text-align:right}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details{width:100%}}.stat-card .stat-content .stat-details .stat-huge{font-size:1.7em;font-weight:700}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat-huge{font-size:1.3em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat-huge{font-size:1em}}.stat-card .stat-content .stat-details .stat{font-size:1em}@media screen and (max-width:1000px){.stat-card .stat-content .stat-details .stat{font-size:.9em}}@media screen and (max-width:500px){.stat-card .stat-content .stat-details .stat{font-size:.8em}}#user-stats{display:flex;flex-wrap:wrap}.card{border:solid 1px var(--card-border-color);border-radius:4px;margin:10px}.card .card-title{font-weight:700;border-bottom:solid 1px var(--card-border-color);padding:10px 20px}.card .card-content{padding:10px 20px}[data-v-4f30aa64]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-4f30aa64]{margin:0}#app[data-v-4f30aa64]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-4f30aa64]{color:var(--app-a-color);text-decoration:none}img[data-v-4f30aa64]{max-width:100%}input[data-v-4f30aa64],select[data-v-4f30aa64],textarea[data-v-4f30aa64]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4f30aa64]:disabled,select[data-v-4f30aa64]:disabled,textarea[data-v-4f30aa64]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4f30aa64]{font-weight:700}button[data-v-4f30aa64]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4f30aa64]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4f30aa64]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4f30aa64]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4f30aa64]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4f30aa64]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4f30aa64]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4f30aa64]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4f30aa64]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4f30aa64]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4f30aa64]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4f30aa64]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4f30aa64]{margin:10px;padding:5px}.upper[data-v-4f30aa64]{text-transform:uppercase}.fa-trophy[data-v-4f30aa64]{color:var(--workout-trophy-color)}.section-title[data-v-4f30aa64]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4f30aa64]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-4f30aa64]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4f30aa64]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4f30aa64]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4f30aa64]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4f30aa64]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-4f30aa64]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4f30aa64]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4f30aa64]{font-weight:700}.description-list dl dd[data-v-4f30aa64]{margin-bottom:10px}.center-card[data-v-4f30aa64]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4f30aa64]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4f30aa64]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4f30aa64]{margin-top:0}}.center-text[data-v-4f30aa64]{text-align:center}.responsive-table[data-v-4f30aa64]{margin-bottom:15px}.responsive-table table[data-v-4f30aa64]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4f30aa64]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4f30aa64]{font-size:.95em}.responsive-table table tbody td[data-v-4f30aa64]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:none}.responsive-table table .cell-heading[data-v-4f30aa64]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-4f30aa64]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4f30aa64]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4f30aa64]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-4f30aa64]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4f30aa64]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4f30aa64]{width:100%}}#admin-menu[data-v-4f30aa64]{display:flex}#admin-menu.center-card[data-v-4f30aa64]{width:100%}#admin-menu[data-v-4f30aa64] .card{flex-grow:1}#admin-menu[data-v-4f30aa64] .card .admin-menu{padding:0 10px}#admin-menu[data-v-4f30aa64] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-4f30aa64] .card .admin-menu .registration-status{font-weight:700}[data-v-6d930723]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6d930723]{margin:0}#app[data-v-6d930723]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6d930723]{color:var(--app-a-color);text-decoration:none}img[data-v-6d930723]{max-width:100%}input[data-v-6d930723],select[data-v-6d930723],textarea[data-v-6d930723]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6d930723]:disabled,select[data-v-6d930723]:disabled,textarea[data-v-6d930723]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6d930723]{font-weight:700}button[data-v-6d930723]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6d930723]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6d930723]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6d930723]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6d930723]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6d930723]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6d930723]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6d930723]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6d930723]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6d930723]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6d930723]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6d930723]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6d930723]{margin:10px;padding:5px}.upper[data-v-6d930723]{text-transform:uppercase}.fa-trophy[data-v-6d930723]{color:var(--workout-trophy-color)}.section-title[data-v-6d930723]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6d930723]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6d930723]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6d930723]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6d930723]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6d930723]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6d930723]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6d930723]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6d930723]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6d930723]{font-weight:700}.description-list dl dd[data-v-6d930723]{margin-bottom:10px}.center-card[data-v-6d930723]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6d930723]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6d930723]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6d930723]{margin-top:0}}.center-text[data-v-6d930723]{text-align:center}.responsive-table[data-v-6d930723]{margin-bottom:15px}.responsive-table table[data-v-6d930723]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6d930723]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6d930723]{font-size:.95em}.responsive-table table tbody td[data-v-6d930723]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:none}.responsive-table table .cell-heading[data-v-6d930723]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6d930723]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6d930723]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6d930723]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6d930723]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6d930723]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6d930723]{width:100%}}#admin-sports table td[data-v-6d930723]{font-size:1.1em}#admin-sports .sport-img[data-v-6d930723]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d930723]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .text-left[data-v-6d930723]{text-align:left}#admin-sports .sport-action[data-v-6d930723]{padding-left:40px}#admin-sports .action-button[data-v-6d930723]{display:block}#admin-sports .top-button[data-v-6d930723]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d930723]{padding-left:10px}#admin-sports .has-workouts[data-v-6d930723]{padding-top:5px}#admin-sports .action-button[data-v-6d930723]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d930723]{display:block;margin-bottom:20px}}[data-v-50c78582]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-50c78582]{margin:0}#app[data-v-50c78582]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-50c78582]{color:var(--app-a-color);text-decoration:none}img[data-v-50c78582]{max-width:100%}input[data-v-50c78582],select[data-v-50c78582],textarea[data-v-50c78582]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-50c78582]:disabled,select[data-v-50c78582]:disabled,textarea[data-v-50c78582]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-50c78582]{font-weight:700}button[data-v-50c78582]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-50c78582]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-50c78582]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-50c78582]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-50c78582]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-50c78582]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-50c78582]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-50c78582]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-50c78582]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-50c78582]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-50c78582]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-50c78582]{display:flex;flex-direction:column}.form-box .form-items input[data-v-50c78582]{margin:10px;padding:5px}.upper[data-v-50c78582]{text-transform:uppercase}.fa-trophy[data-v-50c78582]{color:var(--workout-trophy-color)}.section-title[data-v-50c78582]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-50c78582]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-50c78582]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-50c78582]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-50c78582]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-50c78582]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-50c78582]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-50c78582]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-50c78582]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-50c78582]{font-weight:700}.description-list dl dd[data-v-50c78582]{margin-bottom:10px}.center-card[data-v-50c78582]{margin:0 auto;width:700px}.center-card.with-margin[data-v-50c78582]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-50c78582]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-50c78582]{margin-top:0}}.center-text[data-v-50c78582]{text-align:center}.responsive-table[data-v-50c78582]{margin-bottom:15px}.responsive-table table[data-v-50c78582]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-50c78582]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-50c78582]{font-size:.95em}.responsive-table table tbody td[data-v-50c78582]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-50c78582]{border:none}.responsive-table table .cell-heading[data-v-50c78582]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-50c78582]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-50c78582]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-50c78582]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-50c78582]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-50c78582]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-50c78582]{width:100%}}.table-selects[data-v-50c78582]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-50c78582]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-50c78582]{flex-wrap:wrap}.table-selects label[data-v-50c78582]{margin-bottom:10px}.table-selects label select[data-v-50c78582]{margin-left:0}}[data-v-56dc89d4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-56dc89d4]{margin:0}#app[data-v-56dc89d4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-56dc89d4]{color:var(--app-a-color);text-decoration:none}img[data-v-56dc89d4]{max-width:100%}input[data-v-56dc89d4],select[data-v-56dc89d4],textarea[data-v-56dc89d4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-56dc89d4]:disabled,select[data-v-56dc89d4]:disabled,textarea[data-v-56dc89d4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-56dc89d4]{font-weight:700}button[data-v-56dc89d4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-56dc89d4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-56dc89d4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-56dc89d4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-56dc89d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-56dc89d4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-56dc89d4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-56dc89d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-56dc89d4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-56dc89d4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-56dc89d4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-56dc89d4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-56dc89d4]{margin:10px;padding:5px}.upper[data-v-56dc89d4]{text-transform:uppercase}.fa-trophy[data-v-56dc89d4]{color:var(--workout-trophy-color)}.section-title[data-v-56dc89d4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-56dc89d4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-56dc89d4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-56dc89d4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-56dc89d4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-56dc89d4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-56dc89d4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-56dc89d4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-56dc89d4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-56dc89d4]{font-weight:700}.description-list dl dd[data-v-56dc89d4]{margin-bottom:10px}.center-card[data-v-56dc89d4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-56dc89d4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-56dc89d4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-56dc89d4]{margin-top:0}}.center-text[data-v-56dc89d4]{text-align:center}.responsive-table[data-v-56dc89d4]{margin-bottom:15px}.responsive-table table[data-v-56dc89d4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-56dc89d4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-56dc89d4]{font-size:.95em}.responsive-table table tbody td[data-v-56dc89d4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-56dc89d4]{border:none}.responsive-table table .cell-heading[data-v-56dc89d4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-56dc89d4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-56dc89d4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-56dc89d4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-56dc89d4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-56dc89d4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-56dc89d4]{width:100%}}.pagination-center[data-v-56dc89d4]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-56dc89d4]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-56dc89d4],.pagination-center .pagination .page-prev[data-v-56dc89d4],.pagination-center .pagination .page[data-v-56dc89d4]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-56dc89d4],.pagination-center .pagination .page-prev.active[data-v-56dc89d4],.pagination-center .pagination .page.active[data-v-56dc89d4]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled[data-v-56dc89d4],.pagination-center .pagination .page.disabled[data-v-56dc89d4]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-56dc89d4],.pagination-center .pagination .page-prev.disabled a[data-v-56dc89d4],.pagination-center .pagination .page.disabled a[data-v-56dc89d4]{color:var(--disabled-color)}.pagination-center .pagination .page[data-v-56dc89d4]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-56dc89d4]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-56dc89d4]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-56dc89d4]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-56dc89d4]{display:none}}[data-v-4711ecf8]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-4711ecf8]{margin:0}#app[data-v-4711ecf8]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-4711ecf8]{color:var(--app-a-color);text-decoration:none}img[data-v-4711ecf8]{max-width:100%}input[data-v-4711ecf8],select[data-v-4711ecf8],textarea[data-v-4711ecf8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-4711ecf8]:disabled,select[data-v-4711ecf8]:disabled,textarea[data-v-4711ecf8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-4711ecf8]{font-weight:700}button[data-v-4711ecf8]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-4711ecf8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-4711ecf8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-4711ecf8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-4711ecf8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-4711ecf8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-4711ecf8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-4711ecf8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-4711ecf8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-4711ecf8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-4711ecf8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-4711ecf8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-4711ecf8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-4711ecf8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-4711ecf8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-4711ecf8]{margin:10px;padding:5px}.upper[data-v-4711ecf8]{text-transform:uppercase}.fa-trophy[data-v-4711ecf8]{color:var(--workout-trophy-color)}.section-title[data-v-4711ecf8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-4711ecf8]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-4711ecf8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-4711ecf8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-4711ecf8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-4711ecf8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-4711ecf8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-4711ecf8]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-4711ecf8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-4711ecf8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-4711ecf8]{font-weight:700}.description-list dl dd[data-v-4711ecf8]{margin-bottom:10px}.center-card[data-v-4711ecf8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-4711ecf8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-4711ecf8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-4711ecf8]{margin-top:0}}.center-text[data-v-4711ecf8]{text-align:center}.responsive-table[data-v-4711ecf8]{margin-bottom:15px}.responsive-table table[data-v-4711ecf8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-4711ecf8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-4711ecf8]{font-size:.95em}.responsive-table table tbody td[data-v-4711ecf8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-4711ecf8]{border:none}.responsive-table table .cell-heading[data-v-4711ecf8]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-4711ecf8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-4711ecf8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-4711ecf8]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-4711ecf8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-4711ecf8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-4711ecf8]{width:100%}}#admin-users .top-button[data-v-4711ecf8]{display:none}#admin-users table td[data-v-4711ecf8]{font-size:1.1em}#admin-users .left-text[data-v-4711ecf8]{text-align:left}#admin-users[data-v-4711ecf8] .user-picture img{height:30px;width:30px}#admin-users[data-v-4711ecf8] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-4711ecf8]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4711ecf8]{margin-top:-30px}}[data-v-a6fa997c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a6fa997c]{margin:0}#app[data-v-a6fa997c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a6fa997c]{color:var(--app-a-color);text-decoration:none}img[data-v-a6fa997c]{max-width:100%}input[data-v-a6fa997c],select[data-v-a6fa997c],textarea[data-v-a6fa997c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a6fa997c]:disabled,select[data-v-a6fa997c]:disabled,textarea[data-v-a6fa997c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a6fa997c]{font-weight:700}button[data-v-a6fa997c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a6fa997c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a6fa997c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a6fa997c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a6fa997c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a6fa997c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a6fa997c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a6fa997c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a6fa997c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a6fa997c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a6fa997c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a6fa997c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a6fa997c]{margin:10px;padding:5px}.upper[data-v-a6fa997c]{text-transform:uppercase}.fa-trophy[data-v-a6fa997c]{color:var(--workout-trophy-color)}.section-title[data-v-a6fa997c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a6fa997c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a6fa997c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a6fa997c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a6fa997c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a6fa997c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a6fa997c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a6fa997c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a6fa997c]{font-weight:700}.description-list dl dd[data-v-a6fa997c]{margin-bottom:10px}.center-card[data-v-a6fa997c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a6fa997c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a6fa997c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a6fa997c]{margin-top:0}}.center-text[data-v-a6fa997c]{text-align:center}.responsive-table[data-v-a6fa997c]{margin-bottom:15px}.responsive-table table[data-v-a6fa997c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a6fa997c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a6fa997c]{font-size:.95em}.responsive-table table tbody td[data-v-a6fa997c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:none}.responsive-table table .cell-heading[data-v-a6fa997c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a6fa997c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a6fa997c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a6fa997c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a6fa997c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a6fa997c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a6fa997c]{width:100%}}.user-header[data-v-a6fa997c]{display:flex;align-items:stretch}.user-header .user-details[data-v-a6fa997c]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-a6fa997c]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-a6fa997c]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-a6fa997c]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-a6fa997c],.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-a6fa997c]{font-size:1.5em}.user-header .user-details .user-stats[data-v-a6fa997c]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-a6fa997c]{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-a6fa997c]{display:none}}.profile-tabs{margin:10px 0 10px}[data-v-c81580c0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-c81580c0]{margin:0}#app[data-v-c81580c0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-c81580c0]{color:var(--app-a-color);text-decoration:none}img[data-v-c81580c0]{max-width:100%}input[data-v-c81580c0],select[data-v-c81580c0],textarea[data-v-c81580c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-c81580c0]:disabled,select[data-v-c81580c0]:disabled,textarea[data-v-c81580c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-c81580c0]{font-weight:700}button[data-v-c81580c0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-c81580c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-c81580c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-c81580c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-c81580c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-c81580c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-c81580c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-c81580c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-c81580c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-c81580c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-c81580c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-c81580c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-c81580c0]{margin:10px;padding:5px}.upper[data-v-c81580c0]{text-transform:uppercase}.fa-trophy[data-v-c81580c0]{color:var(--workout-trophy-color)}.section-title[data-v-c81580c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-c81580c0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-c81580c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-c81580c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-c81580c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-c81580c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-c81580c0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-c81580c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-c81580c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-c81580c0]{font-weight:700}.description-list dl dd[data-v-c81580c0]{margin-bottom:10px}.center-card[data-v-c81580c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-c81580c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-c81580c0]{margin-top:0}}.center-text[data-v-c81580c0]{text-align:center}.responsive-table[data-v-c81580c0]{margin-bottom:15px}.responsive-table table[data-v-c81580c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-c81580c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-c81580c0]{font-size:.95em}.responsive-table table tbody td[data-v-c81580c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:none}.responsive-table table .cell-heading[data-v-c81580c0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-c81580c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-c81580c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-c81580c0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-c81580c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-c81580c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-c81580c0]{width:100%}}#user-profile[data-v-c81580c0]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-c81580c0]{width:100%;margin:0 auto 50px auto}}[data-v-1267fe4f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-1267fe4f]{margin:0}#app[data-v-1267fe4f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-1267fe4f]{color:var(--app-a-color);text-decoration:none}img[data-v-1267fe4f]{max-width:100%}input[data-v-1267fe4f],select[data-v-1267fe4f],textarea[data-v-1267fe4f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-1267fe4f]:disabled,select[data-v-1267fe4f]:disabled,textarea[data-v-1267fe4f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-1267fe4f]{font-weight:700}button[data-v-1267fe4f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-1267fe4f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-1267fe4f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-1267fe4f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-1267fe4f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-1267fe4f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-1267fe4f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-1267fe4f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-1267fe4f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-1267fe4f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-1267fe4f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-1267fe4f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-1267fe4f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-1267fe4f]{margin:10px;padding:5px}.upper[data-v-1267fe4f]{text-transform:uppercase}.fa-trophy[data-v-1267fe4f]{color:var(--workout-trophy-color)}.section-title[data-v-1267fe4f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-1267fe4f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-1267fe4f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-1267fe4f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-1267fe4f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-1267fe4f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-1267fe4f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-1267fe4f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-1267fe4f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-1267fe4f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-1267fe4f]{font-weight:700}.description-list dl dd[data-v-1267fe4f]{margin-bottom:10px}.center-card[data-v-1267fe4f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-1267fe4f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-1267fe4f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-1267fe4f]{margin-top:0}}.center-text[data-v-1267fe4f]{text-align:center}.responsive-table[data-v-1267fe4f]{margin-bottom:15px}.responsive-table table[data-v-1267fe4f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-1267fe4f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-1267fe4f]{font-size:.95em}.responsive-table table tbody td[data-v-1267fe4f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-1267fe4f]{border:none}.responsive-table table .cell-heading[data-v-1267fe4f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-1267fe4f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-1267fe4f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-1267fe4f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-1267fe4f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-1267fe4f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-1267fe4f]{width:100%}}#user-infos .user-bio[data-v-1267fe4f]{white-space:pre-wrap}#user-infos .profile-buttons[data-v-1267fe4f]{display:flex;gap:10px}[data-v-39667dbe]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-39667dbe]{margin:0}#app[data-v-39667dbe]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-39667dbe]{color:var(--app-a-color);text-decoration:none}img[data-v-39667dbe]{max-width:100%}input[data-v-39667dbe],select[data-v-39667dbe],textarea[data-v-39667dbe]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-39667dbe]:disabled,select[data-v-39667dbe]:disabled,textarea[data-v-39667dbe]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-39667dbe]{font-weight:700}button[data-v-39667dbe]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-39667dbe]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-39667dbe]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-39667dbe]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-39667dbe]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-39667dbe]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-39667dbe]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-39667dbe]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-39667dbe]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-39667dbe]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-39667dbe]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-39667dbe]{display:flex;flex-direction:column}.form-box .form-items input[data-v-39667dbe]{margin:10px;padding:5px}.upper[data-v-39667dbe]{text-transform:uppercase}.fa-trophy[data-v-39667dbe]{color:var(--workout-trophy-color)}.section-title[data-v-39667dbe]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-39667dbe]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-39667dbe]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-39667dbe]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-39667dbe]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-39667dbe]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-39667dbe]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-39667dbe]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-39667dbe]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-39667dbe]{font-weight:700}.description-list dl dd[data-v-39667dbe]{margin-bottom:10px}.center-card[data-v-39667dbe]{margin:0 auto;width:700px}.center-card.with-margin[data-v-39667dbe]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-39667dbe]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-39667dbe]{margin-top:0}}.center-text[data-v-39667dbe]{text-align:center}.responsive-table[data-v-39667dbe]{margin-bottom:15px}.responsive-table table[data-v-39667dbe]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-39667dbe]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-39667dbe]{font-size:.95em}.responsive-table table tbody td[data-v-39667dbe]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:none}.responsive-table table .cell-heading[data-v-39667dbe]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-39667dbe]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-39667dbe]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-39667dbe]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-39667dbe]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-39667dbe]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-39667dbe]{width:100%}}#user-preferences .profile-buttons[data-v-39667dbe]{display:flex;gap:10px}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.form-buttons{flex-direction:row}@media screen and (max-width:500px){.form-buttons{flex-direction:column}}[data-v-500d4a7a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-500d4a7a]{margin:0}#app[data-v-500d4a7a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-500d4a7a]{color:var(--app-a-color);text-decoration:none}img[data-v-500d4a7a]{max-width:100%}input[data-v-500d4a7a],select[data-v-500d4a7a],textarea[data-v-500d4a7a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-500d4a7a]:disabled,select[data-v-500d4a7a]:disabled,textarea[data-v-500d4a7a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-500d4a7a]{font-weight:700}button[data-v-500d4a7a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-500d4a7a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-500d4a7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-500d4a7a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-500d4a7a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-500d4a7a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-500d4a7a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-500d4a7a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-500d4a7a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-500d4a7a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-500d4a7a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-500d4a7a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-500d4a7a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-500d4a7a]{margin:10px;padding:5px}.upper[data-v-500d4a7a]{text-transform:uppercase}.fa-trophy[data-v-500d4a7a]{color:var(--workout-trophy-color)}.section-title[data-v-500d4a7a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-500d4a7a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-500d4a7a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-500d4a7a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-500d4a7a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-500d4a7a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-500d4a7a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-500d4a7a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-500d4a7a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-500d4a7a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-500d4a7a]{font-weight:700}.description-list dl dd[data-v-500d4a7a]{margin-bottom:10px}.center-card[data-v-500d4a7a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-500d4a7a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-500d4a7a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-500d4a7a]{margin-top:0}}.center-text[data-v-500d4a7a]{text-align:center}.responsive-table[data-v-500d4a7a]{margin-bottom:15px}.responsive-table table[data-v-500d4a7a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-500d4a7a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-500d4a7a]{font-size:.95em}.responsive-table table tbody td[data-v-500d4a7a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-500d4a7a]{border:none}.responsive-table table .cell-heading[data-v-500d4a7a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-500d4a7a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-500d4a7a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-500d4a7a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-500d4a7a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-500d4a7a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-500d4a7a]{width:100%}}#user-picture-edition .user-picture-form[data-v-500d4a7a]{display:flex;flex-direction:column}#user-picture-edition .user-picture-form form[data-v-500d4a7a]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-500d4a7a]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-500d4a7a]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form .picture-buttons[data-v-500d4a7a]{display:flex;flex-direction:row;align-items:center;gap:10px}@media screen and (max-width:500px){#user-picture-edition .user-picture-form .picture-buttons[data-v-500d4a7a]{flex-direction:column;align-items:stretch}}[data-v-f5e8066a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-f5e8066a]{margin:0}#app[data-v-f5e8066a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-f5e8066a]{color:var(--app-a-color);text-decoration:none}img[data-v-f5e8066a]{max-width:100%}input[data-v-f5e8066a],select[data-v-f5e8066a],textarea[data-v-f5e8066a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-f5e8066a]:disabled,select[data-v-f5e8066a]:disabled,textarea[data-v-f5e8066a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-f5e8066a]{font-weight:700}button[data-v-f5e8066a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-f5e8066a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-f5e8066a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-f5e8066a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-f5e8066a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-f5e8066a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-f5e8066a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-f5e8066a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-f5e8066a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-f5e8066a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-f5e8066a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-f5e8066a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-f5e8066a]{margin:10px;padding:5px}.upper[data-v-f5e8066a]{text-transform:uppercase}.fa-trophy[data-v-f5e8066a]{color:var(--workout-trophy-color)}.section-title[data-v-f5e8066a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-f5e8066a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-f5e8066a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-f5e8066a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-f5e8066a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-f5e8066a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-f5e8066a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-f5e8066a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-f5e8066a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-f5e8066a]{font-weight:700}.description-list dl dd[data-v-f5e8066a]{margin-bottom:10px}.center-card[data-v-f5e8066a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-f5e8066a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-f5e8066a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-f5e8066a]{margin-top:0}}.center-text[data-v-f5e8066a]{text-align:center}.responsive-table[data-v-f5e8066a]{margin-bottom:15px}.responsive-table table[data-v-f5e8066a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-f5e8066a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-f5e8066a]{font-size:.95em}.responsive-table table tbody td[data-v-f5e8066a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:none}.responsive-table table .cell-heading[data-v-f5e8066a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-f5e8066a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-f5e8066a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-f5e8066a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-f5e8066a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-f5e8066a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-f5e8066a]{width:100%}}.alert-message[data-v-f5e8066a]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}[data-v-ad3739fc]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-ad3739fc]{margin:0}#app[data-v-ad3739fc]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-ad3739fc]{color:var(--app-a-color);text-decoration:none}img[data-v-ad3739fc]{max-width:100%}input[data-v-ad3739fc],select[data-v-ad3739fc],textarea[data-v-ad3739fc]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-ad3739fc]:disabled,select[data-v-ad3739fc]:disabled,textarea[data-v-ad3739fc]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-ad3739fc]{font-weight:700}button[data-v-ad3739fc]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-ad3739fc]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-ad3739fc]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-ad3739fc]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-ad3739fc]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-ad3739fc]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-ad3739fc]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-ad3739fc]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-ad3739fc]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-ad3739fc]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-ad3739fc]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-ad3739fc]{display:flex;flex-direction:column}.form-box .form-items input[data-v-ad3739fc]{margin:10px;padding:5px}.upper[data-v-ad3739fc]{text-transform:uppercase}.fa-trophy[data-v-ad3739fc]{color:var(--workout-trophy-color)}.section-title[data-v-ad3739fc]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-ad3739fc]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-ad3739fc]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-ad3739fc]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-ad3739fc]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-ad3739fc]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-ad3739fc]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-ad3739fc]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-ad3739fc]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-ad3739fc]{font-weight:700}.description-list dl dd[data-v-ad3739fc]{margin-bottom:10px}.center-card[data-v-ad3739fc]{margin:0 auto;width:700px}.center-card.with-margin[data-v-ad3739fc]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-ad3739fc]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-ad3739fc]{margin-top:0}}.center-text[data-v-ad3739fc]{text-align:center}.responsive-table[data-v-ad3739fc]{margin-bottom:15px}.responsive-table table[data-v-ad3739fc]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-ad3739fc]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-ad3739fc]{font-size:.95em}.responsive-table table tbody td[data-v-ad3739fc]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:none}.responsive-table table .cell-heading[data-v-ad3739fc]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-ad3739fc]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-ad3739fc]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-ad3739fc]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-ad3739fc]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-ad3739fc]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-ad3739fc]{width:100%}}.custom-textarea[data-v-ad3739fc]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-ad3739fc]{font-size:.8em;font-style:italic}.dropdown-list[data-v-5ef2ddef]{list-style-type:none;background-color:#fff;padding:0;margin-top:5px;margin-left:-20px!important;position:absolute;text-align:left;border:1px solid #d3d3d3;box-shadow:2px 2px 5px #d3d3d3;width:auto!important}.dropdown-list li[data-v-5ef2ddef]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-5ef2ddef]:last-child{padding-bottom:5px}.dropdown-item[data-v-5ef2ddef]{cursor:default}.dropdown-item.selected[data-v-5ef2ddef]{font-weight:700}.dropdown-item.selected[data-v-5ef2ddef]:after{content:" ✔"}[data-v-5c177a93]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c177a93]{margin:0}#app[data-v-5c177a93]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c177a93]{color:var(--app-a-color);text-decoration:none}img[data-v-5c177a93]{max-width:100%}input[data-v-5c177a93],select[data-v-5c177a93],textarea[data-v-5c177a93]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c177a93]:disabled,select[data-v-5c177a93]:disabled,textarea[data-v-5c177a93]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c177a93]{font-weight:700}button[data-v-5c177a93]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c177a93]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c177a93]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c177a93]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c177a93]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c177a93]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c177a93]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c177a93]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c177a93]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c177a93]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c177a93]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c177a93]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c177a93]{margin:10px;padding:5px}.upper[data-v-5c177a93]{text-transform:uppercase}.fa-trophy[data-v-5c177a93]{color:var(--workout-trophy-color)}.section-title[data-v-5c177a93]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c177a93]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c177a93]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c177a93]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c177a93]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c177a93]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c177a93]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c177a93]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c177a93]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c177a93]{font-weight:700}.description-list dl dd[data-v-5c177a93]{margin-bottom:10px}.center-card[data-v-5c177a93]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c177a93]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c177a93]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c177a93]{margin-top:0}}.center-text[data-v-5c177a93]{text-align:center}.responsive-table[data-v-5c177a93]{margin-bottom:15px}.responsive-table table[data-v-5c177a93]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c177a93]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c177a93]{font-size:.95em}.responsive-table table tbody td[data-v-5c177a93]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:none}.responsive-table table .cell-heading[data-v-5c177a93]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c177a93]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c177a93]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c177a93]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c177a93]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c177a93]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c177a93]{width:100%}}.error-message[data-v-5c177a93]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}[data-v-8bf75da8]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-8bf75da8]{margin:0}#app[data-v-8bf75da8]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-8bf75da8]{color:var(--app-a-color);text-decoration:none}img[data-v-8bf75da8]{max-width:100%}input[data-v-8bf75da8],select[data-v-8bf75da8],textarea[data-v-8bf75da8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8bf75da8]:disabled,select[data-v-8bf75da8]:disabled,textarea[data-v-8bf75da8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8bf75da8]{font-weight:700}button[data-v-8bf75da8]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8bf75da8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8bf75da8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8bf75da8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8bf75da8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8bf75da8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8bf75da8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8bf75da8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8bf75da8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8bf75da8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8bf75da8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8bf75da8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8bf75da8]{margin:10px;padding:5px}.upper[data-v-8bf75da8]{text-transform:uppercase}.fa-trophy[data-v-8bf75da8]{color:var(--workout-trophy-color)}.section-title[data-v-8bf75da8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8bf75da8]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-8bf75da8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8bf75da8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8bf75da8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8bf75da8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8bf75da8]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-8bf75da8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8bf75da8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8bf75da8]{font-weight:700}.description-list dl dd[data-v-8bf75da8]{margin-bottom:10px}.center-card[data-v-8bf75da8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8bf75da8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8bf75da8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8bf75da8]{margin-top:0}}.center-text[data-v-8bf75da8]{text-align:center}.responsive-table[data-v-8bf75da8]{margin-bottom:15px}.responsive-table table[data-v-8bf75da8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8bf75da8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8bf75da8]{font-size:.95em}.responsive-table table tbody td[data-v-8bf75da8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:none}.responsive-table table .cell-heading[data-v-8bf75da8]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-8bf75da8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8bf75da8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8bf75da8]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-8bf75da8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8bf75da8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8bf75da8]{width:100%}}.loader[data-v-8bf75da8]{-webkit-animation:spin-8bf75da8 2s linear infinite;animation:spin-8bf75da8 2s linear infinite;border:14px solid var(--app-loading-color);border-top:14px solid var(--app-loading-top-color);border-radius:50%;height:60px;margin-left:41%;width:60px}@-webkit-keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-8bf75da8{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[data-v-21b6cb61]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-21b6cb61]{margin:0}#app[data-v-21b6cb61]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-21b6cb61]{color:var(--app-a-color);text-decoration:none}img[data-v-21b6cb61]{max-width:100%}input[data-v-21b6cb61],select[data-v-21b6cb61],textarea[data-v-21b6cb61]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-21b6cb61]:disabled,select[data-v-21b6cb61]:disabled,textarea[data-v-21b6cb61]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-21b6cb61]{font-weight:700}button[data-v-21b6cb61]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-21b6cb61]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-21b6cb61]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-21b6cb61]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-21b6cb61]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-21b6cb61]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-21b6cb61]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-21b6cb61]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-21b6cb61]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-21b6cb61]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-21b6cb61]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-21b6cb61]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-21b6cb61]{display:flex;flex-direction:column}.form-box .form-items input[data-v-21b6cb61]{margin:10px;padding:5px}.upper[data-v-21b6cb61]{text-transform:uppercase}.fa-trophy[data-v-21b6cb61]{color:var(--workout-trophy-color)}.section-title[data-v-21b6cb61]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-21b6cb61]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-21b6cb61]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-21b6cb61]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-21b6cb61]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-21b6cb61]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-21b6cb61]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-21b6cb61]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-21b6cb61]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-21b6cb61]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-21b6cb61]{font-weight:700}.description-list dl dd[data-v-21b6cb61]{margin-bottom:10px}.center-card[data-v-21b6cb61]{margin:0 auto;width:700px}.center-card.with-margin[data-v-21b6cb61]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-21b6cb61]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-21b6cb61]{margin-top:0}}.center-text[data-v-21b6cb61]{text-align:center}.responsive-table[data-v-21b6cb61]{margin-bottom:15px}.responsive-table table[data-v-21b6cb61]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-21b6cb61]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-21b6cb61]{font-size:.95em}.responsive-table table tbody td[data-v-21b6cb61]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-21b6cb61]{border:none}.responsive-table table .cell-heading[data-v-21b6cb61]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-21b6cb61]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-21b6cb61]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-21b6cb61]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-21b6cb61]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-21b6cb61]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-21b6cb61]{width:100%}}#modal[data-v-21b6cb61]{position:fixed;top:0;bottom:0;left:0;right:0;background-color:var(--modal-background-color);padding:10px;z-index:1240}#modal .custom-modal[data-v-21b6cb61]{background-color:var(--app-background-color);border-radius:4px;max-width:500px;margin:25% auto;z-index:1250}@media screen and (max-width:1000px){#modal .custom-modal[data-v-21b6cb61]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-21b6cb61]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-21b6cb61] .card{border:0;margin:0}#modal .custom-modal[data-v-21b6cb61] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-21b6cb61] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/css/main.4b6a4ae2.css b/fittrackee/dist/static/css/main.967c2c29.css similarity index 96% rename from fittrackee/dist/static/css/main.4b6a4ae2.css rename to fittrackee/dist/static/css/main.967c2c29.css index eb9334bf..97959d99 100644 --- a/fittrackee/dist/static/css/main.4b6a4ae2.css +++ b/fittrackee/dist/static/css/main.967c2c29.css @@ -1 +1 @@ -[data-v-3d1a0054]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-3d1a0054]{margin:0}#app[data-v-3d1a0054]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-3d1a0054]{color:var(--app-a-color);text-decoration:none}img[data-v-3d1a0054]{max-width:100%}input[data-v-3d1a0054],select[data-v-3d1a0054],textarea[data-v-3d1a0054]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-3d1a0054]:disabled,select[data-v-3d1a0054]:disabled,textarea[data-v-3d1a0054]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-3d1a0054]{font-weight:700}button[data-v-3d1a0054]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-3d1a0054]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-3d1a0054]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-3d1a0054]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-3d1a0054]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-3d1a0054]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-3d1a0054]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-3d1a0054]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-3d1a0054]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-3d1a0054]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-3d1a0054]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-3d1a0054]{display:flex;flex-direction:column}.form-box .form-items input[data-v-3d1a0054]{margin:10px;padding:5px}.upper[data-v-3d1a0054]{text-transform:uppercase}.fa-trophy[data-v-3d1a0054]{color:var(--workout-trophy-color)}.section-title[data-v-3d1a0054]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-3d1a0054]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-3d1a0054]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-3d1a0054]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-3d1a0054]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-3d1a0054]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-3d1a0054]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-3d1a0054]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-3d1a0054]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-3d1a0054]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-3d1a0054]{font-weight:700}.description-list dl dd[data-v-3d1a0054]{margin-bottom:10px}.center-card[data-v-3d1a0054]{margin:0 auto;width:700px}.center-card.with-margin[data-v-3d1a0054]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-3d1a0054]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-3d1a0054]{margin-top:0}}.center-text[data-v-3d1a0054]{text-align:center}.responsive-table[data-v-3d1a0054]{margin-bottom:15px}.responsive-table table[data-v-3d1a0054]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-3d1a0054]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-3d1a0054]{font-size:.95em}.responsive-table table tbody td[data-v-3d1a0054]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-3d1a0054]{border:none}.responsive-table table .cell-heading[data-v-3d1a0054]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-3d1a0054]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-3d1a0054]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-3d1a0054]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-3d1a0054]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-3d1a0054]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-3d1a0054]{width:100%}}.timeline-workout[data-v-3d1a0054]{margin-bottom:20px}.timeline-workout .box[data-v-3d1a0054]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-3d1a0054]{display:flex;justify-content:space-between;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-3d1a0054]{padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-3d1a0054]{font-size:.85em;font-style:italic}.timeline-workout .box .workout-map[data-v-3d1a0054]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-3d1a0054]{line-height:150px}.timeline-workout .box .workout-map[data-v-3d1a0054] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-3d1a0054]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-3d1a0054]{height:25px;width:25px}.timeline-workout .box .workout-data div[data-v-3d1a0054]{display:flex;justify-content:center;align-items:center;width:33%}.timeline-workout .box .workout-data[data-v-3d1a0054],.timeline-workout .box .workout-map[data-v-3d1a0054]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-3d1a0054]{cursor:default}.timeline-workout .box .fa[data-v-3d1a0054]{padding-right:10px}[data-v-9b1e052a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-9b1e052a]{margin:0}#app[data-v-9b1e052a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-9b1e052a]{color:var(--app-a-color);text-decoration:none}img[data-v-9b1e052a]{max-width:100%}input[data-v-9b1e052a],select[data-v-9b1e052a],textarea[data-v-9b1e052a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-9b1e052a]:disabled,select[data-v-9b1e052a]:disabled,textarea[data-v-9b1e052a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-9b1e052a]{font-weight:700}button[data-v-9b1e052a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-9b1e052a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-9b1e052a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-9b1e052a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-9b1e052a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-9b1e052a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-9b1e052a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-9b1e052a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-9b1e052a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-9b1e052a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-9b1e052a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-9b1e052a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-9b1e052a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-9b1e052a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-9b1e052a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-9b1e052a]{margin:10px;padding:5px}.upper[data-v-9b1e052a]{text-transform:uppercase}.fa-trophy[data-v-9b1e052a]{color:var(--workout-trophy-color)}.section-title[data-v-9b1e052a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-9b1e052a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-9b1e052a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-9b1e052a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-9b1e052a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-9b1e052a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-9b1e052a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-9b1e052a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-9b1e052a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-9b1e052a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-9b1e052a]{font-weight:700}.description-list dl dd[data-v-9b1e052a]{margin-bottom:10px}.center-card[data-v-9b1e052a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-9b1e052a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-9b1e052a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-9b1e052a]{margin-top:0}}.center-text[data-v-9b1e052a]{text-align:center}.responsive-table[data-v-9b1e052a]{margin-bottom:15px}.responsive-table table[data-v-9b1e052a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-9b1e052a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-9b1e052a]{font-size:.95em}.responsive-table table tbody td[data-v-9b1e052a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-9b1e052a]{border:none}.responsive-table table .cell-heading[data-v-9b1e052a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-9b1e052a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-9b1e052a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-9b1e052a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-9b1e052a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-9b1e052a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-9b1e052a]{width:100%}}#timeline[data-v-9b1e052a]{margin-bottom:20px}#timeline .more-workouts[data-v-9b1e052a]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width:700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}[data-v-b30dea28]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b30dea28]{margin:0}#app[data-v-b30dea28]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b30dea28]{color:var(--app-a-color);text-decoration:none}img[data-v-b30dea28]{max-width:100%}input[data-v-b30dea28],select[data-v-b30dea28],textarea[data-v-b30dea28]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b30dea28]:disabled,select[data-v-b30dea28]:disabled,textarea[data-v-b30dea28]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-b30dea28]{font-weight:700}button[data-v-b30dea28]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b30dea28]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b30dea28]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b30dea28]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b30dea28]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b30dea28]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b30dea28]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b30dea28]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b30dea28]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b30dea28]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b30dea28]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b30dea28]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b30dea28]{margin:10px;padding:5px}.upper[data-v-b30dea28]{text-transform:uppercase}.fa-trophy[data-v-b30dea28]{color:var(--workout-trophy-color)}.section-title[data-v-b30dea28]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b30dea28]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b30dea28]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b30dea28]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b30dea28]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b30dea28]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b30dea28]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b30dea28]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b30dea28]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b30dea28]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b30dea28]{font-weight:700}.description-list dl dd[data-v-b30dea28]{margin-bottom:10px}.center-card[data-v-b30dea28]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b30dea28]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b30dea28]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b30dea28]{margin-top:0}}.center-text[data-v-b30dea28]{text-align:center}.responsive-table[data-v-b30dea28]{margin-bottom:15px}.responsive-table table[data-v-b30dea28]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b30dea28]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b30dea28]{font-size:.95em}.responsive-table table tbody td[data-v-b30dea28]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b30dea28]{border:none}.responsive-table table .cell-heading[data-v-b30dea28]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b30dea28]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b30dea28]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b30dea28]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b30dea28]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b30dea28]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b30dea28]{width:100%}}.calendar-workouts-chart[data-v-b30dea28]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-b30dea28]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-b30dea28]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-b30dea28]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-b30dea28] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-b30dea28] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-b30dea28]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-b30dea28]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-b30dea28]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-b30dea28]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width:700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width:700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width:700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--app-color-light)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}[data-v-6eb9bb83]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6eb9bb83]{margin:0}#app[data-v-6eb9bb83]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6eb9bb83]{color:var(--app-a-color);text-decoration:none}img[data-v-6eb9bb83]{max-width:100%}input[data-v-6eb9bb83],select[data-v-6eb9bb83],textarea[data-v-6eb9bb83]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6eb9bb83]:disabled,select[data-v-6eb9bb83]:disabled,textarea[data-v-6eb9bb83]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6eb9bb83]{font-weight:700}button[data-v-6eb9bb83]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6eb9bb83]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6eb9bb83]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6eb9bb83]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6eb9bb83]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6eb9bb83]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6eb9bb83]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6eb9bb83]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6eb9bb83]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6eb9bb83]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6eb9bb83]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6eb9bb83]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6eb9bb83]{margin:10px;padding:5px}.upper[data-v-6eb9bb83]{text-transform:uppercase}.fa-trophy[data-v-6eb9bb83]{color:var(--workout-trophy-color)}.section-title[data-v-6eb9bb83]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6eb9bb83]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6eb9bb83]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6eb9bb83]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6eb9bb83]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6eb9bb83]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6eb9bb83]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6eb9bb83]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6eb9bb83]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6eb9bb83]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6eb9bb83]{font-weight:700}.description-list dl dd[data-v-6eb9bb83]{margin-bottom:10px}.center-card[data-v-6eb9bb83]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6eb9bb83]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6eb9bb83]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6eb9bb83]{margin-top:0}}.center-text[data-v-6eb9bb83]{text-align:center}.responsive-table[data-v-6eb9bb83]{margin-bottom:15px}.responsive-table table[data-v-6eb9bb83]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6eb9bb83]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6eb9bb83]{font-size:.95em}.responsive-table table tbody td[data-v-6eb9bb83]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6eb9bb83]{border:none}.responsive-table table .cell-heading[data-v-6eb9bb83]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6eb9bb83]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6eb9bb83]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6eb9bb83]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6eb9bb83]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6eb9bb83]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6eb9bb83]{width:100%}}.start-chart .chart-radio[data-v-6eb9bb83]{display:flex;justify-content:space-between;padding:10px}.start-chart .chart-radio label[data-v-6eb9bb83]{font-size:.85em;font-weight:400}[data-v-7958b39f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7958b39f]{margin:0}#app[data-v-7958b39f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7958b39f]{color:var(--app-a-color);text-decoration:none}img[data-v-7958b39f]{max-width:100%}input[data-v-7958b39f],select[data-v-7958b39f],textarea[data-v-7958b39f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7958b39f]:disabled,select[data-v-7958b39f]:disabled,textarea[data-v-7958b39f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7958b39f]{font-weight:700}button[data-v-7958b39f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7958b39f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7958b39f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7958b39f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7958b39f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7958b39f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7958b39f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7958b39f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7958b39f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7958b39f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7958b39f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7958b39f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7958b39f]{margin:10px;padding:5px}.upper[data-v-7958b39f]{text-transform:uppercase}.fa-trophy[data-v-7958b39f]{color:var(--workout-trophy-color)}.section-title[data-v-7958b39f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7958b39f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7958b39f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7958b39f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7958b39f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7958b39f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7958b39f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7958b39f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7958b39f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7958b39f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7958b39f]{font-weight:700}.description-list dl dd[data-v-7958b39f]{margin-bottom:10px}.center-card[data-v-7958b39f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7958b39f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7958b39f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7958b39f]{margin-top:0}}.center-text[data-v-7958b39f]{text-align:center}.responsive-table[data-v-7958b39f]{margin-bottom:15px}.responsive-table table[data-v-7958b39f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7958b39f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7958b39f]{font-size:.95em}.responsive-table table tbody td[data-v-7958b39f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7958b39f]{border:none}.responsive-table table .cell-heading[data-v-7958b39f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7958b39f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7958b39f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7958b39f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7958b39f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7958b39f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7958b39f]{width:100%}}.user-month-stats[data-v-7958b39f] .card-content{padding:10px}[data-v-db29ce96]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-db29ce96]{margin:0}#app[data-v-db29ce96]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-db29ce96]{color:var(--app-a-color);text-decoration:none}img[data-v-db29ce96]{max-width:100%}input[data-v-db29ce96],select[data-v-db29ce96],textarea[data-v-db29ce96]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-db29ce96]:disabled,select[data-v-db29ce96]:disabled,textarea[data-v-db29ce96]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-db29ce96]{font-weight:700}button[data-v-db29ce96]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-db29ce96]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-db29ce96]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-db29ce96]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-db29ce96]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-db29ce96]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-db29ce96]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-db29ce96]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-db29ce96]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-db29ce96]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-db29ce96]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-db29ce96]{display:flex;flex-direction:column}.form-box .form-items input[data-v-db29ce96]{margin:10px;padding:5px}.upper[data-v-db29ce96]{text-transform:uppercase}.fa-trophy[data-v-db29ce96]{color:var(--workout-trophy-color)}.section-title[data-v-db29ce96]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-db29ce96]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-db29ce96]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-db29ce96]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-db29ce96]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-db29ce96]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-db29ce96]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-db29ce96]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-db29ce96]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-db29ce96]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-db29ce96]{font-weight:700}.description-list dl dd[data-v-db29ce96]{margin-bottom:10px}.center-card[data-v-db29ce96]{margin:0 auto;width:700px}.center-card.with-margin[data-v-db29ce96]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-db29ce96]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-db29ce96]{margin-top:0}}.center-text[data-v-db29ce96]{text-align:center}.responsive-table[data-v-db29ce96]{margin-bottom:15px}.responsive-table table[data-v-db29ce96]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-db29ce96]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-db29ce96]{font-size:.95em}.responsive-table table tbody td[data-v-db29ce96]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-db29ce96]{border:none}.responsive-table table .cell-heading[data-v-db29ce96]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-db29ce96]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-db29ce96]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-db29ce96]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-db29ce96]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-db29ce96]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-db29ce96]{width:100%}}.records-card[data-v-db29ce96]{width:100%;padding-bottom:3px}.records-card[data-v-db29ce96] .card{font-size:.9em}.records-card[data-v-db29ce96] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-db29ce96] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-db29ce96] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-db29ce96] .card .card-content .record{display:flex;justify-content:space-between}.records-card[data-v-db29ce96] .card .card-content .record span{padding:2px 5px}.records-card[data-v-db29ce96] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-db29ce96] .card .card-content .record .record-value{font-weight:700;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-db29ce96] .card,.records-card[data-v-db29ce96] .card .card-title{font-size:1em}.records-card[data-v-db29ce96] .card .card-title .sport-img{height:22px;width:22px}}[data-v-080b37ac]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-080b37ac]{margin:0}#app[data-v-080b37ac]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-080b37ac]{color:var(--app-a-color);text-decoration:none}img[data-v-080b37ac]{max-width:100%}input[data-v-080b37ac],select[data-v-080b37ac],textarea[data-v-080b37ac]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-080b37ac]:disabled,select[data-v-080b37ac]:disabled,textarea[data-v-080b37ac]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-080b37ac]{font-weight:700}button[data-v-080b37ac]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-080b37ac]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-080b37ac]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-080b37ac]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-080b37ac]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-080b37ac]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-080b37ac]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-080b37ac]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-080b37ac]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-080b37ac]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-080b37ac]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-080b37ac]{display:flex;flex-direction:column}.form-box .form-items input[data-v-080b37ac]{margin:10px;padding:5px}.upper[data-v-080b37ac]{text-transform:uppercase}.fa-trophy[data-v-080b37ac]{color:var(--workout-trophy-color)}.section-title[data-v-080b37ac]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-080b37ac]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-080b37ac]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-080b37ac]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-080b37ac]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-080b37ac]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-080b37ac]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-080b37ac]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-080b37ac]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-080b37ac]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-080b37ac]{font-weight:700}.description-list dl dd[data-v-080b37ac]{margin-bottom:10px}.center-card[data-v-080b37ac]{margin:0 auto;width:700px}.center-card.with-margin[data-v-080b37ac]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-080b37ac]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-080b37ac]{margin-top:0}}.center-text[data-v-080b37ac]{text-align:center}.responsive-table[data-v-080b37ac]{margin-bottom:15px}.responsive-table table[data-v-080b37ac]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-080b37ac]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-080b37ac]{font-size:.95em}.responsive-table table tbody td[data-v-080b37ac]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-080b37ac]{border:none}.responsive-table table .cell-heading[data-v-080b37ac]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-080b37ac]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-080b37ac]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-080b37ac]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-080b37ac]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-080b37ac]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-080b37ac]{width:100%}}.user-records .no-records[data-v-080b37ac]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}[data-v-e616a7ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-e616a7ba]{margin:0}#app[data-v-e616a7ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-e616a7ba]{color:var(--app-a-color);text-decoration:none}img[data-v-e616a7ba]{max-width:100%}input[data-v-e616a7ba],select[data-v-e616a7ba],textarea[data-v-e616a7ba]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e616a7ba]:disabled,select[data-v-e616a7ba]:disabled,textarea[data-v-e616a7ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e616a7ba]{font-weight:700}button[data-v-e616a7ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e616a7ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e616a7ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e616a7ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e616a7ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e616a7ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e616a7ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e616a7ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e616a7ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e616a7ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e616a7ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e616a7ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e616a7ba]{margin:10px;padding:5px}.upper[data-v-e616a7ba]{text-transform:uppercase}.fa-trophy[data-v-e616a7ba]{color:var(--workout-trophy-color)}.section-title[data-v-e616a7ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e616a7ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-e616a7ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e616a7ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e616a7ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e616a7ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e616a7ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e616a7ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-e616a7ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e616a7ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e616a7ba]{font-weight:700}.description-list dl dd[data-v-e616a7ba]{margin-bottom:10px}.center-card[data-v-e616a7ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e616a7ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e616a7ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e616a7ba]{margin-top:0}}.center-text[data-v-e616a7ba]{text-align:center}.responsive-table[data-v-e616a7ba]{margin-bottom:15px}.responsive-table table[data-v-e616a7ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e616a7ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e616a7ba]{font-size:.95em}.responsive-table table tbody td[data-v-e616a7ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e616a7ba]{border:none}.responsive-table table .cell-heading[data-v-e616a7ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-e616a7ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e616a7ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e616a7ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-e616a7ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e616a7ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e616a7ba]{width:100%}}#dashboard[data-v-e616a7ba]{padding-bottom:30px}#dashboard .dashboard-container[data-v-e616a7ba]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-e616a7ba]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-e616a7ba]{width:32%}#dashboard .dashboard-container .right-container[data-v-e616a7ba]{width:68%}#dashboard .mobile-menu[data-v-e616a7ba]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-e616a7ba]{padding-bottom:60px}#dashboard .dashboard-container[data-v-e616a7ba]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-e616a7ba],#dashboard .dashboard-container .right-container[data-v-e616a7ba]{width:100%}#dashboard .mobile-menu[data-v-e616a7ba]{display:flex}#dashboard .mobile-menu .box[data-v-e616a7ba]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-e616a7ba]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-e616a7ba]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-e616a7ba]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-e616a7ba]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-e616a7ba]{display:none}}[data-v-645e8c6f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-645e8c6f]{margin:0}#app[data-v-645e8c6f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-645e8c6f]{color:var(--app-a-color);text-decoration:none}img[data-v-645e8c6f]{max-width:100%}input[data-v-645e8c6f],select[data-v-645e8c6f],textarea[data-v-645e8c6f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-645e8c6f]:disabled,select[data-v-645e8c6f]:disabled,textarea[data-v-645e8c6f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-645e8c6f]{font-weight:700}button[data-v-645e8c6f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-645e8c6f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-645e8c6f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-645e8c6f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-645e8c6f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-645e8c6f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-645e8c6f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-645e8c6f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-645e8c6f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-645e8c6f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-645e8c6f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-645e8c6f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-645e8c6f]{margin:10px;padding:5px}.upper[data-v-645e8c6f]{text-transform:uppercase}.fa-trophy[data-v-645e8c6f]{color:var(--workout-trophy-color)}.section-title[data-v-645e8c6f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-645e8c6f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-645e8c6f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-645e8c6f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-645e8c6f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-645e8c6f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-645e8c6f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-645e8c6f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-645e8c6f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-645e8c6f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-645e8c6f]{font-weight:700}.description-list dl dd[data-v-645e8c6f]{margin-bottom:10px}.center-card[data-v-645e8c6f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-645e8c6f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-645e8c6f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-645e8c6f]{margin-top:0}}.center-text[data-v-645e8c6f]{text-align:center}.responsive-table[data-v-645e8c6f]{margin-bottom:15px}.responsive-table table[data-v-645e8c6f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-645e8c6f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-645e8c6f]{font-size:.95em}.responsive-table table tbody td[data-v-645e8c6f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-645e8c6f]{border:none}.responsive-table table .cell-heading[data-v-645e8c6f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-645e8c6f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-645e8c6f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-645e8c6f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-645e8c6f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-645e8c6f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-645e8c6f]{width:100%}}#about[data-v-645e8c6f]{display:flex;justify-content:center;padding:10px;height:100%}#about .bike-img[data-v-645e8c6f]{max-width:40%}[data-v-7717f19a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7717f19a]{margin:0}#app[data-v-7717f19a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7717f19a]{color:var(--app-a-color);text-decoration:none}img[data-v-7717f19a]{max-width:100%}input[data-v-7717f19a],select[data-v-7717f19a],textarea[data-v-7717f19a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7717f19a]:disabled,select[data-v-7717f19a]:disabled,textarea[data-v-7717f19a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7717f19a]{font-weight:700}button[data-v-7717f19a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7717f19a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7717f19a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7717f19a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7717f19a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7717f19a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7717f19a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7717f19a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7717f19a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7717f19a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7717f19a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7717f19a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7717f19a]{margin:10px;padding:5px}.upper[data-v-7717f19a]{text-transform:uppercase}.fa-trophy[data-v-7717f19a]{color:var(--workout-trophy-color)}.section-title[data-v-7717f19a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7717f19a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7717f19a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7717f19a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7717f19a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7717f19a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7717f19a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7717f19a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7717f19a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7717f19a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7717f19a]{font-weight:700}.description-list dl dd[data-v-7717f19a]{margin-bottom:10px}.center-card[data-v-7717f19a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7717f19a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7717f19a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7717f19a]{margin-top:0}}.center-text[data-v-7717f19a]{text-align:center}.responsive-table[data-v-7717f19a]{margin-bottom:15px}.responsive-table table[data-v-7717f19a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7717f19a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7717f19a]{font-size:.95em}.responsive-table table tbody td[data-v-7717f19a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7717f19a]{border:none}.responsive-table table .cell-heading[data-v-7717f19a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7717f19a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7717f19a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7717f19a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7717f19a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7717f19a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7717f19a]{width:100%}}#user-auth-form[data-v-7717f19a]{display:flex;align-items:center;margin:10px 0;height:100%}#user-auth-form #user-form[data-v-7717f19a]{width:60%}#user-auth-form #user-form .password-forgotten[data-v-7717f19a]{font-size:.9em;font-style:italic;padding-left:10px}#user-auth-form #user-form button[data-v-7717f19a]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-7717f19a]:disabled{border-color:var(--disabled-color)}@media screen and (max-width:1000px){#user-auth-form[data-v-7717f19a]{height:auto;margin-bottom:50px}#user-auth-form #user-form[data-v-7717f19a]{margin-top:10px;width:100%}}#loginOrRegister{display:flex;height:100%}#loginOrRegister .container{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister{height:auto}#loginOrRegister .container .container-sub{align-items:center}#loginOrRegister .container .container-sub .bike-img{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container{flex-direction:column}}[data-v-56f0f302]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-56f0f302]{margin:0}#app[data-v-56f0f302]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-56f0f302]{color:var(--app-a-color);text-decoration:none}img[data-v-56f0f302]{max-width:100%}input[data-v-56f0f302],select[data-v-56f0f302],textarea[data-v-56f0f302]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-56f0f302]:disabled,select[data-v-56f0f302]:disabled,textarea[data-v-56f0f302]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-56f0f302]{font-weight:700}button[data-v-56f0f302]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-56f0f302]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-56f0f302]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-56f0f302]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-56f0f302]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-56f0f302]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-56f0f302]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-56f0f302]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-56f0f302]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-56f0f302]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-56f0f302]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-56f0f302]{display:flex;flex-direction:column}.form-box .form-items input[data-v-56f0f302]{margin:10px;padding:5px}.upper[data-v-56f0f302]{text-transform:uppercase}.fa-trophy[data-v-56f0f302]{color:var(--workout-trophy-color)}.section-title[data-v-56f0f302]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-56f0f302]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-56f0f302]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-56f0f302]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-56f0f302]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-56f0f302]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-56f0f302]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-56f0f302]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-56f0f302]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-56f0f302]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-56f0f302]{font-weight:700}.description-list dl dd[data-v-56f0f302]{margin-bottom:10px}.center-card[data-v-56f0f302]{margin:0 auto;width:700px}.center-card.with-margin[data-v-56f0f302]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-56f0f302]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-56f0f302]{margin-top:0}}.center-text[data-v-56f0f302]{text-align:center}.responsive-table[data-v-56f0f302]{margin-bottom:15px}.responsive-table table[data-v-56f0f302]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-56f0f302]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-56f0f302]{font-size:.95em}.responsive-table table tbody td[data-v-56f0f302]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-56f0f302]{border:none}.responsive-table table .cell-heading[data-v-56f0f302]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-56f0f302]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-56f0f302]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-56f0f302]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-56f0f302]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-56f0f302]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-56f0f302]{width:100%}}.chart-menu[data-v-56f0f302]{display:flex}.chart-menu .chart-arrow[data-v-56f0f302],.chart-menu .time-frames[data-v-56f0f302]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-56f0f302]{cursor:pointer}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.sports-menu{display:flex;justify-content:space-between;padding:10px}@media screen and (max-width:1000px){.sports-menu{justify-content:normal;flex-wrap:wrap}}.sports-menu label{display:flex;align-items:center;font-size:.9em;font-weight:400;min-width:120px;padding:10px}@media screen and (max-width:1000px){.sports-menu label{min-width:100px}}@media screen and (max-width:500px){.sports-menu label{min-width:20px}.sports-menu label .sport-label{display:none}}.sports-menu .sport-img{padding:3px;width:20px;height:20px}[data-v-dad311d4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-dad311d4]{margin:0}#app[data-v-dad311d4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-dad311d4]{color:var(--app-a-color);text-decoration:none}img[data-v-dad311d4]{max-width:100%}input[data-v-dad311d4],select[data-v-dad311d4],textarea[data-v-dad311d4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-dad311d4]:disabled,select[data-v-dad311d4]:disabled,textarea[data-v-dad311d4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-dad311d4]{font-weight:700}button[data-v-dad311d4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-dad311d4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-dad311d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-dad311d4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-dad311d4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-dad311d4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-dad311d4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-dad311d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-dad311d4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-dad311d4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-dad311d4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-dad311d4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-dad311d4]{margin:10px;padding:5px}.upper[data-v-dad311d4]{text-transform:uppercase}.fa-trophy[data-v-dad311d4]{color:var(--workout-trophy-color)}.section-title[data-v-dad311d4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-dad311d4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-dad311d4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-dad311d4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-dad311d4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-dad311d4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-dad311d4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-dad311d4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-dad311d4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-dad311d4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-dad311d4]{font-weight:700}.description-list dl dd[data-v-dad311d4]{margin-bottom:10px}.center-card[data-v-dad311d4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-dad311d4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-dad311d4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-dad311d4]{margin-top:0}}.center-text[data-v-dad311d4]{text-align:center}.responsive-table[data-v-dad311d4]{margin-bottom:15px}.responsive-table table[data-v-dad311d4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-dad311d4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-dad311d4]{font-size:.95em}.responsive-table table tbody td[data-v-dad311d4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-dad311d4]{border:none}.responsive-table table .cell-heading[data-v-dad311d4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-dad311d4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-dad311d4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-dad311d4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-dad311d4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-dad311d4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-dad311d4]{width:100%}}#user-statistics.stats-disabled[data-v-dad311d4]{opacity:.3;pointer-events:none}#user-statistics[data-v-dad311d4] .chart-radio{justify-content:space-around;padding:30px 10px 10px 10px}[data-v-8e65b6c0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-8e65b6c0]{margin:0}#app[data-v-8e65b6c0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-8e65b6c0]{color:var(--app-a-color);text-decoration:none}img[data-v-8e65b6c0]{max-width:100%}input[data-v-8e65b6c0],select[data-v-8e65b6c0],textarea[data-v-8e65b6c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8e65b6c0]:disabled,select[data-v-8e65b6c0]:disabled,textarea[data-v-8e65b6c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8e65b6c0]{font-weight:700}button[data-v-8e65b6c0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8e65b6c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8e65b6c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8e65b6c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8e65b6c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8e65b6c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8e65b6c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8e65b6c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8e65b6c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8e65b6c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8e65b6c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8e65b6c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8e65b6c0]{margin:10px;padding:5px}.upper[data-v-8e65b6c0]{text-transform:uppercase}.fa-trophy[data-v-8e65b6c0]{color:var(--workout-trophy-color)}.section-title[data-v-8e65b6c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8e65b6c0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-8e65b6c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8e65b6c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8e65b6c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8e65b6c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8e65b6c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8e65b6c0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-8e65b6c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8e65b6c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8e65b6c0]{font-weight:700}.description-list dl dd[data-v-8e65b6c0]{margin-bottom:10px}.center-card[data-v-8e65b6c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8e65b6c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8e65b6c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8e65b6c0]{margin-top:0}}.center-text[data-v-8e65b6c0]{text-align:center}.responsive-table[data-v-8e65b6c0]{margin-bottom:15px}.responsive-table table[data-v-8e65b6c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8e65b6c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8e65b6c0]{font-size:.95em}.responsive-table table tbody td[data-v-8e65b6c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8e65b6c0]{border:none}.responsive-table table .cell-heading[data-v-8e65b6c0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-8e65b6c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8e65b6c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8e65b6c0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-8e65b6c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8e65b6c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8e65b6c0]{width:100%}}#statistics[data-v-8e65b6c0]{display:flex;width:100%;margin-bottom:30px}#statistics .container[data-v-8e65b6c0]{display:flex;flex-direction:column;width:100%} \ No newline at end of file +[data-v-3d1a0054]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-3d1a0054]{margin:0}#app[data-v-3d1a0054]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-3d1a0054]{color:var(--app-a-color);text-decoration:none}img[data-v-3d1a0054]{max-width:100%}input[data-v-3d1a0054],select[data-v-3d1a0054],textarea[data-v-3d1a0054]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-3d1a0054]:disabled,select[data-v-3d1a0054]:disabled,textarea[data-v-3d1a0054]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-3d1a0054]{font-weight:700}button[data-v-3d1a0054]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-3d1a0054]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-3d1a0054]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-3d1a0054]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-3d1a0054]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-3d1a0054]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-3d1a0054]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-3d1a0054]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-3d1a0054]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-3d1a0054]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-3d1a0054]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-3d1a0054]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-3d1a0054]{display:flex;flex-direction:column}.form-box .form-items input[data-v-3d1a0054]{margin:10px;padding:5px}.upper[data-v-3d1a0054]{text-transform:uppercase}.fa-trophy[data-v-3d1a0054]{color:var(--workout-trophy-color)}.section-title[data-v-3d1a0054]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-3d1a0054]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-3d1a0054]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-3d1a0054]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-3d1a0054]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-3d1a0054]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-3d1a0054]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-3d1a0054]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-3d1a0054]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-3d1a0054]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-3d1a0054]{font-weight:700}.description-list dl dd[data-v-3d1a0054]{margin-bottom:10px}.center-card[data-v-3d1a0054]{margin:0 auto;width:700px}.center-card.with-margin[data-v-3d1a0054]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-3d1a0054]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-3d1a0054]{margin-top:0}}.center-text[data-v-3d1a0054]{text-align:center}.responsive-table[data-v-3d1a0054]{margin-bottom:15px}.responsive-table table[data-v-3d1a0054]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-3d1a0054]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-3d1a0054]{font-size:.95em}.responsive-table table tbody td[data-v-3d1a0054]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-3d1a0054]{border:none}.responsive-table table .cell-heading[data-v-3d1a0054]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-3d1a0054]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-3d1a0054]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-3d1a0054]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-3d1a0054]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-3d1a0054]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-3d1a0054]{width:100%}}.timeline-workout[data-v-3d1a0054]{margin-bottom:20px}.timeline-workout .box[data-v-3d1a0054]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-3d1a0054]{display:flex;justify-content:space-between;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-3d1a0054] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-3d1a0054]{padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-3d1a0054]{font-size:.85em;font-style:italic}.timeline-workout .box .workout-map[data-v-3d1a0054]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-3d1a0054]{line-height:150px}.timeline-workout .box .workout-map[data-v-3d1a0054] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-3d1a0054]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-3d1a0054]{height:25px;width:25px}.timeline-workout .box .workout-data div[data-v-3d1a0054]{display:flex;justify-content:center;align-items:center;width:33%}.timeline-workout .box .workout-data[data-v-3d1a0054],.timeline-workout .box .workout-map[data-v-3d1a0054]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-3d1a0054]{cursor:default}.timeline-workout .box .fa[data-v-3d1a0054]{padding-right:10px}[data-v-e324c07c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-e324c07c]{margin:0}#app[data-v-e324c07c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-e324c07c]{color:var(--app-a-color);text-decoration:none}img[data-v-e324c07c]{max-width:100%}input[data-v-e324c07c],select[data-v-e324c07c],textarea[data-v-e324c07c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e324c07c]:disabled,select[data-v-e324c07c]:disabled,textarea[data-v-e324c07c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e324c07c]{font-weight:700}button[data-v-e324c07c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-e324c07c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e324c07c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e324c07c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e324c07c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e324c07c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e324c07c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e324c07c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e324c07c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e324c07c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e324c07c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e324c07c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e324c07c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e324c07c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e324c07c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e324c07c]{margin:10px;padding:5px}.upper[data-v-e324c07c]{text-transform:uppercase}.fa-trophy[data-v-e324c07c]{color:var(--workout-trophy-color)}.section-title[data-v-e324c07c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e324c07c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-e324c07c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e324c07c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e324c07c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e324c07c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e324c07c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e324c07c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-e324c07c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e324c07c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e324c07c]{font-weight:700}.description-list dl dd[data-v-e324c07c]{margin-bottom:10px}.center-card[data-v-e324c07c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e324c07c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e324c07c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e324c07c]{margin-top:0}}.center-text[data-v-e324c07c]{text-align:center}.responsive-table[data-v-e324c07c]{margin-bottom:15px}.responsive-table table[data-v-e324c07c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e324c07c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e324c07c]{font-size:.95em}.responsive-table table tbody td[data-v-e324c07c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e324c07c]{border:none}.responsive-table table .cell-heading[data-v-e324c07c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-e324c07c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e324c07c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e324c07c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-e324c07c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e324c07c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e324c07c]{width:100%}}#timeline[data-v-e324c07c]{margin-bottom:20px}#timeline .more-workouts[data-v-e324c07c]{display:flex;justify-content:center}.calendar-workout{display:flex;padding:1px;cursor:pointer}.calendar-workout .sport-img{width:18px;height:18px}.calendar-workout sup{position:relative;top:-8px;left:-3px;width:2px}.calendar-workout sup .custom-fa-small{font-size:.7em}@media screen and (max-width:700px){.calendar-workout .sport-img{padding:3px;width:20px;height:20px}.calendar-workout sup .custom-fa-small{font-size:.6em}}[data-v-b30dea28]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-b30dea28]{margin:0}#app[data-v-b30dea28]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-b30dea28]{color:var(--app-a-color);text-decoration:none}img[data-v-b30dea28]{max-width:100%}input[data-v-b30dea28],select[data-v-b30dea28],textarea[data-v-b30dea28]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-b30dea28]:disabled,select[data-v-b30dea28]:disabled,textarea[data-v-b30dea28]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-b30dea28]{font-weight:700}button[data-v-b30dea28]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-b30dea28]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-b30dea28]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-b30dea28]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-b30dea28]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-b30dea28]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-b30dea28]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-b30dea28]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-b30dea28]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-b30dea28]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-b30dea28]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-b30dea28]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-b30dea28]{display:flex;flex-direction:column}.form-box .form-items input[data-v-b30dea28]{margin:10px;padding:5px}.upper[data-v-b30dea28]{text-transform:uppercase}.fa-trophy[data-v-b30dea28]{color:var(--workout-trophy-color)}.section-title[data-v-b30dea28]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-b30dea28]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-b30dea28]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-b30dea28]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-b30dea28]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-b30dea28]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-b30dea28]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-b30dea28]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-b30dea28]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-b30dea28]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-b30dea28]{font-weight:700}.description-list dl dd[data-v-b30dea28]{margin-bottom:10px}.center-card[data-v-b30dea28]{margin:0 auto;width:700px}.center-card.with-margin[data-v-b30dea28]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-b30dea28]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-b30dea28]{margin-top:0}}.center-text[data-v-b30dea28]{text-align:center}.responsive-table[data-v-b30dea28]{margin-bottom:15px}.responsive-table table[data-v-b30dea28]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-b30dea28]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-b30dea28]{font-size:.95em}.responsive-table table tbody td[data-v-b30dea28]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-b30dea28]{border:none}.responsive-table table .cell-heading[data-v-b30dea28]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-b30dea28]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-b30dea28]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-b30dea28]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-b30dea28]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-b30dea28]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-b30dea28]{width:100%}}.calendar-workouts-chart[data-v-b30dea28]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-b30dea28]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-b30dea28]{display:flex;justify-content:center;position:absolute;top:4px;left:6px;width:20px;font-size:1.1em;font-weight:700}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-chart .workouts-count[data-v-b30dea28]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-b30dea28] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-b30dea28] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-b30dea28]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-b30dea28]{background:#f5f5f5;border-radius:4px;box-shadow:0 4px 8px 0 rgba(0,0,0,.2),0 6px 20px 0 rgba(0,0,0,.19);position:absolute;top:52px;left:0;min-width:60px;margin-bottom:20px;padding:10px 10px;display:flex;flex-wrap:wrap;z-index:1000}@media screen and (max-width:700px){.calendar-workouts-chart .workouts-pane .more-workouts[data-v-b30dea28]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-b30dea28]{position:absolute;font-size:.9em;top:5px;right:5px}.calendar-workouts .desktop-display{display:flex}.calendar-workouts .mobile-display{display:none}.calendar-workouts .workouts-display{display:flex;flex-wrap:wrap;position:relative;margin:0 10px 0 0}.calendar-workouts .donut-display{display:flex;height:34px;width:34px}@media screen and (max-width:700px){.calendar-workouts .desktop-display{display:none}.calendar-workouts .mobile-display{display:flex}}.calendar-cells{display:flex;flex-direction:column;width:100%}.calendar-cells .calendar-row{display:flex;flex-wrap:wrap;border-top:solid 1px var(--calendar-border-color)}.calendar-cells .calendar-row .calendar-cell{border-right:solid 1px var(--calendar-border-color);height:40px;flex-grow:1;flex-basis:8%;padding:5px 10px 5px 5px;width:8%;position:relative}.calendar-cells .calendar-row .calendar-cell .calendar-cell-day{position:absolute;font-size:.8em;line-height:1;top:.5em;right:.5em;font-weight:700}.calendar-cells .calendar-row .calendar-cell:last-child{border-right:0}@media screen and (max-width:700px){.calendar-cells .calendar-row .calendar-cell:last-child .calendar-workouts .more-workouts{left:-45px}}.calendar-cells .calendar-row .disabled-cell{color:var(--app-color-light)}.calendar-cells .calendar-row .week-end{background:var(--calendar-week-end-color)}.calendar-cells .calendar-row .today{background:var(--calendar-today-color)}@media screen and (max-width:700px){.calendar-cells .calendar-row:last-child .calendar-workouts .more-workouts{top:inherit;bottom:20px}}.calendar-days{display:flex;flex-direction:row;border-top:solid 1px var(--calendar-border-color)}.calendar-days .calendar-day{flex-grow:1;padding:5px;text-align:center;text-transform:uppercase;color:var(--app-color-light)}.calendar-header{display:flex;flex-direction:row}.calendar-header .calendar-arrow,.calendar-header .calendar-month{flex-grow:1;padding:10px}.calendar-header .calendar-arrow-left{text-align:left;cursor:pointer}.calendar-header .calendar-arrow-right{text-align:right;cursor:pointer}.calendar-header .calendar-month{font-weight:700;text-align:center;text-transform:uppercase}#user-calendar .calendar-card,#user-calendar .calendar-card .card-content{padding:0}[data-v-6eb9bb83]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6eb9bb83]{margin:0}#app[data-v-6eb9bb83]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6eb9bb83]{color:var(--app-a-color);text-decoration:none}img[data-v-6eb9bb83]{max-width:100%}input[data-v-6eb9bb83],select[data-v-6eb9bb83],textarea[data-v-6eb9bb83]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6eb9bb83]:disabled,select[data-v-6eb9bb83]:disabled,textarea[data-v-6eb9bb83]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6eb9bb83]{font-weight:700}button[data-v-6eb9bb83]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6eb9bb83]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6eb9bb83]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6eb9bb83]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6eb9bb83]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6eb9bb83]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6eb9bb83]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6eb9bb83]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6eb9bb83]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6eb9bb83]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6eb9bb83]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6eb9bb83]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6eb9bb83]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6eb9bb83]{margin:10px;padding:5px}.upper[data-v-6eb9bb83]{text-transform:uppercase}.fa-trophy[data-v-6eb9bb83]{color:var(--workout-trophy-color)}.section-title[data-v-6eb9bb83]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6eb9bb83]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6eb9bb83]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6eb9bb83]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6eb9bb83]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6eb9bb83]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6eb9bb83]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6eb9bb83]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6eb9bb83]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6eb9bb83]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6eb9bb83]{font-weight:700}.description-list dl dd[data-v-6eb9bb83]{margin-bottom:10px}.center-card[data-v-6eb9bb83]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6eb9bb83]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6eb9bb83]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6eb9bb83]{margin-top:0}}.center-text[data-v-6eb9bb83]{text-align:center}.responsive-table[data-v-6eb9bb83]{margin-bottom:15px}.responsive-table table[data-v-6eb9bb83]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6eb9bb83]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6eb9bb83]{font-size:.95em}.responsive-table table tbody td[data-v-6eb9bb83]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6eb9bb83]{border:none}.responsive-table table .cell-heading[data-v-6eb9bb83]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6eb9bb83]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6eb9bb83]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6eb9bb83]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6eb9bb83]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6eb9bb83]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6eb9bb83]{width:100%}}.start-chart .chart-radio[data-v-6eb9bb83]{display:flex;justify-content:space-between;padding:10px}.start-chart .chart-radio label[data-v-6eb9bb83]{font-size:.85em;font-weight:400}[data-v-7958b39f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7958b39f]{margin:0}#app[data-v-7958b39f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7958b39f]{color:var(--app-a-color);text-decoration:none}img[data-v-7958b39f]{max-width:100%}input[data-v-7958b39f],select[data-v-7958b39f],textarea[data-v-7958b39f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7958b39f]:disabled,select[data-v-7958b39f]:disabled,textarea[data-v-7958b39f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7958b39f]{font-weight:700}button[data-v-7958b39f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7958b39f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7958b39f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7958b39f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7958b39f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7958b39f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7958b39f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7958b39f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7958b39f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7958b39f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7958b39f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7958b39f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7958b39f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7958b39f]{margin:10px;padding:5px}.upper[data-v-7958b39f]{text-transform:uppercase}.fa-trophy[data-v-7958b39f]{color:var(--workout-trophy-color)}.section-title[data-v-7958b39f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7958b39f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7958b39f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7958b39f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7958b39f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7958b39f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7958b39f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7958b39f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7958b39f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7958b39f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7958b39f]{font-weight:700}.description-list dl dd[data-v-7958b39f]{margin-bottom:10px}.center-card[data-v-7958b39f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7958b39f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7958b39f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7958b39f]{margin-top:0}}.center-text[data-v-7958b39f]{text-align:center}.responsive-table[data-v-7958b39f]{margin-bottom:15px}.responsive-table table[data-v-7958b39f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7958b39f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7958b39f]{font-size:.95em}.responsive-table table tbody td[data-v-7958b39f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7958b39f]{border:none}.responsive-table table .cell-heading[data-v-7958b39f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7958b39f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7958b39f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7958b39f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7958b39f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7958b39f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7958b39f]{width:100%}}.user-month-stats[data-v-7958b39f] .card-content{padding:10px}[data-v-db29ce96]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-db29ce96]{margin:0}#app[data-v-db29ce96]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-db29ce96]{color:var(--app-a-color);text-decoration:none}img[data-v-db29ce96]{max-width:100%}input[data-v-db29ce96],select[data-v-db29ce96],textarea[data-v-db29ce96]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-db29ce96]:disabled,select[data-v-db29ce96]:disabled,textarea[data-v-db29ce96]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-db29ce96]{font-weight:700}button[data-v-db29ce96]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-db29ce96]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-db29ce96]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-db29ce96]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-db29ce96]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-db29ce96]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-db29ce96]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-db29ce96]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-db29ce96]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-db29ce96]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-db29ce96]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-db29ce96]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-db29ce96]{display:flex;flex-direction:column}.form-box .form-items input[data-v-db29ce96]{margin:10px;padding:5px}.upper[data-v-db29ce96]{text-transform:uppercase}.fa-trophy[data-v-db29ce96]{color:var(--workout-trophy-color)}.section-title[data-v-db29ce96]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-db29ce96]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-db29ce96]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-db29ce96]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-db29ce96]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-db29ce96]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-db29ce96]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-db29ce96]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-db29ce96]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-db29ce96]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-db29ce96]{font-weight:700}.description-list dl dd[data-v-db29ce96]{margin-bottom:10px}.center-card[data-v-db29ce96]{margin:0 auto;width:700px}.center-card.with-margin[data-v-db29ce96]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-db29ce96]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-db29ce96]{margin-top:0}}.center-text[data-v-db29ce96]{text-align:center}.responsive-table[data-v-db29ce96]{margin-bottom:15px}.responsive-table table[data-v-db29ce96]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-db29ce96]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-db29ce96]{font-size:.95em}.responsive-table table tbody td[data-v-db29ce96]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-db29ce96]{border:none}.responsive-table table .cell-heading[data-v-db29ce96]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-db29ce96]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-db29ce96]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-db29ce96]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-db29ce96]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-db29ce96]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-db29ce96]{width:100%}}.records-card[data-v-db29ce96]{width:100%;padding-bottom:3px}.records-card[data-v-db29ce96] .card{font-size:.9em}.records-card[data-v-db29ce96] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-db29ce96] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-db29ce96] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-db29ce96] .card .card-content .record{display:flex;justify-content:space-between}.records-card[data-v-db29ce96] .card .card-content .record span{padding:2px 5px}.records-card[data-v-db29ce96] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-db29ce96] .card .card-content .record .record-value{font-weight:700;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-db29ce96] .card,.records-card[data-v-db29ce96] .card .card-title{font-size:1em}.records-card[data-v-db29ce96] .card .card-title .sport-img{height:22px;width:22px}}[data-v-080b37ac]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-080b37ac]{margin:0}#app[data-v-080b37ac]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-080b37ac]{color:var(--app-a-color);text-decoration:none}img[data-v-080b37ac]{max-width:100%}input[data-v-080b37ac],select[data-v-080b37ac],textarea[data-v-080b37ac]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-080b37ac]:disabled,select[data-v-080b37ac]:disabled,textarea[data-v-080b37ac]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-080b37ac]{font-weight:700}button[data-v-080b37ac]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-080b37ac]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-080b37ac]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-080b37ac]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-080b37ac]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-080b37ac]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-080b37ac]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-080b37ac]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-080b37ac]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-080b37ac]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-080b37ac]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-080b37ac]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-080b37ac]{display:flex;flex-direction:column}.form-box .form-items input[data-v-080b37ac]{margin:10px;padding:5px}.upper[data-v-080b37ac]{text-transform:uppercase}.fa-trophy[data-v-080b37ac]{color:var(--workout-trophy-color)}.section-title[data-v-080b37ac]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-080b37ac]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-080b37ac]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-080b37ac]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-080b37ac]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-080b37ac]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-080b37ac]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-080b37ac]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-080b37ac]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-080b37ac]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-080b37ac]{font-weight:700}.description-list dl dd[data-v-080b37ac]{margin-bottom:10px}.center-card[data-v-080b37ac]{margin:0 auto;width:700px}.center-card.with-margin[data-v-080b37ac]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-080b37ac]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-080b37ac]{margin-top:0}}.center-text[data-v-080b37ac]{text-align:center}.responsive-table[data-v-080b37ac]{margin-bottom:15px}.responsive-table table[data-v-080b37ac]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-080b37ac]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-080b37ac]{font-size:.95em}.responsive-table table tbody td[data-v-080b37ac]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-080b37ac]{border:none}.responsive-table table .cell-heading[data-v-080b37ac]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-080b37ac]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-080b37ac]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-080b37ac]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-080b37ac]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-080b37ac]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-080b37ac]{width:100%}}.user-records .no-records[data-v-080b37ac]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}#user-stats{display:flex;flex:1 0 25%;justify-content:space-around;flex-wrap:wrap}[data-v-e616a7ba]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-e616a7ba]{margin:0}#app[data-v-e616a7ba]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-e616a7ba]{color:var(--app-a-color);text-decoration:none}img[data-v-e616a7ba]{max-width:100%}input[data-v-e616a7ba],select[data-v-e616a7ba],textarea[data-v-e616a7ba]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-e616a7ba]:disabled,select[data-v-e616a7ba]:disabled,textarea[data-v-e616a7ba]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-e616a7ba]{font-weight:700}button[data-v-e616a7ba]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-e616a7ba]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-e616a7ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-e616a7ba]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-e616a7ba]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-e616a7ba]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-e616a7ba]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-e616a7ba]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-e616a7ba]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-e616a7ba]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-e616a7ba]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-e616a7ba]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-e616a7ba]{display:flex;flex-direction:column}.form-box .form-items input[data-v-e616a7ba]{margin:10px;padding:5px}.upper[data-v-e616a7ba]{text-transform:uppercase}.fa-trophy[data-v-e616a7ba]{color:var(--workout-trophy-color)}.section-title[data-v-e616a7ba]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-e616a7ba]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-e616a7ba]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-e616a7ba]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-e616a7ba]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-e616a7ba]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-e616a7ba]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-e616a7ba]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-e616a7ba]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-e616a7ba]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-e616a7ba]{font-weight:700}.description-list dl dd[data-v-e616a7ba]{margin-bottom:10px}.center-card[data-v-e616a7ba]{margin:0 auto;width:700px}.center-card.with-margin[data-v-e616a7ba]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-e616a7ba]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-e616a7ba]{margin-top:0}}.center-text[data-v-e616a7ba]{text-align:center}.responsive-table[data-v-e616a7ba]{margin-bottom:15px}.responsive-table table[data-v-e616a7ba]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-e616a7ba]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-e616a7ba]{font-size:.95em}.responsive-table table tbody td[data-v-e616a7ba]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-e616a7ba]{border:none}.responsive-table table .cell-heading[data-v-e616a7ba]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-e616a7ba]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-e616a7ba]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-e616a7ba]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-e616a7ba]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-e616a7ba]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-e616a7ba]{width:100%}}#dashboard[data-v-e616a7ba]{padding-bottom:30px}#dashboard .dashboard-container[data-v-e616a7ba]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-e616a7ba]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-e616a7ba]{width:32%}#dashboard .dashboard-container .right-container[data-v-e616a7ba]{width:68%}#dashboard .mobile-menu[data-v-e616a7ba]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-e616a7ba]{padding-bottom:60px}#dashboard .dashboard-container[data-v-e616a7ba]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-e616a7ba],#dashboard .dashboard-container .right-container[data-v-e616a7ba]{width:100%}#dashboard .mobile-menu[data-v-e616a7ba]{display:flex}#dashboard .mobile-menu .box[data-v-e616a7ba]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-e616a7ba]{display:flex;justify-content:space-around;border:none;border-radius:4px;box-shadow:none;font-size:.95em;padding:10px;width:25%}#dashboard .mobile-menu .box .mobile-menu-item .fa-trophy[data-v-e616a7ba]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-e616a7ba]{color:var(--mobile-menu-selected-color);background-color:var(--mobile-menu-selected-bgcolor)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected .fa-trophy[data-v-e616a7ba]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-e616a7ba]{display:none}}[data-v-645e8c6f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-645e8c6f]{margin:0}#app[data-v-645e8c6f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-645e8c6f]{color:var(--app-a-color);text-decoration:none}img[data-v-645e8c6f]{max-width:100%}input[data-v-645e8c6f],select[data-v-645e8c6f],textarea[data-v-645e8c6f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-645e8c6f]:disabled,select[data-v-645e8c6f]:disabled,textarea[data-v-645e8c6f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-645e8c6f]{font-weight:700}button[data-v-645e8c6f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-645e8c6f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-645e8c6f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-645e8c6f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-645e8c6f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-645e8c6f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-645e8c6f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-645e8c6f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-645e8c6f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-645e8c6f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-645e8c6f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-645e8c6f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-645e8c6f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-645e8c6f]{margin:10px;padding:5px}.upper[data-v-645e8c6f]{text-transform:uppercase}.fa-trophy[data-v-645e8c6f]{color:var(--workout-trophy-color)}.section-title[data-v-645e8c6f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-645e8c6f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-645e8c6f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-645e8c6f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-645e8c6f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-645e8c6f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-645e8c6f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-645e8c6f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-645e8c6f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-645e8c6f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-645e8c6f]{font-weight:700}.description-list dl dd[data-v-645e8c6f]{margin-bottom:10px}.center-card[data-v-645e8c6f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-645e8c6f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-645e8c6f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-645e8c6f]{margin-top:0}}.center-text[data-v-645e8c6f]{text-align:center}.responsive-table[data-v-645e8c6f]{margin-bottom:15px}.responsive-table table[data-v-645e8c6f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-645e8c6f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-645e8c6f]{font-size:.95em}.responsive-table table tbody td[data-v-645e8c6f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-645e8c6f]{border:none}.responsive-table table .cell-heading[data-v-645e8c6f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-645e8c6f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-645e8c6f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-645e8c6f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-645e8c6f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-645e8c6f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-645e8c6f]{width:100%}}#about[data-v-645e8c6f]{display:flex;justify-content:center;padding:10px;height:100%}#about .bike-img[data-v-645e8c6f]{max-width:40%}[data-v-7717f19a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7717f19a]{margin:0}#app[data-v-7717f19a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7717f19a]{color:var(--app-a-color);text-decoration:none}img[data-v-7717f19a]{max-width:100%}input[data-v-7717f19a],select[data-v-7717f19a],textarea[data-v-7717f19a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7717f19a]:disabled,select[data-v-7717f19a]:disabled,textarea[data-v-7717f19a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7717f19a]{font-weight:700}button[data-v-7717f19a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7717f19a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7717f19a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7717f19a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7717f19a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7717f19a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7717f19a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7717f19a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7717f19a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7717f19a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7717f19a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7717f19a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7717f19a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7717f19a]{margin:10px;padding:5px}.upper[data-v-7717f19a]{text-transform:uppercase}.fa-trophy[data-v-7717f19a]{color:var(--workout-trophy-color)}.section-title[data-v-7717f19a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7717f19a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7717f19a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7717f19a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7717f19a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7717f19a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7717f19a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7717f19a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7717f19a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7717f19a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7717f19a]{font-weight:700}.description-list dl dd[data-v-7717f19a]{margin-bottom:10px}.center-card[data-v-7717f19a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7717f19a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7717f19a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7717f19a]{margin-top:0}}.center-text[data-v-7717f19a]{text-align:center}.responsive-table[data-v-7717f19a]{margin-bottom:15px}.responsive-table table[data-v-7717f19a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7717f19a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7717f19a]{font-size:.95em}.responsive-table table tbody td[data-v-7717f19a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7717f19a]{border:none}.responsive-table table .cell-heading[data-v-7717f19a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7717f19a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7717f19a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7717f19a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7717f19a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7717f19a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7717f19a]{width:100%}}#user-auth-form[data-v-7717f19a]{display:flex;align-items:center;margin:10px 0;height:100%}#user-auth-form #user-form[data-v-7717f19a]{width:60%}#user-auth-form #user-form .password-forgotten[data-v-7717f19a]{font-size:.9em;font-style:italic;padding-left:10px}#user-auth-form #user-form button[data-v-7717f19a]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-7717f19a]:disabled{border-color:var(--disabled-color)}@media screen and (max-width:1000px){#user-auth-form[data-v-7717f19a]{height:auto;margin-bottom:50px}#user-auth-form #user-form[data-v-7717f19a]{margin-top:10px;width:100%}}#loginOrRegister{display:flex;height:100%}#loginOrRegister .container{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister{height:auto}#loginOrRegister .container .container-sub{align-items:center}#loginOrRegister .container .container-sub .bike-img{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container{flex-direction:column}}[data-v-56f0f302]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-56f0f302]{margin:0}#app[data-v-56f0f302]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-56f0f302]{color:var(--app-a-color);text-decoration:none}img[data-v-56f0f302]{max-width:100%}input[data-v-56f0f302],select[data-v-56f0f302],textarea[data-v-56f0f302]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-56f0f302]:disabled,select[data-v-56f0f302]:disabled,textarea[data-v-56f0f302]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-56f0f302]{font-weight:700}button[data-v-56f0f302]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-56f0f302]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-56f0f302]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-56f0f302]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-56f0f302]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-56f0f302]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-56f0f302]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-56f0f302]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-56f0f302]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-56f0f302]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-56f0f302]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-56f0f302]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-56f0f302]{display:flex;flex-direction:column}.form-box .form-items input[data-v-56f0f302]{margin:10px;padding:5px}.upper[data-v-56f0f302]{text-transform:uppercase}.fa-trophy[data-v-56f0f302]{color:var(--workout-trophy-color)}.section-title[data-v-56f0f302]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-56f0f302]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-56f0f302]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-56f0f302]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-56f0f302]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-56f0f302]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-56f0f302]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-56f0f302]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-56f0f302]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-56f0f302]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-56f0f302]{font-weight:700}.description-list dl dd[data-v-56f0f302]{margin-bottom:10px}.center-card[data-v-56f0f302]{margin:0 auto;width:700px}.center-card.with-margin[data-v-56f0f302]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-56f0f302]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-56f0f302]{margin-top:0}}.center-text[data-v-56f0f302]{text-align:center}.responsive-table[data-v-56f0f302]{margin-bottom:15px}.responsive-table table[data-v-56f0f302]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-56f0f302]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-56f0f302]{font-size:.95em}.responsive-table table tbody td[data-v-56f0f302]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-56f0f302]{border:none}.responsive-table table .cell-heading[data-v-56f0f302]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-56f0f302]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-56f0f302]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-56f0f302]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-56f0f302]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-56f0f302]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-56f0f302]{width:100%}}.chart-menu[data-v-56f0f302]{display:flex}.chart-menu .chart-arrow[data-v-56f0f302],.chart-menu .time-frames[data-v-56f0f302]{flex-grow:1;text-align:center}.chart-menu .chart-arrow[data-v-56f0f302]{cursor:pointer}:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}#app,body{margin:0}#app{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);min-height:100vh}a{color:var(--app-a-color);text-decoration:none}img{max-width:100%}input,select,textarea{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input:disabled,select:disabled,textarea:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label{font-weight:700}button{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button:hover{background:var(--app-color);color:var(--button-hover-color)}button:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items{display:flex;flex-direction:column}.form-box .form-items input{margin:10px;padding:5px}.upper{text-transform:uppercase}.fa-trophy{color:var(--workout-trophy-color)}.section-title{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl{display:flex;flex-direction:column;width:100%}.description-list dl dt{font-weight:700}.description-list dl dd{margin-bottom:10px}.center-card{margin:0 auto;width:700px}.center-card.with-margin{margin-top:100px}@media screen and (max-width:1000px){.center-card{width:100%;margin:0 auto 50px auto}.center-card.with-margin{margin-top:0}}.center-text{text-align:center}.responsive-table{margin-bottom:15px}.responsive-table table{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody{font-size:.95em}.responsive-table table tbody td{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td{border:none}.responsive-table table .cell-heading{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td{margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td,.responsive-table table td{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading{display:flex}}@media screen and (max-width:500px){.responsive-table table td{width:100%}}.sports-menu{display:flex;justify-content:space-between;padding:10px}@media screen and (max-width:1000px){.sports-menu{justify-content:normal;flex-wrap:wrap}}.sports-menu label{display:flex;align-items:center;font-size:.9em;font-weight:400;min-width:120px;padding:10px}@media screen and (max-width:1000px){.sports-menu label{min-width:100px}}@media screen and (max-width:500px){.sports-menu label{min-width:20px}.sports-menu label .sport-label{display:none}}.sports-menu .sport-img{padding:3px;width:20px;height:20px}[data-v-dad311d4]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-dad311d4]{margin:0}#app[data-v-dad311d4]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-dad311d4]{color:var(--app-a-color);text-decoration:none}img[data-v-dad311d4]{max-width:100%}input[data-v-dad311d4],select[data-v-dad311d4],textarea[data-v-dad311d4]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-dad311d4]:disabled,select[data-v-dad311d4]:disabled,textarea[data-v-dad311d4]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-dad311d4]{font-weight:700}button[data-v-dad311d4]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-dad311d4]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-dad311d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-dad311d4]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-dad311d4]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-dad311d4]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-dad311d4]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-dad311d4]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-dad311d4]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-dad311d4]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-dad311d4]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-dad311d4]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-dad311d4]{display:flex;flex-direction:column}.form-box .form-items input[data-v-dad311d4]{margin:10px;padding:5px}.upper[data-v-dad311d4]{text-transform:uppercase}.fa-trophy[data-v-dad311d4]{color:var(--workout-trophy-color)}.section-title[data-v-dad311d4]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-dad311d4]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-dad311d4]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-dad311d4]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-dad311d4]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-dad311d4]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-dad311d4]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-dad311d4]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-dad311d4]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-dad311d4]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-dad311d4]{font-weight:700}.description-list dl dd[data-v-dad311d4]{margin-bottom:10px}.center-card[data-v-dad311d4]{margin:0 auto;width:700px}.center-card.with-margin[data-v-dad311d4]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-dad311d4]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-dad311d4]{margin-top:0}}.center-text[data-v-dad311d4]{text-align:center}.responsive-table[data-v-dad311d4]{margin-bottom:15px}.responsive-table table[data-v-dad311d4]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-dad311d4]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-dad311d4]{font-size:.95em}.responsive-table table tbody td[data-v-dad311d4]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-dad311d4]{border:none}.responsive-table table .cell-heading[data-v-dad311d4]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-dad311d4]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-dad311d4]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-dad311d4]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-dad311d4]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-dad311d4]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-dad311d4]{width:100%}}#user-statistics.stats-disabled[data-v-dad311d4]{opacity:.3;pointer-events:none}#user-statistics[data-v-dad311d4] .chart-radio{justify-content:space-around;padding:30px 10px 10px 10px}[data-v-8e65b6c0]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-8e65b6c0]{margin:0}#app[data-v-8e65b6c0]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-8e65b6c0]{color:var(--app-a-color);text-decoration:none}img[data-v-8e65b6c0]{max-width:100%}input[data-v-8e65b6c0],select[data-v-8e65b6c0],textarea[data-v-8e65b6c0]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-8e65b6c0]:disabled,select[data-v-8e65b6c0]:disabled,textarea[data-v-8e65b6c0]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-8e65b6c0]{font-weight:700}button[data-v-8e65b6c0]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-8e65b6c0]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-8e65b6c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-8e65b6c0]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-8e65b6c0]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-8e65b6c0]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-8e65b6c0]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-8e65b6c0]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-8e65b6c0]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-8e65b6c0]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-8e65b6c0]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-8e65b6c0]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-8e65b6c0]{display:flex;flex-direction:column}.form-box .form-items input[data-v-8e65b6c0]{margin:10px;padding:5px}.upper[data-v-8e65b6c0]{text-transform:uppercase}.fa-trophy[data-v-8e65b6c0]{color:var(--workout-trophy-color)}.section-title[data-v-8e65b6c0]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-8e65b6c0]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-8e65b6c0]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-8e65b6c0]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-8e65b6c0]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-8e65b6c0]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-8e65b6c0]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-8e65b6c0]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-8e65b6c0]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-8e65b6c0]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-8e65b6c0]{font-weight:700}.description-list dl dd[data-v-8e65b6c0]{margin-bottom:10px}.center-card[data-v-8e65b6c0]{margin:0 auto;width:700px}.center-card.with-margin[data-v-8e65b6c0]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-8e65b6c0]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-8e65b6c0]{margin-top:0}}.center-text[data-v-8e65b6c0]{text-align:center}.responsive-table[data-v-8e65b6c0]{margin-bottom:15px}.responsive-table table[data-v-8e65b6c0]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-8e65b6c0]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-8e65b6c0]{font-size:.95em}.responsive-table table tbody td[data-v-8e65b6c0]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-8e65b6c0]{border:none}.responsive-table table .cell-heading[data-v-8e65b6c0]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-8e65b6c0]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-8e65b6c0]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-8e65b6c0]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-8e65b6c0]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-8e65b6c0]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-8e65b6c0]{width:100%}}#statistics[data-v-8e65b6c0]{display:flex;width:100%;margin-bottom:30px}#statistics .container[data-v-8e65b6c0]{display:flex;flex-direction:column;width:100%} \ No newline at end of file diff --git a/fittrackee/dist/static/css/workouts.72b1c915.css b/fittrackee/dist/static/css/workouts.72b1c915.css new file mode 100644 index 00000000..eb087e2e --- /dev/null +++ b/fittrackee/dist/static/css/workouts.72b1c915.css @@ -0,0 +1 @@ +[data-v-78f33062]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-78f33062]{margin:0}#app[data-v-78f33062]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-78f33062]{color:var(--app-a-color);text-decoration:none}img[data-v-78f33062]{max-width:100%}input[data-v-78f33062],select[data-v-78f33062],textarea[data-v-78f33062]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-78f33062]:disabled,select[data-v-78f33062]:disabled,textarea[data-v-78f33062]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-78f33062]{font-weight:700}button[data-v-78f33062]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-78f33062]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-78f33062]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-78f33062]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-78f33062]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-78f33062]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-78f33062]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-78f33062]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-78f33062]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-78f33062]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-78f33062]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-78f33062]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-78f33062]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-78f33062]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-78f33062]{display:flex;flex-direction:column}.form-box .form-items input[data-v-78f33062]{margin:10px;padding:5px}.upper[data-v-78f33062]{text-transform:uppercase}.fa-trophy[data-v-78f33062]{color:var(--workout-trophy-color)}.section-title[data-v-78f33062]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-78f33062]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-78f33062]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-78f33062]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-78f33062]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-78f33062]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-78f33062]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-78f33062]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-78f33062]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-78f33062]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-78f33062]{font-weight:700}.description-list dl dd[data-v-78f33062]{margin-bottom:10px}.center-card[data-v-78f33062]{margin:0 auto;width:700px}.center-card.with-margin[data-v-78f33062]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-78f33062]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-78f33062]{margin-top:0}}.center-text[data-v-78f33062]{text-align:center}.responsive-table[data-v-78f33062]{margin-bottom:15px}.responsive-table table[data-v-78f33062]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-78f33062]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-78f33062]{font-size:.95em}.responsive-table table tbody td[data-v-78f33062]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-78f33062]{border:none}.responsive-table table .cell-heading[data-v-78f33062]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-78f33062]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-78f33062]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-78f33062]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-78f33062]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-78f33062]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-78f33062]{width:100%}}.workouts-filters .form[data-v-78f33062]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-78f33062]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-78f33062]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-78f33062]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-78f33062]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-78f33062]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-78f33062]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-78f33062]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-78f33062]{display:flex;justify-content:center}.workouts-filters .form-button button[data-v-78f33062]{margin:20px 5px 10px 5px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-78f33062]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-78f33062]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-78f33062]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-78f33062]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-78f33062]{width:75%}.workouts-filters .form-button button[data-v-78f33062]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-78f33062]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-78f33062]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-78f33062]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-78f33062]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-78f33062]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-78f33062]{padding:5px}.workouts-filters .form-button button[data-v-78f33062]{margin:10px 5px}}[data-v-977fe558]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-977fe558]{margin:0}#app[data-v-977fe558]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-977fe558]{color:var(--app-a-color);text-decoration:none}img[data-v-977fe558]{max-width:100%}input[data-v-977fe558],select[data-v-977fe558],textarea[data-v-977fe558]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-977fe558]:disabled,select[data-v-977fe558]:disabled,textarea[data-v-977fe558]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-977fe558]{font-weight:700}button[data-v-977fe558]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-977fe558]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-977fe558]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-977fe558]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-977fe558]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-977fe558]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-977fe558]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-977fe558]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-977fe558]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-977fe558]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-977fe558]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-977fe558]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-977fe558]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-977fe558]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-977fe558]{display:flex;flex-direction:column}.form-box .form-items input[data-v-977fe558]{margin:10px;padding:5px}.upper[data-v-977fe558]{text-transform:uppercase}.fa-trophy[data-v-977fe558]{color:var(--workout-trophy-color)}.section-title[data-v-977fe558]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-977fe558]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-977fe558]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-977fe558]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-977fe558]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-977fe558]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-977fe558]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-977fe558]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-977fe558]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-977fe558]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-977fe558]{font-weight:700}.description-list dl dd[data-v-977fe558]{margin-bottom:10px}.center-card[data-v-977fe558]{margin:0 auto;width:700px}.center-card.with-margin[data-v-977fe558]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-977fe558]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-977fe558]{margin-top:0}}.center-text[data-v-977fe558]{text-align:center}.responsive-table[data-v-977fe558]{margin-bottom:15px}.responsive-table table[data-v-977fe558]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-977fe558]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-977fe558]{font-size:.95em}.responsive-table table tbody td[data-v-977fe558]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-977fe558]{border:none}.responsive-table table .cell-heading[data-v-977fe558]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-977fe558]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-977fe558]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-977fe558]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-977fe558]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-977fe558]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-977fe558]{width:100%}}.workouts-list[data-v-977fe558]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-977fe558]{padding:10px 20px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-977fe558]{display:none}}.workouts-list .box .total[data-v-977fe558]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-977fe558]{font-weight:700}.workouts-list .box .top-pagination[data-v-977fe558]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-977fe558]{display:flex}}@media screen and (max-width:700px){.workouts-list .box[data-v-977fe558] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .sport-col[data-v-977fe558]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-977fe558]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-977fe558]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-977fe558]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-977fe558]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-977fe558]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-977fe558]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-977fe558]{max-width:none}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-977fe558]{display:none}}.workouts-list .more-workouts[data-v-977fe558]{display:flex;justify-content:center;padding:10px}[data-v-819c97ae]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-819c97ae]{margin:0}#app[data-v-819c97ae]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-819c97ae]{color:var(--app-a-color);text-decoration:none}img[data-v-819c97ae]{max-width:100%}input[data-v-819c97ae],select[data-v-819c97ae],textarea[data-v-819c97ae]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-819c97ae]:disabled,select[data-v-819c97ae]:disabled,textarea[data-v-819c97ae]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-819c97ae]{font-weight:700}button[data-v-819c97ae]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-819c97ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-819c97ae]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-819c97ae]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-819c97ae]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-819c97ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-819c97ae]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-819c97ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-819c97ae]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-819c97ae]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-819c97ae]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-819c97ae]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-819c97ae]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-819c97ae]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-819c97ae]{display:flex;flex-direction:column}.form-box .form-items input[data-v-819c97ae]{margin:10px;padding:5px}.upper[data-v-819c97ae]{text-transform:uppercase}.fa-trophy[data-v-819c97ae]{color:var(--workout-trophy-color)}.section-title[data-v-819c97ae]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-819c97ae]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-819c97ae]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-819c97ae]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-819c97ae]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-819c97ae]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-819c97ae]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-819c97ae]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-819c97ae]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-819c97ae]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-819c97ae]{font-weight:700}.description-list dl dd[data-v-819c97ae]{margin-bottom:10px}.center-card[data-v-819c97ae]{margin:0 auto;width:700px}.center-card.with-margin[data-v-819c97ae]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-819c97ae]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-819c97ae]{margin-top:0}}.center-text[data-v-819c97ae]{text-align:center}.responsive-table[data-v-819c97ae]{margin-bottom:15px}.responsive-table table[data-v-819c97ae]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-819c97ae]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-819c97ae]{font-size:.95em}.responsive-table table tbody td[data-v-819c97ae]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-819c97ae]{border:none}.responsive-table table .cell-heading[data-v-819c97ae]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-819c97ae]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-819c97ae]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-819c97ae]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-819c97ae]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-819c97ae]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-819c97ae]{width:100%}}#workouts[data-v-819c97ae]{height:100%}#workouts .workouts-container[data-v-819c97ae]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-819c97ae]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-819c97ae],#workouts .workouts-container .list-container[data-v-819c97ae]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-819c97ae]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-819c97ae]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-819c97ae]{display:none}}#workouts .workouts-container .display-filters[data-v-819c97ae]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-819c97ae]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-819c97ae]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-819c97ae]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-819c97ae]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-819c97ae]{width:100%}}[data-v-2230775e]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2230775e]{margin:0}#app[data-v-2230775e]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2230775e]{color:var(--app-a-color);text-decoration:none}img[data-v-2230775e]{max-width:100%}input[data-v-2230775e],select[data-v-2230775e],textarea[data-v-2230775e]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2230775e]:disabled,select[data-v-2230775e]:disabled,textarea[data-v-2230775e]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-2230775e]{font-weight:700}button[data-v-2230775e]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2230775e]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2230775e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2230775e]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2230775e]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2230775e]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2230775e]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2230775e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2230775e]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2230775e]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2230775e]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2230775e]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2230775e]{margin:10px;padding:5px}.upper[data-v-2230775e]{text-transform:uppercase}.fa-trophy[data-v-2230775e]{color:var(--workout-trophy-color)}.section-title[data-v-2230775e]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2230775e]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2230775e]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2230775e]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2230775e]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2230775e]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2230775e]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2230775e]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2230775e]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2230775e]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2230775e]{font-weight:700}.description-list dl dd[data-v-2230775e]{margin-bottom:10px}.center-card[data-v-2230775e]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2230775e]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2230775e]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2230775e]{margin-top:0}}.center-text[data-v-2230775e]{text-align:center}.responsive-table[data-v-2230775e]{margin-bottom:15px}.responsive-table table[data-v-2230775e]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2230775e]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2230775e]{font-size:.95em}.responsive-table table tbody td[data-v-2230775e]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2230775e]{border:none}.responsive-table table .cell-heading[data-v-2230775e]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2230775e]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2230775e]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2230775e]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2230775e]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2230775e]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2230775e]{width:100%}}#workout-chart[data-v-2230775e] .card .card-title{text-transform:capitalize}#workout-chart[data-v-2230775e] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-2230775e] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-2230775e] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-2230775e] .card .card-content .no-data-cleaning{font-size:.85em;font-style:italic}@media screen and (max-width:700px){#workout-chart[data-v-2230775e] .card .card-content{padding:10px 0}#workout-chart[data-v-2230775e] .card .card-content .no-data-cleaning{padding:0 20px}}[data-v-9cab340c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-9cab340c]{margin:0}#app[data-v-9cab340c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-9cab340c]{color:var(--app-a-color);text-decoration:none}img[data-v-9cab340c]{max-width:100%}input[data-v-9cab340c],select[data-v-9cab340c],textarea[data-v-9cab340c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-9cab340c]:disabled,select[data-v-9cab340c]:disabled,textarea[data-v-9cab340c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-9cab340c]{font-weight:700}button[data-v-9cab340c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-9cab340c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-9cab340c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-9cab340c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-9cab340c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-9cab340c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-9cab340c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-9cab340c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-9cab340c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-9cab340c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-9cab340c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-9cab340c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-9cab340c]{margin:10px;padding:5px}.upper[data-v-9cab340c]{text-transform:uppercase}.fa-trophy[data-v-9cab340c]{color:var(--workout-trophy-color)}.section-title[data-v-9cab340c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-9cab340c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-9cab340c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-9cab340c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-9cab340c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-9cab340c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-9cab340c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-9cab340c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-9cab340c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-9cab340c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-9cab340c]{font-weight:700}.description-list dl dd[data-v-9cab340c]{margin-bottom:10px}.center-card[data-v-9cab340c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-9cab340c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-9cab340c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-9cab340c]{margin-top:0}}.center-text[data-v-9cab340c]{text-align:center}.responsive-table[data-v-9cab340c]{margin-bottom:15px}.responsive-table table[data-v-9cab340c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-9cab340c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-9cab340c]{font-size:.95em}.responsive-table table tbody td[data-v-9cab340c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-9cab340c]{border:none}.responsive-table table .cell-heading[data-v-9cab340c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-9cab340c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-9cab340c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-9cab340c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-9cab340c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-9cab340c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-9cab340c]{width:100%}}#workout-card-title[data-v-9cab340c]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-9cab340c]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-9cab340c]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-9cab340c]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-9cab340c]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-9cab340c]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-9cab340c]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-9cab340c]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-9cab340c]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-9cab340c],#workout-card-title .workout-card-title .fa-trash[data-v-9cab340c]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-da96984c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-da96984c]{margin:0}#app[data-v-da96984c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-da96984c]{color:var(--app-a-color);text-decoration:none}img[data-v-da96984c]{max-width:100%}input[data-v-da96984c],select[data-v-da96984c],textarea[data-v-da96984c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-da96984c]:disabled,select[data-v-da96984c]:disabled,textarea[data-v-da96984c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-da96984c]{font-weight:700}button[data-v-da96984c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-da96984c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-da96984c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-da96984c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-da96984c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-da96984c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-da96984c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-da96984c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-da96984c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-da96984c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-da96984c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-da96984c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-da96984c]{margin:10px;padding:5px}.upper[data-v-da96984c]{text-transform:uppercase}.fa-trophy[data-v-da96984c]{color:var(--workout-trophy-color)}.section-title[data-v-da96984c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-da96984c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-da96984c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-da96984c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-da96984c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-da96984c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-da96984c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-da96984c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-da96984c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-da96984c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-da96984c]{font-weight:700}.description-list dl dd[data-v-da96984c]{margin-bottom:10px}.center-card[data-v-da96984c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-da96984c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-da96984c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-da96984c]{margin-top:0}}.center-text[data-v-da96984c]{text-align:center}.responsive-table[data-v-da96984c]{margin-bottom:15px}.responsive-table table[data-v-da96984c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-da96984c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-da96984c]{font-size:.95em}.responsive-table table tbody td[data-v-da96984c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-da96984c]{border:none}.responsive-table table .cell-heading[data-v-da96984c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-da96984c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-da96984c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-da96984c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-da96984c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-da96984c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-da96984c]{width:100%}}.workout-record sup[data-v-da96984c]{font-size:75%;line-height:0}[data-v-7eb41918]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7eb41918]{margin:0}#app[data-v-7eb41918]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7eb41918]{color:var(--app-a-color);text-decoration:none}img[data-v-7eb41918]{max-width:100%}input[data-v-7eb41918],select[data-v-7eb41918],textarea[data-v-7eb41918]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7eb41918]:disabled,select[data-v-7eb41918]:disabled,textarea[data-v-7eb41918]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7eb41918]{font-weight:700}button[data-v-7eb41918]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7eb41918]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7eb41918]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7eb41918]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7eb41918]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7eb41918]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7eb41918]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7eb41918]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7eb41918]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7eb41918]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7eb41918]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7eb41918]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7eb41918]{margin:10px;padding:5px}.upper[data-v-7eb41918]{text-transform:uppercase}.fa-trophy[data-v-7eb41918]{color:var(--workout-trophy-color)}.section-title[data-v-7eb41918]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7eb41918]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7eb41918]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7eb41918]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7eb41918]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7eb41918]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7eb41918]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7eb41918]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7eb41918]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7eb41918]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7eb41918]{font-weight:700}.description-list dl dd[data-v-7eb41918]{margin-bottom:10px}.center-card[data-v-7eb41918]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7eb41918]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7eb41918]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7eb41918]{margin-top:0}}.center-text[data-v-7eb41918]{text-align:center}.responsive-table[data-v-7eb41918]{margin-bottom:15px}.responsive-table table[data-v-7eb41918]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7eb41918]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7eb41918]{font-size:.95em}.responsive-table table tbody td[data-v-7eb41918]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7eb41918]{border:none}.responsive-table table .cell-heading[data-v-7eb41918]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7eb41918]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7eb41918]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7eb41918]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7eb41918]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7eb41918]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7eb41918]{width:100%}}#workout-weather[data-v-7eb41918]{padding-top:10px}#workout-weather .weather-img[data-v-7eb41918]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-7eb41918]{height:20px}#workout-weather .weather-table[data-v-7eb41918]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-7eb41918]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-7eb41918]{font-size:.8em}[data-v-45a7f031]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-45a7f031]{margin:0}#app[data-v-45a7f031]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-45a7f031]{color:var(--app-a-color);text-decoration:none}img[data-v-45a7f031]{max-width:100%}input[data-v-45a7f031],select[data-v-45a7f031],textarea[data-v-45a7f031]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-45a7f031]:disabled,select[data-v-45a7f031]:disabled,textarea[data-v-45a7f031]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-45a7f031]{font-weight:700}button[data-v-45a7f031]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-45a7f031]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-45a7f031]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-45a7f031]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-45a7f031]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-45a7f031]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-45a7f031]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-45a7f031]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-45a7f031]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-45a7f031]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-45a7f031]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-45a7f031]{display:flex;flex-direction:column}.form-box .form-items input[data-v-45a7f031]{margin:10px;padding:5px}.upper[data-v-45a7f031]{text-transform:uppercase}.fa-trophy[data-v-45a7f031]{color:var(--workout-trophy-color)}.section-title[data-v-45a7f031]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-45a7f031]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-45a7f031]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-45a7f031]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-45a7f031]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-45a7f031]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-45a7f031]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-45a7f031]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-45a7f031]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-45a7f031]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-45a7f031]{font-weight:700}.description-list dl dd[data-v-45a7f031]{margin-bottom:10px}.center-card[data-v-45a7f031]{margin:0 auto;width:700px}.center-card.with-margin[data-v-45a7f031]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-45a7f031]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-45a7f031]{margin-top:0}}.center-text[data-v-45a7f031]{text-align:center}.responsive-table[data-v-45a7f031]{margin-bottom:15px}.responsive-table table[data-v-45a7f031]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-45a7f031]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-45a7f031]{font-size:.95em}.responsive-table table tbody td[data-v-45a7f031]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-45a7f031]{border:none}.responsive-table table .cell-heading[data-v-45a7f031]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-45a7f031]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-45a7f031]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-45a7f031]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-45a7f031]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-45a7f031]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-45a7f031]{width:100%}}#workout-info[data-v-45a7f031]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .mountains[data-v-45a7f031]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}#workout-info .workout-data[data-v-45a7f031]{text-transform:capitalize;padding:5px 0}#workout-info .workout-data span[data-v-45a7f031]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-45a7f031]{padding:10px}}[data-v-76f3a2e8]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-76f3a2e8]{margin:0}#app[data-v-76f3a2e8]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-76f3a2e8]{color:var(--app-a-color);text-decoration:none}img[data-v-76f3a2e8]{max-width:100%}input[data-v-76f3a2e8],select[data-v-76f3a2e8],textarea[data-v-76f3a2e8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-76f3a2e8]:disabled,select[data-v-76f3a2e8]:disabled,textarea[data-v-76f3a2e8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-76f3a2e8]{font-weight:700}button[data-v-76f3a2e8]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-76f3a2e8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-76f3a2e8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-76f3a2e8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-76f3a2e8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-76f3a2e8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-76f3a2e8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-76f3a2e8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-76f3a2e8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-76f3a2e8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-76f3a2e8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-76f3a2e8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-76f3a2e8]{margin:10px;padding:5px}.upper[data-v-76f3a2e8]{text-transform:uppercase}.fa-trophy[data-v-76f3a2e8]{color:var(--workout-trophy-color)}.section-title[data-v-76f3a2e8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-76f3a2e8]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-76f3a2e8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-76f3a2e8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-76f3a2e8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-76f3a2e8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-76f3a2e8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-76f3a2e8]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-76f3a2e8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-76f3a2e8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-76f3a2e8]{font-weight:700}.description-list dl dd[data-v-76f3a2e8]{margin-bottom:10px}.center-card[data-v-76f3a2e8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-76f3a2e8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-76f3a2e8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-76f3a2e8]{margin-top:0}}.center-text[data-v-76f3a2e8]{text-align:center}.responsive-table[data-v-76f3a2e8]{margin-bottom:15px}.responsive-table table[data-v-76f3a2e8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-76f3a2e8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-76f3a2e8]{font-size:.95em}.responsive-table table tbody td[data-v-76f3a2e8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-76f3a2e8]{border:none}.responsive-table table .cell-heading[data-v-76f3a2e8]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-76f3a2e8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-76f3a2e8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-76f3a2e8]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-76f3a2e8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-76f3a2e8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-76f3a2e8]{width:100%}}#workout-map[data-v-76f3a2e8]{padding:10px 0}#workout-map .leaflet-container[data-v-76f3a2e8],#workout-map .no-map[data-v-76f3a2e8]{height:400px;width:600px}#workout-map .no-map[data-v-76f3a2e8]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-76f3a2e8]{padding:0}#workout-map .leaflet-container[data-v-76f3a2e8]{width:100%;height:300px}#workout-map .no-map[data-v-76f3a2e8]{display:none}}[data-v-a17554ea]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a17554ea]{margin:0}#app[data-v-a17554ea]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a17554ea]{color:var(--app-a-color);text-decoration:none}img[data-v-a17554ea]{max-width:100%}input[data-v-a17554ea],select[data-v-a17554ea],textarea[data-v-a17554ea]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a17554ea]:disabled,select[data-v-a17554ea]:disabled,textarea[data-v-a17554ea]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a17554ea]{font-weight:700}button[data-v-a17554ea]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a17554ea]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a17554ea]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a17554ea]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a17554ea]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a17554ea]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a17554ea]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a17554ea]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a17554ea]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a17554ea]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a17554ea]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a17554ea]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a17554ea]{margin:10px;padding:5px}.upper[data-v-a17554ea]{text-transform:uppercase}.fa-trophy[data-v-a17554ea]{color:var(--workout-trophy-color)}.section-title[data-v-a17554ea]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a17554ea]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a17554ea]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a17554ea]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a17554ea]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a17554ea]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a17554ea]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a17554ea]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a17554ea]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a17554ea]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a17554ea]{font-weight:700}.description-list dl dd[data-v-a17554ea]{margin-bottom:10px}.center-card[data-v-a17554ea]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a17554ea]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a17554ea]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a17554ea]{margin-top:0}}.center-text[data-v-a17554ea]{text-align:center}.responsive-table[data-v-a17554ea]{margin-bottom:15px}.responsive-table table[data-v-a17554ea]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a17554ea]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a17554ea]{font-size:.95em}.responsive-table table tbody td[data-v-a17554ea]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a17554ea]{border:none}.responsive-table table .cell-heading[data-v-a17554ea]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a17554ea]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a17554ea]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a17554ea]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a17554ea]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a17554ea]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a17554ea]{width:100%}}.workout-detail[data-v-a17554ea]{display:flex}.workout-detail[data-v-a17554ea] .card{width:100%}.workout-detail[data-v-a17554ea] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-a17554ea] .card .card-content{flex-direction:column}}[data-v-5c47d30a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c47d30a]{margin:0}#app[data-v-5c47d30a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c47d30a]{color:var(--app-a-color);text-decoration:none}img[data-v-5c47d30a]{max-width:100%}input[data-v-5c47d30a],select[data-v-5c47d30a],textarea[data-v-5c47d30a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c47d30a]:disabled,select[data-v-5c47d30a]:disabled,textarea[data-v-5c47d30a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c47d30a]{font-weight:700}button[data-v-5c47d30a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c47d30a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c47d30a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c47d30a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c47d30a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c47d30a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c47d30a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c47d30a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c47d30a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c47d30a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c47d30a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c47d30a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c47d30a]{margin:10px;padding:5px}.upper[data-v-5c47d30a]{text-transform:uppercase}.fa-trophy[data-v-5c47d30a]{color:var(--workout-trophy-color)}.section-title[data-v-5c47d30a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c47d30a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c47d30a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c47d30a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c47d30a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c47d30a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c47d30a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c47d30a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c47d30a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c47d30a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c47d30a]{font-weight:700}.description-list dl dd[data-v-5c47d30a]{margin-bottom:10px}.center-card[data-v-5c47d30a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c47d30a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c47d30a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c47d30a]{margin-top:0}}.center-text[data-v-5c47d30a]{text-align:center}.responsive-table[data-v-5c47d30a]{margin-bottom:15px}.responsive-table table[data-v-5c47d30a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c47d30a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c47d30a]{font-size:.95em}.responsive-table table tbody td[data-v-5c47d30a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c47d30a]{border:none}.responsive-table table .cell-heading[data-v-5c47d30a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c47d30a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c47d30a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c47d30a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c47d30a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c47d30a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c47d30a]{width:100%}}#workout-note[data-v-5c47d30a] .card-content{font-style:italic}[data-v-5c40d110]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c40d110]{margin:0}#app[data-v-5c40d110]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c40d110]{color:var(--app-a-color);text-decoration:none}img[data-v-5c40d110]{max-width:100%}input[data-v-5c40d110],select[data-v-5c40d110],textarea[data-v-5c40d110]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c40d110]:disabled,select[data-v-5c40d110]:disabled,textarea[data-v-5c40d110]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c40d110]{font-weight:700}button[data-v-5c40d110]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c40d110]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c40d110]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c40d110]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c40d110]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c40d110]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c40d110]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c40d110]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c40d110]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c40d110]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c40d110]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c40d110]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c40d110]{margin:10px;padding:5px}.upper[data-v-5c40d110]{text-transform:uppercase}.fa-trophy[data-v-5c40d110]{color:var(--workout-trophy-color)}.section-title[data-v-5c40d110]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c40d110]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c40d110]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c40d110]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c40d110]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c40d110]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c40d110]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c40d110]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c40d110]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c40d110]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c40d110]{font-weight:700}.description-list dl dd[data-v-5c40d110]{margin-bottom:10px}.center-card[data-v-5c40d110]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c40d110]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c40d110]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c40d110]{margin-top:0}}.center-text[data-v-5c40d110]{text-align:center}.responsive-table[data-v-5c40d110]{margin-bottom:15px}.responsive-table table[data-v-5c40d110]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c40d110]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c40d110]{font-size:.95em}.responsive-table table tbody td[data-v-5c40d110]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c40d110]{border:none}.responsive-table table .cell-heading[data-v-5c40d110]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c40d110]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c40d110]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c40d110]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c40d110]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c40d110]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c40d110]{width:100%}}#workout-segments[data-v-5c40d110] .card .card-title{text-transform:capitalize}#workout-segments[data-v-5c40d110] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-5c40d110] .card .card-content a{font-weight:700}#workout-segments[data-v-5c40d110] .card .card-content ul{padding:0 10px;list-style:square}[data-v-a4156454]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a4156454]{margin:0}#app[data-v-a4156454]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a4156454]{color:var(--app-a-color);text-decoration:none}img[data-v-a4156454]{max-width:100%}input[data-v-a4156454],select[data-v-a4156454],textarea[data-v-a4156454]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a4156454]:disabled,select[data-v-a4156454]:disabled,textarea[data-v-a4156454]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a4156454]{font-weight:700}button[data-v-a4156454]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a4156454]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a4156454]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a4156454]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a4156454]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a4156454]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a4156454]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a4156454]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a4156454]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a4156454]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a4156454]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a4156454]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a4156454]{margin:10px;padding:5px}.upper[data-v-a4156454]{text-transform:uppercase}.fa-trophy[data-v-a4156454]{color:var(--workout-trophy-color)}.section-title[data-v-a4156454]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a4156454]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a4156454]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a4156454]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a4156454]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a4156454]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a4156454]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a4156454]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a4156454]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a4156454]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a4156454]{font-weight:700}.description-list dl dd[data-v-a4156454]{margin-bottom:10px}.center-card[data-v-a4156454]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a4156454]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a4156454]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a4156454]{margin-top:0}}.center-text[data-v-a4156454]{text-align:center}.responsive-table[data-v-a4156454]{margin-bottom:15px}.responsive-table table[data-v-a4156454]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a4156454]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a4156454]{font-size:.95em}.responsive-table table tbody td[data-v-a4156454]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a4156454]{border:none}.responsive-table table .cell-heading[data-v-a4156454]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a4156454]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a4156454]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a4156454]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a4156454]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a4156454]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a4156454]{width:100%}}#workout[data-v-a4156454]{display:flex;margin-bottom:45px}#workout .container[data-v-a4156454]{width:100%;padding:0}#workout .container .workout-container[data-v-a4156454]{width:100%}#workout .container .workout-loading[data-v-a4156454]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-a4156454]{display:flex;align-items:center;height:100%}[data-v-0dfe7a73]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-0dfe7a73]{margin:0}#app[data-v-0dfe7a73]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-0dfe7a73]{color:var(--app-a-color);text-decoration:none}img[data-v-0dfe7a73]{max-width:100%}input[data-v-0dfe7a73],select[data-v-0dfe7a73],textarea[data-v-0dfe7a73]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-0dfe7a73]:disabled,select[data-v-0dfe7a73]:disabled,textarea[data-v-0dfe7a73]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-0dfe7a73]{font-weight:700}button[data-v-0dfe7a73]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-0dfe7a73]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-0dfe7a73]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-0dfe7a73]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-0dfe7a73]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-0dfe7a73]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-0dfe7a73]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-0dfe7a73]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-0dfe7a73]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-0dfe7a73]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-0dfe7a73]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-0dfe7a73]{display:flex;flex-direction:column}.form-box .form-items input[data-v-0dfe7a73]{margin:10px;padding:5px}.upper[data-v-0dfe7a73]{text-transform:uppercase}.fa-trophy[data-v-0dfe7a73]{color:var(--workout-trophy-color)}.section-title[data-v-0dfe7a73]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-0dfe7a73]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-0dfe7a73]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-0dfe7a73]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-0dfe7a73]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-0dfe7a73]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-0dfe7a73]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-0dfe7a73]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-0dfe7a73]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-0dfe7a73]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-0dfe7a73]{font-weight:700}.description-list dl dd[data-v-0dfe7a73]{margin-bottom:10px}.center-card[data-v-0dfe7a73]{margin:0 auto;width:700px}.center-card.with-margin[data-v-0dfe7a73]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-0dfe7a73]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-0dfe7a73]{margin-top:0}}.center-text[data-v-0dfe7a73]{text-align:center}.responsive-table[data-v-0dfe7a73]{margin-bottom:15px}.responsive-table table[data-v-0dfe7a73]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-0dfe7a73]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-0dfe7a73]{font-size:.95em}.responsive-table table tbody td[data-v-0dfe7a73]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-0dfe7a73]{border:none}.responsive-table table .cell-heading[data-v-0dfe7a73]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-0dfe7a73]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-0dfe7a73]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-0dfe7a73]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-0dfe7a73]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-0dfe7a73]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-0dfe7a73]{width:100%}}@media screen and (max-width:700px){#workout-edition.center-form[data-v-0dfe7a73]{margin:50px auto}}#workout-edition[data-v-0dfe7a73] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content{padding:10px 0}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}[data-v-2e2371d9]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-2e2371d9]{margin:0}#app[data-v-2e2371d9]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e2371d9]{color:var(--app-a-color);text-decoration:none}img[data-v-2e2371d9]{max-width:100%}input[data-v-2e2371d9],select[data-v-2e2371d9],textarea[data-v-2e2371d9]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e2371d9]:disabled,select[data-v-2e2371d9]:disabled,textarea[data-v-2e2371d9]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-2e2371d9]{font-weight:700}button[data-v-2e2371d9]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e2371d9]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e2371d9]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e2371d9]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e2371d9]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e2371d9]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e2371d9]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e2371d9]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e2371d9]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e2371d9]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e2371d9]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e2371d9]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e2371d9]{margin:10px;padding:5px}.upper[data-v-2e2371d9]{text-transform:uppercase}.fa-trophy[data-v-2e2371d9]{color:var(--workout-trophy-color)}.section-title[data-v-2e2371d9]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e2371d9]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e2371d9]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e2371d9]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e2371d9]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e2371d9]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e2371d9]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e2371d9]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e2371d9]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e2371d9]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e2371d9]{font-weight:700}.description-list dl dd[data-v-2e2371d9]{margin-bottom:10px}.center-card[data-v-2e2371d9]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e2371d9]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e2371d9]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e2371d9]{margin-top:0}}.center-text[data-v-2e2371d9]{text-align:center}.responsive-table[data-v-2e2371d9]{margin-bottom:15px}.responsive-table table[data-v-2e2371d9]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e2371d9]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e2371d9]{font-size:.95em}.responsive-table table tbody td[data-v-2e2371d9]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e2371d9]{border:none}.responsive-table table .cell-heading[data-v-2e2371d9]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e2371d9]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e2371d9]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e2371d9]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e2371d9]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e2371d9]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e2371d9]{width:100%}} \ No newline at end of file diff --git a/fittrackee/dist/static/css/workouts.a9a41b99.css b/fittrackee/dist/static/css/workouts.a9a41b99.css deleted file mode 100644 index 3745a4fc..00000000 --- a/fittrackee/dist/static/css/workouts.a9a41b99.css +++ /dev/null @@ -1 +0,0 @@ -[data-v-6d15726f]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-6d15726f]{margin:0}#app[data-v-6d15726f]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-6d15726f]{color:var(--app-a-color);text-decoration:none}img[data-v-6d15726f]{max-width:100%}input[data-v-6d15726f],select[data-v-6d15726f],textarea[data-v-6d15726f]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-6d15726f]:disabled,select[data-v-6d15726f]:disabled,textarea[data-v-6d15726f]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-6d15726f]{font-weight:700}button[data-v-6d15726f]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-6d15726f]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-6d15726f]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-6d15726f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-6d15726f]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-6d15726f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-6d15726f]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-6d15726f]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-6d15726f]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-6d15726f]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-6d15726f]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-6d15726f]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-6d15726f]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-6d15726f]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-6d15726f]{display:flex;flex-direction:column}.form-box .form-items input[data-v-6d15726f]{margin:10px;padding:5px}.upper[data-v-6d15726f]{text-transform:uppercase}.fa-trophy[data-v-6d15726f]{color:var(--workout-trophy-color)}.section-title[data-v-6d15726f]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-6d15726f]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-6d15726f]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-6d15726f]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-6d15726f]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-6d15726f]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-6d15726f]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-6d15726f]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-6d15726f]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-6d15726f]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-6d15726f]{font-weight:700}.description-list dl dd[data-v-6d15726f]{margin-bottom:10px}.center-card[data-v-6d15726f]{margin:0 auto;width:700px}.center-card.with-margin[data-v-6d15726f]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-6d15726f]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-6d15726f]{margin-top:0}}.center-text[data-v-6d15726f]{text-align:center}.responsive-table[data-v-6d15726f]{margin-bottom:15px}.responsive-table table[data-v-6d15726f]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-6d15726f]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-6d15726f]{font-size:.95em}.responsive-table table tbody td[data-v-6d15726f]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-6d15726f]{border:none}.responsive-table table .cell-heading[data-v-6d15726f]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-6d15726f]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-6d15726f]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-6d15726f]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-6d15726f]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-6d15726f]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-6d15726f]{width:100%}}.workouts-filters .form[data-v-6d15726f]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6d15726f]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-6d15726f]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6d15726f]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6d15726f]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6d15726f]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-6d15726f]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-6d15726f]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-6d15726f]{display:flex;justify-content:center}.workouts-filters .form-button button[data-v-6d15726f]{margin:20px 5px 10px 5px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-6d15726f]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-6d15726f]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-6d15726f]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6d15726f]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6d15726f]{width:75%}.workouts-filters .form-button button[data-v-6d15726f]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-6d15726f]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6d15726f]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-6d15726f]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6d15726f]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6d15726f]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6d15726f]{padding:5px}.workouts-filters .form-button button[data-v-6d15726f]{margin:10px 5px}}[data-v-d190dd62]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-d190dd62]{margin:0}#app[data-v-d190dd62]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-d190dd62]{color:var(--app-a-color);text-decoration:none}img[data-v-d190dd62]{max-width:100%}input[data-v-d190dd62],select[data-v-d190dd62],textarea[data-v-d190dd62]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-d190dd62]:disabled,select[data-v-d190dd62]:disabled,textarea[data-v-d190dd62]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-d190dd62]{font-weight:700}button[data-v-d190dd62]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-d190dd62]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-d190dd62]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-d190dd62]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-d190dd62]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-d190dd62]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-d190dd62]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-d190dd62]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-d190dd62]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-d190dd62]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-d190dd62]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-d190dd62]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-d190dd62]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-d190dd62]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-d190dd62]{display:flex;flex-direction:column}.form-box .form-items input[data-v-d190dd62]{margin:10px;padding:5px}.upper[data-v-d190dd62]{text-transform:uppercase}.fa-trophy[data-v-d190dd62]{color:var(--workout-trophy-color)}.section-title[data-v-d190dd62]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-d190dd62]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-d190dd62]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-d190dd62]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-d190dd62]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-d190dd62]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-d190dd62]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-d190dd62]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-d190dd62]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-d190dd62]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-d190dd62]{font-weight:700}.description-list dl dd[data-v-d190dd62]{margin-bottom:10px}.center-card[data-v-d190dd62]{margin:0 auto;width:700px}.center-card.with-margin[data-v-d190dd62]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-d190dd62]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-d190dd62]{margin-top:0}}.center-text[data-v-d190dd62]{text-align:center}.responsive-table[data-v-d190dd62]{margin-bottom:15px}.responsive-table table[data-v-d190dd62]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-d190dd62]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-d190dd62]{font-size:.95em}.responsive-table table tbody td[data-v-d190dd62]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-d190dd62]{border:none}.responsive-table table .cell-heading[data-v-d190dd62]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-d190dd62]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-d190dd62]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-d190dd62]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-d190dd62]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-d190dd62]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-d190dd62]{width:100%}}.workouts-list[data-v-d190dd62]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-d190dd62]{display:none}}.workouts-list .box .workouts-table .sport-col[data-v-d190dd62]{padding-right:0}.workouts-list .box .workouts-table .workout-title[data-v-d190dd62]{max-width:90px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-d190dd62]{font-size:.75em}.workouts-list .box .workouts-table .workout-title .static-map[data-v-d190dd62]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-d190dd62]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-d190dd62]{height:20px;width:20px}@media screen and (max-width:700px){.workouts-list .box .workouts-table .sport-col[data-v-d190dd62]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-title[data-v-d190dd62]{max-width:none}}.workouts-list .more-workouts[data-v-d190dd62]{display:flex;justify-content:center;padding:10px}[data-v-499760ae]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-499760ae]{margin:0}#app[data-v-499760ae]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-499760ae]{color:var(--app-a-color);text-decoration:none}img[data-v-499760ae]{max-width:100%}input[data-v-499760ae],select[data-v-499760ae],textarea[data-v-499760ae]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-499760ae]:disabled,select[data-v-499760ae]:disabled,textarea[data-v-499760ae]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-499760ae]{font-weight:700}button[data-v-499760ae]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-499760ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-499760ae]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-499760ae]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-499760ae]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-499760ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-499760ae]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-499760ae]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-499760ae]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-499760ae]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-499760ae]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-499760ae]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-499760ae]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-499760ae]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-499760ae]{display:flex;flex-direction:column}.form-box .form-items input[data-v-499760ae]{margin:10px;padding:5px}.upper[data-v-499760ae]{text-transform:uppercase}.fa-trophy[data-v-499760ae]{color:var(--workout-trophy-color)}.section-title[data-v-499760ae]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-499760ae]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-499760ae]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-499760ae]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-499760ae]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-499760ae]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-499760ae]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-499760ae]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-499760ae]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-499760ae]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-499760ae]{font-weight:700}.description-list dl dd[data-v-499760ae]{margin-bottom:10px}.center-card[data-v-499760ae]{margin:0 auto;width:700px}.center-card.with-margin[data-v-499760ae]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-499760ae]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-499760ae]{margin-top:0}}.center-text[data-v-499760ae]{text-align:center}.responsive-table[data-v-499760ae]{margin-bottom:15px}.responsive-table table[data-v-499760ae]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-499760ae]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-499760ae]{font-size:.95em}.responsive-table table tbody td[data-v-499760ae]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-499760ae]{border:none}.responsive-table table .cell-heading[data-v-499760ae]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-499760ae]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-499760ae]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-499760ae]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-499760ae]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-499760ae]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-499760ae]{width:100%}}#workouts[data-v-499760ae]{height:100%}#workouts .workouts-container[data-v-499760ae]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-499760ae]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-499760ae],#workouts .workouts-container .list-container[data-v-499760ae]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-499760ae]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-499760ae]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-499760ae]{display:none}}#workouts .workouts-container .display-filters[data-v-499760ae]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-499760ae]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-499760ae]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-499760ae]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-499760ae]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-499760ae]{width:100%}}[data-v-2230775e]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-2230775e]{margin:0}#app[data-v-2230775e]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2230775e]{color:var(--app-a-color);text-decoration:none}img[data-v-2230775e]{max-width:100%}input[data-v-2230775e],select[data-v-2230775e],textarea[data-v-2230775e]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2230775e]:disabled,select[data-v-2230775e]:disabled,textarea[data-v-2230775e]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-2230775e]{font-weight:700}button[data-v-2230775e]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2230775e]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2230775e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2230775e]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2230775e]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2230775e]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2230775e]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2230775e]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2230775e]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2230775e]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2230775e]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2230775e]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2230775e]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2230775e]{margin:10px;padding:5px}.upper[data-v-2230775e]{text-transform:uppercase}.fa-trophy[data-v-2230775e]{color:var(--workout-trophy-color)}.section-title[data-v-2230775e]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2230775e]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2230775e]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2230775e]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2230775e]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2230775e]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2230775e]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2230775e]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2230775e]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2230775e]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2230775e]{font-weight:700}.description-list dl dd[data-v-2230775e]{margin-bottom:10px}.center-card[data-v-2230775e]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2230775e]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2230775e]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2230775e]{margin-top:0}}.center-text[data-v-2230775e]{text-align:center}.responsive-table[data-v-2230775e]{margin-bottom:15px}.responsive-table table[data-v-2230775e]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2230775e]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2230775e]{font-size:.95em}.responsive-table table tbody td[data-v-2230775e]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2230775e]{border:none}.responsive-table table .cell-heading[data-v-2230775e]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2230775e]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2230775e]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2230775e]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2230775e]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2230775e]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2230775e]{width:100%}}#workout-chart[data-v-2230775e] .card .card-title{text-transform:capitalize}#workout-chart[data-v-2230775e] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-2230775e] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-2230775e] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-2230775e] .card .card-content .no-data-cleaning{font-size:.85em;font-style:italic}@media screen and (max-width:700px){#workout-chart[data-v-2230775e] .card .card-content{padding:10px 0}#workout-chart[data-v-2230775e] .card .card-content .no-data-cleaning{padding:0 20px}}[data-v-9cab340c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-9cab340c]{margin:0}#app[data-v-9cab340c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-9cab340c]{color:var(--app-a-color);text-decoration:none}img[data-v-9cab340c]{max-width:100%}input[data-v-9cab340c],select[data-v-9cab340c],textarea[data-v-9cab340c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-9cab340c]:disabled,select[data-v-9cab340c]:disabled,textarea[data-v-9cab340c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-9cab340c]{font-weight:700}button[data-v-9cab340c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-9cab340c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-9cab340c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-9cab340c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-9cab340c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-9cab340c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-9cab340c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-9cab340c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-9cab340c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-9cab340c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-9cab340c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-9cab340c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-9cab340c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-9cab340c]{margin:10px;padding:5px}.upper[data-v-9cab340c]{text-transform:uppercase}.fa-trophy[data-v-9cab340c]{color:var(--workout-trophy-color)}.section-title[data-v-9cab340c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-9cab340c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-9cab340c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-9cab340c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-9cab340c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-9cab340c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-9cab340c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-9cab340c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-9cab340c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-9cab340c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-9cab340c]{font-weight:700}.description-list dl dd[data-v-9cab340c]{margin-bottom:10px}.center-card[data-v-9cab340c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-9cab340c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-9cab340c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-9cab340c]{margin-top:0}}.center-text[data-v-9cab340c]{text-align:center}.responsive-table[data-v-9cab340c]{margin-bottom:15px}.responsive-table table[data-v-9cab340c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-9cab340c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-9cab340c]{font-size:.95em}.responsive-table table tbody td[data-v-9cab340c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-9cab340c]{border:none}.responsive-table table .cell-heading[data-v-9cab340c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-9cab340c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-9cab340c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-9cab340c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-9cab340c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-9cab340c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-9cab340c]{width:100%}}#workout-card-title[data-v-9cab340c]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-9cab340c]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-9cab340c]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-9cab340c]{display:flex;flex-grow:1}#workout-card-title .workout-card-title .sport-img[data-v-9cab340c]{height:35px;width:35px;padding:0 10px}#workout-card-title .workout-card-title .workout-date[data-v-9cab340c]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-9cab340c]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-9cab340c]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-9cab340c]{padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-edit[data-v-9cab340c],#workout-card-title .workout-card-title .fa-trash[data-v-9cab340c]{border:solid 1px var(--card-border-color);border-radius:4px;margin-left:5px;padding:0 10px}}[data-v-da96984c]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-da96984c]{margin:0}#app[data-v-da96984c]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-da96984c]{color:var(--app-a-color);text-decoration:none}img[data-v-da96984c]{max-width:100%}input[data-v-da96984c],select[data-v-da96984c],textarea[data-v-da96984c]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-da96984c]:disabled,select[data-v-da96984c]:disabled,textarea[data-v-da96984c]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-da96984c]{font-weight:700}button[data-v-da96984c]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-da96984c]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-da96984c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-da96984c]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-da96984c]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-da96984c]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-da96984c]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-da96984c]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-da96984c]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-da96984c]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-da96984c]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-da96984c]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-da96984c]{display:flex;flex-direction:column}.form-box .form-items input[data-v-da96984c]{margin:10px;padding:5px}.upper[data-v-da96984c]{text-transform:uppercase}.fa-trophy[data-v-da96984c]{color:var(--workout-trophy-color)}.section-title[data-v-da96984c]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-da96984c]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-da96984c]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-da96984c]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-da96984c]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-da96984c]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-da96984c]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-da96984c]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-da96984c]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-da96984c]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-da96984c]{font-weight:700}.description-list dl dd[data-v-da96984c]{margin-bottom:10px}.center-card[data-v-da96984c]{margin:0 auto;width:700px}.center-card.with-margin[data-v-da96984c]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-da96984c]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-da96984c]{margin-top:0}}.center-text[data-v-da96984c]{text-align:center}.responsive-table[data-v-da96984c]{margin-bottom:15px}.responsive-table table[data-v-da96984c]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-da96984c]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-da96984c]{font-size:.95em}.responsive-table table tbody td[data-v-da96984c]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-da96984c]{border:none}.responsive-table table .cell-heading[data-v-da96984c]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-da96984c]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-da96984c]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-da96984c]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-da96984c]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-da96984c]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-da96984c]{width:100%}}.workout-record sup[data-v-da96984c]{font-size:75%;line-height:0}[data-v-7eb41918]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-7eb41918]{margin:0}#app[data-v-7eb41918]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-7eb41918]{color:var(--app-a-color);text-decoration:none}img[data-v-7eb41918]{max-width:100%}input[data-v-7eb41918],select[data-v-7eb41918],textarea[data-v-7eb41918]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-7eb41918]:disabled,select[data-v-7eb41918]:disabled,textarea[data-v-7eb41918]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-7eb41918]{font-weight:700}button[data-v-7eb41918]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-7eb41918]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-7eb41918]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-7eb41918]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-7eb41918]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-7eb41918]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-7eb41918]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-7eb41918]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-7eb41918]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-7eb41918]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-7eb41918]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-7eb41918]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-7eb41918]{display:flex;flex-direction:column}.form-box .form-items input[data-v-7eb41918]{margin:10px;padding:5px}.upper[data-v-7eb41918]{text-transform:uppercase}.fa-trophy[data-v-7eb41918]{color:var(--workout-trophy-color)}.section-title[data-v-7eb41918]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-7eb41918]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-7eb41918]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-7eb41918]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-7eb41918]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-7eb41918]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-7eb41918]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-7eb41918]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-7eb41918]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-7eb41918]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-7eb41918]{font-weight:700}.description-list dl dd[data-v-7eb41918]{margin-bottom:10px}.center-card[data-v-7eb41918]{margin:0 auto;width:700px}.center-card.with-margin[data-v-7eb41918]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-7eb41918]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-7eb41918]{margin-top:0}}.center-text[data-v-7eb41918]{text-align:center}.responsive-table[data-v-7eb41918]{margin-bottom:15px}.responsive-table table[data-v-7eb41918]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-7eb41918]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-7eb41918]{font-size:.95em}.responsive-table table tbody td[data-v-7eb41918]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-7eb41918]{border:none}.responsive-table table .cell-heading[data-v-7eb41918]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-7eb41918]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-7eb41918]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-7eb41918]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-7eb41918]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-7eb41918]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-7eb41918]{width:100%}}#workout-weather[data-v-7eb41918]{padding-top:10px}#workout-weather .weather-img[data-v-7eb41918]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-7eb41918]{height:20px}#workout-weather .weather-table[data-v-7eb41918]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-7eb41918]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-7eb41918]{font-size:.8em}[data-v-45a7f031]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-45a7f031]{margin:0}#app[data-v-45a7f031]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-45a7f031]{color:var(--app-a-color);text-decoration:none}img[data-v-45a7f031]{max-width:100%}input[data-v-45a7f031],select[data-v-45a7f031],textarea[data-v-45a7f031]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-45a7f031]:disabled,select[data-v-45a7f031]:disabled,textarea[data-v-45a7f031]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-45a7f031]{font-weight:700}button[data-v-45a7f031]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-45a7f031]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-45a7f031]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-45a7f031]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-45a7f031]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-45a7f031]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-45a7f031]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-45a7f031]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-45a7f031]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-45a7f031]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-45a7f031]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-45a7f031]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-45a7f031]{display:flex;flex-direction:column}.form-box .form-items input[data-v-45a7f031]{margin:10px;padding:5px}.upper[data-v-45a7f031]{text-transform:uppercase}.fa-trophy[data-v-45a7f031]{color:var(--workout-trophy-color)}.section-title[data-v-45a7f031]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-45a7f031]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-45a7f031]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-45a7f031]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-45a7f031]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-45a7f031]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-45a7f031]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-45a7f031]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-45a7f031]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-45a7f031]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-45a7f031]{font-weight:700}.description-list dl dd[data-v-45a7f031]{margin-bottom:10px}.center-card[data-v-45a7f031]{margin:0 auto;width:700px}.center-card.with-margin[data-v-45a7f031]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-45a7f031]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-45a7f031]{margin-top:0}}.center-text[data-v-45a7f031]{text-align:center}.responsive-table[data-v-45a7f031]{margin-bottom:15px}.responsive-table table[data-v-45a7f031]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-45a7f031]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-45a7f031]{font-size:.95em}.responsive-table table tbody td[data-v-45a7f031]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-45a7f031]{border:none}.responsive-table table .cell-heading[data-v-45a7f031]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-45a7f031]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-45a7f031]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-45a7f031]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-45a7f031]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-45a7f031]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-45a7f031]{width:100%}}#workout-info[data-v-45a7f031]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .mountains[data-v-45a7f031]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}#workout-info .workout-data[data-v-45a7f031]{text-transform:capitalize;padding:5px 0}#workout-info .workout-data span[data-v-45a7f031]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-45a7f031]{padding:10px}}[data-v-76f3a2e8]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-76f3a2e8]{margin:0}#app[data-v-76f3a2e8]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-76f3a2e8]{color:var(--app-a-color);text-decoration:none}img[data-v-76f3a2e8]{max-width:100%}input[data-v-76f3a2e8],select[data-v-76f3a2e8],textarea[data-v-76f3a2e8]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-76f3a2e8]:disabled,select[data-v-76f3a2e8]:disabled,textarea[data-v-76f3a2e8]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-76f3a2e8]{font-weight:700}button[data-v-76f3a2e8]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-76f3a2e8]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-76f3a2e8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-76f3a2e8]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-76f3a2e8]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-76f3a2e8]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-76f3a2e8]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-76f3a2e8]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-76f3a2e8]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-76f3a2e8]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-76f3a2e8]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-76f3a2e8]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-76f3a2e8]{display:flex;flex-direction:column}.form-box .form-items input[data-v-76f3a2e8]{margin:10px;padding:5px}.upper[data-v-76f3a2e8]{text-transform:uppercase}.fa-trophy[data-v-76f3a2e8]{color:var(--workout-trophy-color)}.section-title[data-v-76f3a2e8]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-76f3a2e8]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-76f3a2e8]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-76f3a2e8]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-76f3a2e8]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-76f3a2e8]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-76f3a2e8]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-76f3a2e8]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-76f3a2e8]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-76f3a2e8]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-76f3a2e8]{font-weight:700}.description-list dl dd[data-v-76f3a2e8]{margin-bottom:10px}.center-card[data-v-76f3a2e8]{margin:0 auto;width:700px}.center-card.with-margin[data-v-76f3a2e8]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-76f3a2e8]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-76f3a2e8]{margin-top:0}}.center-text[data-v-76f3a2e8]{text-align:center}.responsive-table[data-v-76f3a2e8]{margin-bottom:15px}.responsive-table table[data-v-76f3a2e8]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-76f3a2e8]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-76f3a2e8]{font-size:.95em}.responsive-table table tbody td[data-v-76f3a2e8]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-76f3a2e8]{border:none}.responsive-table table .cell-heading[data-v-76f3a2e8]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-76f3a2e8]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-76f3a2e8]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-76f3a2e8]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-76f3a2e8]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-76f3a2e8]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-76f3a2e8]{width:100%}}#workout-map[data-v-76f3a2e8]{padding:10px 0}#workout-map .leaflet-container[data-v-76f3a2e8],#workout-map .no-map[data-v-76f3a2e8]{height:400px;width:600px}#workout-map .no-map[data-v-76f3a2e8]{line-height:400px}@media screen and (max-width:700px){#workout-map[data-v-76f3a2e8]{padding:0}#workout-map .leaflet-container[data-v-76f3a2e8]{width:100%;height:300px}#workout-map .no-map[data-v-76f3a2e8]{display:none}}[data-v-a17554ea]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a17554ea]{margin:0}#app[data-v-a17554ea]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a17554ea]{color:var(--app-a-color);text-decoration:none}img[data-v-a17554ea]{max-width:100%}input[data-v-a17554ea],select[data-v-a17554ea],textarea[data-v-a17554ea]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a17554ea]:disabled,select[data-v-a17554ea]:disabled,textarea[data-v-a17554ea]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a17554ea]{font-weight:700}button[data-v-a17554ea]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a17554ea]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a17554ea]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a17554ea]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a17554ea]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a17554ea]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a17554ea]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a17554ea]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a17554ea]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a17554ea]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a17554ea]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a17554ea]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a17554ea]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a17554ea]{margin:10px;padding:5px}.upper[data-v-a17554ea]{text-transform:uppercase}.fa-trophy[data-v-a17554ea]{color:var(--workout-trophy-color)}.section-title[data-v-a17554ea]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a17554ea]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a17554ea]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a17554ea]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a17554ea]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a17554ea]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a17554ea]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a17554ea]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a17554ea]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a17554ea]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a17554ea]{font-weight:700}.description-list dl dd[data-v-a17554ea]{margin-bottom:10px}.center-card[data-v-a17554ea]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a17554ea]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a17554ea]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a17554ea]{margin-top:0}}.center-text[data-v-a17554ea]{text-align:center}.responsive-table[data-v-a17554ea]{margin-bottom:15px}.responsive-table table[data-v-a17554ea]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a17554ea]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a17554ea]{font-size:.95em}.responsive-table table tbody td[data-v-a17554ea]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a17554ea]{border:none}.responsive-table table .cell-heading[data-v-a17554ea]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a17554ea]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a17554ea]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a17554ea]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a17554ea]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a17554ea]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a17554ea]{width:100%}}.workout-detail[data-v-a17554ea]{display:flex}.workout-detail[data-v-a17554ea] .card{width:100%}.workout-detail[data-v-a17554ea] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-a17554ea] .card .card-content{flex-direction:column}}[data-v-5c47d30a]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c47d30a]{margin:0}#app[data-v-5c47d30a]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c47d30a]{color:var(--app-a-color);text-decoration:none}img[data-v-5c47d30a]{max-width:100%}input[data-v-5c47d30a],select[data-v-5c47d30a],textarea[data-v-5c47d30a]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c47d30a]:disabled,select[data-v-5c47d30a]:disabled,textarea[data-v-5c47d30a]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c47d30a]{font-weight:700}button[data-v-5c47d30a]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c47d30a]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c47d30a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c47d30a]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c47d30a]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c47d30a]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c47d30a]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c47d30a]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c47d30a]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c47d30a]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c47d30a]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c47d30a]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c47d30a]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c47d30a]{margin:10px;padding:5px}.upper[data-v-5c47d30a]{text-transform:uppercase}.fa-trophy[data-v-5c47d30a]{color:var(--workout-trophy-color)}.section-title[data-v-5c47d30a]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c47d30a]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c47d30a]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c47d30a]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c47d30a]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c47d30a]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c47d30a]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c47d30a]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c47d30a]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c47d30a]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c47d30a]{font-weight:700}.description-list dl dd[data-v-5c47d30a]{margin-bottom:10px}.center-card[data-v-5c47d30a]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c47d30a]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c47d30a]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c47d30a]{margin-top:0}}.center-text[data-v-5c47d30a]{text-align:center}.responsive-table[data-v-5c47d30a]{margin-bottom:15px}.responsive-table table[data-v-5c47d30a]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c47d30a]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c47d30a]{font-size:.95em}.responsive-table table tbody td[data-v-5c47d30a]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c47d30a]{border:none}.responsive-table table .cell-heading[data-v-5c47d30a]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c47d30a]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c47d30a]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c47d30a]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c47d30a]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c47d30a]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c47d30a]{width:100%}}#workout-note[data-v-5c47d30a] .card-content{font-style:italic}[data-v-5c40d110]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-5c40d110]{margin:0}#app[data-v-5c40d110]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-5c40d110]{color:var(--app-a-color);text-decoration:none}img[data-v-5c40d110]{max-width:100%}input[data-v-5c40d110],select[data-v-5c40d110],textarea[data-v-5c40d110]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-5c40d110]:disabled,select[data-v-5c40d110]:disabled,textarea[data-v-5c40d110]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-5c40d110]{font-weight:700}button[data-v-5c40d110]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-5c40d110]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-5c40d110]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-5c40d110]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-5c40d110]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-5c40d110]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-5c40d110]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-5c40d110]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-5c40d110]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-5c40d110]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-5c40d110]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-5c40d110]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-5c40d110]{display:flex;flex-direction:column}.form-box .form-items input[data-v-5c40d110]{margin:10px;padding:5px}.upper[data-v-5c40d110]{text-transform:uppercase}.fa-trophy[data-v-5c40d110]{color:var(--workout-trophy-color)}.section-title[data-v-5c40d110]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-5c40d110]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-5c40d110]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-5c40d110]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-5c40d110]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-5c40d110]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-5c40d110]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-5c40d110]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-5c40d110]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-5c40d110]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-5c40d110]{font-weight:700}.description-list dl dd[data-v-5c40d110]{margin-bottom:10px}.center-card[data-v-5c40d110]{margin:0 auto;width:700px}.center-card.with-margin[data-v-5c40d110]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-5c40d110]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-5c40d110]{margin-top:0}}.center-text[data-v-5c40d110]{text-align:center}.responsive-table[data-v-5c40d110]{margin-bottom:15px}.responsive-table table[data-v-5c40d110]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-5c40d110]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-5c40d110]{font-size:.95em}.responsive-table table tbody td[data-v-5c40d110]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-5c40d110]{border:none}.responsive-table table .cell-heading[data-v-5c40d110]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-5c40d110]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-5c40d110]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-5c40d110]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-5c40d110]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-5c40d110]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-5c40d110]{width:100%}}#workout-segments[data-v-5c40d110] .card .card-title{text-transform:capitalize}#workout-segments[data-v-5c40d110] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-5c40d110] .card .card-content a{font-weight:700}#workout-segments[data-v-5c40d110] .card .card-content ul{padding:0 10px;list-style:square}[data-v-a4156454]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-a4156454]{margin:0}#app[data-v-a4156454]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-a4156454]{color:var(--app-a-color);text-decoration:none}img[data-v-a4156454]{max-width:100%}input[data-v-a4156454],select[data-v-a4156454],textarea[data-v-a4156454]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-a4156454]:disabled,select[data-v-a4156454]:disabled,textarea[data-v-a4156454]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-a4156454]{font-weight:700}button[data-v-a4156454]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-a4156454]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-a4156454]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-a4156454]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-a4156454]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-a4156454]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-a4156454]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-a4156454]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-a4156454]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-a4156454]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-a4156454]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-a4156454]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-a4156454]{display:flex;flex-direction:column}.form-box .form-items input[data-v-a4156454]{margin:10px;padding:5px}.upper[data-v-a4156454]{text-transform:uppercase}.fa-trophy[data-v-a4156454]{color:var(--workout-trophy-color)}.section-title[data-v-a4156454]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-a4156454]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-a4156454]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-a4156454]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-a4156454]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-a4156454]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-a4156454]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-a4156454]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-a4156454]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-a4156454]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-a4156454]{font-weight:700}.description-list dl dd[data-v-a4156454]{margin-bottom:10px}.center-card[data-v-a4156454]{margin:0 auto;width:700px}.center-card.with-margin[data-v-a4156454]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-a4156454]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-a4156454]{margin-top:0}}.center-text[data-v-a4156454]{text-align:center}.responsive-table[data-v-a4156454]{margin-bottom:15px}.responsive-table table[data-v-a4156454]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-a4156454]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-a4156454]{font-size:.95em}.responsive-table table tbody td[data-v-a4156454]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-a4156454]{border:none}.responsive-table table .cell-heading[data-v-a4156454]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-a4156454]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-a4156454]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-a4156454]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-a4156454]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-a4156454]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-a4156454]{width:100%}}#workout[data-v-a4156454]{display:flex;margin-bottom:45px}#workout .container[data-v-a4156454]{width:100%;padding:0}#workout .container .workout-container[data-v-a4156454]{width:100%}#workout .container .workout-loading[data-v-a4156454]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-a4156454]{display:flex;align-items:center;height:100%}[data-v-0dfe7a73]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}body[data-v-0dfe7a73]{margin:0}#app[data-v-0dfe7a73]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-0dfe7a73]{color:var(--app-a-color);text-decoration:none}img[data-v-0dfe7a73]{max-width:100%}input[data-v-0dfe7a73],select[data-v-0dfe7a73],textarea[data-v-0dfe7a73]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-0dfe7a73]:disabled,select[data-v-0dfe7a73]:disabled,textarea[data-v-0dfe7a73]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-0dfe7a73]{font-weight:700}button[data-v-0dfe7a73]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-0dfe7a73]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-0dfe7a73]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-0dfe7a73]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-0dfe7a73]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-0dfe7a73]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-0dfe7a73]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-0dfe7a73]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-0dfe7a73]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-0dfe7a73]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-0dfe7a73]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-0dfe7a73]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-0dfe7a73]{display:flex;flex-direction:column}.form-box .form-items input[data-v-0dfe7a73]{margin:10px;padding:5px}.upper[data-v-0dfe7a73]{text-transform:uppercase}.fa-trophy[data-v-0dfe7a73]{color:var(--workout-trophy-color)}.section-title[data-v-0dfe7a73]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-0dfe7a73]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-0dfe7a73]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-0dfe7a73]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-0dfe7a73]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-0dfe7a73]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-0dfe7a73]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-0dfe7a73]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-0dfe7a73]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-0dfe7a73]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-0dfe7a73]{font-weight:700}.description-list dl dd[data-v-0dfe7a73]{margin-bottom:10px}.center-card[data-v-0dfe7a73]{margin:0 auto;width:700px}.center-card.with-margin[data-v-0dfe7a73]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-0dfe7a73]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-0dfe7a73]{margin-top:0}}.center-text[data-v-0dfe7a73]{text-align:center}.responsive-table[data-v-0dfe7a73]{margin-bottom:15px}.responsive-table table[data-v-0dfe7a73]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-0dfe7a73]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-0dfe7a73]{font-size:.95em}.responsive-table table tbody td[data-v-0dfe7a73]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-0dfe7a73]{border:none}.responsive-table table .cell-heading[data-v-0dfe7a73]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-0dfe7a73]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-0dfe7a73]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-0dfe7a73]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-0dfe7a73]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-0dfe7a73]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-0dfe7a73]{width:100%}}@media screen and (max-width:700px){#workout-edition.center-form[data-v-0dfe7a73]{margin:50px auto}}#workout-edition[data-v-0dfe7a73] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content{padding:10px 0}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-0dfe7a73] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}[data-v-2e2371d9]:root{--app-background-color:#fff;--app-color:#2c3e50;--app-color-light:#808b96;--app-a-color:#40578a;--app-shadow-color:#d3d3d3;--app-loading-color:#f3f3f3;--app-loading-top-color:var(--app-color);--button-hover-color:#fff;--button-cancel-bg-color:#fff;--button-cancel-color:var(--app-color);--button-confirm-bg-color:#fff;--button-confirm-color:var(--app-color);--button-danger-bg-color:#fff;--button-danger-color:#dc3545;--button-danger-hover-bg-color:#dc3545;--button-danger-hover-color:#fff;--card-border-color:#c4c7cf;--input-border-color:#9da3af;--custom-checkbox-border-color:#9da3af;--custom-checkbox-checked-bg-color:#9da3af;--custom-checkbox-checked-color:#fff;--calendar-border-color:#c4c7cf;--calendar-week-end-color:#f5f5f5;--calendar-today-color:#eff1f3;--modal-background-color:rgba(0,0,0,0.3);--nav-bar-background-color:#fff;--nav-bar-link-active:#485b6e;--nav-border-color:#c5ccdb;--mobile-menu-selected-color:#fff;--mobile-menu-selected-bgcolor:#9da3af;--footer-background-color:#fff;--footer-border-color:#ebeef3;--footer-color:#8b8c8c;--alert-background-color:#c8cdd3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--scroll-button-bg-color:hsla(0,0%,100%,0.7);--workout-trophy-color:#daa520;--workout-img-color:invert(22%) sepia(25%) saturate(646%) hue-rotate(169deg) brightness(97%) contrast(96%);--workout-no-map-bg-color:#eaeaea;--workout-no-map-color:#666;--cell-heading-bg-color:#eee;--cell-heading-color:#696969;--svg-filter:drop-shadow(10px 10px 10px var(--app-shadow-color))}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot);src:local("PT Sans"),local("PTSans-Regular"),url(../../static/fonts/pt-sans-v9-latin-regular.c2a4d575.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-regular.198d320b.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-regular.399a9357.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-regular.4ffa4616.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-regular.f1f73e45.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;src:url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(../../static/fonts/pt-sans-v9-latin-italic.d5f81343.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-italic.57d98c19.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-italic.de9540fd.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-italic.4ef1aece.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-italic.648d3351.svg#PTSans) format("svg")}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;src:url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(../../static/fonts/pt-sans-v9-latin-700.1db19001.eot?#iefix) format("embedded-opentype"),url(../../static/fonts/pt-sans-v9-latin-700.f6d5807c.woff2) format("woff2"),url(../../static/fonts/pt-sans-v9-latin-700.e86e8add.woff) format("woff"),url(../../static/fonts/pt-sans-v9-latin-700.6078a795.ttf) format("truetype"),url(../../static/img/pt-sans-v9-latin-700.061c8566.svg#PTSans) format("svg")}body[data-v-2e2371d9]{margin:0}#app[data-v-2e2371d9]{font-family:PT Sans,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--app-color);background-color:var(--app-background-color);margin:0;min-height:100vh}a[data-v-2e2371d9]{color:var(--app-a-color);text-decoration:none}img[data-v-2e2371d9]{max-width:100%}input[data-v-2e2371d9],select[data-v-2e2371d9],textarea[data-v-2e2371d9]{border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-2e2371d9]:disabled,select[data-v-2e2371d9]:disabled,textarea[data-v-2e2371d9]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}label[data-v-2e2371d9]{font-weight:700}button[data-v-2e2371d9]{background:var(--app-background-color);border:solid 1px var(--input-border-color);border-radius:4px;box-shadow:2px 2px 2px var(--app-shadow-color);color:var(--app-color);padding:6px 14px}button[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-2e2371d9]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button[data-v-2e2371d9]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-2e2371d9]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-2e2371d9]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-2e2371d9]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-2e2371d9]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-2e2371d9]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-2e2371d9]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-2e2371d9]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-2e2371d9]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-2e2371d9]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-2e2371d9]{display:flex;flex-direction:column}.form-box .form-items input[data-v-2e2371d9]{margin:10px;padding:5px}.upper[data-v-2e2371d9]{text-transform:uppercase}.fa-trophy[data-v-2e2371d9]{color:var(--workout-trophy-color)}.section-title[data-v-2e2371d9]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-2e2371d9]{background-color:var(--workout-no-map-bg-color);background-image:url(/img/workouts/map.svg);background-size:contain;background-repeat:no-repeat;background-position:50%;color:var(--workout-no-map-color);font-style:italic;font-weight:700;text-align:center;vertical-align:center}.custom-checkboxes-group[data-v-2e2371d9]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-2e2371d9]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-2e2371d9]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-2e2371d9]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-2e2371d9]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-2e2371d9]{border:solid 1px var(--custom-checkbox-border-color);border-radius:5px;display:block;font-size:.9em;padding:2px 6px;text-align:center}.custom-checkboxes-group .custom-checkboxes .custom-checkbox input:checked+span[data-v-2e2371d9]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-2e2371d9]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-2e2371d9]{font-weight:700}.description-list dl dd[data-v-2e2371d9]{margin-bottom:10px}.center-card[data-v-2e2371d9]{margin:0 auto;width:700px}.center-card.with-margin[data-v-2e2371d9]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-2e2371d9]{width:100%;margin:0 auto 50px auto}.center-card.with-margin[data-v-2e2371d9]{margin-top:0}}.center-text[data-v-2e2371d9]{text-align:center}.responsive-table[data-v-2e2371d9]{margin-bottom:15px}.responsive-table table[data-v-2e2371d9]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-2e2371d9]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-2e2371d9]{font-size:.95em}.responsive-table table tbody td[data-v-2e2371d9]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-2e2371d9]{border:none}.responsive-table table .cell-heading[data-v-2e2371d9]{background:var(--cell-heading-bg-color);color:var(--cell-heading-color);display:none;font-size:10px;font-weight:700;padding:5px;position:absolute;text-transform:uppercase;top:0;left:0}@media screen and (max-width:700px){.responsive-table table thead[data-v-2e2371d9]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-2e2371d9]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-2e2371d9]{border:1px solid var(--card-border-color);margin:0 -1px -1px 0;padding-top:25px!important;position:relative;text-align:center;width:45%}.responsive-table table tbody tr:last-child td[data-v-2e2371d9]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-2e2371d9]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-2e2371d9]{width:100%}} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.1d2a8a56.js b/fittrackee/dist/static/js/app.1d2a8a56.js deleted file mode 100644 index b3ab83d6..00000000 --- a/fittrackee/dist/static/js/app.1d2a8a56.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var r,o,i=t[0],s=t[1],u=t[2],l=0,d=[];lr?1:n2&&void 0!==arguments[2]&&arguments[2];return e.filter((function(e){return!n||e.is_active})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(c)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]}},"13dc":function(e,t,n){"use strict";n("c0dc")},"16c2":function(e,t,n){"use strict";n("a03e")},"1f4c":function(e,t,n){},2024:function(e,t,n){},"27bb":function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n("5502");function o(){return Object(r["b"])()}},3214:function(e,t,n){"use strict";n("2024")},3853:function(e,t,n){"use strict";n("c75e")},"3c44":function(e,t,n){"use strict";n("b680"),n("a9e3");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-a6fa997c");Object(r["pushScopeId"])("data-v-a6fa997c");var a={class:"box user-header"},c={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},u={class:"user-stat"},l={class:"stat-number"},d={class:"stat-label"},O={class:"user-stat"},p={class:"stat-number"},m=Object(r["createVNode"])("span",{class:"stat-label"},"km",-1),b={class:"user-stat hide-small"},E={class:"stat-number"},T={class:"stat-label"};Object(r["popScopeId"])();var S=o((function(e,t,n,o,S,f){var _=Object(r["resolveComponent"])("UserPicture");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])(_,{user:e.user},null,8,["user"]),Object(r["createVNode"])("div",c,[Object(r["createVNode"])("div",i,Object(r["toDisplayString"])(e.user.username),1),Object(r["createVNode"])("div",s,[Object(r["createVNode"])("div",u,[Object(r["createVNode"])("span",l,Object(r["toDisplayString"])(e.user.nb_workouts),1),Object(r["createVNode"])("span",d,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",e.user.nb_workouts)),1)]),Object(r["createVNode"])("div",O,[Object(r["createVNode"])("span",p,Object(r["toDisplayString"])(Number(e.user.total_distance).toFixed(0)),1),m]),Object(r["createVNode"])("div",b,[Object(r["createVNode"])("span",E,Object(r["toDisplayString"])(e.user.nb_sports),1),Object(r["createVNode"])("span",T,Object(r["toDisplayString"])(e.$t("workouts.SPORT",e.user.nb_sports)),1)])])])])})),f=n("c46a"),_=Object(r["defineComponent"])({name:"ProfileDisplay",components:{UserPicture:f["a"]},props:{user:{type:Object,required:!0}}});n("5085");_.render=S,_.__scopeId="data-v-a6fa997c";t["a"]=_},"3e31":function(e,t,n){},"466e":function(e,t,n){},"4a13":function(e,t,n){"use strict";n("92d6")},"4b55":function(e,t,n){"use strict";n("8384")},5085:function(e,t,n){"use strict";n("1f4c")},5567:function(e,t,n){"use strict";n("8349")},5712:function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return p})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return b})),n.d(t,"b",(function(){return E})),n.d(t,"a",(function(){return T}));var r=n("69eb"),o=n("d6e9"),a=n("f628"),c=n("f7f1"),i=n("cdb6"),s=n("74b5"),u=n("8cac"),l=n("2fc8"),d=n("b166"),O=n("78b2"),p=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(o["a"])(t);case"month":return Object(a["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},m=function(e,t){switch(e){case"week":return Object(c["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){return Object(O["a"])(new Date(e),t)},E=function(e,t){var n=Object(a["a"])(e),o=Object(u["a"])(e),c=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:c}),end:Object(l["a"])(o,{weekStartsOn:c})}},T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(d["a"])(e,t),workout_time:Object(d["a"])(e,n)}}},"608d":function(e,t,n){"use strict";n("90b9")},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])},admin:e=>{const{normalize:t}=e;return t(["status administrateur"])},created_at:e=>{const{normalize:t}=e;return t(["date d'inscription"])},username:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},workouts_count:e=>{const{normalize:t}=e;return t(["nombre de séances"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},c={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},l={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},O={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},KM:e=>{const{normalize:t}=e;return t(["km"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},"6eb4":function(e,t,n){},"6ec8":function(e,t,n){},"71a7":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-1267fe4f");Object(r["pushScopeId"])("data-v-1267fe4f");var a={id:"user-infos",class:"description-list"},c={class:"user-bio"},i={key:1,class:"profile-buttons"},s={key:2,class:"profile-buttons"};Object(r["popScopeId"])();var u=o((function(e,t,n,o,u,l){var d=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[e.displayModal?(Object(r["openBlock"])(),Object(r["createBlock"])(d,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:e.user.username,onConfirmAction:t[1]||(t[1]=function(t){return e.deleteUserAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("dl",null,[Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.registrationDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.first_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.last_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.birthDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.location),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createVNode"])("dd",c,Object(r["toDisplayString"])(e.user.bio),1)]),e.fromAdmin?(Object(r["openBlock"])(),Object(r["createBlock"])("div",i,[e.authUser.username!==e.user.username?(Object(r["openBlock"])(),Object(r["createBlock"])("button",{key:0,class:"danger",onClick:t[3]||(t[3]=Object(r["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",s,[Object(r["createVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])})),l=n("b166"),d=n("dad5"),O=n("2906"),p=Object(r["defineComponent"])({name:"UserInfos",props:{user:{type:Object,required:!0},fromAdmin:{type:Boolean,default:!1}},setup:function(e){var t=Object(O["a"])(),n=Object(r["computed"])((function(){return t.getters[d["e"].GETTERS.AUTH_USER_PROFILE]})),o=Object(r["computed"])((function(){return e.user.created_at?Object(l["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),a=Object(r["computed"])((function(){return e.user.birth_date?Object(l["a"])(new Date(e.user.birth_date),"dd/MM/yyyy"):""})),c=Object(r["ref"])(!1);function i(e){c.value=e}function s(e){t.dispatch(d["e"].ACTIONS.DELETE_ACCOUNT,{username:e})}return{authUser:n,birthDate:a,displayModal:c,registrationDate:o,deleteUserAccount:s,updateDisplayModal:i}}});n("966c");p.render=u,p.__scopeId="data-v-1267fe4f";t["a"]=p},"7b3e":function(e,t,n){"use strict";n("b715")},"7ffe":function(e,t,n){"use strict";n("9f54")},8349:function(e,t,n){},8384:function(e,t,n){},"85fa":function(e,t,n){"use strict";n("0a59")},8728:function(e,t,n){"use strict";n("8d9f")},"8d9f":function(e,t,n){},"90b9":function(e,t,n){},"92d6":function(e,t,n){},"95ba":function(e,t,n){"use strict";n("6eb4")},"966c":function(e,t,n){"use strict";n("5712")},9838:function(e,t,n){},"9f54":function(e,t,n){},a03e:function(e,t,n){},a1fe:function(e,t,n){"use strict";n("aa70")},a906:function(e,t,n){},aa0a:function(e,t,n){"use strict";n("fb34")},aa70:function(e,t,n){},aa8e:function(e,t,n){},b373:function(e,t,n){"use strict";n("edb9")},b5e1:function(e,t,n){"use strict";n("3e31")},b715:function(e,t,n){},b9fd:function(e,t,n){"use strict";n("a906")},c0dc:function(e,t,n){},c142:function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])},admin:e=>{const{normalize:t}=e;return t(["admin status"])},created_at:e=>{const{normalize:t}=e;return t(["registration date"])},username:e=>{const{normalize:t}=e;return t(["username"])},workouts_count:e=>{const{normalize:t}=e;return t(["workout count"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},c={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},l={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},O={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},KM:e=>{const{normalize:t}=e;return t(["km"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],o=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var o=(e/Math.pow(1024,n)).toFixed(1),a=r[n];return t?"".concat(o).concat(a):{size:o,suffix:a}},a=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";var r=n("7a23"),o={class:"user-picture"},a={key:1,class:"no-picture"},c=Object(r["createVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1);function i(e,t,n,i,s,u){return Object(r["openBlock"])(),Object(r["createBlock"])("div",o,[""!==e.authUserPictureUrl?(Object(r["openBlock"])(),Object(r["createBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:e.authUserPictureUrl},null,8,["alt","src"])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[c]))])}n("99af");var s=n("d257"),u=Object(r["defineComponent"])({name:"UserPicture",props:{user:{type:Object,required:!0}},setup:function(e){return{authUserPictureUrl:Object(r["computed"])((function(){return e.user.picture?"".concat(Object(s["a"])(),"users/").concat(e.user.username,"/picture"):""}))}}});n("13dc");u.render=i;t["a"]=u},c75e:function(e,t,n){},cbea:function(e,t,n){"use strict";n("fb41")},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("159b"),n("b0c0");var r=n("9b4a"),o=n("d9fa"),a=n("7a23"),c=n("9483");Object(c["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=Object(a["withScopeId"])("data-v-317a6409");Object(a["pushScopeId"])("data-v-317a6409");var s=Object(a["createVNode"])("div",{id:"top"},null,-1),u={key:0,class:"app-container"},l={class:"app-loading"},d={class:"container scroll"},O=Object(a["createVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var p=i((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("NavBar"),p=Object(a["resolveComponent"])("Loader"),m=Object(a["resolveComponent"])("router-view"),b=Object(a["resolveComponent"])("NoConfig"),E=Object(a["resolveComponent"])("Footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[s,Object(a["createVNode"])(i,{onMenuInteraction:e.updateHideScrollBar},null,8,["onMenuInteraction"]),e.appLoading?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])("div",l,[Object(a["createVNode"])(p)])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:["app-container",{"hide-scroll":e.hideScrollBar}]},[e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(m,{key:0})):(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:1}))],2)),Object(a["createVNode"])("div",d,[Object(a["createVNode"])("div",{class:["scroll-button",{"display-button":e.displayScrollButton}],onClick:t[1]||(t[1]=function(){return e.scrollToTop&&e.scrollToTop.apply(e,arguments)})},[O],2)]),e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(E,{key:2,version:e.appConfig?e.appConfig.version:""},null,8,["version"])):Object(a["createCommentVNode"])("",!0)],64)})),m=Object(a["withScopeId"])("data-v-e1641806");Object(a["pushScopeId"])("data-v-e1641806");var b={id:"footer"},E={class:"footer-items"},T={class:"footer-item"},S=Object(a["createVNode"])("strong",null,"FitTrackee",-1),f=Object(a["createStaticVNode"])('',4);Object(a["popScopeId"])();var _=m((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",b,[Object(a["createVNode"])("div",E,[Object(a["createVNode"])("div",T,[S,Object(a["createTextVNode"])(" v"+Object(a["toDisplayString"])(e.version),1)]),f])])})),j=Object(a["defineComponent"])({name:"Footer",props:{version:{type:String,required:!0}}});n("7b3e");j.render=_,j.__scopeId="data-v-e1641806";var A=j,N=Object(a["withScopeId"])("data-v-03a78350");Object(a["pushScopeId"])("data-v-03a78350");var R={id:"nav"},I={class:"nav-container"},g={class:"nav-app-name"},U={class:"nav-items-close"},v=Object(a["createVNode"])("div",{class:"app-name"},"FitTrackee",-1),D={key:0,class:"nav-items-group"},h=Object(a["createVNode"])("div",{class:"nav-item nav-separator"},null,-1),P={class:"nav-items-user-menu"},C={key:0,class:"nav-items-group"},k={class:"nav-item nav-profile-img"},M={key:1,class:"nav-items-group"},L=Object(a["createVNode"])("i",{class:"fa fa-language"},null,-1);Object(a["popScopeId"])();var z=N((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("router-link"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("Dropdown");return Object(a["openBlock"])(),Object(a["createBlock"])("div",R,[Object(a["createVNode"])("div",I,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])("div",{class:"nav-item app-name",onClick:t[1]||(t[1]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(a["createVNode"])("div",{class:["nav-icon-open",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[2]||(t[2]=function(t){return e.openMenu()})})],2),Object(a["createVNode"])("div",{class:["nav-items",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("div",U,[v,Object(a["createVNode"])("i",{class:["fa fa-close close-icon nav-item",{"menu-closed":!e.isMenuOpen}],onClick:t[3]||(t[3]=function(t){return e.closeMenu()})},null,2)]),Object(a["createVNode"])("div",{class:"nav-items-app-menu",onClick:t[4]||(t[4]=function(t){return e.closeMenu()})},[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[Object(a["createVNode"])(i,{class:"nav-item",to:"/"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/statistics"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts/add"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),e.isAuthenticated&&e.authUser.admin?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,class:"nav-item",to:"/admin"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(a["createCommentVNode"])("",!0),h])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",P,[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",C,[Object(a["createVNode"])("div",k,[Object(a["createVNode"])(s,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])(i,{class:"nav-item",to:"/profile",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.authUser.username),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])("div",{class:"nav-item nav-link",onClick:t[5]||(t[5]=function(){return e.logout&&e.logout.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",M,[Object(a["createVNode"])(i,{class:"nav-item",to:"/login",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])(i,{class:"nav-item",to:"/register",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1},8,["onClick"])])),e.availableLanguages&&e.language?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2,class:"nav-item",options:e.availableLanguages,selected:e.language,onSelected:e.updateLanguage},{default:N((function(){return[L]})),_:1},8,["options","selected","onSelected"])):Object(a["createCommentVNode"])("",!0)])],2)])])})),y=(n("99af"),n("d3b7"),n("25f0"),n("47e2")),w=n("c46a"),V=n("dad5"),B=n("2906"),G=n("d257"),x=(n("d81d"),n("8923")),F=n("d481");n("ddb0"),n("ac1f"),n("466d");function W(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var o=r[1];t[o]=e(n).default}})),t}var K=Object(y["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:W()}),$={en:x["a"],fr:F["a"]},H={en:"English",fr:"Français"},Y=K.global.availableLocales,q=Y.map((function(e){return{label:H[e],value:e}})),X=Object(a["defineComponent"])({name:"NavBar",components:{UserPicture:w["a"]},emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(y["b"])(),o=r.locale,c=Object(B["a"])(),i=Object(a["computed"])((function(){return c.getters[V["e"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return c.getters[V["e"].GETTERS.IS_AUTHENTICATED]})),u=Object(a["computed"])((function(){return s.value&&i.value.picture?"".concat(Object(G["a"])(),"/users/").concat(i.value.username,"/picture?").concat(Date.now()):""})),l=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.LANGUAGE]})),d=Object(a["ref"])(!1);function O(){d.value=!0,n("menuInteraction",!0)}function p(){d.value=!1,n("menuInteraction",!1)}function m(e){o.value=e.value.toString(),c.commit(V["a"].MUTATIONS.UPDATE_LANG,e.value)}function b(){c.dispatch(V["e"].ACTIONS.LOGOUT)}return{availableLanguages:q,authUser:i,authUserPictureUrl:u,isAuthenticated:s,isMenuOpen:d,language:l,capitalize:a["capitalize"],openMenu:O,closeMenu:p,updateLanguage:m,logout:b}}});n("5567");X.render=z,X.__scopeId="data-v-03a78350";var Z=X,Q=Object(a["withScopeId"])("data-v-01d4a985");Object(a["pushScopeId"])("data-v-01d4a985");var J={id:"no-config"},ee={class:"error-page"},te=Object(a["createVNode"])("div",{class:"error-img"},[Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},[Object(a["createVNode"])("g",{id:"error"},[Object(a["createVNode"])("path",{class:"error-page-img",d:"M 0 0 C 0 11.300781 0 399.777344 0 410 L 512 410 C 512 402.324219 512 2.425781 512 0 Z M 370 71 L 370 30 L 411 30 L 411 71 Z M 30 30 L 340 30 L 340 71 L 30 71 Z M 482 380 L 30 380 L 30 101 L 482 101 Z M 441 71 L 441 30 L 482 30 L 482 71 Z M 441 71 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 325.519531 297.070312 C 294.328125 265.878906 294.328125 215.125 325.519531 183.929688 L 304.304688 162.71875 C 261.417969 205.605469 261.417969 275.390625 304.304688 318.28125 Z M 325.519531 297.070312 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 180 L 237.089844 180 L 237.089844 220 L 197.089844 220 Z M 197.089844 180 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 261 L 237.089844 261 L 237.089844 301 L 197.089844 301 Z M 197.089844 261 "})])])],-1);Object(a["popScopeId"])();var ne=Q((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",J,[Object(a["createVNode"])("div",ee,[te,Object(a["createVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,["innerHTML"])])])})),re=Object(a["defineComponent"])({name:"NoConfig",setup:function(){var e=Object(y["b"])(),t=e.t;return{t:t}}});n("f037");re.render=ne,re.__scopeId="data-v-01d4a985";var oe=re,ae=Object(a["defineComponent"])({name:"App",components:{Footer:A,NavBar:Z,NoConfig:oe},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_CONFIG]})),n=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_LOADING]})),r=Object(a["ref"])(!1),o=Object(a["ref"])(!1);function c(e){r.value=e}function i(e){return e.getBoundingClientRect().top=0}function s(){window.onscroll=function(){var e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){o.value=!1}),300)}return Object(a["onBeforeMount"])((function(){return e.dispatch(V["a"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(a["onMounted"])((function(){return s()})),{appConfig:t,appLoading:n,hideScrollBar:r,displayScrollButton:o,scrollToTop:u,updateHideScrollBar:c}}});n("608d");ae.render=p,ae.__scopeId="data-v-317a6409";var ce=ae,ie=(n("5319"),n("3ca3"),n("caad"),n("6c02")),se=Object(a["withScopeId"])("data-v-26175b66");Object(a["pushScopeId"])("data-v-26175b66");var ue={id:"admin-app",class:"admin-card"},le={for:"max_users"},de={class:"user-limit-help"},Oe={class:"info-box"},pe=Object(a["createVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1),me={for:"max_single_file_size"},be={for:"max_zip_file_size"},Ee={for:"gpx_limit_import"},Te={key:1,class:"form-buttons"},Se={class:"confirm",type:"submit"},fe={key:2,class:"form-buttons"};Object(a["popScopeId"])();var _e=se((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ue,[Object(a["createVNode"])(s,null,{title:se((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.TITLE")),1)]})),content:se((function(){return[Object(a["createVNode"])("form",{class:"admin-form",onSubmit:t[8]||(t[8]=Object(a["withModifiers"])((function(){return e.onSubmit&&e.onSubmit.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",le,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.appData.max_users=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_users]])]),Object(a["createVNode"])("div",de,[Object(a["createVNode"])("span",Oe,[pe,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(a["createVNode"])("label",me,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.appData.max_single_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_single_file_size]])]),Object(a["createVNode"])("label",be,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.appData.max_zip_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_zip_file_size]])]),Object(a["createVNode"])("label",Ee,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.appData.gpx_limit_import=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.gpx_limit_import]])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),e.edition?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Te,[Object(a["createVNode"])("button",Se,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.onCancel&&e.onCancel.apply(e,arguments)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",fe,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[6]||(t[6]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin/application/edit")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.EDIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[7]||(t[7]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)]))],32)]})),_:1})])})),je=(n("b64b"),n("c364")),Ae=Object(a["defineComponent"])({name:"AdminApplication",props:{appConfig:{type:Object,required:!0},edition:{type:Boolean,default:!1}},setup:function(e){var t=Object(B["a"])(),n=Object(ie["d"])(),r=Object(a["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function c(e){Object.keys(r).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?r[t]=Object(je["a"])(e[t]):r[t]=e[t]}))}function i(){c(e.appConfig),t.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),n.push("/admin/application")}function s(){var e=Object.assign({},r);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,t.dispatch(V["a"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(a["onBeforeMount"])((function(){e.appConfig&&c(e.appConfig)})),{appData:r,errorMessages:o,onCancel:i,onSubmit:s}}});n("3853");Ae.render=_e,Ae.__scopeId="data-v-26175b66";var Ne=Ae,Re=Object(a["withScopeId"])("data-v-4f30aa64");Object(a["pushScopeId"])("data-v-4f30aa64");var Ie={id:"admin-menu",class:"center-card"},ge={class:"admin-menu description-list"},Ue=Object(a["createVNode"])("br",null,null,-1),ve={class:"registration-status"};Object(a["popScopeId"])();var De=Re((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("AppStatsCards"),s=Object(a["resolveComponent"])("router-link"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ie,[Object(a["createVNode"])(u,null,{title:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Re((function(){return[Object(a["createVNode"])(i,{"app-statistics":e.appStatistics},null,8,["app-statistics"]),Object(a["createVNode"])("div",ge,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/application"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(a["createVNode"])("dd",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ue,Object(a["createVNode"])("span",ve,Object(a["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(e.appConfig.is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/sports"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/users"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])})),he={id:"user-stats"};function Pe(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[Object(a["createVNode"])(i,{icon:"users",value:e.usersCount,text:e.$t("admin.USER",e.usersCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"tags",value:e.sportsCount,text:e.$t("workouts.SPORT",e.sportsCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"calendar",value:e.workoutCount,text:e.$t("workouts.WORKOUT",e.workoutCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"folder-open",value:e.uploadDirSize.size,text:e.uploadDirSize.suffix},null,8,["value","text"])])}var Ce=n("05d9"),ke=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:Ce["a"]},props:{appStatistics:{type:Object,default:function(){return{}}}},setup:function(e){return{uploadDirSize:Object(a["computed"])((function(){return e.appStatistics.uploads_dir_size?Object(je["b"])(e.appStatistics.uploads_dir_size,!1):{size:0,suffix:"bytes"}})),usersCount:Object(a["computed"])((function(){return e.appStatistics.users?e.appStatistics.users:0})),sportsCount:Object(a["computed"])((function(){return e.appStatistics.sports?e.appStatistics.sports:0})),workoutCount:Object(a["computed"])((function(){return e.appStatistics.workouts?e.appStatistics.workouts:0}))}}});n("a1fe");ke.render=Pe;var Me=ke,Le={class:"card"},ze={class:"card-title"},ye={class:"card-content"};function we(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Le,[Object(a["createVNode"])("div",ze,[Object(a["renderSlot"])(e.$slots,"title")]),Object(a["createVNode"])("div",ye,[Object(a["renderSlot"])(e.$slots,"content")])])}var Ve=Object(a["defineComponent"])({name:"Card"});n("16c2");Ve.render=we;var Be=Ve,Ge=Object(a["defineComponent"])({name:"AdminMenu",components:{AppStatsCards:Me,Card:Be},props:{appConfig:{type:Object,required:!0},appStatistics:{type:Object}},setup:function(){return{capitalize:a["capitalize"]}}});n("4a13");Ge.render=De,Ge.__scopeId="data-v-4f30aa64";var xe=Ge,Fe=Object(a["withScopeId"])("data-v-6d930723");Object(a["pushScopeId"])("data-v-6d930723");var We={id:"admin-sports",class:"admin-card"},Ke={class:"responsive-table"},$e=Object(a["createVNode"])("th",null,"#",-1),He={class:"text-left"},Ye={class:"text-left sport-action"},qe=Object(a["createVNode"])("th",null,null,-1),Xe={class:"center-text"},Ze=Object(a["createVNode"])("span",{class:"cell-heading"},"id",-1),Qe={class:"cell-heading"},Je={class:"sport-label"},et={class:"cell-heading"},tt={class:"center-text"},nt={class:"cell-heading"},rt={class:"sport-action"},ot={class:"cell-heading"},at={class:"action-button"},ct={key:0,class:"has-workouts"},it=Object(a["createVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var st=Fe((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("SportImage"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",We,[Object(a["createVNode"])(u,null,{title:Fe((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Fe((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])("div",Ke,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[$e,Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])("th",He,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("th",Ye,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),qe])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.id},[Object(a["createVNode"])("td",Xe,[Ze,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.id),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",Qe,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])(i,{title:t.translatedLabel,"sport-label":t.label},null,8,["title","sport-label"])]),Object(a["createVNode"])("td",Je,[Object(a["createVNode"])("span",et,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.translatedLabel),1)]),Object(a["createVNode"])("td",tt,[Object(a["createVNode"])("span",nt,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.is_active?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",rt,[Object(a["createVNode"])("span",ot,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("div",at,[Object(a["createVNode"])("button",{class:{danger:t.is_active},onClick:function(n){return e.updateSportStatus(t.id,!t.is_active)}},Object(a["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,["onClick"]),t.has_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])("span",ct,[it,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(a["createCommentVNode"])("",!0)])])])})),128))])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ut=n("1119"),lt=Object(a["defineComponent"])({name:"AdminSports",setup:function(){var e=Object(y["b"])(),t=e.t,n=Object(B["a"])(),r=Object(a["computed"])((function(){return Object(ut["d"])(n.getters[V["b"].GETTERS.SPORTS],t)})),o=Object(a["computed"])((function(){return n.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function c(e,t){n.dispatch(V["b"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return{errorMessages:o,translatedSports:r,updateSportStatus:c}}});n("3214");lt.render=st,lt.__scopeId="data-v-6d930723";var dt=lt,Ot=(n("4e82"),Object(a["withScopeId"])("data-v-579fae0e"));Object(a["pushScopeId"])("data-v-579fae0e");var pt={id:"admin-users",class:"admin-card"},mt={class:"responsive-table"},bt=Object(a["createVNode"])("th",null,"#",-1),Et={class:"left-text"},Tt={class:"left-text"},St={class:"left-text"},ft={class:"cell-heading"},_t={class:"cell-heading"},jt={class:"cell-heading"},At={class:"cell-heading"},Nt={class:"center-text"},Rt={class:"cell-heading"},It={class:"center-text"},gt={class:"cell-heading"},Ut={class:"center-text"},vt={class:"cell-heading"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("AdminUsersSelects"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("Pagination"),d=Object(a["resolveComponent"])("ErrorMessage"),O=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",pt,[Object(a["createVNode"])(O,null,{title:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),content:Ot((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])(i,{sort:e.sort,order_by:e.order_by,query:e.query,onUpdateSelect:e.reloadUsers},null,8,["sort","order_by","query","onUpdateSelect"]),Object(a["createVNode"])("div",mt,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[bt,Object(a["createVNode"])("th",Et,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])("th",Tt,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createVNode"])("th",St,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.users,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.username},[Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",ft,Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(a["createVNode"])(s,{user:t},null,8,["user"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",_t,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])(u,{to:"/users/".concat(t.username)},{default:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",jt,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.email),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",At,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.format(e.getDateWithTZ(t.created_at,e.authUser.timezone),"dd/MM/yyyy HH:mm")),1)]),Object(a["createVNode"])("td",Nt,[Object(a["createVNode"])("span",Rt,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.nb_workouts),1)]),Object(a["createVNode"])("td",It,[Object(a["createVNode"])("span",gt,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.admin?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",Ut,[Object(a["createVNode"])("span",vt,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("button",{class:{danger:t.admin},disabled:t.username===e.authUser.username,onClick:function(n){return e.updateUser(t.username,!t.admin)}},Object(a["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,["disabled","onClick"])])])})),128))])]),e.pagination.page?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,path:"/admin/users",pagination:e.pagination,query:e.query},null,8,["pagination","query"])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:1,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ht=n("b166"),Pt=Object(a["withScopeId"])("data-v-4a4a3d67");Object(a["pushScopeId"])("data-v-4a4a3d67");var Ct={class:"table-selects"};Object(a["popScopeId"])();var kt=Pt((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ct,[Object(a["createVNode"])("label",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.USERS.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(a["createVNode"])("select",{name:"order_by",id:"order_by",value:e.query.order_by,onChange:t[1]||(t[1]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.order_by,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t,key:t},Object(a["toDisplayString"])(e.$t("admin.USERS.SELECTS.ORDER_BY.".concat(t))),9,["value"])})),128))],40,["value"])]),Object(a["createVNode"])("label",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.USERS.SELECTS.ORDER.LABEL"))+": ",1),Object(a["createVNode"])("select",{name:"order",id:"order",value:e.query.order,onChange:t[2]||(t[2]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.sort,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t,key:t},Object(a["toDisplayString"])(e.$t("admin.USERS.SELECTS.ORDER.".concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(a["createVNode"])("label",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.USERS.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(a["createVNode"])("select",{name:"per_page",id:"per_page",value:e.query.per_page,onChange:t[3]||(t[3]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.per_page,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:e,key:e},Object(a["toDisplayString"])(e),9,["value"])})),128))],40,["value"])])])})),Mt=Object(a["defineComponent"])({name:"AdminUsersSelects",props:{order_by:{type:Object,required:!0},query:{type:Object,required:!0},sort:{type:Object,required:!0}},emits:["updateSelect"],setup:function(e,t){var n=t.emit;function r(e){n("updateSelect",e.target.id,e.target.value)}return{per_page:[10,50,100],onSelectUpdate:r}}});n("b5e1");Mt.render=kt,Mt.__scopeId="data-v-4a4a3d67";var Lt=Mt,zt=Object(a["withScopeId"])("data-v-7694e784");Object(a["pushScopeId"])("data-v-7694e784");var yt={class:"pagination-center","aria-label":"navigation"},wt={class:"pagination"};Object(a["popScopeId"])();var Vt=zt((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("router-link");return Object(a["openBlock"])(),Object(a["createBlock"])("nav",yt,[Object(a["createVNode"])("ul",wt,[Object(a["createVNode"])("li",{class:["page-prev",{disabled:!e.pagination.has_prev}]},[Object(a["createVNode"])(i,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,-1)},event:e.pagination.has_prev?"click":"",disabled:!e.pagination.has_prev},{default:zt((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.rangePagination(e.pagination.pages),(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:t,class:["page",{active:t===e.pagination.page}]},[Object(a["createVNode"])(i,{class:"page-link",to:{path:e.path,query:e.getQuery(t)}},{default:zt((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t),1)]})),_:2},1032,["to"])],2)})),128)),Object(a["createVNode"])("li",{class:["page-next",{disabled:!e.pagination.has_next}]},[Object(a["createVNode"])(i,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,1)},event:e.pagination.has_next?"click":"",disabled:!e.pagination.has_next},{default:zt((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("api.PAGINATION.NEXT")),1)]})),_:1},8,["to","event","disabled"])],2)])])})),Bt=(n("a630"),Object(a["defineComponent"])({name:"Pagination",props:{pagination:{type:Object,required:!0},path:{type:String,required:!0},query:{type:Object,required:!0}},setup:function(e){function t(e){return Array.from({length:e},(function(e,t){return t+1}))}function n(t,n){var r=Object.assign({},e.query);return r.page=n?t+n:t,r}return{rangePagination:t,getQuery:n}}}));n("edfa");Bt.render=Vt,Bt.__scopeId="data-v-7694e784";var Gt=Bt,xt=n("5e65"),Ft=Object(a["defineComponent"])({name:"AdminUsers",components:{AdminUsersSelects:Lt,Pagination:Gt,UserPicture:w["a"]},setup:function(){var e=Object(B["a"])(),t=Object(ie["c"])(),n=Object(ie["d"])(),r=["asc","desc"],o=["admin","created_at","username","workouts_count"],c=Object(a["reactive"])(E(t.query)),i=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return e.getters[V["d"].GETTERS.USERS]})),u=Object(a["computed"])((function(){return e.getters[V["d"].GETTERS.USERS_PAGINATION]})),l=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function d(t){e.dispatch(V["d"].ACTIONS.GET_USERS,t)}function O(e){return e&&"string"===typeof e&&+e>0?+e:1}function p(e){return e&&"string"===typeof e&&+e>0?+e:10}function m(e){return e&&"string"===typeof e&&r.includes(e)?e:"asc"}function b(e){return e&&"string"===typeof e&&o.includes(e)?e:"created_at"}function E(e){return{page:O(e.page),per_page:p(e.per_page),order:m(e.order),order_by:b(e.order_by)}}function T(t,n){e.dispatch(V["d"].ACTIONS.UPDATE_USER,{username:t,admin:n})}function S(e,t){c[e]=t,"per_page"===e&&(c.page=1),n.push({path:"/admin/users",query:c})}return Object(a["onBeforeMount"])((function(){return d(c)})),Object(a["watch"])((function(){return t.query}),(function(e){c.page=O(e.page),c.per_page=p(e.per_page),c.order=m(e.order),c.order_by=b(e.order_by),d(c)})),Object(a["onUnmounted"])((function(){e.dispatch(V["d"].ACTIONS.EMPTY_USERS)})),{authUser:i,errorMessages:l,pagination:u,order_by:o,query:c,sort:r,users:s,capitalize:a["capitalize"],format:ht["a"],getDateWithTZ:xt["c"],reloadUsers:S,updateUser:T}}});n("fda9");Ft.render=Dt,Ft.__scopeId="data-v-579fae0e";var Wt=Ft,Kt=Object(a["withScopeId"])("data-v-c81580c0");Object(a["pushScopeId"])("data-v-c81580c0");var $t={id:"user-profile"},Ht={class:"box"};Object(a["popScopeId"])();var Yt=Kt((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserHeader"),s=Object(a["resolveComponent"])("UserProfileTabs"),u=Object(a["resolveComponent"])("router-view");return Object(a["openBlock"])(),Object(a["createBlock"])("div",$t,[Object(a["createVNode"])(i,{user:e.user},null,8,["user"]),Object(a["createVNode"])("div",Ht,[Object(a["createVNode"])(s,{tabs:e.tabs,selectedTab:e.tab,edition:!1},null,8,["tabs","selectedTab"]),Object(a["createVNode"])(u,{user:e.user},null,8,["user"])])])})),qt=n("3c44"),Xt={class:"profile-tabs custom-checkboxes-group"},Zt={class:"profile-tabs-checkboxes custom-checkboxes"};function Qt(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Xt,[Object(a["createVNode"])("div",Zt,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.tabs,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTab===t,disabled:e.disabled,onInput:function(n){return e.$router.push(e.getPath(t))}},null,40,["id","name","checked","disabled","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}var Jt=Object(a["defineComponent"])({name:"UserProfileTabs",props:{tabs:{type:Object,required:!0},selectedTab:{type:String,required:!0},edition:{type:Boolean,required:!0},disabled:{type:Boolean,default:!1}},setup:function(e){function t(t){switch(t){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":return"/profile".concat(e.edition?"/edit":"","/preferences");default:case"PROFILE":return"/profile".concat(e.edition?"/edit":"")}}return{getPath:t}}});n("d42e");Jt.render=Qt;var en=Jt,tn=Object(a["defineComponent"])({name:"ProfileDisplay",components:{UserHeader:qt["a"],UserProfileTabs:en},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){return{tabs:["PROFILE","PREFERENCES"]}}});n("7ffe");tn.render=Yt,tn.__scopeId="data-v-c81580c0";var nn=tn,rn=n("71a7"),on=Object(a["withScopeId"])("data-v-39667dbe");Object(a["pushScopeId"])("data-v-39667dbe");var an={id:"user-preferences",class:"description-list"},cn={class:"profile-buttons"};Object(a["popScopeId"])();var sn=on((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",an,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.language),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.timezone),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.fistDayOfWeek))),1)]),Object(a["createVNode"])("div",cn,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/preferences")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(a["toDisplayString"])(e.$t("common.HOME")),1)])])})),un=Object(a["defineComponent"])({name:"UserPreferences",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(a["computed"])((function(){return e.user.language?H[e.user.language]:H["en"]})),n=Object(a["computed"])((function(){return e.user.weekm?"MONDAY":"SUNDAY"})),r=Object(a["computed"])((function(){return e.user.timezone?e.user.timezone:"Europe/Paris"}));return{fistDayOfWeek:n,language:t,timezone:r}}});n("cbea");un.render=sn,un.__scopeId="data-v-39667dbe";var ln=un,dn={id:"user-profile-edition",class:"center-card"};function On(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserProfileTabs"),s=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",dn,[Object(a["createVNode"])(u,null,{title:Object(a["withCtx"])((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.tab,"_EDITION"))),1)]})),content:Object(a["withCtx"])((function(){return[Object(a["createVNode"])(i,{tabs:e.tabs,selectedTab:e.tab,edition:!0,disabled:e.loading},null,8,["tabs","selectedTab","disabled"]),Object(a["createVNode"])(s,{user:e.user},null,8,["user"])]})),_:1})])}var pn=Object(a["defineComponent"])({name:"ProfileEdition",components:{UserProfileTabs:en},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){var e=Object(B["a"])();return{loading:Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USER_LOADING]})),tabs:["PROFILE","PICTURE","PREFERENCES"]}}});pn.render=On;var mn=pn,bn={id:"user-infos-edition"},En={class:"profile-form form-box"},Tn={class:"form-items",for:"email"},Sn={class:"form-items",for:"registrationDate"},fn={class:"form-items",for:"password"},_n={class:"form-items",for:"passwordConfirmation"},jn=Object(a["createVNode"])("hr",null,null,-1),An={class:"form-items",for:"first_name"},Nn={class:"form-items",for:"last_name"},Rn={class:"form-items",for:"birth_date"},In={class:"form-items",for:"location"},gn={class:"form-items"},Un={class:"form-buttons"},vn={class:"confirm",type:"submit"};function Dn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("Modal"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("CustomTextArea");return Object(a["openBlock"])(),Object(a["createBlock"])("div",bn,[e.displayModal?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[1]||(t[1]=function(t){return e.deleteAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",En,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[11]||(t[11]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",Tn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(a["createVNode"])("input",{id:"email",value:e.user.email,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",Sn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(a["createVNode"])("input",{id:"registrationDate",value:e.registrationDate,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",fn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.password=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password]])]),Object(a["createVNode"])("label",_n,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.userForm.password_conf=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password_conf]])]),jn,Object(a["createVNode"])("label",An,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"first_name","onUpdate:modelValue":t[5]||(t[5]=function(t){return e.userForm.first_name=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.first_name]])]),Object(a["createVNode"])("label",Nn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"last_name","onUpdate:modelValue":t[6]||(t[6]=function(t){return e.userForm.last_name=t})},null,512),[[a["vModelText"],e.userForm.last_name]])]),Object(a["createVNode"])("label",Rn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[7]||(t[7]=function(t){return e.userForm.birth_date=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.birth_date]])]),Object(a["createVNode"])("label",In,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"location","onUpdate:modelValue":t[8]||(t[8]=function(t){return e.userForm.location=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.location]])]),Object(a["createVNode"])("label",gn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(a["createVNode"])(u,{name:"bio",charLimit:200,input:e.userForm.bio,disabled:e.loading,onUpdateValue:e.updateBio},null,8,["input","disabled","onUpdateValue"])]),Object(a["createVNode"])("div",Un,[Object(a["createVNode"])("button",vn,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[9]||(t[9]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(a["createVNode"])("button",{class:"danger",onClick:t[10]||(t[10]=Object(a["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],32)])])}var hn=Object(a["defineComponent"])({name:"UserInfosEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),r=Object(a["computed"])((function(){return e.user.created_at?Object(ht["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),o=Object(a["computed"])((function(){return t.getters[V["e"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]})),i=Object(a["ref"])(!1);function s(e){n.first_name=e.first_name?e.first_name:"",n.last_name=e.last_name?e.last_name:"",n.birth_date=e.birth_date?Object(ht["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",n.location=e.location?e.location:"",n.bio=e.bio?e.bio:""}function u(e){n.bio=e}function l(){t.dispatch(V["e"].ACTIONS.UPDATE_USER_PROFILE,n)}function d(e){i.value=e}function O(e){t.dispatch(V["e"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(a["onMounted"])((function(){e.user&&s(e.user)})),{displayModal:i,errorMessages:c,loading:o,registrationDate:r,userForm:n,deleteAccount:O,updateBio:u,updateDisplayModal:d,updateProfile:l}}});n("0679");hn.render=Dn;var Pn=hn,Cn=Object(a["withScopeId"])("data-v-500d4a7a");Object(a["pushScopeId"])("data-v-500d4a7a");var kn={id:"user-picture-edition"},Mn={class:"user-picture-form"},Ln={class:"picture-buttons"};Object(a["popScopeId"])();var zn=Cn((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("UserPicture");return Object(a["openBlock"])(),Object(a["createBlock"])("div",kn,[Object(a["createVNode"])("div",Mn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),Object(a["createVNode"])("form",{onSubmit:t[4]||(t[4]=Object(a["withModifiers"])((function(){return e.updateUserPicture&&e.updateUserPicture.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:t[1]||(t[1]=function(){return e.updatePictureFile&&e.updatePictureFile.apply(e,arguments)})},null,32),Object(a["createVNode"])("div",Ln,[Object(a["createVNode"])("button",{type:"submit",disabled:!e.pictureFile},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,["disabled"]),e.user.picture?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=function(){return e.deleteUserPicture&&e.deleteUserPicture.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=function(t){return e.$router.push("/profile")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(a["toDisplayString"])(e.fileSizeLimit),1)],32)])])})),yn=Object(a["defineComponent"])({name:"UserPictureEdition",components:{UserPicture:w["a"]},props:{user:{type:Object,required:!0}},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.ERROR_MESSAGES]})),n=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_CONFIG]})),r=n.value.max_single_file_size?Object(je["b"])(n.value.max_single_file_size):"",o=Object(a["ref"])(null);function c(){e.dispatch(V["e"].ACTIONS.DELETE_PICTURE)}function i(e){e.target.files&&(o.value=e.target.files[0])}function s(){o.value&&e.dispatch(V["e"].ACTIONS.UPDATE_USER_PICTURE,{picture:o.value})}return{errorMessages:t,fileSizeLimit:r,pictureFile:o,deleteUserPicture:c,updateUserPicture:s,updatePictureFile:i}}});n("b9fd");yn.render=zn,yn.__scopeId="data-v-500d4a7a";var wn=yn,Vn={id:"user-preferences-edition"},Bn={class:"profile-form form-box"},Gn={class:"form-items"},xn={class:"form-items",for:"timezone"},Fn={class:"form-items"},Wn={class:"form-buttons"},Kn={class:"confirm",type:"submit"};function $n(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Vn,[Object(a["createVNode"])("div",Bn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",Gn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"language","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.userForm.language=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.availableLanguages,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:e.value,key:e.value},Object(a["toDisplayString"])(e.label),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.language]])]),Object(a["createVNode"])("label",xn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"timezone","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.userForm.timezone=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.timezone]])]),Object(a["createVNode"])("label",Fn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"weekm","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.weekm=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.weekStart,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t.value,key:t.value},Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.weekm]])]),Object(a["createVNode"])("div",Wn,[Object(a["createVNode"])("button",Kn,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],32)])])}var Hn=Object(a["defineComponent"])({name:"UserPreferencesEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({language:"",timezone:"Europe/Paris",weekm:!1}),r=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],o=Object(a["computed"])((function(){return t.getters[V["e"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function i(e){n.language=e.language?e.language:"en",n.timezone=e.timezone?e.timezone:"Europe/Paris",n.weekm=!!e.weekm&&e.weekm}function s(){t.dispatch(V["e"].ACTIONS.UPDATE_USER_PREFERENCES,n)}return Object(a["onMounted"])((function(){e.user&&i(e.user)})),{availableLanguages:q,errorMessages:c,loading:o,userForm:n,weekStart:r,updateProfile:s}}});Hn.render=$n;var Yn=Hn,qn=n("5502"),Xn=n("ade3"),Zn=n("bc3a"),Qn=n.n(Zn),Jn=Qn.a.create({baseURL:Object(G["a"])()});Jn.interceptors.request.use((function(e){var t=ro.getters[V["e"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var er,tr,nr,rr,or,ar,cr,ir,sr,ur,lr,dr,Or,pr,mr=Jn,br=(er={},Object(Xn["a"])(er,V["a"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),mr.get("config").then((function(t){"success"===t.data.status?e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(Xn["a"])(er,V["a"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.get("stats/all").then((function(t){"success"===t.data.status?e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(er,V["a"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),so.push("/admin/application")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),er),Er=(tr={},Object(Xn["a"])(tr,V["a"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(Xn["a"])(tr,V["a"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(Xn["a"])(tr,V["a"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(Xn["a"])(tr,V["a"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(Xn["a"])(tr,V["a"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(Xn["a"])(tr,V["a"].GETTERS.LOCALE,(function(e){return e.locale})),tr),Tr=(nr={},Object(Xn["a"])(nr,V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(Xn["a"])(nr,V["a"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(Xn["a"])(nr,V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(Xn["a"])(nr,V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(Xn["a"])(nr,V["a"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(Xn["a"])(nr,V["a"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=$[t]})),nr),Sr={root:!0,language:"en",locale:x["a"],errorMessages:null,application:{},appLoading:!1},fr=(rr={},Object(Xn["a"])(rr,V["b"].ACTIONS.GET_SPORTS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.get("sports").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.SET_SPORTS,t.data.data.sports):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(rr,V["b"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(V["b"].ACTIONS.GET_SPORTS):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),rr),_r=Object(Xn["a"])({},V["b"].GETTERS.SPORTS,(function(e){return e.sports})),jr=Object(Xn["a"])({},V["b"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),Ar={sports:[]},Nr={state:Ar,actions:fr,getters:_r,mutations:jr},Rr=Nr,Ir=Object(Xn["a"])({},V["c"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(V["c"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),gr=Object(Xn["a"])({},V["c"].GETTERS.USER_STATS,(function(e){return e.statistics})),Ur=(or={},Object(Xn["a"])(or,V["c"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(Xn["a"])(or,V["c"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),or),vr={statistics:{}},Dr={state:vr,actions:Ir,getters:gr,mutations:Ur},hr=Dr,Pr=Qn.a.create({baseURL:Object(G["a"])()}),Cr=Pr,kr=K.global.locale,Mr=(ar={},Object(Xn["a"])(ar,V["e"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[V["e"].GETTERS.IS_AUTHENTICATED]&&(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE))})),Object(Xn["a"])(ar,V["e"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(V["a"].MUTATIONS.UPDATE_LANG,t.data.data.language),kr.value=t.data.data.language),e.dispatch(V["b"].ACTIONS.GET_SPORTS)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Cr.post("/auth/".concat(t.actionType),t.formData).then((function(t){if("success"===t.data.status){var n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return so.push("/")}))}else Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.LOGOUT,(function(e){localStorage.removeItem("authToken"),e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["c"].MUTATIONS.EMPTY_USER_STATS),e.commit(V["e"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUTS),so.push("/login")})),Object(Xn["a"])(ar,V["e"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),mr.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),so.push("/profile")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),mr.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(V["a"].MUTATIONS.UPDATE_LANG,t.data.data.language),kr.value=t.data.data.language,so.push("/profile/preferences")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),mr.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return so.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.DELETE_ACCOUNT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.delete("users/".concat(t.username)).then((function(t){204===t.status?e.dispatch(V["e"].ACTIONS.LOGOUT).then((function(){return so.push("/")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),mr.delete("auth/picture").then((function(t){204===t.status?e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return so.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Cr.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?so.push("/password-reset/sent"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(Xn["a"])(ar,V["e"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Cr.post("auth/password/update",t).then((function(t){"success"===t.data.status?so.push("/password-reset/password-updated"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),ar),Lr=(cr={},Object(Xn["a"])(cr,V["e"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(Xn["a"])(cr,V["e"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(Xn["a"])(cr,V["e"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(Xn["a"])(cr,V["e"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(Xn["a"])(cr,V["e"].GETTERS.USER_LOADING,(function(e){return e.loading})),cr),zr=(ir={},Object(Xn["a"])(ir,V["e"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(Xn["a"])(ir,V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(Xn["a"])(ir,V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(Xn["a"])(ir,V["e"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),ir),yr={authToken:null,authUserProfile:{},loading:!1},wr={state:yr,actions:Mr,getters:Lr,mutations:zr},Vr=wr,Br=(sr={},Object(Xn["a"])(sr,V["d"].ACTIONS.EMPTY_USER,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USER,{})})),Object(Xn["a"])(sr,V["d"].ACTIONS.EMPTY_USERS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(Xn["a"])(sr,V["d"].ACTIONS.GET_USER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!0),mr.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(Xn["a"])(sr,V["d"].ACTIONS.GET_USERS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!0),mr.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["d"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(Xn["a"])(sr,V["d"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),sr),Gr=(ur={},Object(Xn["a"])(ur,V["d"].GETTERS.USER,(function(e){return e.user})),Object(Xn["a"])(ur,V["d"].GETTERS.USERS,(function(e){return e.users})),Object(Xn["a"])(ur,V["d"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(Xn["a"])(ur,V["d"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),ur),xr=(lr={},Object(Xn["a"])(lr,V["d"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(Xn["a"])(lr,V["d"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(Xn["a"])(lr,V["d"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(Xn["a"])(lr,V["d"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(Xn["a"])(lr,V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),lr),Fr={user:{},users:[],loading:!1,pagination:{}},Wr={state:Fr,actions:Br,getters:Gr,mutations:xr},Kr=Wr,$r=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),mr.get("workouts",{params:t}).then((function(t){"success"===t.data.status?e.commit("CALENDAR_WORKOUTS"===n?V["f"].MUTATIONS.SET_CALENDAR_WORKOUTS:r?V["f"].MUTATIONS.ADD_USER_WORKOUTS:V["f"].MUTATIONS.SET_USER_WORKOUTS,t.data.data.workouts):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))},Hr=(dr={},Object(Xn["a"])(dr,V["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),$r(e,t,"CALENDAR_WORKOUTS")})),Object(Xn["a"])(dr,V["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){$r(e,t,"USER_WORKOUTS")})),Object(Xn["a"])(dr,V["f"].ACTIONS.GET_MORE_USER_WORKOUTS,(function(e,t){$r(e,t,"USER_WORKOUTS",!0)})),Object(Xn["a"])(dr,V["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";mr.get("workouts/".concat(t.workoutId)).then((function(r){var o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(V["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(mr.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),mr.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,null)})).catch((function(t){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Xn["a"])(dr,V["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),mr.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE),so.push("/")})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Xn["a"])(dr,V["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),mr.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE),e.dispatch(V["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){so.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Xn["a"])(dr,V["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),mr.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];so.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(Xn["a"])(dr,V["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),mr.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];so.push("/workouts/".concat(n.id))}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),dr),Yr=(Or={},Object(Xn["a"])(Or,V["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(Xn["a"])(Or,V["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(Xn["a"])(Or,V["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Or),qr=(pr={},Object(Xn["a"])(pr,V["f"].MUTATIONS.ADD_USER_WORKOUTS,(function(e,t){e.user_workouts=e.user_workouts.concat(t)})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(Xn["a"])(pr,V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(Xn["a"])(pr,V["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[]})),Object(Xn["a"])(pr,V["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),pr),Xr={calendar_workouts:[],user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},Zr={state:Xr,actions:Hr,getters:Yr,mutations:qr},Qr=Zr,Jr={sportsModule:Rr,statsModule:hr,userModule:Vr,usersModule:Kr,workoutsModule:Qr},eo={state:Sr,actions:br,getters:Er,mutations:Tr,modules:Jr},to=eo,no=Object(qn["a"])(to),ro=no,oo=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},ao=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:nn,props:function(e){return{tab:oo(e.path)}},children:[{path:"",name:"UserInfos",component:rn["a"]},{path:"preferences",name:"UserPreferences",component:ln}]},{path:"edit",name:"UserProfileEdition",component:mn,props:function(e){return{tab:oo(e.path)}},children:[{path:"",name:"UserInfosEdition",component:Pn},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:Yn}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:xe},{path:"application",name:"ApplicationAdministration",component:Ne},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ne,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:dt},{path:"users",name:"UsersAdministration",component:Wt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],co=Object(ie["a"])({history:Object(ie["b"])("/"),routes:ao}),io=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];co.beforeEach((function(e,t,n){ro.dispatch(V["e"].ACTIONS.CHECK_AUTH_USER).then((function(){if(ro.getters[V["e"].GETTERS.IS_AUTHENTICATED]&&io.includes(e.path))return n("/");if(ro.getters[V["e"].GETTERS.IS_AUTHENTICATED]||io.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var so=co,uo=Object(a["withScopeId"])("data-v-f5e8066a");Object(a["pushScopeId"])("data-v-f5e8066a");var lo={class:"alert-message"};Object(a["popScopeId"])();var Oo=uo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",lo,[Object(a["createVNode"])("div",{innerHTML:e.$t(e.message)},null,8,["innerHTML"])])})),po=Object(a["defineComponent"])({name:"AlertMessage",props:{message:String}});n("f5dfd");po.render=Oo,po.__scopeId="data-v-f5e8066a";var mo=po,bo=Object(a["withScopeId"])("data-v-ad3739fc");Object(a["pushScopeId"])("data-v-ad3739fc");var Eo={class:"custom-textarea"},To={class:"remaining-chars"};Object(a["popScopeId"])();var So=bo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Eo,[Object(a["withDirectives"])(Object(a["createVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.text=t}),onInput:t[2]||(t[2]=function(){return e.updateText&&e.updateText.apply(e,arguments)})},null,40,["id","name","maxLenght","disabled"]),[[a["vModelText"],e.text]]),Object(a["createVNode"])("div",To,Object(a["toDisplayString"])(e.$t("workouts.REMAINING_CHARS"))+": "+Object(a["toDisplayString"])(e.text.length)+"/"+Object(a["toDisplayString"])(e.charLimit),1)])})),fo=(n("a9e3"),Object(a["defineComponent"])({name:"CustomTextArea",props:{charLimit:{type:Number,default:500},disabled:{type:Boolean,default:!1},input:{type:String,default:""},name:{type:String,required:!0}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=Object(a["ref"])("");function o(e){n("updateValue",e.target.value)}return Object(a["watch"])((function(){return e.input}),(function(e){r.value=e})),{text:r,updateText:o}}}));n("aa0a");fo.render=So,fo.__scopeId="data-v-ad3739fc";var _o=fo,jo=Object(a["withScopeId"])("data-v-5ef2ddef");Object(a["pushScopeId"])("data-v-5ef2ddef");var Ao={class:"dropdown-wrapper"},No={key:0,class:"dropdown-list"};Object(a["popScopeId"])();var Ro=jo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ao,[Object(a["createVNode"])("div",{class:"dropdown-selected",onClick:t[1]||(t[1]=function(){return e.toggleDropdown&&e.toggleDropdown.apply(e,arguments)})},[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)]),e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",No,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.dropdownOptions,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{class:["dropdown-item",{selected:t.value===e.selected}],key:n,onClick:function(n){return e.updateSelected(t)}},Object(a["toDisplayString"])(t.label),11,["onClick"])})),128))])):Object(a["createCommentVNode"])("",!0)])})),Io=Object(a["defineComponent"])({name:"Dropdown",props:{options:{type:Object,required:!0},selected:{type:String,required:!0}},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=Object(ie["c"])(),o=Object(a["ref"])(!1),c=e.options.map((function(e){return e}));function i(){o.value=!o.value}function s(e){n("selected",e),o.value=!1}return Object(a["watch"])((function(){return r.path}),(function(){return o.value=!1})),{dropdownOptions:c,isOpen:o,toggleDropdown:i,updateSelected:s}}});n("95ba");Io.render=Ro,Io.__scopeId="data-v-5ef2ddef";var go=Io,Uo=Object(a["withScopeId"])("data-v-5c177a93");Object(a["pushScopeId"])("data-v-5c177a93");var vo={class:"error-message"},Do={key:0},ho={key:1};Object(a["popScopeId"])();var Po=Uo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",vo,[Array.isArray(e.message)?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",Do,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.message,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:n},Object(a["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",ho,Object(a["toDisplayString"])(e.$t(e.message)),1))])})),Co=Object(a["defineComponent"])({name:"ErrorMessage",props:{message:[String,Array]}});n("4b55");Co.render=Po,Co.__scopeId="data-v-5c177a93";var ko=Co;function Mo(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("CyclingSport"),s=Object(a["resolveComponent"])("CyclingTransport"),u=Object(a["resolveComponent"])("Hiking"),l=Object(a["resolveComponent"])("MountainBiking"),d=Object(a["resolveComponent"])("Running"),O=Object(a["resolveComponent"])("Walking");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"sport-img",style:{fill:e.sportColors[e.sportLabel]},title:e.title?e.title:e.$t("sports.".concat(e.sportLabel,".LABEL"))},["Cycling (Sport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0})):Object(a["createCommentVNode"])("",!0),"Cycling (Transport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:1})):Object(a["createCommentVNode"])("",!0),"Hiking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2})):Object(a["createCommentVNode"])("",!0),"Mountain Biking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:3})):Object(a["createCommentVNode"])("",!0),"Running"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:4})):Object(a["createCommentVNode"])("",!0),"Walking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:5})):Object(a["createCommentVNode"])("",!0)],12,["title"])}var Lo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},zo=Object(a["createVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),yo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(a["createVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1);function wo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Lo,[zo,yo])}var Vo={name:"CyclingSport"};Vo.render=wo;var Bo=Vo,Go={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},xo=Object(a["createVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),Fo=Object(a["createVNode"])("g",{id:"g147"},[Object(a["createVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(a["createVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1);function Wo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Go,[xo,Fo])}var Ko={name:"CyclingTransport"};Ko.render=Wo;var $o=Ko,Ho={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Yo=Object(a["createVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),qo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(a["createVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1);function Xo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Ho,[Yo,qo])}var Zo={name:"Hiking"};Zo.render=Xo;var Qo=Zo,Jo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},ea=Object(a["createVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),ta=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(a["createVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(a["createVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1);function na(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Jo,[ea,ta])}var ra={name:"MountainBiking"};ra.render=na;var oa=ra,aa={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},ca=Object(a["createVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),ia=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(a["createVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1);function sa(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",aa,[ca,ia])}var ua={name:"Running"};ua.render=sa;var la=ua,da={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Oa=Object(a["createVNode"])("desc",{id:"walkingDescription"},"silhouette of a walking person",-1),pa=Object(a["createVNode"])("defs",{id:"defs797"},null,-1),ma=Object(a["createVNode"])("g",{id:"g792"},[Object(a["createVNode"])("path",{d:"m 272.74,80.771 c 22.318,0 40.401,-18.08 40.401,-40.389 C 313.141,18.084 295.058,0 272.74,0 c -22.281,0 -40.378,18.084 -40.378,40.383 0,22.308 18.096,40.388 40.378,40.388 z",id:"path788"}),Object(a["createVNode"])("path",{d:"m 328.5854,174.48445 -40.64148,10.93729 4.76008,-51.90474 0.123,-0.944 c 1.384,-10.514 -1.475,-21.146 -7.94,-29.556 -6.461,-8.409 -16.007,-13.903 -26.52,-15.287 -10.926,-1.429 -22.619,3.12 -31.206,8.646 -1.441,0.928 -84.97,54.921 -84.97,54.921 -5.175,3.358 -8.542,8.877 -9.165,15.016 -0.634,6.13 1.574,12.222 5.976,16.541 l 58.982,58 -6.417,48.954 -25.88143,79.08977 -54.08338,43.67932 c -14.762199,11.1022 -24.410111,22.37008 -15.912276,36.07186 8.515526,13.68031 27.439076,15.75973 42.273746,4.63076 l 48.9456,-38.84296 c 12.09075,-7.84858 23.84126,-20.18502 28.3003,-35.27702 L 235.052,315.187 l 26.365,36.639 6.684,119.628 c 0.73,12.991 11.501,23.036 24.349,23.036 0.441,0 0.92,-0.016 1.379,-0.039 13.453,-0.748 23.745,-12.262 23,-25.713 l -7.083,-126.736 c -0.271,-4.643 -1.846,-9.116 -4.56,-12.887 l -32.24,-44.811 7.981,-57.1 c -15.00943,6.0905 -25.84439,5.48716 0,0 l 59.50354,-17.8263 c 10.75379,-3.22166 16.4326,-12.34116 13.52152,-25.36894 -2.44853,-10.95778 -14.74571,-13.15695 -25.36666,-9.52431 z M 204.606,190.357 185.58,171.64 209.056,156.434 Z",id:"path790"})],-1);function ba(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",da,[Oa,pa,ma])}var Ea={name:"Walking"};Ea.render=ba;var Ta=Ea,Sa=Object(a["defineComponent"])({name:"SportImage",components:{CyclingSport:Bo,CyclingTransport:$o,Hiking:Qo,MountainBiking:oa,Running:la,Walking:Ta},props:{sportLabel:{type:String,required:!0},title:{type:String,required:!1}},setup:function(){return{sportColors:Object(a["inject"])("sportColors")}}});Sa.render=Mo;var fa=Sa,_a=Object(a["withScopeId"])("data-v-8bf75da8");Object(a["pushScopeId"])("data-v-8bf75da8");var ja={class:"loader"};Object(a["popScopeId"])();var Aa=_a((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",ja)})),Na=Object(a["defineComponent"])({name:"Loader"});n("b373");Na.render=Aa,Na.__scopeId="data-v-8bf75da8";var Ra=Na,Ia=Object(a["withScopeId"])("data-v-21b6cb61");Object(a["pushScopeId"])("data-v-21b6cb61");var ga={id:"modal"},Ua={class:"custom-modal"},va={key:0,class:"modal-message"},Da={key:1,class:"modal-message"},ha={class:"modal-buttons"};Object(a["popScopeId"])();var Pa=Ia((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("i18n-t"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ga,[Object(a["createVNode"])("div",Ua,[Object(a["createVNode"])(u,null,{title:Ia((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.title),1)]})),content:Ia((function(){return[e.strongMessage?(Object(a["openBlock"])(),Object(a["createBlock"])("div",va,[Object(a["createVNode"])(i,{keypath:e.message},{default:Ia((function(){return[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.strongMessage),1)]})),_:1},8,["keypath"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Da,Object(a["toDisplayString"])(e.message),1)),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",ha,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[1]||(t[1]=function(t){return e.emit("confirmAction")})},Object(a["toDisplayString"])(e.$t("buttons.YES")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[2]||(t[2]=function(t){return e.emit("cancelAction")})},Object(a["toDisplayString"])(e.$t("buttons.NO")),1)])]})),_:1})])])})),Ca=Object(a["defineComponent"])({name:"Modal",props:{title:{type:String,required:!0},message:{type:String,required:!0},strongMessage:{type:String||null,default:null}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=Object(B["a"])(),o=Object(a["computed"])((function(){return r.getters[V["a"].GETTERS.ERROR_MESSAGES]}));return Object(a["onUnmounted"])((function(){return r.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),{errorMessages:o,emit:n}}});n("8728");Ca.render=Pa,Ca.__scopeId="data-v-21b6cb61";var ka=Ca,Ma=[mo,Be,_o,go,ko,Ra,ka,fa],La={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],o["a"]);var za=Object(a["createApp"])(ce).provide("sportColors",ut["b"]).use(K).use(ro).use(so).directive("click-outside",La);Ma.forEach((function(e){za.component(e.name,e)})),za.mount("#app")},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("ac1f"),n("1276");var r=n("dad5"),o=function(){return"/api/"},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",o=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["a"].MUTATIONS.SET_ERROR_MESSAGES,o.includes("\n")?o.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(o))}},d42e:function(e,t,n){"use strict";n("dc79")},dad5:function(e,t,n){"use strict";var r,o,a,c,i,s,u,l,d,O,p,m,b,E,T,S,f,_;n.d(t,"a",(function(){return j})),n.d(t,"b",(function(){return A})),n.d(t,"c",(function(){return N})),n.d(t,"e",(function(){return R})),n.d(t,"d",(function(){return I})),n.d(t,"f",(function(){return g})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(r||(r={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(o||(o={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(a||(a={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(i||(i={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(s||(s={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(u||(u={})),function(e){e["USER_STATS"]="USER_STATS"}(l||(l={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(d||(d={})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES"}(O||(O={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(p||(p={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(m||(m={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER"}(b||(b={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(E||(E={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(T||(T={})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_MORE_USER_WORKOUTS"]="GET_MORE_USER_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(S||(S={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA"}(f||(f={})),function(e){e["ADD_USER_WORKOUTS"]="ADD_USER_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING"}(_||(_={}));var j={ACTIONS:r,GETTERS:o,MUTATIONS:a},A={ACTIONS:c,GETTERS:i,MUTATIONS:s},N={ACTIONS:u,GETTERS:l,MUTATIONS:d},R={ACTIONS:O,GETTERS:p,MUTATIONS:m},I={ACTIONS:b,GETTERS:E,MUTATIONS:T},g={ACTIONS:S,GETTERS:f,MUTATIONS:_}},dc79:function(e,t,n){},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id="e7b6"},edb9:function(e,t,n){},edfa:function(e,t,n){"use strict";n("27bb")},f037:function(e,t,n){"use strict";n("aa8e")},f5dfd:function(e,t,n){"use strict";n("9838")},fb34:function(e,t,n){},fb41:function(e,t,n){},fda9:function(e,t,n){"use strict";n("6ec8")}}); -//# sourceMappingURL=app.1d2a8a56.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.1d2a8a56.js.map b/fittrackee/dist/static/js/app.1d2a8a56.js.map deleted file mode 100644 index ac776e9b..00000000 --- a/fittrackee/dist/static/js/app.1d2a8a56.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?50f0","webpack:///./src/components/Common/StatCard.vue?8fe7","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?67ed","webpack:///./src/utils/sports.ts","webpack:///./src/components/User/UserPicture.vue?6d42","webpack:///./src/components/Common/Card.vue?8159","webpack:///./src/use/useStore.ts","webpack:///./src/components/Administration/AdminSports.vue?6443","webpack:///./src/components/Administration/AdminApplication.vue?7cc7","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?73f1","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?4ce6","webpack:///./src/components/Administration/AdminMenu.vue?4bef","webpack:///./src/components/Common/ErrorMessage.vue?f921","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?a4e5","webpack:///./src/components/NavBar.vue?410d","webpack:///./src/utils/dates.ts","webpack:///./src/App.vue?4cf5","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?7c95","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?820e","webpack:///./src/components/Footer.vue?d019","webpack:///./src/components/User/ProfileDisplay/index.vue?1702","webpack:///./src/components/Common/StatCard.vue?c013","webpack:///./src/components/Common/Modal.vue?4e3e","webpack:///./src/components/Common/Dropdown.vue?2734","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?db14","webpack:///./src/components/Administration/AppStatsCards.vue?d919","webpack:///./src/components/Common/CustomTextArea.vue?6de7","webpack:///./src/components/Common/Loader.vue?9489","webpack:///./src/components/Administration/AdminUsersSelects.vue?0cd5","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?a666","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?2f01","webpack:///./src/components/User/UserPicture.vue?22b2","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2098","webpack:///./src/registerServiceWorker.ts","webpack:///./src/App.vue","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?87b7","webpack:///./src/components/Footer.vue?c832","webpack:///./src/components/NavBar.vue","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue?a890","webpack:///./src/components/NavBar.vue?ab0f","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?37a4","webpack:///./src/components/NoConfig.vue?ad85","webpack:///./src/App.vue?3acc","webpack:///./src/App.vue?dfb6","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?8e5b","webpack:///./src/components/Administration/AdminApplication.vue?80c4","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?d6b2","webpack:///./src/components/Administration/AppStatsCards.vue?7576","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?f962","webpack:///./src/components/Common/Card.vue?a585","webpack:///./src/components/Administration/AdminMenu.vue?9783","webpack:///./src/components/Administration/AdminMenu.vue?4828","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?9572","webpack:///./src/components/Administration/AdminSports.vue?271c","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsersSelects.vue","webpack:///./src/components/Administration/AdminUsersSelects.vue?95d5","webpack:///./src/components/Administration/AdminUsersSelects.vue?79d3","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?93e2","webpack:///./src/components/Common/Pagination.vue?73f7","webpack:///./src/components/Administration/AdminUsers.vue?e346","webpack:///./src/components/Administration/AdminUsers.vue?d3af","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?9e70","webpack:///./src/components/User/UserProfileTabs.vue?3fc9","webpack:///./src/components/User/ProfileDisplay/index.vue?f20a","webpack:///./src/components/User/ProfileDisplay/index.vue?b24c","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2ffa","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?a232","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?4849","webpack:///./src/components/User/ProfileEdition/index.vue?f268","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?b205","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?92df","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?203b","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?311f","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?13dd","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?d2de","webpack:///./src/api/authApi.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/user/actions.ts","webpack:///./src/store/modules/user/getters.ts","webpack:///./src/store/modules/user/mutations.ts","webpack:///./src/store/modules/user/state.ts","webpack:///./src/store/modules/user/index.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?af1b","webpack:///./src/components/Common/AlertMessage.vue?2e10","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?8616","webpack:///./src/components/Common/CustomTextArea.vue?3b63","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?3644","webpack:///./src/components/Common/Dropdown.vue?9a46","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?ab8e","webpack:///./src/components/Common/ErrorMessage.vue?7b9e","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?7ed2","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?dba6","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?3937","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b70","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?2248","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?d660","webpack:///./src/components/Common/Images/SportImage/index.vue?2baa","webpack:///./src/components/Common/Images/SportImage/index.vue?5245","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?2b84","webpack:///./src/components/Common/Loader.vue?4fd1","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1385","webpack:///./src/components/Common/Modal.vue?e362","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/utils/index.ts","webpack:///./src/components/User/UserProfileTabs.vue?722a","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/user/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/Common/Pagination.vue?671e","webpack:///./src/components/NoConfig.vue?56f6","webpack:///./src/components/Common/AlertMessage.vue?e180","webpack:///./src/components/Administration/AdminUsers.vue?4da5"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","class","icon","text","props","String","required","Number","render","sportColors","Hiking","Running","Walking","sportIdColors","sports","colors","map","sport","id","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","filter","is_active","sort","getSportLabel","workout","sport_id","useStore","user","username","nb_workouts","$t","total_distance","toFixed","nb_sports","components","UserPicture","__scopeId","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","Action","Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.","Admin","Administration","Application","Nombre maximum d'utilisateurs actifs ","Si égal à 0, pas limite d'inscription","Taille max. des archives zip (en Mo) ","Taille max. des fichiers (en Mo) ","Configuration de l'application","Nombre max. de fichiers dans une archive zip ","Revenir à l'admin","Etes-vous sûr de vouloir supprimer le compte de ","0"," ? Toutes les données seront définitivement.","Supprimer l'utilisateur","Activer/désactiver des sports.","Les inscriptions sont actuellement désactivées.","Les inscriptions sont actuellement activées.","Actif","des séances existent","Image","Label","Administration - Sports","Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).","utilisateur","utilisateurs","Ajouter les drois d'admin","Retirer les drois d'admin","trier par ","status administrateur","date d'inscription","nom d'utilisateur","nombre de séances","tri","ascendant","descendant","par page","Erreur. Veuillez réessayer ou contacter l'administrateur.","Email : une adresse email valide doit être fournie.","Erreur lors de la récupération de la configuration.","Erreur lors de la mise à jour de la configuration","Erreur, veuillez réessayer ou contacter l'administrateur.","Erreur, les inscriptions sont désactivées.","Extension de fichier non autorisée.","La taille du fichier est supérieure à la limite autorisée.","Identifiants invalides.","Données fournies incorrectes.","Jeton de connexion invalide, merci de vous reconnecter.","Jeton de connexion, merci de vous reconnecter.","Pas de fichier fourni.","Pas de fichier sélectionné.","Erreur Réseau.","Mot de passe : les mots de passe saisis sont différents.","Merci de fournir un jeton de connexion valide.","Mot de passe : 8 caractères minimum.","Ce sport n'existe pas.","Signature expirée. Merci de vous reconnecter.","Désolé, cet utilisateur existe déjà.","Inscription validée.","L'utilisateur n'existe pas","Nom d'utilisateur : 3 à 12 caractères requis.","Vous n'avez pas les permissions nécessaires.","précédent","suivant","Précédent","Annuler","Supprimer mon compte","Désactiver","Modifier","Activer","Filtrer","Se connecter","Non","S'inscrire","Valider","Oui","Confirmation","jour","jours","Accueil","ici","Tableau de Bord","Ce mois","L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.","Page introuvable","Séance introuvable","Vélo (Sport)","Vélo (Transport)","Randonnée","VTT","Course","Marche","Statistiques","Total","semaine","mois","année","Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.","Email","Saisir une adresse email","Saisir un mot de passe","Confirmer le mot de passe","Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.","Langue","Se déconnecter","Mot de passe","Confirmation du mot de passe","Mot de passe oublié ?","Réinitialisation du mot de passe","Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.","Votre mot de passe a été mis à jour. Cliquez "," pour vous connecter.","Revenir au profil","Bio","Date de naissance","Modifier le profil","Modifier les préférences","Premier jour de la semaine","Prénom","Nom","Lieu","Lundi","Image de profil","Mise à jour de l'image de profil","Mettre à jour l'image","Supprimer","Mise à jour des préférences","Mise à jour du profil","Date d'inscription","Dimanche","image","préférences","profil","Fuseau horaire","Désolé, les inscriptions sont désactivées.","Réinitialiser votre mot de passe","photo de l'utilisateur","Nom d'utilisateur","Ajouter une séance","analyse","dénivelé positif","vitesse moyenne","vitesse moy.","revenir à la séance","dénivelé négatif","afficher les filtres","distance","durée","Modifier la séance","altitude","fin","à partir de","fichier .gpx","masquer les filtres","km","Séances récentes","Charger les séances suivantes","altitude max","fichiers max. ","taille max. ","vitesse max","altitude min","Segment suivant","Séance suivante","données issues du fichier gpx, sans correction","Pas de fichier fourni","pas de répertoire","Pas de carte","Pas de segment suivant","Pas de séance suivante","Pas de notes","Pas de segment précédent","Pas de séance précédente","Pas de records.","Pas de séances.","notes","pauses","Segment précédent","Séance précédente","record","records","Vitesse moy.","Distance la + longue","Durée la + longue","Vitesse max.","nombre de caractères restants ","segment","segments","vitesse","début","titre","jusqu'au","durée totale","Ajoutez votre première séance !","humidité","température","vent","ensoleillé","nuit claire","nuageux","brouillard","partiellement nuageux","nuit partiellement nuageuse","pluie","neige fondue","neige","venteux","avec un fichier .gpx","sans fichier .gpx","séance","séances","date de la séance","Etes-vous sûr de vouloir supprimer cette séance ?","archive .zip","ou une archive .zip contenant des fichiers .gpx","admin","api","buttons","common","dashboard","statistics","workouts","displayModal","title","strongMessage","deleteUserAccount","updateDisplayModal","registrationDate","first_name","last_name","birthDate","location","bio","fromAdmin","authUser","$router","go","Boolean","default","setup","store","getters","GETTERS","AUTH_USER_PROFILE","created_at","format","birth_date","dispatch","ACTIONS","DELETE_ACCOUNT","Add/remove admin rights, delete user account.","Max. number of active users","If 0, no limitation on registration.","Max. files of zip archive","Max. size of uploaded files (in Mb)","Application configuration","Max. size of zip archive (in Mb)","Back to admin","Are you sure you want to delete "," account? All data will be deleted, this cannot be undone.","Delete user","Enable/disable sports.","Registration is currently disabled.","Registration is currently enabled.","Active","workouts exist","Sports administration","Update application configuration (maximum number of registered users, maximum files size).","users","Add admin rights","Remove admin rights","order by","admin status","registration date","workout count","ascending","descending","Error. Please try again or contact the administrator.","Email: valid email must be provided.","Error on getting configuration.","Error when updating configuration","Error, please try again or contact the administrator.","Error, registration is disabled.","File extension not allowed.","File size is greater than the allowed size.","Invalid credentials.","Provided data are invalid.","Invalid token, please log in again.","Network Error.","No file provided.","No selected file.","Password: password and password confirmation don't match.","Provide a valid auth token.","Password: 8 characters required.","Sorry, that user already exists.","Sport does not exist.","Signature expired. Please log in again.","Successfully registered.","User does not exist.","Username: 3 to 12 characters required.","You do not have permissions.","previous","next","Back","Cancel","Delete my account","Disable","Edit","Enable","Filter","Log in","No","Register","Submit","Yes","days","Home","here","Dashboard","This month","The application seems encounter some issues.
Please try later or contact the administrator.","Page not found","Workout not found","Cycling (Sport)","Cycling (Transport)","Mountain Biking","Statistics","week","month","year","Are you sure you want to delete your account? All data will be deleted, this cannot be undone","Enter an email address","Enter a password","Confirm the password","Invalid token, please request a new password reset.","Language","Login","Logout","Password","Confirm Password","Password confirmation","Forgot password?","Password reset","Check your email. If your address is in our database, you'll received an email with a link to reset your password.","Your password have been updated. Click "," to log in.","Back to profile","Birth date","Edit profile","Edit preferences","First name","First day of week","Last name","Location","Monday","Picture","Picture edition","Update picture","Remove picture","Preferences edition","Profile edition","Registration date","Sunday","picture","preferences","profile","Timezone","Sorry, registration is disabled.","Reset your password","user picture","Username","Add a workout","analysis","ascent","ave. speed","average speed","back to workout","descent","display filters","Edit the workout","elevation","from",".gpx file","hide filters","Latest workouts","Load more workouts","max. altitude","max files","max size","max. speed","min. altitude","No next segment","Next workout","data from gpx, without any cleaning","No file provided","no folder inside","No map","No next workout","No notes","No previous segment","No previous workout","No records.","No workouts.","Previous segment","Previous workout","Ave. speed","Farest distance","Longest duration","Max. speed","remaining characters","speed","to","total duration","Upload one!","humidity","temperature","wind","clear day","clear night","cloudy","fog","partly cloudy day","partly cloudy night","rain","sleet","snow","with .gpx file","without .gpx file","workout date","Are you sure you want to delete this workout?",".zip file","or .zip file containing .gpx files","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","aria-hidden","authUserPictureUrl","alt","ready","registered","cached","updatefound","updated","offline","updateHideScrollBar","appLoading","hideScrollBar","appConfig","displayScrollButton","scrollToTop","version","isMenuOpen","openMenu","closeMenu","isAuthenticated","capitalize","logout","availableLanguages","language","options","selected","updateLanguage","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","emits","emit","IS_AUTHENTICATED","now","LANGUAGE","option","toString","commit","MUTATIONS","UPDATE_LANG","LOGOUT","xmlns","viewBox","Footer","NavBar","NoConfig","APP_CONFIG","APP_LOADING","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollTo","behavior","GET_APPLICATION_CONFIG","for","content","onSubmit","min","appData","max_users","disabled","edition","step","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","onCancel","router","ERROR_MESSAGES","updateForm","includes","EMPTY_ERROR_MESSAGES","formData","assign","UPDATE_APPLICATION_CONFIG","app-statistics","appStatistics","usersCount","sportsCount","workoutCount","uploadDirSize","StatCard","uploads_dir_size","AppStatsCards","Card","translatedSports","sport-label","updateSportStatus","has_workouts","SPORTS","isActive","UPDATE_SPORTS","order_by","query","reloadUsers","email","updateUser","pagination","page","path","onSelectUpdate","order","toUpperCase","per_page","nb","aria-label","has_prev","getQuery","rangePagination","pages","has_next","Array","_","cursor","newQuery","AdminUsersSelects","Pagination","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","getPage","getPerPage","perPage","getOrder","getOrderBy","UPDATE_USER","queryParam","queryValue","EMPTY_USERS","tabs","selectedTab","tab","checked","getPath","UserHeader","UserProfileTabs","timezone","fistDayOfWeek","weekm","loading","USER_LOADING","deleteAccount","updateProfile","userForm","password","password_conf","charLimit","input","updateBio","updateUserForm","UPDATE_USER_PROFILE","updateUserPicture","accept","updatePictureFile","pictureFile","deleteUserPicture","fileSizeLimit","DELETE_PICTURE","files","UPDATE_USER_PICTURE","lang","weekStart","UPDATE_USER_PREFERENCES","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","actions","context","UPDATE_APPLICATION_LOADING","res","status","catch","finally","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","payload","patch","state","application","APP_STATS","LOCALE","mutations","SET_ERROR_MESSAGES","root","GET_SPORTS","SET_SPORTS","sportsState","GET_USER_STATS","filterType","params","UPDATE_USER_STATS","USER_STATS","EMPTY_USER_STATS","statisticsState","CHECK_AUTH_USER","localStorage","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","removeItem","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","UPDATE_USER_LOADING","form","FormData","append","delete","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","authUserProfile","IS_ADMIN","userState","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","UPDATE_USER_IN_USERS","USER","USERS_LOADING","updatedUser","usersState","SET_CALENDAR_WORKOUTS","ADD_USER_WORKOUTS","SET_USER_WORKOUTS","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_MORE_USER_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","EMPTY_WORKOUT","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","concat","chartData","workoutsState","sportsModule","statsModule","userModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","fullPath","maxLenght","updateText","toggleDropdown","isOpen","dropdownOptions","index","updateSelected","isArray","subMessage","style","sportLabel","xmlns:xlink","x","y","xml:space","xmlns:svg","CyclingSport","CyclingTransport","MountainBiking","keypath","customComponents","AlertMessage","CustomTextArea","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UserActions","UserGetters","UserMutations","UsersActions","UsersGetters","UsersMutations","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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yCACEC,c,yCACAC,c,wCACDC,mB,qCACHC,U,2CACMC,iB,yCACFC,c,sCACHC,W,kDCXSC,mB,kDACTC,YAAAC,c,uCACCC,c,uCACAC,W,+CCHKC,sB,6CACCC,e,6CCDH7C,gE,4CACE8C,2H,kDAEHC,uB,0CACGC,2B,8DCHFC,oB,+DAGAC,wB,gDAGAC,iB,2DAGAC,W,iDAGAC,c,iDAGAC,e,gDChBGC,mB,wCACLC,Y,oDAECC,c,wCACCC,W,uCACDC,c,2CCLD/F,Y,2DACmBgG,0G,wCACnBC,Y,8CACMC,+B,iDACGC,6B,8DACaC,gC,gDACdC,sF,2CACLC,a,wCACHhC,mB,yCACCiC,qB,2CACEC,mB,mDACQC,mC,wDACKA,mC,qDACHC,4B,iDACJC,uC,2DACUC,2J,wEACRC,iDAAClG,EAADA,MAACmG,2B,2DAEAC,wB,sCACZC,U,6CACOC,wB,uCACNC,yB,mDACYC,+B,oDACCC,iC,6CACPC,a,2CACFf,a,4CACCgB,U,2CACDC,W,yCACFC,Y,0CACCC,sB,kDACQC,uC,iDACDC,4B,iDACAC,gB,sDACKC,kC,kDACJC,4B,oDACEC,yB,yCACXC,e,gDAEGC,Y,8CACIC,kB,0CACJC,c,2CAEDC,sB,2CAEF5D,iB,oDACS6D,iD,iDACHC,uC,+CACFC,6B,2CACJC,yB,iDChDGC,yB,2CACHC,c,yCACFC,uB,gDACOC,sB,4CACJC,mB,kDACMC,0B,uCACX3J,W,0CACG4J,uB,kDACQC,2B,2CACPC,e,2CACAC,Y,+CACIC,yB,4CACHC,e,sCACNC,U,uCACCC,kB,2CACIC,mB,+CACIC,0B,qCACVC,S,kDACaC,uB,oDACEC,oC,+CACLC,mB,4CACHC,qB,2CACDC,mB,4CACCC,kB,+CACGC,mB,+CACAC,sB,+CACAC,sB,mDACIC,qD,mDACAC,4B,4CACPC,wB,yCACHC,mB,kDACSC,6B,kDACAC,6B,2CACPC,mB,sDACWC,+B,sDACAC,+B,6CACTC,sB,8CACCC,sB,wCACNC,Y,yCACCC,a,mDACUC,wB,mDACAC,wB,qDACVC,cAAAC,gB,4CACGC,mB,4CACAC,2B,4CACAC,wB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QC,gC,+DACMC,0C,wCACvBC,gC,4DACoBC,wC,gDAEdC,oB,qFACgBC,oCAACtP,EAADA,MAACuP,gE,8CACnBC,kB,wDACUC,6B,wDACAC,0C,uDACDC,yC,wDAGVC,a,+CACMC,qB,wCACPrP,Y,wCACAC,a,wCAEFqP,6B,iEAEuBC,iG,mDAC1B5S,YAAA6S,c,iEAGgBC,uB,sDACGC,2B,2DAIZC,e,wCACAC,mB,6CACKC,wB,2CACFjT,e,iDACMkT,qB,+CAGTxT,W,sCACFyT,gB,uCACCC,kB,kDAGChP,mB,oDChDFiP,4D,wEAC4BC,2C,mEACLC,sC,sEACGC,wC,yFACmBC,4D,oEACrBC,uC,+DACLC,kC,+EACgBC,kD,wDACvBC,2B,oDACJC,iC,uEACmBC,0C,8EACOA,0C,kDAC5BC,qB,iDACDC,wB,qDACIC,wB,8FACyCC,gE,+DAC/BC,kC,oEACKC,uC,oEACAC,uC,yDACXC,4B,2EACkBC,8C,4DACfC,+B,wDACJC,2B,0EACkBC,6C,gEACVC,oC,uDAGnBC,e,uCACJC,a,0CC7BFC,W,yCACEC,a,oDACWC,wB,0CACVC,c,uCACHC,W,yCACEC,a,yCACAC,a,wCACDC,a,qCACHC,S,2CACMC,e,yCACFC,a,sCACHC,W,kDCXS9O,mB,kDACTjG,WAAAgV,a,uCACCC,W,uCACAC,Y,+CCHKC,gB,6CACCC,kB,6CCDH1C,4D,4CACE2C,uG,kDAEHC,qB,0CACGC,0B,8DCHFC,uB,+DAGAC,2B,gDAGA/X,c,2DAGAgY,uB,iDAGA/X,e,iDAGAC,gB,gDChBG+X,iB,wCACLzO,Y,oDAEC0O,W,wCACCC,Y,uCACDC,a,2CCLDxU,Y,2DACmByU,oG,wCACnBxO,Y,8CACMyO,6B,iDACGC,uB,8DACaC,2B,gDACdC,0D,2CACLC,e,wCACHC,Y,yCACCC,a,2CACEC,e,mDACQC,uB,wDACKC,4B,qDACHC,uB,iDACJC,qB,2DACUC,yH,wEACRC,2CAAC5U,EAADA,MAAC6U,iB,2DAEAC,sB,sCACZzO,U,6CACO0O,iB,uCACNC,mB,mDACYC,uB,6CACNC,iB,oDACOC,wB,2CACThB,e,4CACC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","file":"static/js/app.1d2a8a56.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"b2c267a7\",\"main~workouts\":\"44a477db\",\"main\":\"96af01eb\",\"workouts\":\"4a8b05f4\",\"profile\":\"291e07db\",\"reset\":\"60cf3dbf\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"c784857e\",\"main~workouts\":\"c12079e7\",\"main\":\"4b6a4ae2\",\"workouts\":\"a9a41b99\",\"profile\":\"a602fc10\",\"reset\":\"5eaa1e50\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'StatCard',\n props: {\n icon: {\n type: String,\n required: true,\n },\n value: {\n type: [String, Number],\n required: true,\n },\n text: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./StatCard.vue?vue&type=template&id=32e77e48\"\nimport script from \"./StatCard.vue?vue&type=script&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfosEdition.vue?vue&type=style&index=0&id=a2dfdb58&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n Running: '#835b83',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map((sport) => (colors[sport.id] = sportColors[sport.label]))\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false\n): ITranslatedSport[] =>\n sports\n .filter((sport) => (onlyActive ? sport.is_active : true))\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./UserHeader.vue?vue&type=template&id=a6fa997c&scoped=true\"\nimport script from \"./UserHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a6fa997c\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavBar.vue?vue&type=style&index=0&id=03a78350&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Nombre maximum d'utilisateurs actifs \",\n \"MAX_USERS_HELP\": \"Si égal à 0, pas limite d'inscription\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Taille max. des archives zip (en Mo) \",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Taille max. des fichiers (en Mo) \",\n \"TITLE\": \"Configuration de l'application\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Nombre max. de fichiers dans une archive zip \"\n },\n \"BACK_TO_ADMIN\": \"Revenir à l'admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer le compte de {0} ? Toutes les données seront définitivement.\",\n \"DELETE_USER\": \"Supprimer l'utilisateur\",\n \"ENABLE_DISABLE_SPORTS\": \"Activer/désactiver des sports.\",\n \"REGISTRATION_DISABLED\": \"Les inscriptions sont actuellement désactivées.\",\n \"REGISTRATION_ENABLED\": \"Les inscriptions sont actuellement activées.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Actif\",\n \"HAS_WORKOUTS\": \"des séances existent\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Administration - Sports\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\",\n \"USER\": \"utilisateur | utilisateurs\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Ajouter les drois d'admin\",\n \"REMOVE_ADMIN_RIGHTS\": \"Retirer les drois d'admin\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"trier par \",\n \"admin\": \"status administrateur\",\n \"created_at\": \"date d'inscription\",\n \"username\": \"nom d'utilisateur\",\n \"workouts_count\": \"nombre de séances\"\n },\n \"ORDER\": {\n \"LABEL\": \"tri\",\n \"ASC\": \"ascendant\",\n \"DESC\": \"descendant\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"email: valid email must be provided\": \"Email : une adresse email valide doit être fournie.\",\n \"error on getting configuration\": \"Erreur lors de la récupération de la configuration.\",\n \"error when updating configuration\": \"Erreur lors de la mise à jour de la configuration\",\n \"error, please try again or contact the administrator\": \"Erreur, veuillez réessayer ou contacter l'administrateur.\",\n \"error, registration is disabled\": \"Erreur, les inscriptions sont désactivées.\",\n \"file extension not allowed\": \"Extension de fichier non autorisée.\",\n \"file size is greater than the allowed size\": \"La taille du fichier est supérieure à la limite autorisée.\",\n \"invalid credentials\": \"Identifiants invalides.\",\n \"invalid payload\": \"Données fournies incorrectes.\",\n \"invalid token, please log in again\": \"Jeton de connexion invalide, merci de vous reconnecter.\",\n \"invalid token, please request a new token\": \"Jeton de connexion, merci de vous reconnecter.\",\n \"no file part\": \"Pas de fichier fourni.\",\n \"no selected file\": \"Pas de fichier sélectionné.\",\n \"Network Error\": \"Erreur Réseau.\",\n \"password: password and password confirmation do not match\": \"Mot de passe : les mots de passe saisis sont différents.\",\n \"provide a valid auth token\": \"Merci de fournir un jeton de connexion valide.\",\n \"password: 8 characters required\": \"Mot de passe : 8 caractères minimum.\",\n \"sport does not exist\": \"Ce sport n'existe pas.\",\n \"signature expired, please log in again\": \"Signature expirée. Merci de vous reconnecter.\",\n \"sorry, that user already exists\": \"Désolé, cet utilisateur existe déjà.\",\n \"successfully registered\": \"Inscription validée.\",\n \"user does not exist\": \"L'utilisateur n'existe pas\",\n \"username: 3 to 12 characters required\": \"Nom d'utilisateur : 3 à 12 caractères requis.\",\n \"you do not have permissions\": \"Vous n'avez pas les permissions nécessaires.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"précédent\",\n \"NEXT\": \"suivant\"\n }\n}","{\n \"BACK\": \"Précédent\",\n \"CANCEL\": \"Annuler\",\n \"DELETE_MY_ACCOUNT\": \"Supprimer mon compte\",\n \"DISABLE\": \"Désactiver\",\n \"EDIT\": \"Modifier\",\n \"ENABLE\": \"Activer\",\n \"FILTER\": \"Filtrer\",\n \"LOGIN\": \"Se connecter\",\n \"NO\": \"Non\",\n \"REGISTER\": \"S'inscrire\",\n \"SUBMIT\": \"Valider\",\n \"YES\": \"Oui\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"jour | jours\",\n \"HOME\": \"Accueil\",\n \"HERE\": \"ici\"\n}","{\n \"DASHBOARD\": \"Tableau de Bord\",\n \"THIS_MONTH\": \"Ce mois\"\n}\n","{\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"APP_ERROR\": \"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page introuvable\",\n \"WORKOUT\": \"Séance introuvable\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Vélo (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Vélo (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Randonnée\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"VTT\"\n },\n \"Running\": {\n \"LABEL\": \"Course\"\n },\n \"Walking\": {\n \"LABEL\": \"Marche\"\n }\n}","{\n \"STATISTICS\": \"Statistiques\",\n \"TOTAL\": \"Total\",\n \"TIME_FRAMES\": {\n \"week\": \"semaine\",\n \"month\": \"mois\",\n \"year\": \"année\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Saisir une adresse email\",\n \"ENTER_PASSWORD\": \"Saisir un mot de passe\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirmer le mot de passe\",\n \"INVALID_TOKEN\": \"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\",\n \"LANGUAGE\": \"Langue\",\n \"LOGIN\": \"Se connecter\",\n \"LOGOUT\": \"Se déconnecter\",\n \"PASSWORD\": \"Mot de passe\",\n \"PASSWORD_CONFIRM\": \"Confirmation du mot de passe\",\n \"PASSWORD_CONFIRMATION\": \"Confirmation du mot de passe\",\n \"PASSWORD_FORGOTTEN\": \"Mot de passe oublié ?\",\n \"PASSWORD_RESET\": \"Réinitialisation du mot de passe\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\",\n \"PASSWORD_UPDATED\": \"Votre mot de passe a été mis à jour. Cliquez {0} pour vous connecter.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Revenir au profil\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Date de naissance\",\n \"EDIT\": \"Modifier le profil\",\n \"EDIT_PREFERENCES\": \"Modifier les préférences\",\n \"FIRST_DAY_OF_WEEK\": \"Premier jour de la semaine\",\n \"FIRST_NAME\": \"Prénom\",\n \"LANGUAGE\": \"Langue\",\n \"LAST_NAME\": \"Nom\",\n \"LOCATION\": \"Lieu\",\n \"MONDAY\": \"Lundi\",\n \"PICTURE\": \"Image de profil\",\n \"PICTURE_EDITION\": \"Mise à jour de l'image de profil\",\n \"PICTURE_UPDATE\": \"Mettre à jour l'image\",\n \"PICTURE_REMOVE\": \"Supprimer\",\n \"PREFERENCES_EDITION\": \"Mise à jour des préférences\",\n \"PROFILE_EDITION\": \"Mise à jour du profil\",\n \"REGISTRATION_DATE\": \"Date d'inscription\",\n \"SUNDAY\": \"Dimanche\",\n \"TABS\": {\n \"PICTURE\": \"image\",\n \"PREFERENCES\": \"préférences\",\n \"PROFILE\": \"profil\"\n },\n \"TIMEZONE\": \"Fuseau horaire\"\n },\n \"REGISTER\": \"S'inscrire\",\n \"REGISTER_DISABLED\": \"Désolé, les inscriptions sont désactivées.\",\n \"RESET_PASSWORD\": \"Réinitialiser votre mot de passe\",\n \"USER_PICTURE\": \"photo de l'utilisateur\",\n \"USERNAME\": \"Nom d'utilisateur\"\n}","{\n \"ADD_WORKOUT\": \"Ajouter une séance\",\n \"ANALYSIS\": \"analyse\",\n \"ASCENT\": \"dénivelé positif\",\n \"AVERAGE_SPEED\": \"vitesse moyenne\",\n \"AVE_SPEED\": \"vitesse moy.\",\n \"BACK_TO_WORKOUT\": \"revenir à la séance\",\n \"DATE\": \"date\",\n \"DESCENT\": \"dénivelé négatif\",\n \"DISPLAY_FILTERS\": \"afficher les filtres\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"durée\",\n \"EDIT_WORKOUT\": \"Modifier la séance\",\n \"ELEVATION\": \"altitude\",\n \"END\": \"fin\",\n \"FROM\": \"à partir de\",\n \"GPX_FILE\": \"fichier .gpx\",\n \"HIDE_FILTERS\": \"masquer les filtres\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Séances récentes\",\n \"LOAD_MORE_WORKOUT\": \"Charger les séances suivantes\",\n \"MAX_ALTITUDE\": \"altitude max\",\n \"MAX_FILES\": \"fichiers max. \",\n \"MAX_SIZE\": \"taille max. \",\n \"MAX_SPEED\": \"vitesse max\",\n \"MIN_ALTITUDE\": \"altitude min\",\n \"NEXT_SEGMENT\": \"Segment suivant\",\n \"NEXT_WORKOUT\": \"Séance suivante\",\n \"NO_DATA_CLEANING\": \"données issues du fichier gpx, sans correction\",\n \"NO_FILE_PROVIDED\": \"Pas de fichier fourni\",\n \"NO_FOLDER\": \"pas de répertoire\",\n \"NO_MAP\": \"Pas de carte\",\n \"NO_NEXT_SEGMENT\": \"Pas de segment suivant\",\n \"NO_NEXT_WORKOUT\": \"Pas de séance suivante\",\n \"NO_NOTES\": \"Pas de notes\",\n \"NO_PREVIOUS_SEGMENT\": \"Pas de segment précédent\",\n \"NO_PREVIOUS_WORKOUT\": \"Pas de séance précédente\",\n \"NO_RECORDS\": \"Pas de records.\",\n \"NO_WORKOUTS\": \"Pas de séances.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Segment précédent\",\n \"PREVIOUS_WORKOUT\": \"Séance précédente\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Vitesse moy.\",\n \"RECORD_FD\": \"Distance la + longue\",\n \"RECORD_LD\": \"Durée la + longue\",\n \"RECORD_MS\": \"Vitesse max.\",\n \"REMAINING_CHARS\": \"nombre de caractères restants \",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"vitesse\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"début\",\n \"TITLE\": \"titre\",\n \"TO\": \"jusqu'au\",\n \"TOTAL_DURATION\": \"durée totale\",\n \"UPLOAD_FIRST_WORKOUT\": \"Ajoutez votre première séance !\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidité\",\n \"TEMPERATURE\": \"température\",\n \"WIND\": \"vent\",\n \"DARK_SKY\": {\n \"clear-day\": \"ensoleillé\",\n \"clear-night\": \"nuit claire\",\n \"cloudy\": \"nuageux\",\n \"fog\": \"brouillard\",\n \"partly-cloudy-day\": \"partiellement nuageux\",\n \"partly-cloudy-night\": \"nuit partiellement nuageuse\",\n \"rain\": \"pluie\",\n \"sleet\": \"neige fondue\",\n \"snow\": \"neige\",\n \"wind\": \"venteux\"\n }\n },\n \"WITH_GPX\": \"avec un fichier .gpx\",\n \"WITHOUT_GPX\": \"sans fichier .gpx\",\n \"WORKOUT\": \"séance | séances\",\n \"WORKOUT_DATE\": \"date de la séance\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Etes-vous sûr de vouloir supprimer cette séance ?\",\n \"ZIP_ARCHIVE\": \"archive .zip\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"ou une archive .zip contenant des fichiers .gpx\"\n}\n","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n } from 'vue'\n\n import { USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfos',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n fromAdmin: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n authUser,\n birthDate,\n displayModal,\n registrationDate,\n deleteUserAccount,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./UserInfos.vue?vue&type=template&id=1267fe4f&scoped=true\"\nimport script from \"./UserInfos.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=1267fe4f&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1267fe4f\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=21b6cb61&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfos.vue?vue&type=style&index=0&id=1267fe4f&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminUsersSelects.vue?vue&type=style&index=0&id=4a4a3d67&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPictureEdition.vue?vue&type=style&index=0&id=500d4a7a&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Add/remove admin rights, delete user account.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Max. number of active users\",\n \"MAX_USERS_HELP\": \"If 0, no limitation on registration.\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Max. files of zip archive\",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of uploaded files (in Mb)\",\n \"TITLE\": \"Application configuration\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of zip archive (in Mb)\"\n },\n \"BACK_TO_ADMIN\": \"Back to admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Are you sure you want to delete {0} account? All data will be deleted, this cannot be undone.\",\n \"DELETE_USER\": \"Delete user\",\n \"ENABLE_DISABLE_SPORTS\": \"Enable/disable sports.\",\n \"REGISTRATION_DISABLED\": \"Registration is currently disabled.\",\n \"REGISTRATION_ENABLED\": \"Registration is currently enabled.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Active\",\n \"HAS_WORKOUTS\": \"workouts exist\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Sports administration\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Update application configuration (maximum number of registered users, maximum files size).\",\n \"USER\": \"user | users\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Add admin rights\",\n \"REMOVE_ADMIN_RIGHTS\": \"Remove admin rights\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"order by\",\n \"admin\": \"admin status\",\n \"created_at\": \"registration date\",\n \"username\": \"username\",\n \"workouts_count\": \"workout count\"\n },\n \"ORDER\": {\n \"LABEL\": \"sort\",\n \"ASC\": \"ascending\",\n \"DESC\": \"descending\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"email: valid email must be provided\": \"Email: valid email must be provided.\",\n \"error on getting configuration\": \"Error on getting configuration.\",\n \"error when updating configuration\": \"Error when updating configuration\",\n \"error, please try again or contact the administrator\": \"Error, please try again or contact the administrator.\",\n \"error, registration is disabled\": \"Error, registration is disabled.\",\n \"file extension not allowed\": \"File extension not allowed.\",\n \"file size is greater than the allowed size\": \"File size is greater than the allowed size.\",\n \"invalid credentials\": \"Invalid credentials.\",\n \"invalid payload\": \"Provided data are invalid.\",\n \"invalid token, please log in again\": \"Invalid token, please log in again.\",\n \"invalid token, please request a new token\": \"Invalid token, please log in again.\",\n \"Network Error\": \"Network Error.\",\n \"no file part\": \"No file provided.\",\n \"no selected file\": \"No selected file.\",\n \"password: password and password confirmation do not match\": \"Password: password and password confirmation don't match.\",\n \"provide a valid auth token\": \"Provide a valid auth token.\",\n \"password: 8 characters required\": \"Password: 8 characters required.\",\n \"sorry, that user already exists\": \"Sorry, that user already exists.\",\n \"sport does not exist\": \"Sport does not exist.\",\n \"signature expired, please log in again\": \"Signature expired. Please log in again.\",\n \"successfully registered\": \"Successfully registered.\",\n \"user does not exist\": \"User does not exist.\",\n \"username: 3 to 12 characters required\": \"Username: 3 to 12 characters required.\",\n \"you do not have permissions\": \"You do not have permissions.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"previous\",\n \"NEXT\": \"next\"\n }\n}","{\n \"BACK\": \"Back\",\n \"CANCEL\": \"Cancel\",\n \"DELETE_MY_ACCOUNT\": \"Delete my account\",\n \"DISABLE\": \"Disable\",\n \"EDIT\": \"Edit\",\n \"ENABLE\": \"Enable\",\n \"FILTER\": \"Filter\",\n \"LOGIN\": \"Log in\",\n \"NO\": \"No\",\n \"REGISTER\": \"Register\",\n \"SUBMIT\": \"Submit\",\n \"YES\": \"Yes\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"day | days\",\n \"HOME\": \"Home\",\n \"HERE\": \"here\"\n}","{\n \"DASHBOARD\": \"Dashboard\",\n \"THIS_MONTH\": \"This month\"\n}\n","{\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"APP_ERROR\": \"The application seems encounter some issues.
Please try later or contact the administrator.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page not found\",\n \"WORKOUT\": \"Workout not found\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Cycling (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Cycling (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Hiking\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"Mountain Biking\"\n },\n \"Running\": {\n \"LABEL\": \"Running\"\n },\n \"Walking\": {\n \"LABEL\": \"Walking\"\n }\n}","{\n \"STATISTICS\": \"Statistics\",\n \"TOTAL\": \"Total\",\n \"TIME_FRAMES\": {\n \"week\": \"week\",\n \"month\": \"month\",\n \"year\": \"year\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Enter an email address\",\n \"ENTER_PASSWORD\": \"Enter a password\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirm the password\",\n \"INVALID_TOKEN\": \"Invalid token, please request a new password reset.\",\n \"LANGUAGE\": \"Language\",\n \"LOGIN\": \"Login\",\n \"LOGOUT\": \"Logout\",\n \"PASSWORD\": \"Password\",\n \"PASSWORD_CONFIRM\": \"Confirm Password\",\n \"PASSWORD_CONFIRMATION\": \"Password confirmation\",\n \"PASSWORD_FORGOTTEN\": \"Forgot password?\",\n \"PASSWORD_RESET\": \"Password reset\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\",\n \"PASSWORD_UPDATED\": \"Your password have been updated. Click {0} to log in.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Back to profile\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Birth date\",\n \"EDIT\": \"Edit profile\",\n \"EDIT_PREFERENCES\": \"Edit preferences\",\n \"FIRST_NAME\": \"First name\",\n \"FIRST_DAY_OF_WEEK\": \"First day of week\",\n \"LANGUAGE\": \"Language\",\n \"LAST_NAME\": \"Last name\",\n \"LOCATION\": \"Location\",\n \"MONDAY\": \"Monday\",\n \"PICTURE\": \"Picture\",\n \"PICTURE_EDITION\": \"Picture edition\",\n \"PICTURE_UPDATE\": \"Update picture\",\n \"PICTURE_REMOVE\": \"Remove picture\",\n \"PREFERENCES_EDITION\": \"Preferences edition\",\n \"PROFILE_EDITION\": \"Profile edition\",\n \"REGISTRATION_DATE\": \"Registration date\",\n \"SUNDAY\": \"Sunday\",\n \"TABS\": {\n \"PICTURE\": \"picture\",\n \"PREFERENCES\": \"preferences\",\n \"PROFILE\": \"profile\"\n },\n \"TIMEZONE\": \"Timezone\"\n },\n \"REGISTER\": \"Register\",\n \"REGISTER_DISABLED\": \"Sorry, registration is disabled.\",\n \"RESET_PASSWORD\": \"Reset your password\",\n \"USER_PICTURE\": \"user picture\",\n \"USERNAME\": \"Username\"\n}\n","{\n \"ADD_WORKOUT\": \"Add a workout\",\n \"ANALYSIS\": \"analysis\",\n \"ASCENT\": \"ascent\",\n \"AVE_SPEED\": \"ave. speed\",\n \"AVERAGE_SPEED\": \"average speed\",\n \"BACK_TO_WORKOUT\": \"back to workout\",\n \"DATE\": \"date\",\n \"DESCENT\": \"descent\",\n \"DISPLAY_FILTERS\": \"display filters\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"duration\",\n \"EDIT_WORKOUT\": \"Edit the workout\",\n \"ELEVATION\": \"elevation\",\n \"END\": \"end\",\n \"FROM\": \"from\",\n \"GPX_FILE\": \".gpx file\",\n \"HIDE_FILTERS\": \"hide filters\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Latest workouts\",\n \"LOAD_MORE_WORKOUT\": \"Load more workouts\",\n \"MAX_ALTITUDE\": \"max. altitude\",\n \"MAX_FILES\": \"max files\",\n \"MAX_SIZE\": \"max size\",\n \"MAX_SPEED\": \"max. speed\",\n \"MIN_ALTITUDE\": \"min. altitude\",\n \"NEXT_SEGMENT\": \"No next segment\",\n \"NEXT_WORKOUT\": \"Next workout\",\n \"NO_DATA_CLEANING\": \"data from gpx, without any cleaning\",\n \"NO_FILE_PROVIDED\": \"No file provided\",\n \"NO_FOLDER\": \"no folder inside\",\n \"NO_MAP\": \"No map\",\n \"NO_NEXT_SEGMENT\": \"No next segment\",\n \"NO_NEXT_WORKOUT\": \"No next workout\",\n \"NO_NOTES\": \"No notes\",\n \"NO_PREVIOUS_SEGMENT\": \"No previous segment\",\n \"NO_PREVIOUS_WORKOUT\": \"No previous workout\",\n \"NO_RECORDS\": \"No records.\",\n \"NO_WORKOUTS\": \"No workouts.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Previous segment\",\n \"PREVIOUS_WORKOUT\": \"Previous workout\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Ave. speed\",\n \"RECORD_FD\": \"Farest distance\",\n \"RECORD_LD\": \"Longest duration\",\n \"RECORD_MS\": \"Max. speed\",\n \"REMAINING_CHARS\": \"remaining characters\",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"speed\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"start\",\n \"TITLE\": \"title\",\n \"TO\": \"to\",\n \"TOTAL_DURATION\": \"total duration\",\n \"UPLOAD_FIRST_WORKOUT\": \"Upload one!\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidity\",\n \"TEMPERATURE\": \"temperature\",\n \"WIND\": \"wind\",\n \"DARK_SKY\": {\n \"clear-day\": \"clear day\",\n \"clear-night\": \"clear night\",\n \"cloudy\": \"cloudy\",\n \"fog\": \"fog\",\n \"partly-cloudy-day\": \"partly cloudy day\",\n \"partly-cloudy-night\": \"partly cloudy night\",\n \"rain\": \"rain\",\n \"sleet\": \"sleet\",\n \"snow\": \"snow\",\n \"wind\": \"wind\"\n }\n },\n \"WITH_GPX\": \"with .gpx file\",\n \"WITHOUT_GPX\": \"without .gpx file\",\n \"WORKOUT\": \"workout | workouts\",\n \"WORKOUT_DATE\": \"workout date\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Are you sure you want to delete this workout?\",\n \"ZIP_ARCHIVE\": \".zip file\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"or .zip file containing .gpx files\"\n}\n","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'UserPicture',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n authUserPictureUrl: computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n ),\n }\n },\n })\n","import { render } from \"./UserPicture.vue?vue&type=template&id=4aed39f4\"\nimport script from \"./UserPicture.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Footer',\n props: {\n version: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./Footer.vue?vue&type=template&id=e1641806&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-e1641806\"\n\nexport default script","\n\n\n\n\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","\n import { ComputedRef, computed, defineComponent, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n UserPicture,\n },\n emits: ['menuInteraction'],\n setup(props, { emit }) {\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const authUserPictureUrl: ComputedRef = computed(() =>\n isAuthenticated.value && authUser.value.picture\n ? `${getApiUrl()}/users/${\n authUser.value.username\n }/picture?${Date.now()}`\n : ''\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(USER_STORE.ACTIONS.LOGOUT)\n }\n\n return {\n availableLanguages,\n authUser,\n authUserPictureUrl,\n isAuthenticated,\n isMenuOpen,\n language,\n capitalize,\n openMenu,\n closeMenu,\n updateLanguage,\n logout,\n }\n },\n })\n","import { render } from \"./NavBar.vue?vue&type=template&id=03a78350&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=03a78350&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-03a78350\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n export default defineComponent({\n name: 'NoConfig',\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./NoConfig.vue?vue&type=template&id=01d4a985&scoped=true\"\nimport script from \"./NoConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-01d4a985\"\n\nexport default script","\n import {\n ComputedRef,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n onMounted,\n } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'App',\n components: {\n Footer,\n NavBar,\n NoConfig,\n },\n setup() {\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() =>\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n )\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value =\n bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\n return {\n appConfig,\n appLoading,\n hideScrollBar,\n displayScrollButton,\n scrollToTop,\n updateHideScrollBar,\n }\n },\n })\n","import { render } from \"./App.vue?vue&type=template&id=317a6409&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-317a6409\"\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n export default defineComponent({\n name: 'AdminApplication',\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n edition: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const router = useRouter()\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\n return { appData, errorMessages, onCancel, onSubmit }\n },\n })\n","import { render } from \"./AdminApplication.vue?vue&type=template&id=26175b66&scoped=true\"\nimport script from \"./AdminApplication.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26175b66\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent, computed } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n appStatistics: {\n type: Object as PropType,\n default: () => {\n return {}\n },\n },\n },\n setup(props) {\n return {\n uploadDirSize: computed(() =>\n props.appStatistics.uploads_dir_size\n ? getReadableFileSize(props.appStatistics.uploads_dir_size, false)\n : { size: 0, suffix: 'bytes' }\n ),\n usersCount: computed(() =>\n props.appStatistics.users ? props.appStatistics.users : 0\n ),\n sportsCount: computed(() =>\n props.appStatistics.sports ? props.appStatistics.sports : 0\n ),\n workoutCount: computed(() =>\n props.appStatistics.workouts ? props.appStatistics.workouts : 0\n ),\n }\n },\n })\n","import { render } from \"./AppStatsCards.vue?vue&type=template&id=cd52bcc2\"\nimport script from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Card',\n })\n","import { render } from \"./Card.vue?vue&type=template&id=c5956538\"\nimport script from \"./Card.vue?vue&type=script&lang=ts\"\nexport * from \"./Card.vue?vue&type=script&lang=ts\"\n\nimport \"./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, capitalize, defineComponent } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n export default defineComponent({\n name: 'AdminMenu',\n components: {\n AppStatsCards,\n Card,\n },\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n appStatistics: {\n type: Object as PropType,\n },\n },\n setup() {\n return { capitalize }\n },\n })\n","import { render } from \"./AdminMenu.vue?vue&type=template&id=4f30aa64&scoped=true\"\nimport script from \"./AdminMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4f30aa64\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'AdminSports',\n setup() {\n const { t } = useI18n()\n const store = useStore()\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\n return { errorMessages, translatedSports, updateSportStatus }\n },\n })\n","import { render } from \"./AdminSports.vue?vue&type=template&id=6d930723&scoped=true\"\nimport script from \"./AdminSports.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6d930723\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n export default defineComponent({\n name: 'AdminUsersSelects',\n props: {\n order_by: {\n type: Object as PropType,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n sort: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['updateSelect'],\n setup(props, { emit }) {\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\n return {\n per_page: [10, 50, 100],\n onSelectUpdate,\n }\n },\n })\n","import { render } from \"./AdminUsersSelects.vue?vue&type=template&id=4a4a3d67&scoped=true\"\nimport script from \"./AdminUsersSelects.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminUsersSelects.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminUsersSelects.vue?vue&type=style&index=0&id=4a4a3d67&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4a4a3d67\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n\n export default defineComponent({\n name: 'Pagination',\n props: {\n pagination: {\n type: Object as PropType,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n function rangePagination(pages: number): number[] {\n return Array.from({ length: pages }, (_, i) => i + 1)\n }\n function getQuery(page: number, cursor?: number): TPaginationPayload {\n const newQuery = Object.assign({}, props.query)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n return { rangePagination, getQuery }\n },\n })\n","import { render } from \"./Pagination.vue?vue&type=template&id=7694e784&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=7694e784&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7694e784\"\n\nexport default script","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n defineComponent,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import AdminUsersSelects from '@/components/Administration/AdminUsersSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'AdminUsers',\n components: {\n AdminUsersSelects,\n Pagination,\n UserPicture,\n },\n setup() {\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const sort: string[] = ['asc', 'desc']\n const order_by: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n let query: TPaginationPayload = reactive(getQuery(route.query))\n\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function getPage(page: string | (string | null)[] | null): number {\n return page && typeof page === 'string' && +page > 0 ? +page : 1\n }\n function getPerPage(perPage: string | (string | null)[] | null): number {\n return perPage && typeof perPage === 'string' && +perPage > 0\n ? +perPage\n : 10\n }\n function getOrder(order: string | (string | null)[] | null): string {\n return order && typeof order === 'string' && sort.includes(order)\n ? order\n : 'asc'\n }\n function getOrderBy(order: string | (string | null)[] | null): string {\n return order && typeof order === 'string' && order_by.includes(order)\n ? order\n : 'created_at'\n }\n function getQuery(query: LocationQuery): TPaginationPayload {\n return {\n page: getPage(query.page),\n per_page: getPerPage(query.per_page),\n order: getOrder(query.order),\n order_by: getOrderBy(query.order_by),\n }\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onBeforeMount(() => loadUsers(query))\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query.page = getPage(newQuery.page)\n query.per_page = getPerPage(newQuery.per_page)\n query.order = getOrder(newQuery.order)\n query.order_by = getOrderBy(newQuery.order_by)\n loadUsers(query)\n }\n )\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n return {\n authUser,\n errorMessages,\n pagination,\n order_by,\n query,\n sort,\n users,\n capitalize,\n format,\n getDateWithTZ,\n reloadUsers,\n updateUser,\n }\n },\n })\n","import { render } from \"./AdminUsers.vue?vue&type=template&id=579fae0e&scoped=true\"\nimport script from \"./AdminUsers.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=579fae0e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-579fae0e\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'UserProfileTabs',\n props: {\n tabs: {\n type: Object as PropType,\n required: true,\n },\n selectedTab: {\n type: String,\n required: true,\n },\n edition: {\n type: Boolean,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n return `/profile${props.edition ? '/edit' : ''}/preferences`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n return { getPath }\n },\n })\n","import { render } from \"./UserProfileTabs.vue?vue&type=template&id=c7276c08\"\nimport script from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserHeader,\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n return {\n tabs: ['PROFILE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=c81580c0&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-c81580c0\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferences',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() =>\n props.user.weekm ? 'MONDAY' : 'SUNDAY'\n )\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n return { fistDayOfWeek, language, timezone }\n },\n })\n","import { render } from \"./UserPreferences.vue?vue&type=template&id=39667dbe&scoped=true\"\nimport script from \"./UserPreferences.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-39667dbe\"\n\nexport default script","\n\n\n","\n import { computed, defineComponent, PropType } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'ProfileEdition',\n components: {\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n return {\n loading: computed(() => store.getters[USER_STORE.GETTERS.USER_LOADING]),\n tabs: ['PROFILE', 'PICTURE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=035b0eba\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n } from 'vue'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfosEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n displayModal,\n errorMessages,\n loading,\n registrationDate,\n userForm,\n deleteAccount,\n updateBio,\n updateDisplayModal,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserInfosEdition.vue?vue&type=template&id=a2dfdb58\"\nimport script from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=a2dfdb58&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n Ref,\n defineComponent,\n computed,\n ref,\n } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n export default defineComponent({\n name: 'UserPictureEdition',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n return {\n errorMessages,\n fileSizeLimit,\n pictureFile,\n deleteUserPicture,\n updateUserPicture,\n updatePictureFile,\n }\n },\n })\n","import { render } from \"./UserPictureEdition.vue?vue&type=template&id=500d4a7a&scoped=true\"\nimport script from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=500d4a7a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-500d4a7a\"\n\nexport default script","\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onMounted,\n } from 'vue'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferencesEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPreferencesPayload = reactive({\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n\n return {\n availableLanguages,\n errorMessages,\n loading,\n userForm,\n weekStart,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserPreferencesEdition.vue?vue&type=template&id=18513603\"\nimport script from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","import axios from 'axios'\n\nimport store from '@/store'\nimport { USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {},\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USER_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUserActions, IUserState } from '@/store/modules/user/types'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nexport const actions: ActionTree & IUserActions = {\n [USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n router.push('/login')\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { USER_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUserGetters, IUserState } from '@/store/modules/user/types'\n\nexport const getters: GetterTree & IUserGetters = {\n [USER_STORE.GETTERS.AUTH_TOKEN]: (state: IUserState) => {\n return state.authToken\n },\n [USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IUserState) => {\n return state.authUserProfile\n },\n [USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IUserState) => {\n return state.authToken !== null\n },\n [USER_STORE.GETTERS.IS_ADMIN]: (state: IUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [USER_STORE.GETTERS.USER_LOADING]: (state: IUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USER_STORE } from '@/store/constants'\nimport { IUserState, TUserMutations } from '@/store/modules/user/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUserMutations = {\n [USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IUserState } from '@/store/modules/user/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const userState: IUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/user/actions'\nimport { getters } from '@/store/modules/user/getters'\nimport { mutations } from '@/store/modules/user/mutations'\nimport { userState } from '@/store/modules/user/state.ts'\nimport { IUserState } from '@/store/modules/user/types'\n\nconst user: Module = {\n state: userState,\n actions,\n getters,\n mutations,\n}\n\nexport default user\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n IWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: IWorkoutsPayload,\n target: string,\n append = false\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n target === 'CALENDAR_WORKOUTS'\n ? WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS\n : append\n ? WORKOUTS_STORE.MUTATIONS.ADD_USER_WORKOUTS\n : WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS,\n res.data.data.workouts\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: IWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, 'CALENDAR_WORKOUTS')\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: IWorkoutsPayload\n ): void {\n getWorkouts(context, payload, 'USER_WORKOUTS')\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_USER_WORKOUTS](\n context: ActionContext,\n payload: IWorkoutsPayload\n ): void {\n getWorkouts(context, payload, 'USER_WORKOUTS', true)\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = state.user_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state.ts'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport userModule from '@/store/modules/user'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n sportsModule,\n statsModule,\n userModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport store from '@/store'\nimport { USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'AlertMessage',\n props: {\n message: String,\n },\n })\n","import { render } from \"./AlertMessage.vue?vue&type=template&id=f5e8066a&scoped=true\"\nimport script from \"./AlertMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-f5e8066a\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, ref, watch } from 'vue'\n\n export default defineComponent({\n name: 'CustomTextArea',\n props: {\n charLimit: {\n type: Number,\n default: 500,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n input: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n required: true,\n },\n },\n emits: ['updateValue'],\n setup(props, { emit }) {\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\n return { text, updateText }\n },\n })\n","import { render } from \"./CustomTextArea.vue?vue&type=template&id=ad3739fc&scoped=true\"\nimport script from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-ad3739fc\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, defineComponent, ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n\n export default defineComponent({\n name: 'Dropdown',\n props: {\n options: {\n type: Object as PropType,\n required: true,\n },\n selected: {\n type: String,\n required: true,\n },\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(props, { emit }) {\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\n return {\n dropdownOptions,\n isOpen,\n toggleDropdown,\n updateSelected,\n }\n },\n })\n","import { render } from \"./Dropdown.vue?vue&type=template&id=5ef2ddef&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5ef2ddef\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'ErrorMessage',\n props: {\n message: [String, Array],\n },\n })\n","import { render } from \"./ErrorMessage.vue?vue&type=template&id=5c177a93&scoped=true\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5c177a93\"\n\nexport default script","\n\n\n","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n import { defineComponent, inject } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n export default defineComponent({\n name: 'SportImage',\n components: {\n CyclingSport,\n CyclingTransport,\n Hiking,\n MountainBiking,\n Running,\n Walking,\n },\n props: {\n sportLabel: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n required: false,\n },\n },\n setup() {\n return { sportColors: inject('sportColors') }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=834c586a\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Loader',\n })\n","import { render } from \"./Loader.vue?vue&type=template&id=8bf75da8&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-8bf75da8\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Modal',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n strongMessage: {\n type: String || null,\n default: null,\n },\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(props, { emit }) {\n const store = useStore()\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n return { errorMessages, emit }\n },\n })\n","import { render } from \"./Modal.vue?vue&type=template&id=21b6cb61&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=21b6cb61&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-21b6cb61\"\n\nexport default script","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n AlertMessage,\n Card,\n CustomTextArea,\n Dropdown,\n ErrorMessage,\n Loader,\n Modal,\n SportImage,\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component)\n})\n\napp.mount('#app')\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUserState } from '@/store/modules/user/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n}\n\nexport enum UserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum UserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_MORE_USER_WORKOUTS = 'GET_MORE_USER_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n}\n\nexport enum WorkoutsMutations {\n ADD_USER_WORKOUTS = 'ADD_USER_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n}\n","import {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UserActions,\n UserGetters,\n UserMutations,\n} from '@/store/modules/user/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const USER_STORE = {\n ACTIONS: UserActions,\n GETTERS: UserGetters,\n MUTATIONS: UserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Pagination.vue?vue&type=style&index=0&id=7694e784&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminUsers.vue?vue&type=style&index=0&id=579fae0e&lang=scss&scoped=true\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.9069e434.js b/fittrackee/dist/static/js/app.9069e434.js new file mode 100644 index 00000000..20830531 --- /dev/null +++ b/fittrackee/dist/static/js/app.9069e434.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var r,o,i=t[0],s=t[1],u=t[2],l=0,d=[];lr?1:n2&&void 0!==arguments[2]&&arguments[2];return e.filter((function(e){return!n||e.is_active})).map((function(e){return Object(r["a"])(Object(r["a"])({},e),{},{translatedLabel:t("sports.".concat(e.label,".LABEL"))})})).sort(c)},s=function(e,t){return t.filter((function(t){return t.id===e.sport_id})).map((function(e){return e.label}))[0]}},"13dc":function(e,t,n){"use strict";n("c0dc")},"16c2":function(e,t,n){"use strict";n("a03e")},1850:function(e,t,n){"use strict";n("da66")},"1f4c":function(e,t,n){},2024:function(e,t,n){},2906:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n("5502");function o(){return Object(r["b"])()}},3214:function(e,t,n){"use strict";n("2024")},3853:function(e,t,n){"use strict";n("c75e")},"3c44":function(e,t,n){"use strict";n("b680"),n("a9e3");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-a6fa997c");Object(r["pushScopeId"])("data-v-a6fa997c");var a={class:"box user-header"},c={class:"user-details"},i={class:"user-name"},s={class:"user-stats"},u={class:"user-stat"},l={class:"stat-number"},d={class:"stat-label"},O={class:"user-stat"},p={class:"stat-number"},m=Object(r["createVNode"])("span",{class:"stat-label"},"km",-1),b={class:"user-stat hide-small"},T={class:"stat-number"},E={class:"stat-label"};Object(r["popScopeId"])();var S=o((function(e,t,n,o,S,f){var _=Object(r["resolveComponent"])("UserPicture");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])(_,{user:e.user},null,8,["user"]),Object(r["createVNode"])("div",c,[Object(r["createVNode"])("div",i,Object(r["toDisplayString"])(e.user.username),1),Object(r["createVNode"])("div",s,[Object(r["createVNode"])("div",u,[Object(r["createVNode"])("span",l,Object(r["toDisplayString"])(e.user.nb_workouts),1),Object(r["createVNode"])("span",d,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT",e.user.nb_workouts)),1)]),Object(r["createVNode"])("div",O,[Object(r["createVNode"])("span",p,Object(r["toDisplayString"])(Number(e.user.total_distance).toFixed(0)),1),m]),Object(r["createVNode"])("div",b,[Object(r["createVNode"])("span",T,Object(r["toDisplayString"])(e.user.nb_sports),1),Object(r["createVNode"])("span",E,Object(r["toDisplayString"])(e.$t("workouts.SPORT",e.user.nb_sports)),1)])])])])})),f=n("c46a"),_=Object(r["defineComponent"])({name:"ProfileDisplay",components:{UserPicture:f["a"]},props:{user:{type:Object,required:!0}}});n("5085");_.render=S,_.__scopeId="data-v-a6fa997c";t["a"]=_},4370:function(e,t,n){},"466e":function(e,t,n){},4870:function(e,t,n){"use strict";var r,o,a;n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return a})),function(e){e["ADD_WORKOUT"]="ADD_WORKOUT",e["ADD_WORKOUT_WITHOUT_GPX"]="ADD_WORKOUT_WITHOUT_GPX",e["DELETE_WORKOUT"]="DELETE_WORKOUT",e["EDIT_WORKOUT"]="EDIT_WORKOUT",e["GET_CALENDAR_WORKOUTS"]="GET_CALENDAR_WORKOUTS",e["GET_USER_WORKOUTS"]="GET_USER_WORKOUTS",e["GET_TIMELINE_WORKOUTS"]="GET_TIMELINE_WORKOUTS",e["GET_MORE_TIMELINE_WORKOUTS"]="GET_MORE_TIMELINE_WORKOUTS",e["GET_WORKOUT_DATA"]="GET_WORKOUT_DATA"}(r||(r={})),function(e){e["CALENDAR_WORKOUTS"]="CALENDAR_WORKOUTS",e["TIMELINE_WORKOUTS"]="TIMELINE_WORKOUTS",e["USER_WORKOUTS"]="USER_WORKOUTS",e["WORKOUT_DATA"]="WORKOUT_DATA",e["WORKOUTS_PAGINATION"]="WORKOUTS_PAGINATION"}(o||(o={})),function(e){e["ADD_TIMELINE_WORKOUTS"]="ADD_TIMELINE_WORKOUTS",e["EMPTY_WORKOUTS"]="EMPTY_WORKOUTS",e["EMPTY_CALENDAR_WORKOUTS"]="EMPTY_CALENDAR_WORKOUTS",e["EMPTY_WORKOUT"]="EMPTY_WORKOUT",e["SET_CALENDAR_WORKOUTS"]="SET_CALENDAR_WORKOUTS",e["SET_TIMELINE_WORKOUTS"]="SET_TIMELINE_WORKOUTS",e["SET_USER_WORKOUTS"]="SET_USER_WORKOUTS",e["SET_WORKOUT"]="SET_WORKOUT",e["SET_WORKOUT_GPX"]="SET_WORKOUT_GPX",e["SET_WORKOUT_CHART_DATA"]="SET_WORKOUT_CHART_DATA",e["SET_WORKOUT_LOADING"]="SET_WORKOUT_LOADING",e["SET_WORKOUTS_PAGINATION"]="SET_WORKOUTS_PAGINATION"}(a||(a={}))},"4a13":function(e,t,n){"use strict";n("92d6")},"4b55":function(e,t,n){"use strict";n("8384")},5085:function(e,t,n){"use strict";n("1f4c")},5567:function(e,t,n){"use strict";n("8349")},5712:function(e,t,n){},"5e65":function(e,t,n){"use strict";n.d(t,"d",(function(){return p})),n.d(t,"e",(function(){return m})),n.d(t,"c",(function(){return b})),n.d(t,"b",(function(){return T})),n.d(t,"a",(function(){return E}));var r=n("69eb"),o=n("d6e9"),a=n("f628"),c=n("f7f1"),i=n("cdb6"),s=n("74b5"),u=n("8cac"),l=n("2fc8"),d=n("b166"),O=n("78b2"),p=function(e,t,n){switch(e){case"week":return Object(r["a"])(t,{weekStartsOn:n?1:0});case"year":return Object(o["a"])(t);case"month":return Object(a["a"])(t);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},m=function(e,t){switch(e){case"week":return Object(c["a"])(t,7);case"year":return Object(i["a"])(t,1);case"month":return Object(s["a"])(t,1);default:throw new Error('Invalid duration, expected: "week", "month", "year", got: "'.concat(e,'"'))}},b=function(e,t){return Object(O["a"])(new Date(e),t)},T=function(e,t){var n=Object(a["a"])(e),o=Object(u["a"])(e),c=t?1:0;return{start:Object(r["a"])(n,{weekStartsOn:c}),end:Object(l["a"])(o,{weekStartsOn:c})}},E=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:Object(d["a"])(e,t),workout_time:Object(d["a"])(e,n)}}},"608d":function(e,t,n){"use strict";n("90b9")},"663e":function(e,t,n){"use strict";n.r(t);var r={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Nombre maximum d'utilisateurs actifs "])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Si égal à 0, pas limite d'inscription"])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des archives zip (en Mo) "])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Taille max. des fichiers (en Mo) "])},TITLE:e=>{const{normalize:t}=e;return t(["Configuration de l'application"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Nombre max. de fichiers dans une archive zip "])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Revenir à l'admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Etes-vous sûr de vouloir supprimer le compte de ",n(r(0))," ? Toutes les données seront définitivement."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement désactivées."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Les inscriptions sont actuellement activées."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["des séances existent"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Administration - Sports"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les drois d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les drois d'admin"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["status administrateur"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["date d'inscription"])},USERNAME:e=>{const{normalize:t}=e;return t(["nom d'utilisateur"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["nombre de séances"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email : une adresse email valide doit être fournie."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la récupération de la configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Erreur lors de la mise à jour de la configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Erreur, veuillez réessayer ou contacter l'administrateur."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Erreur, les inscriptions sont désactivées."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Extension de fichier non autorisée."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["La taille du fichier est supérieure à la limite autorisée."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Identifiants invalides."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Données fournies incorrectes."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Jeton de connexion invalide, merci de vous reconnecter."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Jeton de connexion, merci de vous reconnecter."])},"no file part":e=>{const{normalize:t}=e;return t(["Pas de fichier fourni."])},"no selected file":e=>{const{normalize:t}=e;return t(["Pas de fichier sélectionné."])},"Network Error":e=>{const{normalize:t}=e;return t(["Erreur Réseau."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Mot de passe : les mots de passe saisis sont différents."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Merci de fournir un jeton de connexion valide."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Mot de passe : 8 caractères minimum."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Ce sport n'existe pas."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expirée. Merci de vous reconnecter."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Désolé, cet utilisateur existe déjà."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Inscription validée."])},"user does not exist":e=>{const{normalize:t}=e;return t(["L'utilisateur n'existe pas"])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Nom d'utilisateur : 3 à 12 caractères requis."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Vous n'avez pas les permissions nécessaires."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["précédent"])},NEXT:e=>{const{normalize:t}=e;return t(["suivant"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Précédent"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Supprimer mon compte"])},DISABLE:e=>{const{normalize:t}=e;return t(["Désactiver"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier"])},ENABLE:e=>{const{normalize:t}=e;return t(["Activer"])},FILTER:e=>{const{normalize:t}=e;return t(["Filtrer"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},NO:e=>{const{normalize:t}=e;return t(["Non"])},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},c={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["trier par "])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["tri"])},ASC:e=>{const{normalize:t}=e;return t(["ascendant"])},DESC:e=>{const{normalize:t}=e;return t(["descendant"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},"TOTAL ":e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de Bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Erreur. Veuillez réessayer ou contacter l'administrateur."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page introuvable"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Séance introuvable"])}}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Randonnée"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["VTT"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},l={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistiques"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["semaine"])},month:e=>{const{normalize:t}=e;return t(["mois"])},year:e=>{const{normalize:t}=e;return t(["année"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés."])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Saisir une adresse email"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisir un mot de passe"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation du mot de passe"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Mot de passe oublié ?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Réinitialisation du mot de passe"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Votre mot de passe a été mis à jour. Cliquez ",n(r(0))," pour vous connecter."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Revenir au profil"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Date de naissance"])},EDIT:e=>{const{normalize:t}=e;return t(["Modifier le profil"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Premier jour de la semaine"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Prénom"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nom"])},LOCATION:e=>{const{normalize:t}=e;return t(["Lieu"])},MONDAY:e=>{const{normalize:t}=e;return t(["Lundi"])},PICTURE:e=>{const{normalize:t}=e;return t(["Image de profil"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour de l'image de profil"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Mettre à jour l'image"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Supprimer"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du profil"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Date d'inscription"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["image"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["préférences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profil"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Fuseau horaire"])}},REGISTER:e=>{const{normalize:t}=e;return t(["S'inscrire"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Désolé, les inscriptions sont désactivées."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])}},O={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajouter une séance"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["dénivelé positif"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moyenne"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["vitesse moy."])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["revenir à la séance"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["dénivelé négatif"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["afficher les filtres"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["durée"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Modifier la séance"])},ELEVATION:e=>{const{normalize:t}=e;return t(["altitude"])},END:e=>{const{normalize:t}=e;return t(["fin"])},FROM:e=>{const{normalize:t}=e;return t(["à partir de"])},GPX_FILE:e=>{const{normalize:t}=e;return t(["fichier .gpx"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["masquer les filtres"])},KM:e=>{const{normalize:t}=e;return t(["km"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Séances récentes"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Charger les séances suivantes"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude max"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["fichiers max. "])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["taille max. "])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["vitesse max"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["altitude min"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment suivant"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance suivante"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["données issues du fichier gpx, sans correction"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Pas de fichier fourni"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["pas de répertoire"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Pas de carte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment suivant"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance suivante"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Pas de notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Pas de segment précédent"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Pas de séance précédente"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Pas de records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Pas de séances."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Segment précédent"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Séance précédente"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Vitesse moy."])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Distance la + longue"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Durée la + longue"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Vitesse max."])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["nombre de caractères restants "])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["vitesse"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["début"])},TITLE:e=>{const{normalize:t}=e;return t(["titre"])},TO:e=>{const{normalize:t}=e;return t(["jusqu'au"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["durée totale"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Ajoutez votre première séance !"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidité"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["température"])},WIND:e=>{const{normalize:t}=e;return t(["vent"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["ensoleillé"])},"clear-night":e=>{const{normalize:t}=e;return t(["nuit claire"])},cloudy:e=>{const{normalize:t}=e;return t(["nuageux"])},fog:e=>{const{normalize:t}=e;return t(["brouillard"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partiellement nuageux"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["nuit partiellement nuageuse"])},rain:e=>{const{normalize:t}=e;return t(["pluie"])},sleet:e=>{const{normalize:t}=e;return t(["neige fondue"])},snow:e=>{const{normalize:t}=e;return t(["neige"])},wind:e=>{const{normalize:t}=e;return t(["venteux"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["avec un fichier .gpx"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["sans fichier .gpx"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["séance"]),t(["séances"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["date de la séance"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Etes-vous sûr de vouloir supprimer cette séance ?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t(["archive .zip"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["ou une archive .zip contenant des fichiers .gpx"])}};t["default"]={admin:r,api:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},"6d7d":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-56dc89d4");Object(r["pushScopeId"])("data-v-56dc89d4");var a={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},i=Object(r["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),s={key:0},u=Object(r["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);Object(r["popScopeId"])();var l=o((function(e,t,n,l,d,O){var p=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createBlock"])("nav",a,[Object(r["createVNode"])("ul",c,[Object(r["createVNode"])("li",{class:["page-prev",{disabled:!e.pagination.has_prev}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,-1)},event:e.pagination.has_prev?"click":"",disabled:!e.pagination.has_prev},{default:o((function(){return[i,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("api.PAGINATION.PREVIOUS")),1)]})),_:1},8,["to","event","disabled"])],2),(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.rangePagination(e.pagination.pages,e.pagination.page),(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("li",{key:t,class:["page",{active:t===e.pagination.page}]},["..."===t?(Object(r["openBlock"])(),Object(r["createBlock"])("span",s," ... ")):(Object(r["openBlock"])(),Object(r["createBlock"])(p,{key:1,class:"page-link",to:{path:e.path,query:e.getQuery(+t)}},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(t),1)]})),_:2},1032,["to"]))],2)})),128)),Object(r["createVNode"])("li",{class:["page-next",{disabled:!e.pagination.has_next}]},[Object(r["createVNode"])(p,{class:"page-link",to:{path:e.path,query:e.getQuery(e.pagination.page,1)},event:e.pagination.has_next?"click":"",disabled:!e.pagination.has_next},{default:o((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("api.PAGINATION.NEXT"))+" ",1),u]})),_:1},8,["to","event","disabled"])],2)])])})),d=n("97e5"),O=Object(r["defineComponent"])({name:"Pagination",props:{pagination:{type:Object,required:!0},path:{type:String,required:!0},query:{type:Object,required:!0}},setup:function(e){function t(t,n){var r=Object.assign({},e.query);return r.page=n?t+n:t,r}return{rangePagination:d["b"],getQuery:t}}});n("1850");O.render=l,O.__scopeId="data-v-56dc89d4";t["a"]=O},"6eb4":function(e,t,n){},"71a7":function(e,t,n){"use strict";var r=n("7a23"),o=Object(r["withScopeId"])("data-v-1267fe4f");Object(r["pushScopeId"])("data-v-1267fe4f");var a={id:"user-infos",class:"description-list"},c={class:"user-bio"},i={key:1,class:"profile-buttons"},s={key:2,class:"profile-buttons"};Object(r["popScopeId"])();var u=o((function(e,t,n,o,u,l){var d=Object(r["resolveComponent"])("Modal");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[e.displayModal?(Object(r["openBlock"])(),Object(r["createBlock"])(d,{key:0,title:e.$t("common.CONFIRMATION"),message:"admin.CONFIRM_USER_ACCOUNT_DELETION",strongMessage:e.user.username,onConfirmAction:t[1]||(t[1]=function(t){return e.deleteUserAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","strongMessage"])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("dl",null,[Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.registrationDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.first_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.last_name),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.birthDate),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+":",1),Object(r["createVNode"])("dd",null,Object(r["toDisplayString"])(e.user.location),1),Object(r["createVNode"])("dt",null,Object(r["toDisplayString"])(e.$t("user.PROFILE.BIO"))+":",1),Object(r["createVNode"])("dd",c,Object(r["toDisplayString"])(e.user.bio),1)]),e.fromAdmin?(Object(r["openBlock"])(),Object(r["createBlock"])("div",i,[e.authUser.username!==e.user.username?(Object(r["openBlock"])(),Object(r["createBlock"])("button",{key:0,class:"danger",onClick:t[3]||(t[3]=Object(r["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("admin.DELETE_USER")),1)):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("button",{onClick:t[4]||(t[4]=function(t){return e.$router.go(-1)})},Object(r["toDisplayString"])(e.$t("buttons.BACK")),1)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",s,[Object(r["createVNode"])("button",{onClick:t[5]||(t[5]=function(t){return e.$router.push("/profile/edit")})},Object(r["toDisplayString"])(e.$t("user.PROFILE.EDIT")),1),Object(r["createVNode"])("button",{onClick:t[6]||(t[6]=function(t){return e.$router.push("/")})},Object(r["toDisplayString"])(e.$t("common.HOME")),1)]))])})),l=n("b166"),d=n("dad5"),O=n("2906"),p=Object(r["defineComponent"])({name:"UserInfos",props:{user:{type:Object,required:!0},fromAdmin:{type:Boolean,default:!1}},setup:function(e){var t=Object(O["a"])(),n=Object(r["computed"])((function(){return t.getters[d["e"].GETTERS.AUTH_USER_PROFILE]})),o=Object(r["computed"])((function(){return e.user.created_at?Object(l["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),a=Object(r["computed"])((function(){return e.user.birth_date?Object(l["a"])(new Date(e.user.birth_date),"dd/MM/yyyy"):""})),c=Object(r["ref"])(!1);function i(e){c.value=e}function s(e){t.dispatch(d["e"].ACTIONS.DELETE_ACCOUNT,{username:e})}return{authUser:n,birthDate:a,displayModal:c,registrationDate:o,deleteUserAccount:s,updateDisplayModal:i}}});n("966c");p.render=u,p.__scopeId="data-v-1267fe4f";t["a"]=p},"79e1":function(e,t,n){"use strict";n("851f")},"7b3e":function(e,t,n){"use strict";n("b715")},"7ffe":function(e,t,n){"use strict";n("9f54")},8349:function(e,t,n){},8384:function(e,t,n){},"851f":function(e,t,n){},"85fa":function(e,t,n){"use strict";n("0a59")},8728:function(e,t,n){"use strict";n("8d9f")},"8d9f":function(e,t,n){},"90b9":function(e,t,n){},9176:function(e,t,n){"use strict";n("99af"),n("4e82");var r=n("7a23"),o=Object(r["withScopeId"])("data-v-50c78582");Object(r["pushScopeId"])("data-v-50c78582");var a={class:"table-selects"};Object(r["popScopeId"])();var c=o((function(e,t,n,o,c,i){return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order_by",id:"order_by",value:e.query.order_by,onChange:t[1]||(t[1]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.order_by,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("".concat(e.message,".").concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"order",id:"order",value:e.query.order,onChange:t[2]||(t[2]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.sort,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:t,key:t},Object(r["toDisplayString"])(e.$t("common.SELECTS.ORDER.".concat(t.toUpperCase()))),9,["value"])})),128))],40,["value"])]),Object(r["createVNode"])("label",null,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),Object(r["createVNode"])("select",{name:"per_page",id:"per_page",value:e.query.per_page,onChange:t[3]||(t[3]=function(){return e.onSelectUpdate&&e.onSelectUpdate.apply(e,arguments)})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.per_page,(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:e,key:e},Object(r["toDisplayString"])(e),9,["value"])})),128))],40,["value"])])])})),i=Object(r["defineComponent"])({name:"FilterSelects",props:{order_by:{type:Object,required:!0},query:{type:Object,required:!0},sort:{type:Object,required:!0},message:{type:String,required:!0}},emits:["updateSelect"],setup:function(e,t){var n=t.emit;function r(e){n("updateSelect",e.target.id,e.target.value)}return{per_page:[10,25,50,100],onSelectUpdate:r}}});n("79e1");i.render=c,i.__scopeId="data-v-50c78582";t["a"]=i},"92d6":function(e,t,n){},"95ba":function(e,t,n){"use strict";n("6eb4")},"966c":function(e,t,n){"use strict";n("5712")},"97e5":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"a",(function(){return s})),n.d(t,"d",(function(){return u})),n.d(t,"b",(function(){return d}));n("caad"),n("2532"),n("a630"),n("3ca3"),n("99af");var r=["asc","desc"],o=1,a=10,c=function(e,t){return e&&"string"===typeof e&&+e>0?+e:t},i=function(e,t,n){return e&&"string"===typeof e&&t.includes(e)?e:n},s=function(e,t,n,s){var u=s||{},l=u.defaultSort||"asc",d=u.query||{};return d.page=c(e.page,o),d.per_page=c(e.per_page,a),d.order=i(e.order,r,l),d.order_by=i(e.order_by,t,n),d},u=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return Array.from({length:e-t+1},(function(e,n){return t+n}))},d=function(e,t){if(e<0)return[];if(e<9)return l(e);var n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(l(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{const{normalize:t}=e;return t(["Action"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Add/remove admin rights, delete user account."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ADMINISTRATION:e=>{const{normalize:t}=e;return t(["Administration"])},APPLICATION:e=>{const{normalize:t}=e;return t(["Application"])},APP_CONFIG:{MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. number of active users"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["If 0, no limitation on registration."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. files of zip archive"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of uploaded files (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Application configuration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. size of zip archive (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Back to admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to delete ",n(r(0))," account? All data will be deleted, this cannot be undone."])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registration is currently disabled."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registration is currently enabled."])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["workouts exist"])},IMAGE:e=>{const{normalize:t}=e;return t(["Image"])},LABEL:e=>{const{normalize:t}=e;return t(["Label"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sports administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Update application configuration (maximum number of registered users, maximum files size)."])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Add admin rights"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Remove admin rights"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["admin status"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["registration date"])},USERNAME:e=>{const{normalize:t}=e;return t(["username"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["workout count"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["Email: valid email must be provided."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Error on getting configuration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Error when updating configuration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Error, please try again or contact the administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Error, registration is disabled."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["File extension not allowed."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["File size is greater than the allowed size."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Invalid credentials."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Provided data are invalid."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Invalid token, please log in again."])},"Network Error":e=>{const{normalize:t}=e;return t(["Network Error."])},"no file part":e=>{const{normalize:t}=e;return t(["No file provided."])},"no selected file":e=>{const{normalize:t}=e;return t(["No selected file."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Password: password and password confirmation don't match."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Provide a valid auth token."])},"password: 8 characters required":e=>{const{normalize:t}=e;return t(["Password: 8 characters required."])},"sorry, that user already exists":e=>{const{normalize:t}=e;return t(["Sorry, that user already exists."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sport does not exist."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Signature expired. Please log in again."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Successfully registered."])},"user does not exist":e=>{const{normalize:t}=e;return t(["User does not exist."])},"username: 3 to 12 characters required":e=>{const{normalize:t}=e;return t(["Username: 3 to 12 characters required."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["You do not have permissions."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["previous"])},NEXT:e=>{const{normalize:t}=e;return t(["next"])}}},a={BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Delete my account"])},DISABLE:e=>{const{normalize:t}=e;return t(["Disable"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit"])},ENABLE:e=>{const{normalize:t}=e;return t(["Enable"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Log in"])},NO:e=>{const{normalize:t}=e;return t(["No"])},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},c={CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["order by"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sort"])},ASC:e=>{const{normalize:t}=e;return t(["ascending"])},DESC:e=>{const{normalize:t}=e;return t(["descending"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["par page"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Total"])}},i={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},s={UNKNOWN:e=>{const{normalize:t}=e;return t(["Error. Please try again or contact the administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["The application seems encounter some issues.
Please try later or contact the administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Page not found"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Workout not found"])}}},u={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Transport)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Hiking"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},l={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistics"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["week"])},month:e=>{const{normalize:t}=e;return t(["month"])},year:e=>{const{normalize:t}=e;return t(["year"])}}},d={ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete your account? All data will be deleted, this cannot be undone"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},ENTER_EMAIL:e=>{const{normalize:t}=e;return t(["Enter an email address"])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},ENTER_PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirm the password"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Invalid token, please request a new password reset."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_CONFIRM:e=>{const{normalize:t}=e;return t(["Confirm Password"])},PASSWORD_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Password confirmation"])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Forgot password?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Password reset"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Check your email. If your address is in our database, you'll received an email with a link to reset your password."])},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your password have been updated. Click ",n(r(0))," to log in."])},PROFILE:{BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Back to profile"])},BIO:e=>{const{normalize:t}=e;return t(["Bio"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Birth date"])},EDIT:e=>{const{normalize:t}=e;return t(["Edit profile"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit preferences"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["First name"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["First day of week"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Language"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Last name"])},LOCATION:e=>{const{normalize:t}=e;return t(["Location"])},MONDAY:e=>{const{normalize:t}=e;return t(["Monday"])},PICTURE:e=>{const{normalize:t}=e;return t(["Picture"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Picture edition"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Update picture"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Remove picture"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Preferences edition"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profile edition"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Registration date"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{PICTURE:e=>{const{normalize:t}=e;return t(["picture"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["preferences"])},PROFILE:e=>{const{normalize:t}=e;return t(["profile"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Sorry, registration is disabled."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset your password"])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])}},O={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Add a workout"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["analysis"])},ASCENT:e=>{const{normalize:t}=e;return t(["ascent"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["ave. speed"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["average speed"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["back to workout"])},DATE:e=>{const{normalize:t}=e;return t(["date"])},DESCENT:e=>{const{normalize:t}=e;return t(["descent"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["display filters"])},DISTANCE:e=>{const{normalize:t}=e;return t(["distance"])},DURATION:e=>{const{normalize:t}=e;return t(["duration"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Edit the workout"])},ELEVATION:e=>{const{normalize:t}=e;return t(["elevation"])},END:e=>{const{normalize:t}=e;return t(["end"])},FROM:e=>{const{normalize:t}=e;return t(["from"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx file"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["hide filters"])},KM:e=>{const{normalize:t}=e;return t(["km"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Latest workouts"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Load more workouts"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["max. altitude"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["max files"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["max size"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["max. speed"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["min. altitude"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Next workout"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["data from gpx, without any cleaning"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["No file provided"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["no folder inside"])},NO_MAP:e=>{const{normalize:t}=e;return t(["No map"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["No next segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["No next workout"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["No notes"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["No previous segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["No previous workout"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["No records."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["No workouts."])},NOTES:e=>{const{normalize:t}=e;return t(["notes"])},PAUSES:e=>{const{normalize:t}=e;return t(["pauses"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Previous segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Previous workout"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["record"]),t(["records"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Ave. speed"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Farest distance"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Longest duration"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. speed"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["remaining characters"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["segment"]),t(["segments"])])},SPEED:e=>{const{normalize:t}=e;return t(["speed"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["sport"]),t(["sports"])])},START:e=>{const{normalize:t}=e;return t(["start"])},TITLE:e=>{const{normalize:t}=e;return t(["title"])},TO:e=>{const{normalize:t}=e;return t(["to"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["total duration"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Upload one!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["humidity"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["temperature"])},WIND:e=>{const{normalize:t}=e;return t(["wind"])},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["clear day"])},"clear-night":e=>{const{normalize:t}=e;return t(["clear night"])},cloudy:e=>{const{normalize:t}=e;return t(["cloudy"])},fog:e=>{const{normalize:t}=e;return t(["fog"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["partly cloudy day"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["partly cloudy night"])},rain:e=>{const{normalize:t}=e;return t(["rain"])},sleet:e=>{const{normalize:t}=e;return t(["sleet"])},snow:e=>{const{normalize:t}=e;return t(["snow"])},wind:e=>{const{normalize:t}=e;return t(["wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["with .gpx file"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["without .gpx file"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["workout"]),t(["workouts"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["workout date"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this workout?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip file"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["or .zip file containing .gpx files"])}};t["default"]={admin:r,api:o,buttons:a,common:c,dashboard:i,error:s,sports:u,statistics:l,user:d,workouts:O}},c364:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return a}));n("b680"),n("99af");var r=["bytes","KB","MB","GB","TB"],o=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};var o=(e/Math.pow(1024,n)).toFixed(1),a=r[n];return t?"".concat(o).concat(a):{size:o,suffix:a}},a=function(e){var t=e/1048576;return+t.toFixed(2)}},c46a:function(e,t,n){"use strict";var r=n("7a23"),o={class:"user-picture"},a={key:1,class:"no-picture"},c=Object(r["createVNode"])("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1);function i(e,t,n,i,s,u){return Object(r["openBlock"])(),Object(r["createBlock"])("div",o,[""!==e.authUserPictureUrl?(Object(r["openBlock"])(),Object(r["createBlock"])("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:e.authUserPictureUrl},null,8,["alt","src"])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[c]))])}n("99af");var s=n("d257"),u=Object(r["defineComponent"])({name:"UserPicture",props:{user:{type:Object,required:!0}},setup:function(e){return{authUserPictureUrl:Object(r["computed"])((function(){return e.user.picture?"".concat(Object(s["a"])(),"users/").concat(e.user.username,"/picture"):""}))}}});n("13dc");u.render=i;t["a"]=u},c75e:function(e,t,n){},cbea:function(e,t,n){"use strict";n("fb41")},cd49:function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("159b"),n("b0c0");var r=n("9b4a"),o=n("d9fa"),a=n("7a23"),c=n("9483");Object(c["a"])("".concat("/","service-worker.js"),{ready:function(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered:function(){console.log("Service worker has been registered.")},cached:function(){console.log("Content has been cached for offline use.")},updatefound:function(){console.log("New content is downloading.")},updated:function(){console.log("New content is available; please refresh.")},offline:function(){console.log("No internet connection found. App is running in offline mode.")},error:function(e){console.error("Error during service worker registration:",e)}});var i=Object(a["withScopeId"])("data-v-317a6409");Object(a["pushScopeId"])("data-v-317a6409");var s=Object(a["createVNode"])("div",{id:"top"},null,-1),u={key:0,class:"app-container"},l={class:"app-loading"},d={class:"container scroll"},O=Object(a["createVNode"])("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var p=i((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("NavBar"),p=Object(a["resolveComponent"])("Loader"),m=Object(a["resolveComponent"])("router-view"),b=Object(a["resolveComponent"])("NoConfig"),T=Object(a["resolveComponent"])("Footer");return Object(a["openBlock"])(),Object(a["createBlock"])(a["Fragment"],null,[s,Object(a["createVNode"])(i,{onMenuInteraction:e.updateHideScrollBar},null,8,["onMenuInteraction"]),e.appLoading?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])("div",l,[Object(a["createVNode"])(p)])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:["app-container",{"hide-scroll":e.hideScrollBar}]},[e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(m,{key:0})):(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:1}))],2)),Object(a["createVNode"])("div",d,[Object(a["createVNode"])("div",{class:["scroll-button",{"display-button":e.displayScrollButton}],onClick:t[1]||(t[1]=function(){return e.scrollToTop&&e.scrollToTop.apply(e,arguments)})},[O],2)]),e.appConfig?(Object(a["openBlock"])(),Object(a["createBlock"])(T,{key:2,version:e.appConfig?e.appConfig.version:""},null,8,["version"])):Object(a["createCommentVNode"])("",!0)],64)})),m=Object(a["withScopeId"])("data-v-e1641806");Object(a["pushScopeId"])("data-v-e1641806");var b={id:"footer"},T={class:"footer-items"},E={class:"footer-item"},S=Object(a["createVNode"])("strong",null,"FitTrackee",-1),f=Object(a["createStaticVNode"])('',4);Object(a["popScopeId"])();var _=m((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",b,[Object(a["createVNode"])("div",T,[Object(a["createVNode"])("div",E,[S,Object(a["createTextVNode"])(" v"+Object(a["toDisplayString"])(e.version),1)]),f])])})),j=Object(a["defineComponent"])({name:"Footer",props:{version:{type:String,required:!0}}});n("7b3e");j.render=_,j.__scopeId="data-v-e1641806";var A=j,N=Object(a["withScopeId"])("data-v-03a78350");Object(a["pushScopeId"])("data-v-03a78350");var R={id:"nav"},I={class:"nav-container"},g={class:"nav-app-name"},U={class:"nav-items-close"},v=Object(a["createVNode"])("div",{class:"app-name"},"FitTrackee",-1),D={key:0,class:"nav-items-group"},h=Object(a["createVNode"])("div",{class:"nav-item nav-separator"},null,-1),P={class:"nav-items-user-menu"},C={key:0,class:"nav-items-group"},M={class:"nav-item nav-profile-img"},k={key:1,class:"nav-items-group"},L=Object(a["createVNode"])("i",{class:"fa fa-language"},null,-1);Object(a["popScopeId"])();var z=N((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("router-link"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("Dropdown");return Object(a["openBlock"])(),Object(a["createBlock"])("div",R,[Object(a["createVNode"])("div",I,[Object(a["createVNode"])("div",g,[Object(a["createVNode"])("div",{class:"nav-item app-name",onClick:t[1]||(t[1]=function(t){return e.$router.push("/")})}," FitTrackee ")]),Object(a["createVNode"])("div",{class:["nav-icon-open",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("i",{class:"fa fa-bars hamburger-icon",onClick:t[2]||(t[2]=function(t){return e.openMenu()})})],2),Object(a["createVNode"])("div",{class:["nav-items",{"menu-open":e.isMenuOpen}]},[Object(a["createVNode"])("div",U,[v,Object(a["createVNode"])("i",{class:["fa fa-close close-icon nav-item",{"menu-closed":!e.isMenuOpen}],onClick:t[3]||(t[3]=function(t){return e.closeMenu()})},null,2)]),Object(a["createVNode"])("div",{class:"nav-items-app-menu",onClick:t[4]||(t[4]=function(t){return e.closeMenu()})},[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[Object(a["createVNode"])(i,{class:"nav-item",to:"/"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.DASHBOARD")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",2))),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/statistics"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),_:1}),Object(a["createVNode"])(i,{class:"nav-item",to:"/workouts/add"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("workouts.ADD_WORKOUT")),1)]})),_:1}),e.isAuthenticated&&e.authUser.admin?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,class:"nav-item",to:"/admin"},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMIN")),1)]})),_:1})):Object(a["createCommentVNode"])("",!0),h])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",P,[e.isAuthenticated?(Object(a["openBlock"])(),Object(a["createBlock"])("div",C,[Object(a["createVNode"])("div",M,[Object(a["createVNode"])(s,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])(i,{class:"nav-item",to:"/profile",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.authUser.username),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])("div",{class:"nav-item nav-link",onClick:t[5]||(t[5]=function(){return e.logout&&e.logout.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.LOGOUT")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",k,[Object(a["createVNode"])(i,{class:"nav-item",to:"/login",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.LOGIN")),1)]})),_:1},8,["onClick"]),Object(a["createVNode"])(i,{class:"nav-item",to:"/register",onClick:e.closeMenu},{default:N((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.REGISTER")),1)]})),_:1},8,["onClick"])])),e.availableLanguages&&e.language?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2,class:"nav-item",options:e.availableLanguages,selected:e.language,onSelected:e.updateLanguage},{default:N((function(){return[L]})),_:1},8,["options","selected","onSelected"])):Object(a["createCommentVNode"])("",!0)])],2)])])})),y=(n("99af"),n("d3b7"),n("25f0"),n("47e2")),w=n("c46a"),V=n("dad5"),B=n("2906"),G=n("d257"),x=(n("d81d"),n("8923")),F=n("d481");n("ddb0"),n("ac1f"),n("466d");function W(){var e=n("e7b6"),t={};return e.keys().forEach((function(n){var r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){var o=r[1];t[o]=e(n).default}})),t}var K=Object(y["a"])({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:W()}),$={en:x["a"],fr:F["a"]},H={en:"English",fr:"Français"},Y=K.global.availableLocales,q=Y.map((function(e){return{label:H[e],value:e}})),X=Object(a["defineComponent"])({name:"NavBar",components:{UserPicture:w["a"]},emits:["menuInteraction"],setup:function(e,t){var n=t.emit,r=Object(y["b"])(),o=r.locale,c=Object(B["a"])(),i=Object(a["computed"])((function(){return c.getters[V["e"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return c.getters[V["e"].GETTERS.IS_AUTHENTICATED]})),u=Object(a["computed"])((function(){return s.value&&i.value.picture?"".concat(Object(G["a"])(),"/users/").concat(i.value.username,"/picture?").concat(Date.now()):""})),l=Object(a["computed"])((function(){return c.getters[V["a"].GETTERS.LANGUAGE]})),d=Object(a["ref"])(!1);function O(){d.value=!0,n("menuInteraction",!0)}function p(){d.value=!1,n("menuInteraction",!1)}function m(e){o.value=e.value.toString(),c.commit(V["a"].MUTATIONS.UPDATE_LANG,e.value)}function b(){c.dispatch(V["e"].ACTIONS.LOGOUT)}return{availableLanguages:q,authUser:i,authUserPictureUrl:u,isAuthenticated:s,isMenuOpen:d,language:l,capitalize:a["capitalize"],openMenu:O,closeMenu:p,updateLanguage:m,logout:b}}});n("5567");X.render=z,X.__scopeId="data-v-03a78350";var Z=X,Q=Object(a["withScopeId"])("data-v-01d4a985");Object(a["pushScopeId"])("data-v-01d4a985");var J={id:"no-config"},ee={class:"error-page"},te=Object(a["createVNode"])("div",{class:"error-img"},[Object(a["createVNode"])("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},[Object(a["createVNode"])("g",{id:"error"},[Object(a["createVNode"])("path",{class:"error-page-img",d:"M 0 0 C 0 11.300781 0 399.777344 0 410 L 512 410 C 512 402.324219 512 2.425781 512 0 Z M 370 71 L 370 30 L 411 30 L 411 71 Z M 30 30 L 340 30 L 340 71 L 30 71 Z M 482 380 L 30 380 L 30 101 L 482 101 Z M 441 71 L 441 30 L 482 30 L 482 71 Z M 441 71 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 325.519531 297.070312 C 294.328125 265.878906 294.328125 215.125 325.519531 183.929688 L 304.304688 162.71875 C 261.417969 205.605469 261.417969 275.390625 304.304688 318.28125 Z M 325.519531 297.070312 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 180 L 237.089844 180 L 237.089844 220 L 197.089844 220 Z M 197.089844 180 "}),Object(a["createVNode"])("path",{class:"error-page-img",d:"M 197.089844 261 L 237.089844 261 L 237.089844 301 L 197.089844 301 Z M 197.089844 261 "})])])],-1);Object(a["popScopeId"])();var ne=Q((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",J,[Object(a["createVNode"])("div",ee,[te,Object(a["createVNode"])("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,["innerHTML"])])])})),re=Object(a["defineComponent"])({name:"NoConfig",setup:function(){var e=Object(y["b"])(),t=e.t;return{t:t}}});n("f037");re.render=ne,re.__scopeId="data-v-01d4a985";var oe=re,ae=Object(a["defineComponent"])({name:"App",components:{Footer:A,NavBar:Z,NoConfig:oe},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_CONFIG]})),n=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_LOADING]})),r=Object(a["ref"])(!1),o=Object(a["ref"])(!1);function c(e){r.value=e}function i(e){return e.getBoundingClientRect().top=0}function s(){window.onscroll=function(){var e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function u(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((function(){o.value=!1}),300)}return Object(a["onBeforeMount"])((function(){return e.dispatch(V["a"].ACTIONS.GET_APPLICATION_CONFIG)})),Object(a["onMounted"])((function(){return s()})),{appConfig:t,appLoading:n,hideScrollBar:r,displayScrollButton:o,scrollToTop:u,updateHideScrollBar:c}}});n("608d");ae.render=p,ae.__scopeId="data-v-317a6409";var ce=ae,ie=(n("5319"),n("3ca3"),n("caad"),n("6c02")),se=Object(a["withScopeId"])("data-v-26175b66");Object(a["pushScopeId"])("data-v-26175b66");var ue={id:"admin-app",class:"admin-card"},le={for:"max_users"},de={class:"user-limit-help"},Oe={class:"info-box"},pe=Object(a["createVNode"])("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1),me={for:"max_single_file_size"},be={for:"max_zip_file_size"},Te={for:"gpx_limit_import"},Ee={key:1,class:"form-buttons"},Se={class:"confirm",type:"submit"},fe={key:2,class:"form-buttons"};Object(a["popScopeId"])();var _e=se((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ue,[Object(a["createVNode"])(s,null,{title:se((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.TITLE")),1)]})),content:se((function(){return[Object(a["createVNode"])("form",{class:"admin-form",onSubmit:t[8]||(t[8]=Object(a["withModifiers"])((function(){return e.onSubmit&&e.onSubmit.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",le,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.appData.max_users=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_users]])]),Object(a["createVNode"])("div",de,[Object(a["createVNode"])("span",Oe,[pe,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),Object(a["createVNode"])("label",me,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.appData.max_single_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_single_file_size]])]),Object(a["createVNode"])("label",be,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.appData.max_zip_file_size=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.max_zip_file_size]])]),Object(a["createVNode"])("label",Te,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.appData.gpx_limit_import=t}),disabled:!e.edition},null,8,["disabled"]),[[a["vModelText"],e.appData.gpx_limit_import]])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),e.edition?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ee,[Object(a["createVNode"])("button",Se,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.onCancel&&e.onCancel.apply(e,arguments)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",fe,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[6]||(t[6]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin/application/edit")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.EDIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[7]||(t[7]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)]))],32)]})),_:1})])})),je=(n("b64b"),n("c364")),Ae=Object(a["defineComponent"])({name:"AdminApplication",props:{appConfig:{type:Object,required:!0},edition:{type:Boolean,default:!1}},setup:function(e){var t=Object(B["a"])(),n=Object(ie["d"])(),r=Object(a["reactive"])({max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),o=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function c(e){Object.keys(r).map((function(t){["max_single_file_size","max_zip_file_size"].includes(t)?r[t]=Object(je["a"])(e[t]):r[t]=e[t]}))}function i(){c(e.appConfig),t.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),n.push("/admin/application")}function s(){var e=Object.assign({},r);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,t.dispatch(V["a"].ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return Object(a["onBeforeMount"])((function(){e.appConfig&&c(e.appConfig)})),{appData:r,errorMessages:o,onCancel:i,onSubmit:s}}});n("3853");Ae.render=_e,Ae.__scopeId="data-v-26175b66";var Ne=Ae,Re=Object(a["withScopeId"])("data-v-4f30aa64");Object(a["pushScopeId"])("data-v-4f30aa64");var Ie={id:"admin-menu",class:"center-card"},ge={class:"admin-menu description-list"},Ue=Object(a["createVNode"])("br",null,null,-1),ve={class:"registration-status"};Object(a["popScopeId"])();var De=Re((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("AppStatsCards"),s=Object(a["resolveComponent"])("router-link"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ie,[Object(a["createVNode"])(u,null,{title:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.ADMINISTRATION")),1)]})),content:Re((function(){return[Object(a["createVNode"])(i,{"app-statistics":e.appStatistics},null,8,["app-statistics"]),Object(a["createVNode"])("div",ge,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/application"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.APPLICATION")),1)]})),_:1})]),Object(a["createVNode"])("dd",null,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),Ue,Object(a["createVNode"])("span",ve,Object(a["toDisplayString"])(e.$t("admin.REGISTRATION_".concat(e.appConfig.is_registration_enabled?"ENABLED":"DISABLED"))),1)]),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/sports"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.SPORT",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),Object(a["createVNode"])("dt",null,[Object(a["createVNode"])(s,{to:"/admin/users"},{default:Re((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),_:1})]),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])]})),_:1})])})),he={id:"user-stats"};function Pe(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",he,[Object(a["createVNode"])(i,{icon:"users",value:e.usersCount,text:e.$t("admin.USER",e.usersCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"tags",value:e.sportsCount,text:e.$t("workouts.SPORT",e.sportsCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"calendar",value:e.workoutCount,text:e.$t("workouts.WORKOUT",e.workoutCount)},null,8,["value","text"]),Object(a["createVNode"])(i,{icon:"folder-open",value:e.uploadDirSize.size,text:e.uploadDirSize.suffix},null,8,["value","text"])])}var Ce=n("05d9"),Me=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:Ce["a"]},props:{appStatistics:{type:Object,default:function(){return{}}}},setup:function(e){return{uploadDirSize:Object(a["computed"])((function(){return e.appStatistics.uploads_dir_size?Object(je["b"])(e.appStatistics.uploads_dir_size,!1):{size:0,suffix:"bytes"}})),usersCount:Object(a["computed"])((function(){return e.appStatistics.users?e.appStatistics.users:0})),sportsCount:Object(a["computed"])((function(){return e.appStatistics.sports?e.appStatistics.sports:0})),workoutCount:Object(a["computed"])((function(){return e.appStatistics.workouts?e.appStatistics.workouts:0}))}}});n("a1fe");Me.render=Pe;var ke=Me,Le={class:"card"},ze={class:"card-title"},ye={class:"card-content"};function we(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Le,[Object(a["createVNode"])("div",ze,[Object(a["renderSlot"])(e.$slots,"title")]),Object(a["createVNode"])("div",ye,[Object(a["renderSlot"])(e.$slots,"content")])])}var Ve=Object(a["defineComponent"])({name:"Card"});n("16c2");Ve.render=we;var Be=Ve,Ge=Object(a["defineComponent"])({name:"AdminMenu",components:{AppStatsCards:ke,Card:Be},props:{appConfig:{type:Object,required:!0},appStatistics:{type:Object}},setup:function(){return{capitalize:a["capitalize"]}}});n("4a13");Ge.render=De,Ge.__scopeId="data-v-4f30aa64";var xe=Ge,Fe=Object(a["withScopeId"])("data-v-6d930723");Object(a["pushScopeId"])("data-v-6d930723");var We={id:"admin-sports",class:"admin-card"},Ke={class:"responsive-table"},$e=Object(a["createVNode"])("th",null,"#",-1),He={class:"text-left"},Ye={class:"text-left sport-action"},qe=Object(a["createVNode"])("th",null,null,-1),Xe={class:"center-text"},Ze=Object(a["createVNode"])("span",{class:"cell-heading"},"id",-1),Qe={class:"cell-heading"},Je={class:"sport-label"},et={class:"cell-heading"},tt={class:"center-text"},nt={class:"cell-heading"},rt={class:"sport-action"},ot={class:"cell-heading"},at={class:"action-button"},ct={key:0,class:"has-workouts"},it=Object(a["createVNode"])("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1);Object(a["popScopeId"])();var st=Fe((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("SportImage"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",We,[Object(a["createVNode"])(u,null,{title:Fe((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("admin.SPORTS.TITLE")),1)]})),content:Fe((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])("div",Ke,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[$e,Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])("th",He,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("th",Ye,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),qe])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.id},[Object(a["createVNode"])("td",Xe,[Ze,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.id),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",Qe,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.IMAGE")),1),Object(a["createVNode"])(i,{title:t.translatedLabel,"sport-label":t.label},null,8,["title","sport-label"])]),Object(a["createVNode"])("td",Je,[Object(a["createVNode"])("span",et,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.LABEL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.translatedLabel),1)]),Object(a["createVNode"])("td",tt,[Object(a["createVNode"])("span",nt,Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.is_active?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",rt,[Object(a["createVNode"])("span",ot,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("div",at,[Object(a["createVNode"])("button",{class:{danger:t.is_active},onClick:function(n){return e.updateSportStatus(t.id,!t.is_active)}},Object(a["toDisplayString"])(e.$t("buttons.".concat(t.is_active?"DIS":"EN","ABLE"))),11,["onClick"]),t.has_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])("span",ct,[it,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):Object(a["createCommentVNode"])("",!0)])])])})),128))])]),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ut=n("1119"),lt=Object(a["defineComponent"])({name:"AdminSports",setup:function(){var e=Object(y["b"])(),t=e.t,n=Object(B["a"])(),r=Object(a["computed"])((function(){return Object(ut["d"])(n.getters[V["b"].GETTERS.SPORTS],t)})),o=Object(a["computed"])((function(){return n.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function c(e,t){n.dispatch(V["b"].ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return{errorMessages:o,translatedSports:r,updateSportStatus:c}}});n("3214");lt.render=st,lt.__scopeId="data-v-6d930723";var dt=lt,Ot=Object(a["withScopeId"])("data-v-4711ecf8");Object(a["pushScopeId"])("data-v-4711ecf8");var pt={id:"admin-users",class:"admin-card"},mt={class:"responsive-table"},bt=Object(a["createVNode"])("th",null,"#",-1),Tt={class:"left-text"},Et={class:"left-text"},St={class:"left-text"},ft={class:"cell-heading"},_t={class:"cell-heading"},jt={class:"cell-heading"},At={class:"cell-heading"},Nt={class:"center-text"},Rt={class:"cell-heading"},It={class:"center-text"},gt={class:"cell-heading"},Ut={class:"center-text"},vt={class:"cell-heading"};Object(a["popScopeId"])();var Dt=Ot((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("FilterSelects"),s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),l=Object(a["resolveComponent"])("Pagination"),d=Object(a["resolveComponent"])("ErrorMessage"),O=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",pt,[Object(a["createVNode"])(O,null,{title:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.capitalize(e.$t("admin.USER",0))),1)]})),content:Ot((function(){return[Object(a["createVNode"])("button",{class:"top-button",onClick:t[1]||(t[1]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1),Object(a["createVNode"])(i,{sort:e.sortList,order_by:e.orderByList,query:e.query,message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:e.reloadUsers},null,8,["sort","order_by","query","onUpdateSelect"]),Object(a["createVNode"])("div",mt,[Object(a["createVNode"])("table",null,[Object(a["createVNode"])("thead",null,[Object(a["createVNode"])("tr",null,[bt,Object(a["createVNode"])("th",Tt,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])("th",Et,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createVNode"])("th",St,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("th",null,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1)])]),Object(a["createVNode"])("tbody",null,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.users,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("tr",{key:t.username},[Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",ft,Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE")),1),Object(a["createVNode"])(s,{user:t},null,8,["user"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",_t,Object(a["toDisplayString"])(e.$t("user.USERNAME")),1),Object(a["createVNode"])(u,{to:"/users/".concat(t.username)},{default:Ot((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.username),1)]})),_:2},1032,["to"])]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",jt,Object(a["toDisplayString"])(e.$t("user.EMAIL")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.email),1)]),Object(a["createVNode"])("td",null,[Object(a["createVNode"])("span",At,Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE")),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.format(e.getDateWithTZ(t.created_at,e.authUser.timezone),"dd/MM/yyyy HH:mm")),1)]),Object(a["createVNode"])("td",Nt,[Object(a["createVNode"])("span",Rt,Object(a["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",0))),1),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(t.nb_workouts),1)]),Object(a["createVNode"])("td",It,[Object(a["createVNode"])("span",gt,Object(a["toDisplayString"])(e.$t("user.ADMIN")),1),Object(a["createVNode"])("i",{class:"fa fa".concat(t.admin?"-check":"","-square-o"),"aria-hidden":"true"},null,2)]),Object(a["createVNode"])("td",Ut,[Object(a["createVNode"])("span",vt,Object(a["toDisplayString"])(e.$t("admin.ACTION")),1),Object(a["createVNode"])("button",{class:{danger:t.admin},disabled:t.username===e.authUser.username,onClick:function(n){return e.updateUser(t.username,!t.admin)}},Object(a["toDisplayString"])(e.$t("admin.USERS.TABLE.".concat(t.admin?"REMOVE":"ADD","_ADMIN_RIGHTS"))),11,["disabled","onClick"])])])})),128))])]),e.pagination.page?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,path:"/admin/users",pagination:e.pagination,query:e.query},null,8,["pagination","query"])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:1,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=Object(a["withModifiers"])((function(t){return e.$router.push("/admin")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("admin.BACK_TO_ADMIN")),1)])]})),_:1})])})),ht=n("b166"),Pt=n("9176"),Ct=n("6d7d"),Mt=n("97e5"),kt=n("5e65"),Lt=Object(a["defineComponent"])({name:"AdminUsers",components:{FilterSelects:Pt["a"],Pagination:Ct["a"],UserPicture:w["a"]},setup:function(){var e=Object(B["a"])(),t=Object(ie["c"])(),n=Object(ie["d"])(),r=["admin","created_at","username","workouts_count"],o="created_at",c=Object(a["reactive"])(Object(Mt["a"])(t.query,r,o)),i=Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.AUTH_USER_PROFILE]})),s=Object(a["computed"])((function(){return e.getters[V["d"].GETTERS.USERS]})),u=Object(a["computed"])((function(){return e.getters[V["d"].GETTERS.USERS_PAGINATION]})),l=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function d(t){e.dispatch(V["d"].ACTIONS.GET_USERS,t)}function O(t,n){e.dispatch(V["d"].ACTIONS.UPDATE_USER,{username:t,admin:n})}function p(e,t){c[e]=t,"per_page"===e&&(c.page=1),n.push({path:"/admin/users",query:c})}return Object(a["onBeforeMount"])((function(){return d(c)})),Object(a["watch"])((function(){return t.query}),(function(e){c=Object(Mt["a"])(e,r,o,{query:c}),d(c)})),Object(a["onUnmounted"])((function(){e.dispatch(V["d"].ACTIONS.EMPTY_USERS)})),{authUser:i,errorMessages:l,orderByList:r,pagination:u,query:c,sortList:Mt["c"],users:s,capitalize:a["capitalize"],format:ht["a"],getDateWithTZ:kt["c"],reloadUsers:p,updateUser:O}}});n("c083");Lt.render=Dt,Lt.__scopeId="data-v-4711ecf8";var zt=Lt,yt=Object(a["withScopeId"])("data-v-c81580c0");Object(a["pushScopeId"])("data-v-c81580c0");var wt={id:"user-profile"},Vt={class:"box"};Object(a["popScopeId"])();var Bt=yt((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserHeader"),s=Object(a["resolveComponent"])("UserProfileTabs"),u=Object(a["resolveComponent"])("router-view");return Object(a["openBlock"])(),Object(a["createBlock"])("div",wt,[Object(a["createVNode"])(i,{user:e.user},null,8,["user"]),Object(a["createVNode"])("div",Vt,[Object(a["createVNode"])(s,{tabs:e.tabs,selectedTab:e.tab,edition:!1},null,8,["tabs","selectedTab"]),Object(a["createVNode"])(u,{user:e.user},null,8,["user"])])])})),Gt=n("3c44"),xt={class:"profile-tabs custom-checkboxes-group"},Ft={class:"profile-tabs-checkboxes custom-checkboxes"};function Wt(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",xt,[Object(a["createVNode"])("div",Ft,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.tabs,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"profile-tab custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTab===t,disabled:e.disabled,onInput:function(n){return e.$router.push(e.getPath(t))}},null,40,["id","name","checked","disabled","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TABS.".concat(t))),1)])])})),128))])])}var Kt=Object(a["defineComponent"])({name:"UserProfileTabs",props:{tabs:{type:Object,required:!0},selectedTab:{type:String,required:!0},edition:{type:Boolean,required:!0},disabled:{type:Boolean,default:!1}},setup:function(e){function t(t){switch(t){case"PICTURE":return"/profile/edit/picture";case"PREFERENCES":return"/profile".concat(e.edition?"/edit":"","/preferences");default:case"PROFILE":return"/profile".concat(e.edition?"/edit":"")}}return{getPath:t}}});n("d42e");Kt.render=Wt;var $t=Kt,Ht=Object(a["defineComponent"])({name:"ProfileDisplay",components:{UserHeader:Gt["a"],UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){return{tabs:["PROFILE","PREFERENCES"]}}});n("7ffe");Ht.render=Bt,Ht.__scopeId="data-v-c81580c0";var Yt=Ht,qt=n("71a7"),Xt=Object(a["withScopeId"])("data-v-39667dbe");Object(a["pushScopeId"])("data-v-39667dbe");var Zt={id:"user-preferences",class:"description-list"},Qt={class:"profile-buttons"};Object(a["popScopeId"])();var Jt=Xt((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Zt,[Object(a["createVNode"])("dl",null,[Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.language),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.timezone),1),Object(a["createVNode"])("dt",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),Object(a["createVNode"])("dd",null,Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.fistDayOfWeek))),1)]),Object(a["createVNode"])("div",Qt,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(t){return e.$router.push("/profile/edit/preferences")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.EDIT_PREFERENCES")),1),Object(a["createVNode"])("button",{onClick:t[2]||(t[2]=function(t){return e.$router.push("/")})},Object(a["toDisplayString"])(e.$t("common.HOME")),1)])])})),en=Object(a["defineComponent"])({name:"UserPreferences",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(a["computed"])((function(){return e.user.language?H[e.user.language]:H["en"]})),n=Object(a["computed"])((function(){return e.user.weekm?"MONDAY":"SUNDAY"})),r=Object(a["computed"])((function(){return e.user.timezone?e.user.timezone:"Europe/Paris"}));return{fistDayOfWeek:n,language:t,timezone:r}}});n("cbea");en.render=Jt,en.__scopeId="data-v-39667dbe";var tn=en,nn={id:"user-profile-edition",class:"center-card"};function rn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("UserProfileTabs"),s=Object(a["resolveComponent"])("router-view"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",nn,[Object(a["createVNode"])(u,null,{title:Object(a["withCtx"])((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(e.tab,"_EDITION"))),1)]})),content:Object(a["withCtx"])((function(){return[Object(a["createVNode"])(i,{tabs:e.tabs,selectedTab:e.tab,edition:!0,disabled:e.loading},null,8,["tabs","selectedTab","disabled"]),Object(a["createVNode"])(s,{user:e.user},null,8,["user"])]})),_:1})])}var on=Object(a["defineComponent"])({name:"ProfileEdition",components:{UserProfileTabs:$t},props:{user:{type:Object,required:!0},tab:{type:String,required:!0}},setup:function(){var e=Object(B["a"])();return{loading:Object(a["computed"])((function(){return e.getters[V["e"].GETTERS.USER_LOADING]})),tabs:["PROFILE","PICTURE","PREFERENCES"]}}});on.render=rn;var an=on,cn={id:"user-infos-edition"},sn={class:"profile-form form-box"},un={class:"form-items",for:"email"},ln={class:"form-items",for:"registrationDate"},dn={class:"form-items",for:"password"},On={class:"form-items",for:"passwordConfirmation"},pn=Object(a["createVNode"])("hr",null,null,-1),mn={class:"form-items",for:"first_name"},bn={class:"form-items",for:"last_name"},Tn={class:"form-items",for:"birth_date"},En={class:"form-items",for:"location"},Sn={class:"form-items"},fn={class:"form-buttons"},_n={class:"confirm",type:"submit"};function jn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("Modal"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("CustomTextArea");return Object(a["openBlock"])(),Object(a["createBlock"])("div",cn,[e.displayModal?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[1]||(t[1]=function(t){return e.deleteAccount(e.user.username)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",sn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[11]||(t[11]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",un,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.EMAIL"))+" ",1),Object(a["createVNode"])("input",{id:"email",value:e.user.email,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",ln,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),Object(a["createVNode"])("input",{id:"registrationDate",value:e.registrationDate,disabled:""},null,8,["value"])]),Object(a["createVNode"])("label",dn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"password",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.password=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password]])]),Object(a["createVNode"])("label",On,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_CONFIRMATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"passwordConfirmation",type:"password","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.userForm.password_conf=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.password_conf]])]),pn,Object(a["createVNode"])("label",mn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"first_name","onUpdate:modelValue":t[5]||(t[5]=function(t){return e.userForm.first_name=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.first_name]])]),Object(a["createVNode"])("label",bn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LAST_NAME"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"last_name","onUpdate:modelValue":t[6]||(t[6]=function(t){return e.userForm.last_name=t})},null,512),[[a["vModelText"],e.userForm.last_name]])]),Object(a["createVNode"])("label",Tn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[7]||(t[7]=function(t){return e.userForm.birth_date=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.birth_date]])]),Object(a["createVNode"])("label",En,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LOCATION"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"location","onUpdate:modelValue":t[8]||(t[8]=function(t){return e.userForm.location=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.location]])]),Object(a["createVNode"])("label",Sn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.BIO"))+" ",1),Object(a["createVNode"])(u,{name:"bio",charLimit:200,input:e.userForm.bio,disabled:e.loading,onUpdateValue:e.updateBio},null,8,["input","disabled","onUpdateValue"])]),Object(a["createVNode"])("div",fn,[Object(a["createVNode"])("button",_n,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[9]||(t[9]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1),Object(a["createVNode"])("button",{class:"danger",onClick:t[10]||(t[10]=Object(a["withModifiers"])((function(t){return e.updateDisplayModal(!0)}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],32)])])}var An=Object(a["defineComponent"])({name:"UserInfosEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({password:"",password_conf:"",first_name:"",last_name:"",birth_date:"",location:"",bio:""}),r=Object(a["computed"])((function(){return e.user.created_at?Object(ht["a"])(new Date(e.user.created_at),"dd/MM/yyyy HH:mm"):""})),o=Object(a["computed"])((function(){return t.getters[V["e"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]})),i=Object(a["ref"])(!1);function s(e){n.first_name=e.first_name?e.first_name:"",n.last_name=e.last_name?e.last_name:"",n.birth_date=e.birth_date?Object(ht["a"])(new Date(e.birth_date),"yyyy-MM-dd"):"",n.location=e.location?e.location:"",n.bio=e.bio?e.bio:""}function u(e){n.bio=e}function l(){t.dispatch(V["e"].ACTIONS.UPDATE_USER_PROFILE,n)}function d(e){i.value=e}function O(e){t.dispatch(V["e"].ACTIONS.DELETE_ACCOUNT,{username:e})}return Object(a["onMounted"])((function(){e.user&&s(e.user)})),{displayModal:i,errorMessages:c,loading:o,registrationDate:r,userForm:n,deleteAccount:O,updateBio:u,updateDisplayModal:d,updateProfile:l}}});n("0679");An.render=jn;var Nn=An,Rn=Object(a["withScopeId"])("data-v-500d4a7a");Object(a["pushScopeId"])("data-v-500d4a7a");var In={id:"user-picture-edition"},gn={class:"user-picture-form"},Un={class:"picture-buttons"};Object(a["popScopeId"])();var vn=Rn((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage"),s=Object(a["resolveComponent"])("UserPicture");return Object(a["openBlock"])(),Object(a["createBlock"])("div",In,[Object(a["createVNode"])("div",gn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),Object(a["createVNode"])("form",{onSubmit:t[4]||(t[4]=Object(a["withModifiers"])((function(){return e.updateUserPicture&&e.updateUserPicture.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:t[1]||(t[1]=function(){return e.updatePictureFile&&e.updatePictureFile.apply(e,arguments)})},null,32),Object(a["createVNode"])("div",Un,[Object(a["createVNode"])("button",{type:"submit",disabled:!e.pictureFile},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_UPDATE")),9,["disabled"]),e.user.picture?(Object(a["openBlock"])(),Object(a["createBlock"])("button",{key:0,class:"danger",onClick:t[2]||(t[2]=function(){return e.deleteUserPicture&&e.deleteUserPicture.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("button",{class:"cancel",onClick:t[3]||(t[3]=function(t){return e.$router.push("/profile")})},Object(a["toDisplayString"])(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(a["toDisplayString"])(e.fileSizeLimit),1)],32)])])})),Dn=Object(a["defineComponent"])({name:"UserPictureEdition",components:{UserPicture:w["a"]},props:{user:{type:Object,required:!0}},setup:function(){var e=Object(B["a"])(),t=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.ERROR_MESSAGES]})),n=Object(a["computed"])((function(){return e.getters[V["a"].GETTERS.APP_CONFIG]})),r=n.value.max_single_file_size?Object(je["b"])(n.value.max_single_file_size):"",o=Object(a["ref"])(null);function c(){e.dispatch(V["e"].ACTIONS.DELETE_PICTURE)}function i(e){e.target.files&&(o.value=e.target.files[0])}function s(){o.value&&e.dispatch(V["e"].ACTIONS.UPDATE_USER_PICTURE,{picture:o.value})}return{errorMessages:t,fileSizeLimit:r,pictureFile:o,deleteUserPicture:c,updateUserPicture:s,updatePictureFile:i}}});n("b9fd");Dn.render=vn,Dn.__scopeId="data-v-500d4a7a";var hn=Dn,Pn={id:"user-preferences-edition"},Cn={class:"profile-form form-box"},Mn={class:"form-items"},kn={class:"form-items",for:"timezone"},Ln={class:"form-items"},zn={class:"form-buttons"},yn={class:"confirm",type:"submit"};function wn(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Pn,[Object(a["createVNode"])("div",Cn,[e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(){return e.updateProfile&&e.updateProfile.apply(e,arguments)}),["prevent"]))},[Object(a["createVNode"])("label",Mn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.LANGUAGE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"language","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.userForm.language=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.availableLanguages,(function(e){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:e.value,key:e.value},Object(a["toDisplayString"])(e.label),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.language]])]),Object(a["createVNode"])("label",kn,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.TIMEZONE"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("input",{id:"timezone","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.userForm.timezone=t}),disabled:e.loading},null,8,["disabled"]),[[a["vModelText"],e.userForm.timezone]])]),Object(a["createVNode"])("label",Ln,[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+" ",1),Object(a["withDirectives"])(Object(a["createVNode"])("select",{id:"weekm","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.userForm.weekm=t}),disabled:e.loading},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.weekStart,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("option",{value:t.value,key:t.value},Object(a["toDisplayString"])(e.$t("user.PROFILE.".concat(t.label))),9,["value"])})),128))],8,["disabled"]),[[a["vModelSelect"],e.userForm.weekm]])]),Object(a["createVNode"])("div",zn,[Object(a["createVNode"])("button",yn,Object(a["toDisplayString"])(e.$t("buttons.SUBMIT")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[4]||(t[4]=Object(a["withModifiers"])((function(t){return e.$router.push("/profile/preferences")}),["prevent"]))},Object(a["toDisplayString"])(e.$t("buttons.CANCEL")),1)])],32)])])}var Vn=Object(a["defineComponent"])({name:"UserPreferencesEdition",props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(B["a"])(),n=Object(a["reactive"])({language:"",timezone:"Europe/Paris",weekm:!1}),r=[{label:"MONDAY",value:!0},{label:"SUNDAY",value:!1}],o=Object(a["computed"])((function(){return t.getters[V["e"].GETTERS.USER_LOADING]})),c=Object(a["computed"])((function(){return t.getters[V["a"].GETTERS.ERROR_MESSAGES]}));function i(e){n.language=e.language?e.language:"en",n.timezone=e.timezone?e.timezone:"Europe/Paris",n.weekm=!!e.weekm&&e.weekm}function s(){t.dispatch(V["e"].ACTIONS.UPDATE_USER_PREFERENCES,n)}return Object(a["onMounted"])((function(){e.user&&i(e.user)})),{availableLanguages:q,errorMessages:c,loading:o,userForm:n,weekStart:r,updateProfile:s}}});Vn.render=wn;var Bn=Vn,Gn=n("5502"),xn=n("ade3"),Fn=n("bc3a"),Wn=n.n(Fn),Kn=Wn.a.create({baseURL:Object(G["a"])()});Kn.interceptors.request.use((function(e){var t=Xr.getters[V["e"].GETTERS.AUTH_TOKEN];if(t){var n="Bearer ".concat(t);e.headers.Authorization!==n&&(e.headers.Authorization="Bearer ".concat(t))}return e}),(function(e){return Promise.reject(e)}));var $n,Hn,Yn,qn,Xn,Zn,Qn,Jn,er,tr,nr,rr,or,ar,cr=Kn,ir=($n={},Object(xn["a"])($n,V["a"].ACTIONS.GET_APPLICATION_CONFIG,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,!0),cr.get("config").then((function(t){"success"===t.data.status?e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,!1)}))})),Object(xn["a"])($n,V["a"].ACTIONS.GET_APPLICATION_STATS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("stats/all").then((function(t){"success"===t.data.status?e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])($n,V["a"].ACTIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("config",t).then((function(t){"success"===t.data.status?(e.commit(V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),to.push("/admin/application")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),$n),sr=(Hn={},Object(xn["a"])(Hn,V["a"].GETTERS.APP_CONFIG,(function(e){return e.application.config})),Object(xn["a"])(Hn,V["a"].GETTERS.APP_LOADING,(function(e){return e.appLoading})),Object(xn["a"])(Hn,V["a"].GETTERS.APP_STATS,(function(e){return e.application.statistics})),Object(xn["a"])(Hn,V["a"].GETTERS.ERROR_MESSAGES,(function(e){return e.errorMessages})),Object(xn["a"])(Hn,V["a"].GETTERS.LANGUAGE,(function(e){return e.language})),Object(xn["a"])(Hn,V["a"].GETTERS.LOCALE,(function(e){return e.locale})),Hn),ur=(Yn={},Object(xn["a"])(Yn,V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES,(function(e){e.errorMessages=null})),Object(xn["a"])(Yn,V["a"].MUTATIONS.SET_ERROR_MESSAGES,(function(e,t){e.errorMessages=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_APPLICATION_CONFIG,(function(e,t){e.application.config=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_APPLICATION_LOADING,(function(e,t){e.appLoading=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_APPLICATION_STATS,(function(e,t){e.application.statistics=t})),Object(xn["a"])(Yn,V["a"].MUTATIONS.UPDATE_LANG,(function(e,t){e.language=t,e.locale=$[t]})),Yn),lr={root:!0,language:"en",locale:x["a"],errorMessages:null,application:{},appLoading:!1},dr=(qn={},Object(xn["a"])(qn,V["b"].ACTIONS.GET_SPORTS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("sports").then((function(t){"success"===t.data.status?e.commit(V["b"].MUTATIONS.SET_SPORTS,t.data.data.sports):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(qn,V["b"].ACTIONS.UPDATE_SPORTS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("sports/".concat(t.id),{is_active:t.isActive}).then((function(t){"success"===t.data.status?e.dispatch(V["b"].ACTIONS.GET_SPORTS):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),qn),Or=Object(xn["a"])({},V["b"].GETTERS.SPORTS,(function(e){return e.sports})),pr=Object(xn["a"])({},V["b"].MUTATIONS.SET_SPORTS,(function(e,t){e.sports=t})),mr={sports:[]},br={state:mr,actions:dr,getters:Or,mutations:pr},Tr=br,Er=Object(xn["a"])({},V["c"].ACTIONS.GET_USER_STATS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("stats/".concat(t.username,"/").concat(t.filterType),{params:t.params}).then((function(t){"success"===t.data.status?e.commit(V["c"].MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Sr=Object(xn["a"])({},V["c"].GETTERS.USER_STATS,(function(e){return e.statistics})),fr=(Xn={},Object(xn["a"])(Xn,V["c"].MUTATIONS.UPDATE_USER_STATS,(function(e,t){e.statistics=t})),Object(xn["a"])(Xn,V["c"].MUTATIONS.EMPTY_USER_STATS,(function(e){e.statistics={}})),Xn),_r={statistics:{}},jr={state:_r,actions:Er,getters:Sr,mutations:fr},Ar=jr,Nr=Wn.a.create({baseURL:Object(G["a"])()}),Rr=Nr,Ir=K.global.locale,gr=(Zn={},Object(xn["a"])(Zn,V["e"].ACTIONS.CHECK_AUTH_USER,(function(e){window.localStorage.authToken&&!e.getters[V["e"].GETTERS.IS_AUTHENTICATED]&&(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE))})),Object(xn["a"])(Zn,V["e"].ACTIONS.GET_USER_PROFILE,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("auth/profile").then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&(e.commit(V["a"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ir.value=t.data.data.language),e.dispatch(V["b"].ACTIONS.GET_SPORTS)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.LOGIN_OR_REGISTER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Rr.post("/auth/".concat(t.actionType),t.formData).then((function(t){if("success"===t.data.status){var n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return to.push("/")}))}else Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.LOGOUT,(function(e){localStorage.removeItem("authToken"),e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["c"].MUTATIONS.EMPTY_USER_STATS),e.commit(V["e"].MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(V["f"].MUTATIONS.EMPTY_WORKOUTS),to.push("/login")})),Object(xn["a"])(Zn,V["e"].ACTIONS.UPDATE_USER_PROFILE,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.post("auth/profile/edit",t).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),to.push("/profile")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.UPDATE_USER_PREFERENCES,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.post("auth/profile/edit/preferences",t).then((function(t){"success"===t.data.status?(e.commit(V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(V["a"].MUTATIONS.UPDATE_LANG,t.data.data.language),Ir.value=t.data.data.language,to.push("/profile/preferences")):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.UPDATE_USER_PICTURE,(function(e,t){if(e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");var n=new FormData;n.append("file",t.picture),cr.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){"success"===t.data.status?e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return to.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.DELETE_ACCOUNT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.delete("users/".concat(t.username)).then((function(t){204===t.status?e.dispatch(V["e"].ACTIONS.LOGOUT).then((function(){return to.push("/")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.DELETE_PICTURE,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!0),cr.delete("auth/picture").then((function(t){204===t.status?e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE).then((function(){return to.push("/profile")})):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["e"].MUTATIONS.UPDATE_USER_LOADING,!1)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Rr.post("auth/password/reset-request",t).then((function(t){"success"===t.data.status?to.push("/password-reset/sent"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Object(xn["a"])(Zn,V["e"].ACTIONS.RESET_USER_PASSWORD,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),Rr.post("auth/password/update",t).then((function(t){"success"===t.data.status?to.push("/password-reset/password-updated"):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))})),Zn),Ur=(Qn={},Object(xn["a"])(Qn,V["e"].GETTERS.AUTH_TOKEN,(function(e){return e.authToken})),Object(xn["a"])(Qn,V["e"].GETTERS.AUTH_USER_PROFILE,(function(e){return e.authUserProfile})),Object(xn["a"])(Qn,V["e"].GETTERS.IS_AUTHENTICATED,(function(e){return null!==e.authToken})),Object(xn["a"])(Qn,V["e"].GETTERS.IS_ADMIN,(function(e){return e.authUserProfile&&e.authUserProfile.admin})),Object(xn["a"])(Qn,V["e"].GETTERS.USER_LOADING,(function(e){return e.loading})),Qn),vr=(Jn={},Object(xn["a"])(Jn,V["e"].MUTATIONS.CLEAR_AUTH_USER_TOKEN,(function(e){e.authToken=null,e.authUserProfile={}})),Object(xn["a"])(Jn,V["e"].MUTATIONS.UPDATE_AUTH_TOKEN,(function(e,t){e.authToken=t})),Object(xn["a"])(Jn,V["e"].MUTATIONS.UPDATE_AUTH_USER_PROFILE,(function(e,t){e.authUserProfile=t})),Object(xn["a"])(Jn,V["e"].MUTATIONS.UPDATE_USER_LOADING,(function(e,t){e.loading=t})),Jn),Dr={authToken:null,authUserProfile:{},loading:!1},hr={state:Dr,actions:gr,getters:Ur,mutations:vr},Pr=hr,Cr=(er={},Object(xn["a"])(er,V["d"].ACTIONS.EMPTY_USER,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USER,{})})),Object(xn["a"])(er,V["d"].ACTIONS.EMPTY_USERS,(function(e){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS,[]),e.commit(V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,{})})),Object(xn["a"])(er,V["d"].ACTIONS.GET_USER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!0),cr.get("users/".concat(t)).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(xn["a"])(er,V["d"].ACTIONS.GET_USERS,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!0),cr.get("users",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["d"].MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),Object(xn["a"])(er,V["d"].ACTIONS.UPDATE_USER,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.patch("users/".concat(t.username),{admin:t.admin}).then((function(t){"success"===t.data.status?e.commit(V["d"].MUTATIONS.UPDATE_USER_IN_USERS,t.data.data.users[0]):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)})).finally((function(){return e.commit(V["d"].MUTATIONS.UPDATE_USERS_LOADING,!1)}))})),er),Mr=(tr={},Object(xn["a"])(tr,V["d"].GETTERS.USER,(function(e){return e.user})),Object(xn["a"])(tr,V["d"].GETTERS.USERS,(function(e){return e.users})),Object(xn["a"])(tr,V["d"].GETTERS.USERS_LOADING,(function(e){return e.loading})),Object(xn["a"])(tr,V["d"].GETTERS.USERS_PAGINATION,(function(e){return e.pagination})),tr),kr=(nr={},Object(xn["a"])(nr,V["d"].MUTATIONS.UPDATE_USER,(function(e,t){e.user=t})),Object(xn["a"])(nr,V["d"].MUTATIONS.UPDATE_USER_IN_USERS,(function(e,t){e.users=e.users.map((function(e){return e.username===t.username?t:e}))})),Object(xn["a"])(nr,V["d"].MUTATIONS.UPDATE_USERS,(function(e,t){e.users=t})),Object(xn["a"])(nr,V["d"].MUTATIONS.UPDATE_USERS_LOADING,(function(e,t){e.loading=t})),Object(xn["a"])(nr,V["d"].MUTATIONS.UPDATE_USERS_PAGINATION,(function(e,t){e.pagination=t})),nr),Lr={user:{},users:[],loading:!1,pagination:{}},zr={state:Lr,actions:Cr,getters:Mr,mutations:kr},yr=zr,wr=n("4870"),Vr=function(e,t,n){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),cr.get("workouts",{params:t}).then((function(t){"success"===t.data.status?(e.commit(V["f"].MUTATIONS[n],t.data.data.workouts),n===wr["c"]["SET_USER_WORKOUTS"]&&e.commit(V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):Object(G["b"])(e,null)})).catch((function(t){return Object(G["b"])(e,t)}))},Br=(rr={},Object(xn["a"])(rr,V["f"].ACTIONS.GET_CALENDAR_WORKOUTS,(function(e,t){e.commit(V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS),Vr(e,t,wr["c"]["SET_CALENDAR_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_USER_WORKOUTS,(function(e,t){Vr(e,t,wr["c"]["SET_USER_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_TIMELINE_WORKOUTS,(function(e,t){Vr(e,t,wr["c"]["SET_TIMELINE_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,(function(e,t){Vr(e,t,wr["c"]["ADD_TIMELINE_WORKOUTS"])})),Object(xn["a"])(rr,V["f"].ACTIONS.GET_WORKOUT_DATA,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0);var n=t.segmentId?"/segment/".concat(t.segmentId):"";cr.get("workouts/".concat(t.workoutId)).then((function(r){var o=r.data.data.workouts[0];if("success"===r.data.status){if(t.segmentId&&(0===o.segments.length||!o.segments[+t.segmentId-1]))throw new Error("WORKOUT_NOT_FOUND");e.commit(V["f"].MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(cr.get("workouts/".concat(t.workoutId,"/chart_data").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),cr.get("workouts/".concat(t.workoutId,"/gpx").concat(n)).then((function(t){"success"===t.data.status&&e.commit(V["f"].MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,null)})).catch((function(t){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.DELETE_WORKOUT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.delete("workouts/".concat(t.workoutId)).then((function(){e.commit(V["f"].MUTATIONS.EMPTY_WORKOUT),e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE),to.push("/")})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.EDIT_WORKOUT,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.patch("workouts/".concat(t.workoutId),t.data).then((function(){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE),e.dispatch(V["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((function(){to.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.ADD_WORKOUT,(function(e,t){if(e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");var n=new FormData;n.append("file",t.file),n.append("data",'{"sport_id": '.concat(t.sport_id,', "notes": "').concat(t.notes,'"}')),cr.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((function(t){if("created"===t.data.status){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];to.push(1===t.data.data.workouts.length?"/workouts/".concat(n.id):"/")}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),Object(xn["a"])(rr,V["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,(function(e,t){e.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!0),cr.post("workouts/no_gpx",t).then((function(t){if("created"===t.data.status){e.dispatch(V["e"].ACTIONS.GET_USER_PROFILE);var n=t.data.data.workouts[0];to.push("/workouts/".concat(n.id))}})).catch((function(t){Object(G["b"])(e,t)})).finally((function(){return e.commit(V["f"].MUTATIONS.SET_WORKOUT_LOADING,!1)}))})),rr),Gr=(or={},Object(xn["a"])(or,V["f"].GETTERS.CALENDAR_WORKOUTS,(function(e){return e.calendar_workouts})),Object(xn["a"])(or,V["f"].GETTERS.TIMELINE_WORKOUTS,(function(e){return e.timeline_workouts})),Object(xn["a"])(or,V["f"].GETTERS.USER_WORKOUTS,(function(e){return e.user_workouts})),Object(xn["a"])(or,V["f"].GETTERS.WORKOUT_DATA,(function(e){return e.workoutData})),Object(xn["a"])(or,V["f"].GETTERS.WORKOUTS_PAGINATION,(function(e){return e.pagination})),or),xr=(ar={},Object(xn["a"])(ar,V["f"].MUTATIONS.ADD_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=e.timeline_workouts.concat(t)})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_CALENDAR_WORKOUTS,(function(e,t){e.calendar_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_TIMELINE_WORKOUTS,(function(e,t){e.timeline_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_USER_WORKOUTS,(function(e,t){e.user_workouts=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUTS_PAGINATION,(function(e,t){e.pagination=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT,(function(e,t){e.workoutData.workout=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_CHART_DATA,(function(e,t){e.workoutData.chartData=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_GPX,(function(e,t){e.workoutData.gpx=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.SET_WORKOUT_LOADING,(function(e,t){e.workoutData.loading=t})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_CALENDAR_WORKOUTS,(function(e){e.calendar_workouts=[]})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_WORKOUTS,(function(e){e.calendar_workouts=[],e.user_workouts=[]})),Object(xn["a"])(ar,V["f"].MUTATIONS.EMPTY_WORKOUT,(function(e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}})),ar),Fr={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},Wr={state:Fr,actions:Br,getters:Gr,mutations:xr},Kr=Wr,$r={sportsModule:Tr,statsModule:Ar,userModule:Pr,usersModule:yr,workoutsModule:Kr},Hr={state:lr,actions:ir,getters:sr,mutations:ur,modules:$r},Yr=Hr,qr=Object(Gn["a"])(Yr),Xr=qr,Zr=function(e){var t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Qr=[{path:"/",name:"Dashboard",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"7277"))}},{path:"/login",name:"Login",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"login"}},{path:"/register",name:"Register",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"d277"))},props:{action:"register"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:function(){return n.e("reset").then(n.bind(null,"364c"))},props:{action:"reset"}},{path:"/profile",name:"Profile",component:function(){return n.e("profile").then(n.bind(null,"36e8"))},children:[{path:"",name:"UserProfile",component:Yt,props:function(e){return{tab:Zr(e.path)}},children:[{path:"",name:"UserInfos",component:qt["a"]},{path:"preferences",name:"UserPreferences",component:tn}]},{path:"edit",name:"UserProfileEdition",component:an,props:function(e){return{tab:Zr(e.path)}},children:[{path:"",name:"UserInfosEdition",component:Nn},{path:"picture",name:"UserPictureEdition",component:hn},{path:"preferences",name:"UserPreferencesEdition",component:Bn}]}]},{path:"/statistics",name:"Statistics",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"ccb2"))}},{path:"/users/:username",name:"User",component:function(){return n.e("profile").then(n.bind(null,"ad3d"))}},{path:"/workouts",name:"Workouts",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"0385"))}},{path:"/workouts/:workoutId",name:"Workout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"8ee9"))}},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"304a"))},props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:function(){return Promise.all([n.e("main~workouts"),n.e("workouts")]).then(n.bind(null,"692d"))}},{path:"/admin",name:"Administration",component:function(){return n.e("admin").then(n.bind(null,"89b3"))},children:[{path:"",name:"AdministrationMenu",component:xe},{path:"application",name:"ApplicationAdministration",component:Ne},{path:"application/edit",name:"ApplicationAdministrationEdition",component:Ne,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:dt},{path:"users",name:"UsersAdministration",component:zt}]},{path:"/:pathMatch(.*)*",name:"not-found",component:function(){return Promise.all([n.e("main~workouts"),n.e("main")]).then(n.bind(null,"e19f"))}}],Jr=Object(ie["a"])({history:Object(ie["b"])("/"),routes:Qr}),eo=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register"];Jr.beforeEach((function(e,t,n){Xr.dispatch(V["e"].ACTIONS.CHECK_AUTH_USER).then((function(){if(Xr.getters[V["e"].GETTERS.IS_AUTHENTICATED]&&eo.includes(e.path))return n("/");if(Xr.getters[V["e"].GETTERS.IS_AUTHENTICATED]||eo.includes(e.path))n();else{var t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((function(e){console.error(e),n()}))}));var to=Jr,no=Object(a["withScopeId"])("data-v-f5e8066a");Object(a["pushScopeId"])("data-v-f5e8066a");var ro={class:"alert-message"};Object(a["popScopeId"])();var oo=no((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",ro,[Object(a["createVNode"])("div",{innerHTML:e.$t(e.message)},null,8,["innerHTML"])])})),ao=Object(a["defineComponent"])({name:"AlertMessage",props:{message:String}});n("f5dfd");ao.render=oo,ao.__scopeId="data-v-f5e8066a";var co=ao,io=Object(a["withScopeId"])("data-v-ad3739fc");Object(a["pushScopeId"])("data-v-ad3739fc");var so={class:"custom-textarea"},uo={class:"remaining-chars"};Object(a["popScopeId"])();var lo=io((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",so,[Object(a["withDirectives"])(Object(a["createVNode"])("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.text=t}),onInput:t[2]||(t[2]=function(){return e.updateText&&e.updateText.apply(e,arguments)})},null,40,["id","name","maxLenght","disabled"]),[[a["vModelText"],e.text]]),Object(a["createVNode"])("div",uo,Object(a["toDisplayString"])(e.$t("workouts.REMAINING_CHARS"))+": "+Object(a["toDisplayString"])(e.text.length)+"/"+Object(a["toDisplayString"])(e.charLimit),1)])})),Oo=(n("a9e3"),Object(a["defineComponent"])({name:"CustomTextArea",props:{charLimit:{type:Number,default:500},disabled:{type:Boolean,default:!1},input:{type:String,default:""},name:{type:String,required:!0}},emits:["updateValue"],setup:function(e,t){var n=t.emit,r=Object(a["ref"])("");function o(e){n("updateValue",e.target.value)}return Object(a["watch"])((function(){return e.input}),(function(e){r.value=e})),{text:r,updateText:o}}}));n("aa0a");Oo.render=lo,Oo.__scopeId="data-v-ad3739fc";var po=Oo,mo=Object(a["withScopeId"])("data-v-5ef2ddef");Object(a["pushScopeId"])("data-v-5ef2ddef");var bo={class:"dropdown-wrapper"},To={key:0,class:"dropdown-list"};Object(a["popScopeId"])();var Eo=mo((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",bo,[Object(a["createVNode"])("div",{class:"dropdown-selected",onClick:t[1]||(t[1]=function(){return e.toggleDropdown&&e.toggleDropdown.apply(e,arguments)})},[Object(a["renderSlot"])(e.$slots,"default",{},void 0,!0)]),e.isOpen?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",To,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.dropdownOptions,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{class:["dropdown-item",{selected:t.value===e.selected}],key:n,onClick:function(n){return e.updateSelected(t)}},Object(a["toDisplayString"])(t.label),11,["onClick"])})),128))])):Object(a["createCommentVNode"])("",!0)])})),So=Object(a["defineComponent"])({name:"Dropdown",props:{options:{type:Object,required:!0},selected:{type:String,required:!0}},emits:{selected:function(e){return e}},setup:function(e,t){var n=t.emit,r=Object(ie["c"])(),o=Object(a["ref"])(!1),c=e.options.map((function(e){return e}));function i(){o.value=!o.value}function s(e){n("selected",e),o.value=!1}return Object(a["watch"])((function(){return r.path}),(function(){return o.value=!1})),{dropdownOptions:c,isOpen:o,toggleDropdown:i,updateSelected:s}}});n("95ba");So.render=Eo,So.__scopeId="data-v-5ef2ddef";var fo=So,_o=Object(a["withScopeId"])("data-v-5c177a93");Object(a["pushScopeId"])("data-v-5c177a93");var jo={class:"error-message"},Ao={key:0},No={key:1};Object(a["popScopeId"])();var Ro=_o((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",jo,[Array.isArray(e.message)?(Object(a["openBlock"])(),Object(a["createBlock"])("ul",Ao,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.message,(function(t,n){return Object(a["openBlock"])(),Object(a["createBlock"])("li",{key:n},Object(a["toDisplayString"])(e.$t(t)),1)})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",No,Object(a["toDisplayString"])(e.$t(e.message)),1))])})),Io=Object(a["defineComponent"])({name:"ErrorMessage",props:{message:[String,Array]}});n("4b55");Io.render=Ro,Io.__scopeId="data-v-5c177a93";var go=Io;function Uo(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("CyclingSport"),s=Object(a["resolveComponent"])("CyclingTransport"),u=Object(a["resolveComponent"])("Hiking"),l=Object(a["resolveComponent"])("MountainBiking"),d=Object(a["resolveComponent"])("Running"),O=Object(a["resolveComponent"])("Walking");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"sport-img",style:{fill:e.sportColors[e.sportLabel]},title:e.title?e.title:e.$t("sports.".concat(e.sportLabel,".LABEL"))},["Cycling (Sport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0})):Object(a["createCommentVNode"])("",!0),"Cycling (Transport)"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:1})):Object(a["createCommentVNode"])("",!0),"Hiking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:2})):Object(a["createCommentVNode"])("",!0),"Mountain Biking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:3})):Object(a["createCommentVNode"])("",!0),"Running"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:4})):Object(a["createCommentVNode"])("",!0),"Walking"===e.sportLabel?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:5})):Object(a["createCommentVNode"])("",!0)],12,["title"])}var vo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve"},Do=Object(a["createVNode"])("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),ho=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M321.097,112.359c20.973,12.338,47.985,5.315,60.293-15.652c12.34-20.973,5.35-47.974-15.623-60.304\n\t\tc-21.009-12.332-47.99-5.317-60.314,15.65C293.129,73.036,300.103,100.027,321.097,112.359z"}),Object(a["createVNode"])("path",{d:"M393.081,264.102c-2.414,0-4.8,0.194-7.169,0.362l-14.431-71.605l4.702-1.757c10.666-3.987,16.093-15.868,12.098-26.54\n\t\tc-3.994-10.681-15.946-16.084-26.531-12.09l-51.823,19.38l-2.321-18.864c6.3-13.193,5.541-29.78-4.767-41.482\n\t\tc-21.224-24.092-47.12-12.508-55.191-5.976l-106.884,86.555l0.016,0.024c-3.319,2.893-6.089,6.485-7.86,10.842\n\t\tc-2.191,5.396-2.596,11.067-1.564,16.384c-8.503,0.669-15.255,7.571-15.255,16.246c0,9.085,7.346,16.44,16.432,16.48l-6.797,15.906\n\t\tc-8.62-2.465-17.674-3.866-27.066-3.866C44.27,264.102,0,308.354,0,362.754c0,54.403,44.27,98.663,98.668,98.663\n\t\tc54.403,0,98.652-44.26,98.652-98.663c0-36.228-19.683-67.867-48.858-85.024l10.957-25.652h17.767l60.281,24.462l-32.201,52.773\n\t\tc-8.297,13.612-3.994,31.382,9.615,39.685c4.691,2.86,9.878,4.229,15,4.229c9.729,0,19.234-4.929,24.677-13.838l29.339-48.095\n\t\tl19.072,11.511c-5.447,12.227-8.54,25.726-8.54,39.95c0,54.403,44.254,98.663,98.652,98.663c54.402,0,98.656-44.26,98.656-98.663\n\t\tC491.737,308.354,447.483,264.102,393.081,264.102z M98.668,436.671c-40.756,0-73.923-33.161-73.923-73.917\n\t\tc0-40.756,33.167-73.909,73.923-73.909c5.944,0,11.649,0.896,17.188,2.224l-20.476,47.893\n\t\tc-11.758,1.619-20.843,11.598-20.843,23.792c0,13.323,10.808,24.132,24.13,24.132c8.767,0,16.367-4.745,20.589-11.76h52.065\n\t\tC165.395,409.988,135.188,436.671,98.668,436.671z M171.322,350.383h-52.065c-0.355-0.588-0.708-1.176-1.112-1.732l20.476-47.901\n\t\tC155.679,311.776,167.793,329.595,171.322,350.383z M296.781,290.175l7.666-12.564c4.416-7.233,5.431-16.038,2.774-24.084\n\t\tc-2.661-8.046-8.718-14.515-16.562-17.704l-52.725-21.395l32.443-26.281l1.804,14.691c0.756,6.267,4.366,11.841,9.761,15.12\n\t\tc3.271,1.981,6.979,2.988,10.698,2.988c2.435,0,4.88-0.435,7.218-1.306l48.15-18.001l13.627,67.691\n\t\tc-18.268,6.162-34.117,17.51-45.848,32.314L296.781,290.175z M375.396,337.633l-38.003-22.94\n\t\tc7.877-9.118,17.787-16.319,29.205-20.734L375.396,337.633z M393.081,436.671c-40.757,0-73.907-33.161-73.907-73.917\n\t\tc0-9.544,1.965-18.597,5.268-26.983l44.541,26.888c0,0.032-0.016,0.064-0.016,0.095c0,13.323,10.808,24.132,24.114,24.132\n\t\tc13.322,0,24.118-10.81,24.118-24.132c0-10.478-6.721-19.307-16.06-22.64l-10.277-51.043c0.756-0.024,1.463-0.226,2.22-0.226\n\t\tc40.757,0,73.911,33.153,73.911,73.909C466.992,403.51,433.838,436.671,393.081,436.671z"})],-1);function Po(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",vo,[Do,ho])}var Co={name:"CyclingSport"};Co.render=Po;var Mo=Co,ko={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 491.737 491.737",style:{"enable-background":"new 0 0 491.737 491.737"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},Lo=Object(a["createVNode"])("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),zo=Object(a["createVNode"])("g",{id:"g147"},[Object(a["createVNode"])("path",{d:"m 189.097,82.359 c 20.97701,12.331184 47.97442,5.308784 60.293,-15.652 12.32942,-20.979222 5.35418,-47.981117 -15.623,-60.304 -21.00482,-12.3391184 -47.99,-5.317 -60.314,15.65 -12.324,20.983 -5.34599,47.967183 15.644,60.306 z",id:"path143"}),Object(a["createVNode"])("path",{d:"m 393.081,264.102 c -2.414,0 -4.8,0.194 -7.169,0.362 l -14.431,-71.605 4.702,-1.757 c 10.666,-3.987 16.093,-15.868 12.098,-26.54 -3.994,-10.681 -15.946,-16.084 -26.531,-12.09 l -63.05508,-1.53717 C 284.04753,137.09803 248.90259,106.55858 243.33317,101.62481 217.77732,75.090916 186.1698,85.012419 178.0988,91.544419 L 140.764,192.085 l 0.016,0.024 c -3.319,2.893 -6.089,6.485 -7.86,10.842 -2.191,5.396 -2.596,11.067 -1.564,16.384 -8.503,0.669 -15.255,7.571 -15.255,16.246 0,9.085 7.346,16.44 16.432,16.48 l -6.797,15.906 c -8.62,-2.465 -17.674,-3.866 -27.066,-3.866 C 44.27,264.102 0,308.354 0,362.754 c 0,54.403 44.27,98.663 98.668,98.663 54.403,0 98.652,-44.26 98.652,-98.663 0,-36.228 -19.683,-67.867 -48.858,-85.024 l 10.957,-25.652 h 17.767 l 60.281,24.462 -32.201,52.773 c -8.297,13.612 -3.994,31.382 9.615,39.685 4.691,2.86 9.878,4.229 15,4.229 9.729,0 19.234,-4.929 24.677,-13.838 l 29.339,-48.095 19.072,11.511 c -5.447,12.227 -8.54,25.726 -8.54,39.95 0,54.403 44.254,98.663 98.652,98.663 54.402,0 98.656,-44.26 98.656,-98.663 0,-54.401 -44.254,-98.653 -98.656,-98.653 z M 98.668,436.671 c -40.756,0 -73.923,-33.161 -73.923,-73.917 0,-40.756 33.167,-73.909 73.923,-73.909 5.944,0 11.649,0.896 17.188,2.224 L 95.38,338.962 c -11.758,1.619 -20.843,11.598 -20.843,23.792 0,13.323 10.808,24.132 24.13,24.132 8.767,0 16.367,-4.745 20.589,-11.76 h 52.065 c -5.926,34.862 -36.133,61.545 -72.653,61.545 z m 72.654,-86.288 h -52.065 c -0.355,-0.588 -0.708,-1.176 -1.112,-1.732 l 20.476,-47.901 c 17.058,11.026 29.172,28.845 32.701,49.633 z m 125.459,-60.208 7.666,-12.564 c 4.416,-7.233 5.431,-16.038 2.774,-24.084 -2.661,-8.046 -8.718,-14.515 -16.562,-17.704 l -73.83357,-31.7176 16.7558,-45.21274 c 10.36934,4.13303 41.82171,27.90767 45.77423,28.08592 3.271,1.981 8.57725,1.46711 12.29625,1.46711 2.435,0 18.50584,0.70472 20.84384,-0.16628 L 343.32113,188.03378 361.635,269.33 c -18.268,6.162 -34.117,17.51 -45.848,32.314 z m 78.615,47.458 -38.003,-22.94 c 7.877,-9.118 17.787,-16.319 29.205,-20.734 z m 17.685,99.038 c -40.757,0 -73.907,-33.161 -73.907,-73.917 0,-9.544 1.965,-18.597 5.268,-26.983 l 44.541,26.888 c 0,0.032 -0.016,0.064 -0.016,0.095 0,13.323 10.808,24.132 24.114,24.132 13.322,0 24.118,-10.81 24.118,-24.132 0,-10.478 -6.721,-19.307 -16.06,-22.64 l -10.277,-51.043 c 0.756,-0.024 1.463,-0.226 2.22,-0.226 40.757,0 73.911,33.153 73.911,73.909 -10e-4,40.756 -33.155,73.917 -73.912,73.917 z",id:"path145"})],-1);function yo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",ko,[Lo,zo])}var wo={name:"CyclingTransport"};wo.render=yo;var Vo=wo,Bo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Go=Object(a["createVNode"])("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),xo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M246.413,78.492c21.688,0,39.255-17.573,39.255-39.251c0-21.67-17.567-39.24-39.255-39.24\n\t\tc-21.652,0-39.242,17.57-39.242,39.24C207.171,60.919,224.761,78.492,246.413,78.492z"}),Object(a["createVNode"])("path",{d:"M386.604,202.858c0-11.185-9.066-20.251-20.253-20.251h-68.479l-38.62-54.832l0.127-0.933\n\t\tc1.378-10.474-1.474-21.067-7.911-29.444c-6.441-8.378-15.932-13.852-26.408-15.23c-11.596-1.511-22.592,2.224-30.852,9.225V45.779\n\t\tc0-7.847-6.362-14.217-14.225-14.217H140.59c-7.867,0-14.225,6.37-14.225,14.217v168.953c0,20.68,15.821,37.476,35.979,39.446\n\t\tl-3.043,7.073l-23.859,90.136l-53.73,72.188c-8.006,10.768-5.794,25.987,4.984,34.001c4.348,3.245,9.443,4.811,14.491,4.811\n\t\tc7.422,0,14.729-3.385,19.511-9.795l56.529-75.945c1.851-2.484,3.213-5.299,4.003-8.289l16.266-61.414l44.521,40.877l-6.076,88.603\n\t\tc-0.917,13.393,9.177,24.99,22.58,25.908c0.552,0.04,1.124,0.056,1.691,0.056c12.66,0,23.339-9.819,24.208-22.642l6.882-100.264\n\t\tc0.508-7.364-2.371-14.572-7.815-19.564l-45.994-42.219l13.992-90.613l19.331,27.435c3.801,5.387,9.972,8.592,16.552,8.592h70.882\n\t\tl1.339,232.294c0,4.478,3.626,8.101,8.101,8.101c4.479,0,8.101-3.624,8.101-8.101l-1.339-234.036\n\t\tC381.588,218.245,386.604,211.15,386.604,202.858z"})],-1);function Fo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Bo,[Go,xo])}var Wo={name:"Hiking"};Wo.render=Fo;var Ko=Wo,$o={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},Ho=Object(a["createVNode"])("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Yo=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M149.951,67.997c15.711-7.143,22.739-25.675,15.596-41.416c-7.124-15.701-25.723-22.682-41.453-15.539\n\t\t\tc-15.721,7.134-22.702,25.752-15.578,41.444C115.679,68.216,134.23,75.14,149.951,67.997z"}),Object(a["createVNode"])("path",{d:"M87.517,89.072l-32.828,87.755c-1.979,5.967-1.683,12.594,1.1,18.733c4.055,8.922,12.604,14.525,21.755,15.271\n\t\t\tl76.873,6.244l29.137,64.184c4.122,9.046,14.832,13.148,23.906,9.017c9.075-4.131,13.072-14.859,8.951-23.944l-36.424-80.201\n\t\t\tc0,0-3.605-13.76-21.343-14.133l-43.873-2.572l21.009-55.166l31.671,20.588c5.584,3.663,10.997,3.682,15.1,1.722l55.051-24.997\n\t\t\tc17.069-7.755,6.952-30.036-10.108-22.29l-47.506,21.707l-53.55-34.846c0,0-11.638-8.013-24.241-2.285\n\t\t\tC102.205,73.858,91.112,77.243,87.517,89.072z"}),Object(a["createVNode"])("path",{d:"M423.687,182.488l-2.61,15.042c-2.123,12.154-13.35,25.092-25.092,28.888l-3.711,1.195\n\t\t\tc3.041-16.543,1.282-34.148-6.215-50.633c-19.498-42.974-70.094-61.87-112.943-42.419\n\t\t\tc-42.878,19.479-61.936,70.017-42.438,112.981c17.069,37.562,57.881,56.744,96.534,47.966l-0.784,1.415\n\t\t\tc-5.968,10.796-20.817,19.221-33.144,18.8l-17.892-0.622c-12.336-0.411-30.514,5.002-40.603,12.116l-22.376,15.759\n\t\t\tc-10.107,7.104-28.276,12.632-40.612,12.354l-12.001-0.277c12.718-22.845,14.889-51.159,3.242-76.806\n\t\t\tc-19.517-42.955-70.074-61.879-113.019-42.381c-42.792,19.44-61.87,70.007-42.372,112.933\n\t\t\tc16.667,36.711,56.084,55.788,93.914,48.444l-1.32,2.056c-6.675,10.385-22.08,18.398-34.406,17.92l-32.79-1.291\n\t\t\tc-12.326-0.497-24.021,8.97-26.096,21.143l-2.62,15.339c-0.564,3.271-0.354,6.11,0.401,8.501c-0.43,1.778-0.736,3.548-0.736,5.326\n\t\t\tv9.562c0,10.557,8.568,19.125,19.125,19.125h460.932c10.557,0,19.115-8.568,19.106-19.125l-0.125-167.507\n\t\t\tc0-2.782-0.593-5.221-1.616-7.286c1.396-3.806,2.057-7.841,1.598-11.839l-4.677-40.497c-1.415-12.249-9.763-29.146-18.637-37.724\n\t\t\tl-36.127-34.951C434.712,167.418,425.79,170.325,423.687,182.488z"})])],-1);function qo(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",$o,[Ho,Yo])}var Xo={name:"MountainBiking"};Xo.render=qo;var Zo=Xo,Qo={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},Jo=Object(a["createVNode"])("desc",{id:"runningDescription"},"silhouette of a running person",-1),ea=Object(a["createVNode"])("g",null,[Object(a["createVNode"])("path",{d:"M282.74,80.771c22.318,0,40.401-18.08,40.401-40.389C323.141,18.084,305.058,0,282.74,0\n\t\tc-22.281,0-40.378,18.084-40.378,40.383C242.362,62.691,260.458,80.771,282.74,80.771z"}),Object(a["createVNode"])("path",{d:"M400.207,188.547H331.47l-38.766-55.03l0.123-0.944c1.384-10.514-1.475-21.146-7.94-29.556\n\t\tc-6.461-8.409-16.007-13.903-26.52-15.287c-10.926-1.429-22.619,3.12-31.206,8.646c-1.441,0.928-84.97,54.921-84.97,54.921\n\t\tc-5.175,3.358-8.542,8.877-9.165,15.016c-0.634,6.13,1.574,12.222,5.976,16.541l58.982,58l-6.417,48.954l-18.707,65.584l-67.8-19.4\n\t\tc-12.911-3.676-26.44,3.796-30.159,16.747c-3.699,12.951,3.799,26.459,16.758,30.168l91.271,26.109\n\t\tc2.192,0.627,4.444,0.936,6.7,0.936c4.113,0,8.195-1.04,11.848-3.073c5.655-3.146,9.833-8.409,11.611-14.635l21.963-77.057\n\t\tl26.365,36.639l6.684,119.628c0.73,12.991,11.501,23.036,24.349,23.036c0.441,0,0.92-0.016,1.379-0.039\n\t\tc13.453-0.748,23.745-12.262,23-25.713l-7.083-126.736c-0.271-4.643-1.846-9.116-4.56-12.887l-32.24-44.811l11.959-91.279\n\t\tl19.409,27.555c3.794,5.407,10.005,8.624,16.613,8.624h79.28c11.226,0,20.326-9.101,20.326-20.329\n\t\tC420.533,197.647,411.432,188.547,400.207,188.547z M204.606,190.357l-19.026-18.717l23.476-15.206L204.606,190.357z"})],-1);function ta(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",Qo,[Jo,ea])}var na={name:"Running"};na.render=ta;var ra=na,oa={version:"1.1",id:"Capa_1",x:"0px",y:"0px",viewBox:"0 0 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},aa=Object(a["createVNode"])("desc",{id:"walkingDescription"},"silhouette of a walking person",-1),ca=Object(a["createVNode"])("defs",{id:"defs797"},null,-1),ia=Object(a["createVNode"])("g",{id:"g792"},[Object(a["createVNode"])("path",{d:"m 272.74,80.771 c 22.318,0 40.401,-18.08 40.401,-40.389 C 313.141,18.084 295.058,0 272.74,0 c -22.281,0 -40.378,18.084 -40.378,40.383 0,22.308 18.096,40.388 40.378,40.388 z",id:"path788"}),Object(a["createVNode"])("path",{d:"m 328.5854,174.48445 -40.64148,10.93729 4.76008,-51.90474 0.123,-0.944 c 1.384,-10.514 -1.475,-21.146 -7.94,-29.556 -6.461,-8.409 -16.007,-13.903 -26.52,-15.287 -10.926,-1.429 -22.619,3.12 -31.206,8.646 -1.441,0.928 -84.97,54.921 -84.97,54.921 -5.175,3.358 -8.542,8.877 -9.165,15.016 -0.634,6.13 1.574,12.222 5.976,16.541 l 58.982,58 -6.417,48.954 -25.88143,79.08977 -54.08338,43.67932 c -14.762199,11.1022 -24.410111,22.37008 -15.912276,36.07186 8.515526,13.68031 27.439076,15.75973 42.273746,4.63076 l 48.9456,-38.84296 c 12.09075,-7.84858 23.84126,-20.18502 28.3003,-35.27702 L 235.052,315.187 l 26.365,36.639 6.684,119.628 c 0.73,12.991 11.501,23.036 24.349,23.036 0.441,0 0.92,-0.016 1.379,-0.039 13.453,-0.748 23.745,-12.262 23,-25.713 l -7.083,-126.736 c -0.271,-4.643 -1.846,-9.116 -4.56,-12.887 l -32.24,-44.811 7.981,-57.1 c -15.00943,6.0905 -25.84439,5.48716 0,0 l 59.50354,-17.8263 c 10.75379,-3.22166 16.4326,-12.34116 13.52152,-25.36894 -2.44853,-10.95778 -14.74571,-13.15695 -25.36666,-9.52431 z M 204.606,190.357 185.58,171.64 209.056,156.434 Z",id:"path790"})],-1);function sa(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("svg",oa,[aa,ca,ia])}var ua={name:"Walking"};ua.render=sa;var la=ua,da=Object(a["defineComponent"])({name:"SportImage",components:{CyclingSport:Mo,CyclingTransport:Vo,Hiking:Ko,MountainBiking:Zo,Running:ra,Walking:la},props:{sportLabel:{type:String,required:!0},title:{type:String,required:!1}},setup:function(){return{sportColors:Object(a["inject"])("sportColors")}}});da.render=Uo;var Oa=da,pa=Object(a["withScopeId"])("data-v-8bf75da8");Object(a["pushScopeId"])("data-v-8bf75da8");var ma={class:"loader"};Object(a["popScopeId"])();var ba=pa((function(e,t,n,r,o,c){return Object(a["openBlock"])(),Object(a["createBlock"])("div",ma)})),Ta=Object(a["defineComponent"])({name:"Loader"});n("b373");Ta.render=ba,Ta.__scopeId="data-v-8bf75da8";var Ea=Ta,Sa=Object(a["withScopeId"])("data-v-21b6cb61");Object(a["pushScopeId"])("data-v-21b6cb61");var fa={id:"modal"},_a={class:"custom-modal"},ja={key:0,class:"modal-message"},Aa={key:1,class:"modal-message"},Na={class:"modal-buttons"};Object(a["popScopeId"])();var Ra=Sa((function(e,t,n,r,o,c){var i=Object(a["resolveComponent"])("i18n-t"),s=Object(a["resolveComponent"])("ErrorMessage"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",fa,[Object(a["createVNode"])("div",_a,[Object(a["createVNode"])(u,null,{title:Sa((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.title),1)]})),content:Sa((function(){return[e.strongMessage?(Object(a["openBlock"])(),Object(a["createBlock"])("div",ja,[Object(a["createVNode"])(i,{keypath:e.message},{default:Sa((function(){return[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.strongMessage),1)]})),_:1},8,["keypath"])])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Aa,Object(a["toDisplayString"])(e.message),1)),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("div",Na,[Object(a["createVNode"])("button",{class:"confirm",onClick:t[1]||(t[1]=function(t){return e.emit("confirmAction")})},Object(a["toDisplayString"])(e.$t("buttons.YES")),1),Object(a["createVNode"])("button",{class:"cancel",onClick:t[2]||(t[2]=function(t){return e.emit("cancelAction")})},Object(a["toDisplayString"])(e.$t("buttons.NO")),1)])]})),_:1})])])})),Ia=Object(a["defineComponent"])({name:"Modal",props:{title:{type:String,required:!0},message:{type:String,required:!0},strongMessage:{type:String||null,default:null}},emits:["cancelAction","confirmAction"],setup:function(e,t){var n=t.emit,r=Object(B["a"])(),o=Object(a["computed"])((function(){return r.getters[V["a"].GETTERS.ERROR_MESSAGES]}));return Object(a["onUnmounted"])((function(){return r.commit(V["a"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),{errorMessages:o,emit:n}}});n("8728");Ia.render=Ra,Ia.__scopeId="data-v-21b6cb61";var ga=Ia,Ua=[co,Be,po,fo,go,Ea,ga,Oa],va={mounted:function(e,t){e.clickOutsideEvent=function(n){e===n.target||e.contains(n.target)||t.value(n)},document.body.addEventListener("click",e.clickOutsideEvent),document.body.addEventListener("touchstart",e.clickOutsideEvent)},unmounted:function(e){e.clickOutsideEvent&&(document.body.removeEventListener("click",e.clickOutsideEvent),document.body.removeEventListener("touchstart",e.clickOutsideEvent),e.clickOutsideEvent=void 0)}};r["Chart"].register(r["BarElement"],r["LineElement"],r["PointElement"],r["Legend"],r["Title"],r["Tooltip"],r["Filler"],r["BarController"],r["CategoryScale"],r["LineController"],r["LinearScale"],o["a"]);var Da=Object(a["createApp"])(ce).provide("sportColors",ut["b"]).use(K).use(Xr).use(to).directive("click-outside",va);Ua.forEach((function(e){Da.component(e.name,e)})),Da.mount("#app")},d257:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a}));n("caad"),n("2532"),n("d81d"),n("4de4"),n("ac1f"),n("1276");var r=n("dad5"),o=function(){return"/api/"},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"UNKNOWN",o=t?t.response?413===t.response.status?"file size is greater than the allowed size":t.response.data.message?t.response.data.message:n:t.message?t.message:n:n;e.commit(r["a"].MUTATIONS.SET_ERROR_MESSAGES,o.includes("\n")?o.split("\n").filter((function(e){return""!==e})).map((function(e){return"api.ERROR.".concat(e)})):"api.ERROR.".concat(o))}},d42e:function(e,t,n){"use strict";n("dc79")},da66:function(e,t,n){},dad5:function(e,t,n){"use strict";var r,o,a,c,i,s,u,l,d,O,p,m,b,T,E;n.d(t,"a",(function(){return f})),n.d(t,"b",(function(){return _})),n.d(t,"c",(function(){return j})),n.d(t,"e",(function(){return A})),n.d(t,"d",(function(){return N})),n.d(t,"f",(function(){return R})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG"}(r||(r={})),function(e){e["APP_CONFIG"]="APP_CONFIG",e["APP_LOADING"]="APP_LOADING",e["APP_STATS"]="APP_STATS",e["ERROR_MESSAGES"]="ERROR_MESSAGES",e["LANGUAGE"]="LANGUAGE",e["LOCALE"]="LOCALE"}(o||(o={})),function(e){e["EMPTY_ERROR_MESSAGES"]="EMPTY_ERROR_MESSAGES",e["SET_ERROR_MESSAGES"]="SET_ERROR_MESSAGES",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LOADING"]="UPDATE_APPLICATION_LOADING",e["UPDATE_APPLICATION_STATS"]="UPDATE_APPLICATION_STATS",e["UPDATE_LANG"]="UPDATE_LANG"}(a||(a={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(c||(c={})),function(e){e["SPORTS"]="SPORTS"}(i||(i={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(s||(s={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(u||(u={})),function(e){e["USER_STATS"]="USER_STATS"}(l||(l={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(d||(d={})),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["DELETE_ACCOUNT"]="DELETE_ACCOUNT",e["DELETE_PICTURE"]="DELETE_PICTURE",e["GET_USER_PROFILE"]="GET_USER_PROFILE",e["LOGIN_OR_REGISTER"]="LOGIN_OR_REGISTER",e["LOGOUT"]="LOGOUT",e["SEND_PASSWORD_RESET_REQUEST"]="SEND_PASSWORD_RESET_REQUEST",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES"}(O||(O={})),function(e){e["AUTH_TOKEN"]="AUTH_TOKEN",e["AUTH_USER_PROFILE"]="AUTH_USER_PROFILE",e["IS_ADMIN"]="IS_ADMIN",e["IS_AUTHENTICATED"]="IS_AUTHENTICATED",e["USER_LOADING"]="USER_LOADING"}(p||(p={})),function(e){e["CLEAR_AUTH_USER_TOKEN"]="CLEAR_AUTH_USER_TOKEN",e["UPDATE_AUTH_TOKEN"]="UPDATE_AUTH_TOKEN",e["UPDATE_AUTH_USER_PROFILE"]="UPDATE_AUTH_USER_PROFILE",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(m||(m={})),function(e){e["EMPTY_USER"]="EMPTY_USER",e["EMPTY_USERS"]="EMPTY_USERS",e["GET_USER"]="GET_USER",e["GET_USERS"]="GET_USERS",e["UPDATE_USER"]="UPDATE_USER"}(b||(b={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(T||(T={})),function(e){e["UPDATE_USER"]="UPDATE_USER",e["UPDATE_USER_IN_USERS"]="UPDATE_USER_IN_USERS",e["UPDATE_USERS"]="UPDATE_USERS",e["UPDATE_USERS_LOADING"]="UPDATE_USERS_LOADING",e["UPDATE_USERS_PAGINATION"]="UPDATE_USERS_PAGINATION"}(E||(E={}));var S=n("4870"),f={ACTIONS:r,GETTERS:o,MUTATIONS:a},_={ACTIONS:c,GETTERS:i,MUTATIONS:s},j={ACTIONS:u,GETTERS:l,MUTATIONS:d},A={ACTIONS:O,GETTERS:p,MUTATIONS:m},N={ACTIONS:b,GETTERS:T,MUTATIONS:E},R={ACTIONS:S["a"],GETTERS:S["b"],MUTATIONS:S["c"]}},dc79:function(e,t,n){},e7b6:function(e,t,n){var r={"./en/en.ts":"c142","./fr/fr.ts":"663e"};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id="e7b6"},edb9:function(e,t,n){},f037:function(e,t,n){"use strict";n("aa8e")},f5dfd:function(e,t,n){"use strict";n("9838")},fb34:function(e,t,n){},fb41:function(e,t,n){}}); +//# sourceMappingURL=app.9069e434.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.9069e434.js.map b/fittrackee/dist/static/js/app.9069e434.js.map new file mode 100644 index 00000000..c98c6046 --- /dev/null +++ b/fittrackee/dist/static/js/app.9069e434.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/Common/StatCard.vue","webpack:///./src/components/Common/StatCard.vue?50f0","webpack:///./src/components/Common/StatCard.vue?8fe7","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?67ed","webpack:///./src/utils/sports.ts","webpack:///./src/components/User/UserPicture.vue?6d42","webpack:///./src/components/Common/Card.vue?8159","webpack:///./src/components/Common/Pagination.vue?efed","webpack:///./src/use/useStore.ts","webpack:///./src/components/Administration/AdminSports.vue?6443","webpack:///./src/components/Administration/AdminApplication.vue?7cc7","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?73f1","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?4ce6","webpack:///./src/store/modules/workouts/enums.ts","webpack:///./src/components/Administration/AdminMenu.vue?4bef","webpack:///./src/components/Common/ErrorMessage.vue?f921","webpack:///./src/components/User/ProfileDisplay/UserHeader.vue?a4e5","webpack:///./src/components/NavBar.vue?410d","webpack:///./src/utils/dates.ts","webpack:///./src/App.vue?4cf5","webpack:///./src/locales/fr/administration.json","webpack:///./src/locales/fr/api.json","webpack:///./src/locales/fr/buttons.json","webpack:///./src/locales/fr/common.json","webpack:///./src/locales/fr/dashboard.json","webpack:///./src/locales/fr/error.json","webpack:///./src/locales/fr/sports.json","webpack:///./src/locales/fr/statistics.json","webpack:///./src/locales/fr/user.json","webpack:///./src/locales/fr/workouts.json","webpack:///./src/locales/fr/fr.ts","webpack:///./src/components/Common/Pagination.vue","webpack:///./src/components/Common/Pagination.vue?93e2","webpack:///./src/components/Common/Pagination.vue?73f7","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?7c95","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?820e","webpack:///./src/components/Common/FilterSelects.vue?56eb","webpack:///./src/components/Footer.vue?d019","webpack:///./src/components/User/ProfileDisplay/index.vue?1702","webpack:///./src/components/Common/StatCard.vue?c013","webpack:///./src/components/Common/Modal.vue?4e3e","webpack:///./src/components/Common/FilterSelects.vue","webpack:///./src/components/Common/FilterSelects.vue?927e","webpack:///./src/components/Common/FilterSelects.vue?0254","webpack:///./src/components/Common/Dropdown.vue?2734","webpack:///./src/components/User/ProfileDisplay/UserInfos.vue?db14","webpack:///./src/utils/api.ts","webpack:///./src/components/Administration/AppStatsCards.vue?d919","webpack:///./src/components/Common/CustomTextArea.vue?6de7","webpack:///./src/components/Common/Loader.vue?9489","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?a666","webpack:///./src/components/Administration/AdminUsers.vue?8815","webpack:///./src/locales/en/administration.json","webpack:///./src/locales/en/api.json","webpack:///./src/locales/en/buttons.json","webpack:///./src/locales/en/common.json","webpack:///./src/locales/en/dashboard.json","webpack:///./src/locales/en/error.json","webpack:///./src/locales/en/sports.json","webpack:///./src/locales/en/statistics.json","webpack:///./src/locales/en/user.json","webpack:///./src/locales/en/workouts.json","webpack:///./src/locales/en/en.ts","webpack:///./src/utils/files.ts","webpack:///./src/components/User/UserPicture.vue","webpack:///./src/components/User/UserPicture.vue?2f01","webpack:///./src/components/User/UserPicture.vue?22b2","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2098","webpack:///./src/registerServiceWorker.ts","webpack:///./src/App.vue","webpack:///./src/components/Footer.vue","webpack:///./src/components/Footer.vue?87b7","webpack:///./src/components/Footer.vue?c832","webpack:///./src/components/NavBar.vue","webpack:///./src/i18n.ts","webpack:///./src/utils/locales.ts","webpack:///./src/components/NavBar.vue?a890","webpack:///./src/components/NavBar.vue?ab0f","webpack:///./src/components/NoConfig.vue","webpack:///./src/components/NoConfig.vue?37a4","webpack:///./src/components/NoConfig.vue?ad85","webpack:///./src/App.vue?3acc","webpack:///./src/App.vue?dfb6","webpack:///./src/components/Administration/AdminApplication.vue","webpack:///./src/components/Administration/AdminApplication.vue?8e5b","webpack:///./src/components/Administration/AdminApplication.vue?80c4","webpack:///./src/components/Administration/AdminMenu.vue","webpack:///./src/components/Administration/AppStatsCards.vue","webpack:///./src/components/Administration/AppStatsCards.vue?d6b2","webpack:///./src/components/Administration/AppStatsCards.vue?7576","webpack:///./src/components/Common/Card.vue","webpack:///./src/components/Common/Card.vue?f962","webpack:///./src/components/Common/Card.vue?a585","webpack:///./src/components/Administration/AdminMenu.vue?9783","webpack:///./src/components/Administration/AdminMenu.vue?4828","webpack:///./src/components/Administration/AdminSports.vue","webpack:///./src/components/Administration/AdminSports.vue?9572","webpack:///./src/components/Administration/AdminSports.vue?271c","webpack:///./src/components/Administration/AdminUsers.vue","webpack:///./src/components/Administration/AdminUsers.vue?e346","webpack:///./src/components/Administration/AdminUsers.vue?d3af","webpack:///./src/components/User/ProfileDisplay/index.vue","webpack:///./src/components/User/UserProfileTabs.vue","webpack:///./src/components/User/UserProfileTabs.vue?9e70","webpack:///./src/components/User/UserProfileTabs.vue?3fc9","webpack:///./src/components/User/ProfileDisplay/index.vue?f20a","webpack:///./src/components/User/ProfileDisplay/index.vue?b24c","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?2ffa","webpack:///./src/components/User/ProfileDisplay/UserPreferences.vue?a232","webpack:///./src/components/User/ProfileEdition/index.vue","webpack:///./src/components/User/ProfileEdition/index.vue?4849","webpack:///./src/components/User/ProfileEdition/index.vue?f268","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?b205","webpack:///./src/components/User/ProfileEdition/UserInfosEdition.vue?92df","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?203b","webpack:///./src/components/User/ProfileEdition/UserPictureEdition.vue?311f","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?13dd","webpack:///./src/components/User/ProfileEdition/UserPreferencesEdition.vue?d2de","webpack:///./src/api/authApi.ts","webpack:///./src/store/modules/root/actions.ts","webpack:///./src/store/modules/root/getters.ts","webpack:///./src/store/modules/root/mutations.ts","webpack:///./src/store/modules/root/state.ts","webpack:///./src/store/modules/sports/actions.ts","webpack:///./src/store/modules/sports/getters.ts","webpack:///./src/store/modules/sports/mutations.ts","webpack:///./src/store/modules/sports/state.ts","webpack:///./src/store/modules/sports/index.ts","webpack:///./src/store/modules/statistics/actions.ts","webpack:///./src/store/modules/statistics/getters.ts","webpack:///./src/store/modules/statistics/mutations.ts","webpack:///./src/store/modules/statistics/state.ts","webpack:///./src/store/modules/statistics/index.ts","webpack:///./src/api/defaultApi.ts","webpack:///./src/store/modules/user/actions.ts","webpack:///./src/store/modules/user/getters.ts","webpack:///./src/store/modules/user/mutations.ts","webpack:///./src/store/modules/user/state.ts","webpack:///./src/store/modules/user/index.ts","webpack:///./src/store/modules/users/actions.ts","webpack:///./src/store/modules/users/getters.ts","webpack:///./src/store/modules/users/mutations.ts","webpack:///./src/store/modules/users/state.ts","webpack:///./src/store/modules/users/index.ts","webpack:///./src/store/modules/workouts/actions.ts","webpack:///./src/store/modules/workouts/getters.ts","webpack:///./src/store/modules/workouts/mutations.ts","webpack:///./src/store/modules/workouts/state.ts","webpack:///./src/store/modules/workouts/index.ts","webpack:///./src/store/modules/root/index.ts","webpack:///./src/store/index.ts","webpack:///./src/router/index.ts","webpack:///./src/components/Common/AlertMessage.vue","webpack:///./src/components/Common/AlertMessage.vue?af1b","webpack:///./src/components/Common/AlertMessage.vue?2e10","webpack:///./src/components/Common/CustomTextArea.vue","webpack:///./src/components/Common/CustomTextArea.vue?8616","webpack:///./src/components/Common/CustomTextArea.vue?3b63","webpack:///./src/components/Common/Dropdown.vue","webpack:///./src/components/Common/Dropdown.vue?3644","webpack:///./src/components/Common/Dropdown.vue?9a46","webpack:///./src/components/Common/ErrorMessage.vue","webpack:///./src/components/Common/ErrorMessage.vue?ab8e","webpack:///./src/components/Common/ErrorMessage.vue?7b9e","webpack:///./src/components/Common/Images/SportImage/index.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingSport.vue?7ed2","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue","webpack:///./src/components/Common/Images/SportImage/CyclingTransport.vue?dba6","webpack:///./src/components/Common/Images/SportImage/Hiking.vue","webpack:///./src/components/Common/Images/SportImage/Hiking.vue?3937","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue","webpack:///./src/components/Common/Images/SportImage/MountainBiking.vue?9b70","webpack:///./src/components/Common/Images/SportImage/Running.vue","webpack:///./src/components/Common/Images/SportImage/Running.vue?2248","webpack:///./src/components/Common/Images/SportImage/Walking.vue","webpack:///./src/components/Common/Images/SportImage/Walking.vue?d660","webpack:///./src/components/Common/Images/SportImage/index.vue?2baa","webpack:///./src/components/Common/Images/SportImage/index.vue?5245","webpack:///./src/components/Common/Loader.vue","webpack:///./src/components/Common/Loader.vue?2b84","webpack:///./src/components/Common/Loader.vue?4fd1","webpack:///./src/components/Common/Modal.vue","webpack:///./src/components/Common/Modal.vue?1385","webpack:///./src/components/Common/Modal.vue?e362","webpack:///./src/custom-components.ts","webpack:///./src/directives.ts","webpack:///./src/main.ts","webpack:///./src/utils/index.ts","webpack:///./src/components/User/UserProfileTabs.vue?722a","webpack:///./src/store/modules/root/enums.ts","webpack:///./src/store/modules/sports/enums.ts","webpack:///./src/store/modules/statistics/enums.ts","webpack:///./src/store/modules/user/enums.ts","webpack:///./src/store/modules/users/enums.ts","webpack:///./src/store/constants.ts","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.ts$/","webpack:///./src/components/NoConfig.vue?56f6","webpack:///./src/components/Common/AlertMessage.vue?e180"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","class","icon","text","props","String","required","Number","render","sportColors","Hiking","Running","Walking","sportIdColors","sports","colors","map","sport","id","label","sortSports","a","b","sportATranslatedLabel","translatedLabel","toLowerCase","sportBTranslatedLabel","translateSports","onlyActive","filter","is_active","sort","getSportLabel","workout","sport_id","useStore","user","username","nb_workouts","$t","total_distance","toFixed","nb_sports","components","UserPicture","__scopeId","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","getStartDate","duration","day","weekStartingMonday","weekStartsOn","incrementDate","getDateWithTZ","dateInUTC","tz","Date","getCalendarStartAndEnd","date","monthStart","monthEnd","start","end","formatWorkoutDate","dateTime","dateFormat","timeFormat","workout_date","workout_time","Action","Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.","Admin","Administration","Application","Nombre maximum d'utilisateurs actifs ","Si égal à 0, pas limite d'inscription","Taille max. des archives zip (en Mo) ","Taille max. des fichiers (en Mo) ","Configuration de l'application","Nombre max. de fichiers dans une archive zip ","Revenir à l'admin","Etes-vous sûr de vouloir supprimer le compte de ","0"," ? Toutes les données seront définitivement.","Supprimer l'utilisateur","Activer/désactiver des sports.","Les inscriptions sont actuellement désactivées.","Les inscriptions sont actuellement activées.","Actif","des séances existent","Image","Label","Administration - Sports","Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).","utilisateur","utilisateurs","Ajouter les drois d'admin","Retirer les drois d'admin","status administrateur","date d'inscription","nom d'utilisateur","nombre de séances","Erreur. Veuillez réessayer ou contacter l'administrateur.","Email : une adresse email valide doit être fournie.","Erreur lors de la récupération de la configuration.","Erreur lors de la mise à jour de la configuration","Erreur, veuillez réessayer ou contacter l'administrateur.","Erreur, les inscriptions sont désactivées.","Extension de fichier non autorisée.","La taille du fichier est supérieure à la limite autorisée.","Identifiants invalides.","Données fournies incorrectes.","Jeton de connexion invalide, merci de vous reconnecter.","Jeton de connexion, merci de vous reconnecter.","Pas de fichier fourni.","Pas de fichier sélectionné.","Erreur Réseau.","Mot de passe : les mots de passe saisis sont différents.","Merci de fournir un jeton de connexion valide.","Mot de passe : 8 caractères minimum.","Ce sport n'existe pas.","Signature expirée. Merci de vous reconnecter.","Désolé, cet utilisateur existe déjà.","Inscription validée.","L'utilisateur n'existe pas","Nom d'utilisateur : 3 à 12 caractères requis.","Vous n'avez pas les permissions nécessaires.","précédent","suivant","Précédent","Annuler","Supprimer mon compte","Désactiver","Modifier","Activer","Filtrer","Se connecter","Non","S'inscrire","Valider","Oui","Confirmation","jour","jours","Accueil","ici","trier par ","tri","ascendant","descendant","par page","Total","Tableau de Bord","Ce mois","L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.","Page introuvable","Séance introuvable","Vélo (Sport)","Vélo (Transport)","Randonnée","VTT","Course","Marche","Statistiques","semaine","mois","année","Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.","Email","Saisir une adresse email","Saisir un mot de passe","Confirmer le mot de passe","Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.","Langue","Se déconnecter","Mot de passe","Confirmation du mot de passe","Mot de passe oublié ?","Réinitialisation du mot de passe","Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.","Votre mot de passe a été mis à jour. Cliquez "," pour vous connecter.","Revenir au profil","Bio","Date de naissance","Modifier le profil","Modifier les préférences","Premier jour de la semaine","Prénom","Nom","Lieu","Lundi","Image de profil","Mise à jour de l'image de profil","Mettre à jour l'image","Supprimer","Mise à jour des préférences","Mise à jour du profil","Date d'inscription","Dimanche","image","préférences","profil","Fuseau horaire","Désolé, les inscriptions sont désactivées.","Réinitialiser votre mot de passe","photo de l'utilisateur","Nom d'utilisateur","Ajouter une séance","analyse","dénivelé positif","vitesse moyenne","vitesse moy.","revenir à la séance","dénivelé négatif","afficher les filtres","distance","durée","Modifier la séance","altitude","fin","à partir de","fichier .gpx","masquer les filtres","km","Séances récentes","Charger les séances suivantes","altitude max","fichiers max. ","taille max. ","vitesse max","altitude min","Segment suivant","Séance suivante","données issues du fichier gpx, sans correction","Pas de fichier fourni","pas de répertoire","Pas de carte","Pas de segment suivant","Pas de séance suivante","Pas de notes","Pas de segment précédent","Pas de séance précédente","Pas de records.","Pas de séances.","notes","pauses","Segment précédent","Séance précédente","record","records","Vitesse moy.","Distance la + longue","Durée la + longue","Vitesse max.","nombre de caractères restants ","segment","segments","vitesse","début","titre","jusqu'au","durée totale","Ajoutez votre première séance !","humidité","température","vent","ensoleillé","nuit claire","nuageux","brouillard","partiellement nuageux","nuit partiellement nuageuse","pluie","neige fondue","neige","venteux","avec un fichier .gpx","sans fichier .gpx","séance","séances","date de la séance","Etes-vous sûr de vouloir supprimer cette séance ?","archive .zip","ou une archive .zip contenant des fichiers .gpx","admin","api","buttons","common","dashboard","statistics","workouts","aria-label","aria-hidden","pagination","has_prev","to","path","getQuery","page","disabled","rangePagination","pages","has_next","query","setup","cursor","newQuery","assign","displayModal","title","strongMessage","deleteUserAccount","updateDisplayModal","registrationDate","first_name","last_name","birthDate","location","bio","fromAdmin","authUser","$router","go","Boolean","default","store","getters","GETTERS","AUTH_USER_PROFILE","created_at","format","birth_date","dispatch","ACTIONS","DELETE_ACCOUNT","order_by","onSelectUpdate","order","toUpperCase","per_page","nb","emits","emit","sortList","defaultPage","defaultPerPage","getNumberQueryValue","queryValue","defaultValue","getStringQueryValue","availableValues","includes","locationQuery","orderByList","defaultOrderBy","options","queryOptions","defaultSort","workoutsPayloadKeys","getRange","stop","Array","from","_","currentPage","concat","Add/remove admin rights, delete user account.","Max. number of active users","If 0, no limitation on registration.","Max. files of zip archive","Max. size of uploaded files (in Mb)","Application configuration","Max. size of zip archive (in Mb)","Back to admin","Are you sure you want to delete "," account? All data will be deleted, this cannot be undone.","Delete user","Enable/disable sports.","Registration is currently disabled.","Registration is currently enabled.","Active","workouts exist","Sports administration","Update application configuration (maximum number of registered users, maximum files size).","users","Add admin rights","Remove admin rights","admin status","registration date","workout count","Error. Please try again or contact the administrator.","Email: valid email must be provided.","Error on getting configuration.","Error when updating configuration","Error, please try again or contact the administrator.","Error, registration is disabled.","File extension not allowed.","File size is greater than the allowed size.","Invalid credentials.","Provided data are invalid.","Invalid token, please log in again.","Network Error.","No file provided.","No selected file.","Password: password and password confirmation don't match.","Provide a valid auth token.","Password: 8 characters required.","Sorry, that user already exists.","Sport does not exist.","Signature expired. Please log in again.","Successfully registered.","User does not exist.","Username: 3 to 12 characters required.","You do not have permissions.","previous","next","Back","Cancel","Delete my account","Disable","Edit","Enable","Filter","Log in","No","Register","Submit","Yes","days","Home","here","order by","ascending","descending","Dashboard","This month","The application seems encounter some issues.
Please try later or contact the administrator.","Page not found","Workout not found","Cycling (Sport)","Cycling (Transport)","Mountain Biking","Statistics","week","month","year","Are you sure you want to delete your account? All data will be deleted, this cannot be undone","Enter an email address","Enter a password","Confirm the password","Invalid token, please request a new password reset.","Language","Login","Logout","Password","Confirm Password","Password confirmation","Forgot password?","Password reset","Check your email. If your address is in our database, you'll received an email with a link to reset your password.","Your password have been updated. Click "," to log in.","Back to profile","Birth date","Edit profile","Edit preferences","First name","First day of week","Last name","Location","Monday","Picture","Picture edition","Update picture","Remove picture","Preferences edition","Profile edition","Registration date","Sunday","picture","preferences","profile","Timezone","Sorry, registration is disabled.","Reset your password","user picture","Username","Add a workout","analysis","ascent","ave. speed","average speed","back to workout","descent","display filters","Edit the workout","elevation",".gpx file","hide filters","Latest workouts","Load more workouts","max. altitude","max files","max size","max. speed","min. altitude","No next segment","Next workout","data from gpx, without any cleaning","No file provided","no folder inside","No map","No next workout","No notes","No previous segment","No previous workout","No records.","No workouts.","Previous segment","Previous workout","Ave. speed","Farest distance","Longest duration","Max. speed","remaining characters","speed","total duration","Upload one!","humidity","temperature","wind","clear day","clear night","cloudy","fog","partly cloudy day","partly cloudy night","rain","sleet","snow","with .gpx file","without .gpx file","workout date","Are you sure you want to delete this workout?",".zip file","or .zip file containing .gpx files","suffixes","getReadableFileSize","fileSize","asText","Math","floor","log","size","suffix","pow","getFileSizeInMB","authUserPictureUrl","alt","ready","registered","cached","updatefound","updated","offline","updateHideScrollBar","appLoading","hideScrollBar","appConfig","displayScrollButton","scrollToTop","version","isMenuOpen","openMenu","closeMenu","isAuthenticated","capitalize","logout","availableLanguages","language","selected","updateLanguage","loadLocaleMessages","locales","messages","keys","forEach","matched","match","locale","legacy","fallbackLocale","globalInjection","localeFromLanguage","en","fr","languageLabels","availableLocales","global","IS_AUTHENTICATED","now","LANGUAGE","option","toString","commit","MUTATIONS","UPDATE_LANG","LOGOUT","xmlns","viewBox","Footer","NavBar","NoConfig","APP_CONFIG","APP_LOADING","isScrolledToBottom","element","getBoundingClientRect","top","innerHeight","bottom","scroll","onscroll","querySelector","scrollTo","behavior","GET_APPLICATION_CONFIG","for","content","onSubmit","min","appData","max_users","edition","step","max_single_file_size","max_zip_file_size","gpx_limit_import","errorMessages","onCancel","router","ERROR_MESSAGES","updateForm","EMPTY_ERROR_MESSAGES","formData","UPDATE_APPLICATION_CONFIG","app-statistics","appStatistics","usersCount","sportsCount","workoutCount","uploadDirSize","StatCard","uploads_dir_size","AppStatsCards","Card","translatedSports","sport-label","updateSportStatus","has_workouts","SPORTS","isActive","UPDATE_SPORTS","reloadUsers","email","updateUser","FilterSelects","Pagination","route","USERS","USERS_PAGINATION","loadUsers","queryParams","GET_USERS","UPDATE_USER","queryParam","EMPTY_USERS","tabs","selectedTab","tab","checked","getPath","UserHeader","UserProfileTabs","timezone","fistDayOfWeek","weekm","loading","USER_LOADING","deleteAccount","updateProfile","userForm","password","password_conf","charLimit","input","updateBio","updateUserForm","UPDATE_USER_PROFILE","updateUserPicture","accept","updatePictureFile","pictureFile","deleteUserPicture","fileSizeLimit","DELETE_PICTURE","files","UPDATE_USER_PICTURE","lang","weekStart","UPDATE_USER_PREFERENCES","authApi","baseURL","interceptors","use","config","authToken","AUTH_TOKEN","auth","headers","Authorization","actions","context","UPDATE_APPLICATION_LOADING","res","status","catch","finally","GET_APPLICATION_STATS","UPDATE_APPLICATION_STATS","payload","patch","state","application","APP_STATS","LOCALE","mutations","SET_ERROR_MESSAGES","root","GET_SPORTS","SET_SPORTS","sportsState","GET_USER_STATS","filterType","params","UPDATE_USER_STATS","USER_STATS","EMPTY_USER_STATS","statisticsState","CHECK_AUTH_USER","localStorage","UPDATE_AUTH_TOKEN","GET_USER_PROFILE","UPDATE_AUTH_USER_PROFILE","LOGIN_OR_REGISTER","post","actionType","token","auth_token","setItem","removeItem","CLEAR_AUTH_USER_TOKEN","EMPTY_WORKOUTS","UPDATE_USER_LOADING","form","FormData","append","delete","SEND_PASSWORD_RESET_REQUEST","RESET_USER_PASSWORD","authUserProfile","IS_ADMIN","userState","EMPTY_USER","UPDATE_USERS","UPDATE_USERS_PAGINATION","GET_USER","UPDATE_USERS_LOADING","UPDATE_USER_IN_USERS","USER","USERS_LOADING","updatedUser","usersState","SET_WORKOUTS_PAGINATION","GET_CALENDAR_WORKOUTS","EMPTY_CALENDAR_WORKOUTS","GET_USER_WORKOUTS","GET_TIMELINE_WORKOUTS","GET_MORE_TIMELINE_WORKOUTS","GET_WORKOUT_DATA","SET_WORKOUT_LOADING","segmentUrl","segmentId","workoutId","SET_WORKOUT","with_gpx","SET_WORKOUT_CHART_DATA","chart_data","SET_WORKOUT_GPX","gpx","EMPTY_WORKOUT","DELETE_WORKOUT","EDIT_WORKOUT","ADD_WORKOUT","file","ADD_WORKOUT_WITHOUT_GPX","CALENDAR_WORKOUTS","calendar_workouts","TIMELINE_WORKOUTS","timeline_workouts","USER_WORKOUTS","user_workouts","WORKOUT_DATA","workoutData","WORKOUTS_PAGINATION","ADD_TIMELINE_WORKOUTS","SET_CALENDAR_WORKOUTS","SET_TIMELINE_WORKOUTS","SET_USER_WORKOUTS","chartData","workoutsState","sportsModule","statsModule","userModule","usersModule","workoutsModule","getTabFromPath","regex","replace","routes","component","action","children","UserInfos","UserPreferences","ProfileEdition","UserInfosEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","AdminUsers","history","pathsWithoutAuthentication","beforeEach","fullPath","maxLenght","updateText","toggleDropdown","isOpen","dropdownOptions","index","updateSelected","isArray","subMessage","style","sportLabel","xmlns:xlink","x","y","xml:space","xmlns:svg","CyclingSport","CyclingTransport","MountainBiking","keypath","customComponents","AlertMessage","CustomTextArea","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","register","app","App","provide","i18n","directive","mount","getApiUrl","handleError","msg","response","split","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UserActions","UserGetters","UserMutations","UsersActions","UsersGetters","UsersMutations","ROOT_STORE","SPORTS_STORE","STATS_STORE","USER_STORE","USERS_STORE","WORKOUTS_STORE","webpackContext","req","webpackContextResolve"],"mappings":"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oC,uEACmBC,8D,8EACOC,qD,iDAC7BC,6B,qDACIC,kC,kDACHC,qB,8FAC4CC,+D,+DAC/BC,qD,oEACKC,2C,yDACXC,6B,2EACkBC,oD,oEACPC,2C,4DACRC,2B,wDACJC,iC,0EACkBC,oD,gEACVC,oD,uDAGnBC,gB,uCACJC,gB,0CC7BFC,gB,yCACEC,c,oDACWC,2B,0CACVC,iB,uCACHC,e,yCACEC,c,yCACAC,c,wCACDC,mB,qCACHC,U,2CACMC,iB,yCACFC,c,sCACHC,W,kDCXSC,mB,kDACTC,YAAAC,c,uCACCC,c,uCACAC,U,2DAGKC,kB,+CAGAC,U,sCACFC,gB,uCACCC,kB,kDAGCC,iB,2CAGHC,a,+CCjBGC,sB,6CACCC,e,6CCDHnD,gE,4CACEoD,2H,kDAEHC,uB,0CACGC,2B,8DCHFC,oB,+DAGAC,wB,gDAGAC,iB,2DAGAC,W,iDAGAC,c,iDAGAC,e,gDChBGC,mB,oDAEJC,c,wCACCC,W,uCACDC,c,2CCJD/F,Y,2DACmBgG,0G,wCACnBC,Y,8CACMC,+B,iDACGC,6B,8DACaC,gC,gDACdC,sF,2CACLC,a,wCACHrC,mB,yCACCsC,qB,2CACEC,mB,mDACQC,mC,wDACKA,mC,qDACHC,4B,iDACJC,uC,2DACUC,2J,wEACRC,iDAAClG,EAADA,MAACmG,2B,2DAEAC,wB,sCACZC,U,6CACOC,wB,uCACNC,yB,mDACYC,+B,oDACCC,iC,6CACPC,a,2CACFf,a,4CACCgB,U,2CACDC,W,yCACFC,Y,0CACCC,sB,kDACQC,uC,iDACDC,4B,iDACAC,gB,sDACKC,kC,kDACJC,4B,oDACEC,yB,yCACXC,e,gDAEGC,Y,8CACIC,kB,0CACJC,c,2CAEDC,sB,2CAEFjE,iB,oDACSkE,iD,iDACHC,uC,+CACFC,6B,2CACJC,yB,iDChDGC,yB,2CACHC,c,yCACFC,uB,gDACOC,sB,4CACJC,mB,kDACMC,0B,uCACX3J,W,0CACG4J,uB,kDACQC,2B,2CACPC,e,2CACAC,Y,+CACIC,yB,4CACHC,e,sCACNC,U,uCACCC,kB,2CACIC,mB,+CACIC,0B,qCACVC,S,kDAC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DAGnBC,e,uCACJC,a,0CC7BFC,W,yCACEC,a,oDACWC,wB,0CACVC,c,uCACHC,W,yCACEC,a,yCACAC,a,wCACDC,a,qCACHC,S,2CACMC,e,yCACFC,a,sCACHC,W,kDCXS/R,mB,kDACT5F,WAAA4X,a,uCACCC,W,uCACAC,W,2DAGKC,gB,+CAGAnZ,W,sCACFoZ,gB,uCACCC,kB,kDAGC5R,iB,wCAGJC,a,+CCjBI4R,gB,6CACCC,kB,6CCDH7C,4D,4CACE8C,uG,kDAEHC,qB,0CACGC,0B,8DCHFC,uB,+DAGAC,2B,gDAGAjb,c,2DAGAkb,uB,iDAGAjb,e,iDAGAC,gB,gDChBGib,iB,oDAEJC,W,wCACCC,Y,uCACDC,a,2CCJDvX,Y,2DACmBwX,oG,wCACnBvR,Y,8CACMwR,6B,iDACGC,uB,8DACaC,2B,gDACdC,0D,2CACLC,e,wCACHC,Y,yCACCC,a,2CACEC,e,mDACQC,uB,wDACKC,4B,qDACHC,uB,iDACJC,qB,2DACUC,yH,wEACRC,2CAAC3X,EAADA,MAAC4X,iB,2DAEAC,sB,sCACZxR,U,6CACOyR,iB,uCACNC,mB,mDACYC,uB,6CACNC,iB,oDACOC,wB,2CACThB,e,4CACCiB,gB,2CACDC,e,yCACFC,a,0CACCC,c,kDACQC,sB,iDACDC,qB,iDACAC,qB,sDACKC,0B,kDACJC,sB,oDACEC,wB,yCACXC,a,gDAEGC,c,8CACIC,kB,0CACJC,e,2CAEDC,gB,2CAEFzD,e,oDACS0D,uC,iDACHC,0B,+CACFC,mB,2CACJC,gB,iDChDGC,oB,2CACHC,e,yCACFC,a,4CACGC,iB,gDACIC,oB,kDACEC,sB,uCACXnb,W,0CACGob,c,kDACQC,sB,2CACPvR,e,2CACAxK,e,+CACIgc,uB,4CACHC,gB,sCACNnb,U,uCACC6S,W,2CACIuI,gB,+CACIC,mB,qCACVnR,S,kDACaoR,sB,oDACEC,yB,+CACLC,oB,4CACHC,gB,2CACDC,e,4CACCC,iB,+CACGC,oB,+CACAC,sB,+CACAC,mB,mDACIC,0C,mDACAC,uB,4CACPC,uB,yCACHC,a,kDACSL,sB,kDACAM,sB,2CA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","file":"static/js/app.9069e434.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"b2c267a7\",\"main~workouts\":\"896585f2\",\"main\":\"8f9faede\",\"workouts\":\"c5b00439\",\"profile\":\"291e07db\",\"reset\":\"60cf3dbf\",\"chunk-2d0c9189\":\"c81458cc\",\"chunk-2d0cf391\":\"020c75ea\",\"chunk-2d0da8f3\":\"c8c3e7e8\",\"chunk-2d2248b6\":\"d84473c1\",\"chunk-2d22523a\":\"4b710d99\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"admin\":1,\"main~workouts\":1,\"main\":1,\"workouts\":1,\"profile\":1,\"reset\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"admin\":\"admin\",\"main~workouts\":\"main~workouts\",\"main\":\"main\",\"workouts\":\"workouts\",\"profile\":\"profile\",\"reset\":\"reset\"}[chunkId]||chunkId) + \".\" + {\"admin\":\"c784857e\",\"main~workouts\":\"c12079e7\",\"main\":\"967c2c29\",\"workouts\":\"72b1c915\",\"profile\":\"a602fc10\",\"reset\":\"5eaa1e50\",\"chunk-2d0c9189\":\"31d6cfe0\",\"chunk-2d0cf391\":\"31d6cfe0\",\"chunk-2d0da8f3\":\"31d6cfe0\",\"chunk-2d2248b6\":\"31d6cfe0\",\"chunk-2d22523a\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'StatCard',\n props: {\n icon: {\n type: String,\n required: true,\n },\n value: {\n type: [String, Number],\n required: true,\n },\n text: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./StatCard.vue?vue&type=template&id=32e77e48\"\nimport script from \"./StatCard.vue?vue&type=script&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfosEdition.vue?vue&type=style&index=0&id=a2dfdb58&lang=scss\"","import { ISport, ITranslatedSport } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\n// TODO: allow user to change colors\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n Running: '#835b83',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map((sport) => (colors[sport.id] = sportColors[sport.label]))\n return colors\n}\n\nconst sortSports = (a: ITranslatedSport, b: ITranslatedSport): number => {\n const sportATranslatedLabel = a.translatedLabel.toLowerCase()\n const sportBTranslatedLabel = b.translatedLabel.toLowerCase()\n return sportATranslatedLabel > sportBTranslatedLabel\n ? 1\n : sportATranslatedLabel < sportBTranslatedLabel\n ? -1\n : 0\n}\n\nexport const translateSports = (\n sports: ISport[],\n t: CallableFunction,\n onlyActive = false\n): ITranslatedSport[] =>\n sports\n .filter((sport) => (onlyActive ? sport.is_active : true))\n .map((sport) => ({\n ...sport,\n translatedLabel: t(`sports.${sport.label}.LABEL`),\n }))\n .sort(sortSports)\n\nexport const getSportLabel = (workout: IWorkout, sports: ISport[]): string => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.label)[0]\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./UserHeader.vue?vue&type=template&id=a6fa997c&scoped=true\"\nimport script from \"./UserHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a6fa997c\"\n\nexport default script","export enum WorkoutsActions {\n ADD_WORKOUT = 'ADD_WORKOUT',\n ADD_WORKOUT_WITHOUT_GPX = 'ADD_WORKOUT_WITHOUT_GPX',\n DELETE_WORKOUT = 'DELETE_WORKOUT',\n EDIT_WORKOUT = 'EDIT_WORKOUT',\n GET_CALENDAR_WORKOUTS = 'GET_CALENDAR_WORKOUTS',\n GET_USER_WORKOUTS = 'GET_USER_WORKOUTS',\n GET_TIMELINE_WORKOUTS = 'GET_TIMELINE_WORKOUTS',\n GET_MORE_TIMELINE_WORKOUTS = 'GET_MORE_TIMELINE_WORKOUTS',\n GET_WORKOUT_DATA = 'GET_WORKOUT_DATA',\n}\n\nexport enum WorkoutsGetters {\n CALENDAR_WORKOUTS = 'CALENDAR_WORKOUTS',\n TIMELINE_WORKOUTS = 'TIMELINE_WORKOUTS',\n USER_WORKOUTS = 'USER_WORKOUTS',\n WORKOUT_DATA = 'WORKOUT_DATA',\n WORKOUTS_PAGINATION = 'WORKOUTS_PAGINATION',\n}\n\nexport enum WorkoutsMutations {\n ADD_TIMELINE_WORKOUTS = 'ADD_TIMELINE_WORKOUTS',\n EMPTY_WORKOUTS = 'EMPTY_WORKOUTS',\n EMPTY_CALENDAR_WORKOUTS = 'EMPTY_CALENDAR_WORKOUTS',\n EMPTY_WORKOUT = 'EMPTY_WORKOUT',\n SET_CALENDAR_WORKOUTS = 'SET_CALENDAR_WORKOUTS',\n SET_TIMELINE_WORKOUTS = 'SET_TIMELINE_WORKOUTS',\n SET_USER_WORKOUTS = 'SET_USER_WORKOUTS',\n SET_WORKOUT = 'SET_WORKOUT',\n SET_WORKOUT_GPX = 'SET_WORKOUT_GPX',\n SET_WORKOUT_CHART_DATA = 'SET_WORKOUT_CHART_DATA',\n SET_WORKOUT_LOADING = 'SET_WORKOUT_LOADING',\n SET_WORKOUTS_PAGINATION = 'SET_WORKOUTS_PAGINATION',\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserHeader.vue?vue&type=style&index=0&id=a6fa997c&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NavBar.vue?vue&type=style&index=0&id=03a78350&scoped=true&lang=scss\"","import {\n addDays,\n addMonths,\n addYears,\n endOfMonth,\n endOfWeek,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n} from 'date-fns'\nimport { utcToZonedTime } from 'date-fns-tz'\n\nexport const getStartDate = (\n duration: string,\n day: Date,\n weekStartingMonday: boolean\n): Date => {\n switch (duration) {\n case 'week':\n return startOfWeek(day, { weekStartsOn: weekStartingMonday ? 1 : 0 })\n case 'year':\n return startOfYear(day)\n case 'month':\n return startOfMonth(day)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const incrementDate = (duration: string, day: Date): Date => {\n switch (duration) {\n case 'week':\n return addDays(day, 7)\n case 'year':\n return addYears(day, 1)\n case 'month':\n return addMonths(day, 1)\n default:\n throw new Error(\n `Invalid duration, expected: \"week\", \"month\", \"year\", got: \"${duration}\"`\n )\n }\n}\n\nexport const getDateWithTZ = (dateInUTC: string, tz: string): Date => {\n return utcToZonedTime(new Date(dateInUTC), tz)\n}\n\nexport const getCalendarStartAndEnd = (\n date: Date,\n weekStartingMonday: boolean\n): Record => {\n const monthStart = startOfMonth(date)\n const monthEnd = endOfMonth(date)\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n start: startOfWeek(monthStart, { weekStartsOn }),\n end: endOfWeek(monthEnd, { weekStartsOn }),\n }\n}\n\nexport const formatWorkoutDate = (\n dateTime: Date,\n dateFormat: string | null = null,\n timeFormat: string | null = null\n): Record => {\n if (!dateFormat) {\n dateFormat = 'yyyy/MM/dd'\n }\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat),\n workout_time: format(dateTime, timeFormat),\n }\n}\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Nombre maximum d'utilisateurs actifs \",\n \"MAX_USERS_HELP\": \"Si égal à 0, pas limite d'inscription\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Taille max. des archives zip (en Mo) \",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Taille max. des fichiers (en Mo) \",\n \"TITLE\": \"Configuration de l'application\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Nombre max. de fichiers dans une archive zip \"\n },\n \"BACK_TO_ADMIN\": \"Revenir à l'admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer le compte de {0} ? Toutes les données seront définitivement.\",\n \"DELETE_USER\": \"Supprimer l'utilisateur\",\n \"ENABLE_DISABLE_SPORTS\": \"Activer/désactiver des sports.\",\n \"REGISTRATION_DISABLED\": \"Les inscriptions sont actuellement désactivées.\",\n \"REGISTRATION_ENABLED\": \"Les inscriptions sont actuellement activées.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Actif\",\n \"HAS_WORKOUTS\": \"des séances existent\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Administration - Sports\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\",\n \"USER\": \"utilisateur | utilisateurs\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Ajouter les drois d'admin\",\n \"REMOVE_ADMIN_RIGHTS\": \"Retirer les drois d'admin\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"status administrateur\",\n \"CREATED_AT\": \"date d'inscription\",\n \"USERNAME\": \"nom d'utilisateur\",\n \"WORKOUTS_COUNT\": \"nombre de séances\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"email: valid email must be provided\": \"Email : une adresse email valide doit être fournie.\",\n \"error on getting configuration\": \"Erreur lors de la récupération de la configuration.\",\n \"error when updating configuration\": \"Erreur lors de la mise à jour de la configuration\",\n \"error, please try again or contact the administrator\": \"Erreur, veuillez réessayer ou contacter l'administrateur.\",\n \"error, registration is disabled\": \"Erreur, les inscriptions sont désactivées.\",\n \"file extension not allowed\": \"Extension de fichier non autorisée.\",\n \"file size is greater than the allowed size\": \"La taille du fichier est supérieure à la limite autorisée.\",\n \"invalid credentials\": \"Identifiants invalides.\",\n \"invalid payload\": \"Données fournies incorrectes.\",\n \"invalid token, please log in again\": \"Jeton de connexion invalide, merci de vous reconnecter.\",\n \"invalid token, please request a new token\": \"Jeton de connexion, merci de vous reconnecter.\",\n \"no file part\": \"Pas de fichier fourni.\",\n \"no selected file\": \"Pas de fichier sélectionné.\",\n \"Network Error\": \"Erreur Réseau.\",\n \"password: password and password confirmation do not match\": \"Mot de passe : les mots de passe saisis sont différents.\",\n \"provide a valid auth token\": \"Merci de fournir un jeton de connexion valide.\",\n \"password: 8 characters required\": \"Mot de passe : 8 caractères minimum.\",\n \"sport does not exist\": \"Ce sport n'existe pas.\",\n \"signature expired, please log in again\": \"Signature expirée. Merci de vous reconnecter.\",\n \"sorry, that user already exists\": \"Désolé, cet utilisateur existe déjà.\",\n \"successfully registered\": \"Inscription validée.\",\n \"user does not exist\": \"L'utilisateur n'existe pas\",\n \"username: 3 to 12 characters required\": \"Nom d'utilisateur : 3 à 12 caractères requis.\",\n \"you do not have permissions\": \"Vous n'avez pas les permissions nécessaires.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"précédent\",\n \"NEXT\": \"suivant\"\n }\n}","{\n \"BACK\": \"Précédent\",\n \"CANCEL\": \"Annuler\",\n \"DELETE_MY_ACCOUNT\": \"Supprimer mon compte\",\n \"DISABLE\": \"Désactiver\",\n \"EDIT\": \"Modifier\",\n \"ENABLE\": \"Activer\",\n \"FILTER\": \"Filtrer\",\n \"LOGIN\": \"Se connecter\",\n \"NO\": \"Non\",\n \"REGISTER\": \"S'inscrire\",\n \"SUBMIT\": \"Valider\",\n \"YES\": \"Oui\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"jour | jours\",\n \"HOME\": \"Accueil\",\n \"HERE\": \"ici\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"trier par \"\n },\n \"ORDER\": {\n \"LABEL\": \"tri\",\n \"ASC\": \"ascendant\",\n \"DESC\": \"descendant\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL \": \"Total\"\n}","{\n \"DASHBOARD\": \"Tableau de Bord\",\n \"THIS_MONTH\": \"Ce mois\"\n}\n","{\n \"UNKNOWN\": \"Erreur. Veuillez réessayer ou contacter l'administrateur.\",\n \"APP_ERROR\": \"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page introuvable\",\n \"WORKOUT\": \"Séance introuvable\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Vélo (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Vélo (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Randonnée\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"VTT\"\n },\n \"Running\": {\n \"LABEL\": \"Course\"\n },\n \"Walking\": {\n \"LABEL\": \"Marche\"\n }\n}","{\n \"STATISTICS\": \"Statistiques\",\n \"TIME_FRAMES\": {\n \"week\": \"semaine\",\n \"month\": \"mois\",\n \"year\": \"année\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Etes-vous sûr de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés.\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Saisir une adresse email\",\n \"ENTER_PASSWORD\": \"Saisir un mot de passe\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirmer le mot de passe\",\n \"INVALID_TOKEN\": \"Jeton invalide, veullez demander une nouvelle réinitialisation de mot de passe.\",\n \"LANGUAGE\": \"Langue\",\n \"LOGIN\": \"Se connecter\",\n \"LOGOUT\": \"Se déconnecter\",\n \"PASSWORD\": \"Mot de passe\",\n \"PASSWORD_CONFIRM\": \"Confirmation du mot de passe\",\n \"PASSWORD_CONFIRMATION\": \"Confirmation du mot de passe\",\n \"PASSWORD_FORGOTTEN\": \"Mot de passe oublié ?\",\n \"PASSWORD_RESET\": \"Réinitialisation du mot de passe\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"Vérifiez vore boite mail. Si vote adresse est dans notre base de données, vous recevrez un email avec un lien pour réinitialiser votre mot de passe.\",\n \"PASSWORD_UPDATED\": \"Votre mot de passe a été mis à jour. Cliquez {0} pour vous connecter.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Revenir au profil\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Date de naissance\",\n \"EDIT\": \"Modifier le profil\",\n \"EDIT_PREFERENCES\": \"Modifier les préférences\",\n \"FIRST_DAY_OF_WEEK\": \"Premier jour de la semaine\",\n \"FIRST_NAME\": \"Prénom\",\n \"LANGUAGE\": \"Langue\",\n \"LAST_NAME\": \"Nom\",\n \"LOCATION\": \"Lieu\",\n \"MONDAY\": \"Lundi\",\n \"PICTURE\": \"Image de profil\",\n \"PICTURE_EDITION\": \"Mise à jour de l'image de profil\",\n \"PICTURE_UPDATE\": \"Mettre à jour l'image\",\n \"PICTURE_REMOVE\": \"Supprimer\",\n \"PREFERENCES_EDITION\": \"Mise à jour des préférences\",\n \"PROFILE_EDITION\": \"Mise à jour du profil\",\n \"REGISTRATION_DATE\": \"Date d'inscription\",\n \"SUNDAY\": \"Dimanche\",\n \"TABS\": {\n \"PICTURE\": \"image\",\n \"PREFERENCES\": \"préférences\",\n \"PROFILE\": \"profil\"\n },\n \"TIMEZONE\": \"Fuseau horaire\"\n },\n \"REGISTER\": \"S'inscrire\",\n \"REGISTER_DISABLED\": \"Désolé, les inscriptions sont désactivées.\",\n \"RESET_PASSWORD\": \"Réinitialiser votre mot de passe\",\n \"USER_PICTURE\": \"photo de l'utilisateur\",\n \"USERNAME\": \"Nom d'utilisateur\"\n}","{\n \"ADD_WORKOUT\": \"Ajouter une séance\",\n \"ANALYSIS\": \"analyse\",\n \"ASCENT\": \"dénivelé positif\",\n \"AVERAGE_SPEED\": \"vitesse moyenne\",\n \"AVE_SPEED\": \"vitesse moy.\",\n \"BACK_TO_WORKOUT\": \"revenir à la séance\",\n \"DATE\": \"date\",\n \"DESCENT\": \"dénivelé négatif\",\n \"DISPLAY_FILTERS\": \"afficher les filtres\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"durée\",\n \"EDIT_WORKOUT\": \"Modifier la séance\",\n \"ELEVATION\": \"altitude\",\n \"END\": \"fin\",\n \"FROM\": \"à partir de\",\n \"GPX_FILE\": \"fichier .gpx\",\n \"HIDE_FILTERS\": \"masquer les filtres\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Séances récentes\",\n \"LOAD_MORE_WORKOUT\": \"Charger les séances suivantes\",\n \"MAX_ALTITUDE\": \"altitude max\",\n \"MAX_FILES\": \"fichiers max. \",\n \"MAX_SIZE\": \"taille max. \",\n \"MAX_SPEED\": \"vitesse max\",\n \"MIN_ALTITUDE\": \"altitude min\",\n \"NEXT_SEGMENT\": \"Segment suivant\",\n \"NEXT_WORKOUT\": \"Séance suivante\",\n \"NO_DATA_CLEANING\": \"données issues du fichier gpx, sans correction\",\n \"NO_FILE_PROVIDED\": \"Pas de fichier fourni\",\n \"NO_FOLDER\": \"pas de répertoire\",\n \"NO_MAP\": \"Pas de carte\",\n \"NO_NEXT_SEGMENT\": \"Pas de segment suivant\",\n \"NO_NEXT_WORKOUT\": \"Pas de séance suivante\",\n \"NO_NOTES\": \"Pas de notes\",\n \"NO_PREVIOUS_SEGMENT\": \"Pas de segment précédent\",\n \"NO_PREVIOUS_WORKOUT\": \"Pas de séance précédente\",\n \"NO_RECORDS\": \"Pas de records.\",\n \"NO_WORKOUTS\": \"Pas de séances.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Segment précédent\",\n \"PREVIOUS_WORKOUT\": \"Séance précédente\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Vitesse moy.\",\n \"RECORD_FD\": \"Distance la + longue\",\n \"RECORD_LD\": \"Durée la + longue\",\n \"RECORD_MS\": \"Vitesse max.\",\n \"REMAINING_CHARS\": \"nombre de caractères restants \",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"vitesse\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"début\",\n \"TITLE\": \"titre\",\n \"TO\": \"jusqu'au\",\n \"TOTAL_DURATION\": \"durée totale\",\n \"UPLOAD_FIRST_WORKOUT\": \"Ajoutez votre première séance !\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidité\",\n \"TEMPERATURE\": \"température\",\n \"WIND\": \"vent\",\n \"DARK_SKY\": {\n \"clear-day\": \"ensoleillé\",\n \"clear-night\": \"nuit claire\",\n \"cloudy\": \"nuageux\",\n \"fog\": \"brouillard\",\n \"partly-cloudy-day\": \"partiellement nuageux\",\n \"partly-cloudy-night\": \"nuit partiellement nuageuse\",\n \"rain\": \"pluie\",\n \"sleet\": \"neige fondue\",\n \"snow\": \"neige\",\n \"wind\": \"venteux\"\n }\n },\n \"WITH_GPX\": \"avec un fichier .gpx\",\n \"WITHOUT_GPX\": \"sans fichier .gpx\",\n \"WORKOUT\": \"séance | séances\",\n \"WORKOUT_DATE\": \"date de la séance\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Etes-vous sûr de vouloir supprimer cette séance ?\",\n \"ZIP_ARCHIVE\": \"archive .zip\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"ou une archive .zip contenant des fichiers .gpx\"\n}\n","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { rangePagination } from '@/utils/api'\n\n export default defineComponent({\n name: 'Pagination',\n props: {\n pagination: {\n type: Object as PropType,\n required: true,\n },\n path: {\n type: String,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n function getQuery(page: number, cursor?: number): TPaginationPayload {\n const newQuery = Object.assign({}, props.query)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n return { rangePagination, getQuery }\n },\n })\n","import { render } from \"./Pagination.vue?vue&type=template&id=56dc89d4&scoped=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=56dc89d4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-56dc89d4\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n } from 'vue'\n\n import { USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfos',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n fromAdmin: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(new Date(props.user.birth_date), 'dd/MM/yyyy')\n : ''\n )\n let displayModal: Ref = ref(false)\n\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n authUser,\n birthDate,\n displayModal,\n registrationDate,\n deleteUserAccount,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./UserInfos.vue?vue&type=template&id=1267fe4f&scoped=true\"\nimport script from \"./UserInfos.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=1267fe4f&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1267fe4f\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatCard.vue?vue&type=style&index=0&id=32e77e48&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=21b6cb61&lang=scss&scoped=true\"","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n export default defineComponent({\n name: 'FilterSelects',\n props: {\n order_by: {\n type: Object as PropType,\n required: true,\n },\n query: {\n type: Object as PropType,\n required: true,\n },\n sort: {\n type: Object as PropType,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n },\n emits: ['updateSelect'],\n setup(props, { emit }) {\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\n return {\n per_page: [10, 25, 50, 100],\n onSelectUpdate,\n }\n },\n })\n","import { render } from \"./FilterSelects.vue?vue&type=template&id=50c78582&scoped=true\"\nimport script from \"./FilterSelects.vue?vue&type=script&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=50c78582&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-50c78582\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserInfos.vue?vue&type=style&index=0&id=1267fe4f&lang=scss&scoped=true\"","import { LocationQuery } from 'vue-router'\n\nimport { IQueryOptions, TPaginationPayload } from '@/types/api'\n\nexport const sortList: string[] = ['asc', 'desc']\nexport const defaultPage = 1\nexport const defaultPerPage = 10\n\nexport const getNumberQueryValue = (\n queryValue: string | (string | null)[] | null,\n defaultValue: number\n): number => {\n return queryValue && typeof queryValue === 'string' && +queryValue > 0\n ? +queryValue\n : defaultValue\n}\n\nexport const getStringQueryValue = (\n queryValue: string | (string | null)[] | null,\n availableValues: string[],\n defaultValue: string\n): string => {\n return queryValue &&\n typeof queryValue === 'string' &&\n availableValues.includes(queryValue)\n ? queryValue\n : defaultValue\n}\n\nexport const getQuery = (\n locationQuery: LocationQuery,\n orderByList: string[],\n defaultOrderBy: string,\n options?: IQueryOptions\n): TPaginationPayload => {\n const queryOptions = options || {}\n const defaultSort = queryOptions.defaultSort || 'asc'\n const query = queryOptions.query || {}\n\n query.page = getNumberQueryValue(locationQuery.page, defaultPage)\n query.per_page = getNumberQueryValue(locationQuery.per_page, defaultPerPage)\n query.order = getStringQueryValue(locationQuery.order, sortList, defaultSort)\n query.order_by = getStringQueryValue(\n locationQuery.order_by,\n orderByList,\n defaultOrderBy\n )\n\n return query\n}\n\nexport const workoutsPayloadKeys = [\n 'from',\n 'to',\n 'ave_speed_from',\n 'ave_speed_to',\n 'max_speed_from',\n 'max_speed_to',\n 'distance_from',\n 'distance_to',\n 'duration_from',\n 'duration_to',\n 'sport_id',\n]\n\nconst getRange = (stop: number, start = 1): number[] => {\n return Array.from({ length: stop - start + 1 }, (_, i) => start + i)\n}\n\nexport const rangePagination = (\n pages: number,\n currentPage: number\n): (string | number)[] => {\n if (pages < 0) {\n return []\n }\n\n if (pages < 9) {\n return getRange(pages)\n }\n\n let pagination: (string | number)[] = [1, 2]\n if (currentPage < 4) {\n pagination = pagination.concat([3, 4, 5])\n } else if (currentPage < 6) {\n pagination = pagination.concat(getRange(currentPage + 2, 3))\n } else {\n pagination = pagination.concat(['...'])\n if (currentPage < pages - 2) {\n pagination = pagination.concat(getRange(currentPage + 2, currentPage - 2))\n }\n }\n if (currentPage + 2 <= pages - 2) {\n pagination = pagination.concat(['...'])\n pagination = pagination.concat(getRange(pages, pages - 1))\n } else {\n if (\n pagination[pagination.length - 1] !== '...' &&\n pagination[pagination.length - 1] >= pages - 2 &&\n pagination[pagination.length - 1] < pages\n ) {\n pagination = pagination.concat(\n getRange(pages, +pagination[pagination.length - 1] + 1)\n )\n } else {\n pagination = pagination.concat(\n getRange(\n pages,\n currentPage < pages - 3 ? currentPage + 3 : currentPage - 5\n )\n )\n }\n }\n\n return pagination\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPictureEdition.vue?vue&type=style&index=0&id=500d4a7a&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AdminUsers.vue?vue&type=style&index=0&id=4711ecf8&lang=scss&scoped=true\"","{\n \"ACTION\": \"Action\",\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": \"Add/remove admin rights, delete user account.\",\n \"ADMIN\": \"Admin\",\n \"ADMINISTRATION\": \"Administration\",\n \"APPLICATION\": \"Application\",\n \"APP_CONFIG\": {\n \"MAX_USERS_LABEL\": \"Max. number of active users\",\n \"MAX_USERS_HELP\": \"If 0, no limitation on registration.\",\n \"MAX_FILES_IN_ZIP_LABEL\": \"Max. files of zip archive\",\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of uploaded files (in Mb)\",\n \"TITLE\": \"Application configuration\",\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": \"Max. size of zip archive (in Mb)\"\n },\n \"BACK_TO_ADMIN\": \"Back to admin\",\n \"CONFIRM_USER_ACCOUNT_DELETION\": \"Are you sure you want to delete {0} account? All data will be deleted, this cannot be undone.\",\n \"DELETE_USER\": \"Delete user\",\n \"ENABLE_DISABLE_SPORTS\": \"Enable/disable sports.\",\n \"REGISTRATION_DISABLED\": \"Registration is currently disabled.\",\n \"REGISTRATION_ENABLED\": \"Registration is currently enabled.\",\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": \"Active\",\n \"HAS_WORKOUTS\": \"workouts exist\",\n \"IMAGE\": \"Image\",\n \"LABEL\": \"Label\"\n },\n \"TITLE\": \"Sports administration\"\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": \"Update application configuration (maximum number of registered users, maximum files size).\",\n \"USER\": \"user | users\",\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": \"Add admin rights\",\n \"REMOVE_ADMIN_RIGHTS\": \"Remove admin rights\"\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": \"admin status\",\n \"CREATED_AT\": \"registration date\",\n \"USERNAME\": \"username\",\n \"WORKOUTS_COUNT\": \"workout count\"\n }\n }\n }\n}\n","{\n \"ERROR\": {\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"email: valid email must be provided\": \"Email: valid email must be provided.\",\n \"error on getting configuration\": \"Error on getting configuration.\",\n \"error when updating configuration\": \"Error when updating configuration\",\n \"error, please try again or contact the administrator\": \"Error, please try again or contact the administrator.\",\n \"error, registration is disabled\": \"Error, registration is disabled.\",\n \"file extension not allowed\": \"File extension not allowed.\",\n \"file size is greater than the allowed size\": \"File size is greater than the allowed size.\",\n \"invalid credentials\": \"Invalid credentials.\",\n \"invalid payload\": \"Provided data are invalid.\",\n \"invalid token, please log in again\": \"Invalid token, please log in again.\",\n \"invalid token, please request a new token\": \"Invalid token, please log in again.\",\n \"Network Error\": \"Network Error.\",\n \"no file part\": \"No file provided.\",\n \"no selected file\": \"No selected file.\",\n \"password: password and password confirmation do not match\": \"Password: password and password confirmation don't match.\",\n \"provide a valid auth token\": \"Provide a valid auth token.\",\n \"password: 8 characters required\": \"Password: 8 characters required.\",\n \"sorry, that user already exists\": \"Sorry, that user already exists.\",\n \"sport does not exist\": \"Sport does not exist.\",\n \"signature expired, please log in again\": \"Signature expired. Please log in again.\",\n \"successfully registered\": \"Successfully registered.\",\n \"user does not exist\": \"User does not exist.\",\n \"username: 3 to 12 characters required\": \"Username: 3 to 12 characters required.\",\n \"you do not have permissions\": \"You do not have permissions.\"\n },\n \"PAGINATION\": {\n \"PREVIOUS\": \"previous\",\n \"NEXT\": \"next\"\n }\n}","{\n \"BACK\": \"Back\",\n \"CANCEL\": \"Cancel\",\n \"DELETE_MY_ACCOUNT\": \"Delete my account\",\n \"DISABLE\": \"Disable\",\n \"EDIT\": \"Edit\",\n \"ENABLE\": \"Enable\",\n \"FILTER\": \"Filter\",\n \"LOGIN\": \"Log in\",\n \"NO\": \"No\",\n \"REGISTER\": \"Register\",\n \"SUBMIT\": \"Submit\",\n \"YES\": \"Yes\"\n}","{\n \"CONFIRMATION\": \"Confirmation\",\n \"DAY\": \"day | days\",\n \"HOME\": \"Home\",\n \"HERE\": \"here\",\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": \"order by\"\n },\n \"ORDER\": {\n \"LABEL\": \"sort\",\n \"ASC\": \"ascending\",\n \"DESC\": \"descending\"\n },\n \"PER_PAGE\": {\n \"LABEL\": \"par page\"\n }\n },\n \"TOTAL\": \"Total\"\n}","{\n \"DASHBOARD\": \"Dashboard\",\n \"THIS_MONTH\": \"This month\"\n}\n","{\n \"UNKNOWN\": \"Error. Please try again or contact the administrator.\",\n \"APP_ERROR\": \"The application seems encounter some issues.
Please try later or contact the administrator.\",\n \"NOT_FOUND\": {\n \"PAGE\": \"Page not found\",\n \"WORKOUT\": \"Workout not found\"\n }\n}","{\n \"Cycling (Sport)\": {\n \"LABEL\": \"Cycling (Sport)\"\n },\n \"Cycling (Transport)\": {\n \"LABEL\": \"Cycling (Transport)\"\n },\n \"Hiking\": {\n \"LABEL\": \"Hiking\"\n },\n \"Mountain Biking\": {\n \"LABEL\": \"Mountain Biking\"\n },\n \"Running\": {\n \"LABEL\": \"Running\"\n },\n \"Walking\": {\n \"LABEL\": \"Walking\"\n }\n}","{\n \"STATISTICS\": \"Statistics\",\n \"TIME_FRAMES\": {\n \"week\": \"week\",\n \"month\": \"month\",\n \"year\": \"year\"\n }\n}\n","{\n \"ADMIN\": \"Admin\",\n \"CONFIRM_ACCOUNT_DELETION\": \"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\",\n \"EMAIL\": \"Email\",\n \"ENTER_EMAIL\": \"Enter an email address\",\n \"ENTER_PASSWORD\": \"Enter a password\",\n \"ENTER_PASSWORD_CONFIRMATION\": \"Confirm the password\",\n \"INVALID_TOKEN\": \"Invalid token, please request a new password reset.\",\n \"LANGUAGE\": \"Language\",\n \"LOGIN\": \"Login\",\n \"LOGOUT\": \"Logout\",\n \"PASSWORD\": \"Password\",\n \"PASSWORD_CONFIRM\": \"Confirm Password\",\n \"PASSWORD_CONFIRMATION\": \"Password confirmation\",\n \"PASSWORD_FORGOTTEN\": \"Forgot password?\",\n \"PASSWORD_RESET\": \"Password reset\",\n \"PASSWORD_SENT_EMAIL_TEXT\": \"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\",\n \"PASSWORD_UPDATED\": \"Your password have been updated. Click {0} to log in.\",\n \"PROFILE\": {\n \"BACK_TO_PROFILE\": \"Back to profile\",\n \"BIO\": \"Bio\",\n \"BIRTH_DATE\": \"Birth date\",\n \"EDIT\": \"Edit profile\",\n \"EDIT_PREFERENCES\": \"Edit preferences\",\n \"FIRST_NAME\": \"First name\",\n \"FIRST_DAY_OF_WEEK\": \"First day of week\",\n \"LANGUAGE\": \"Language\",\n \"LAST_NAME\": \"Last name\",\n \"LOCATION\": \"Location\",\n \"MONDAY\": \"Monday\",\n \"PICTURE\": \"Picture\",\n \"PICTURE_EDITION\": \"Picture edition\",\n \"PICTURE_UPDATE\": \"Update picture\",\n \"PICTURE_REMOVE\": \"Remove picture\",\n \"PREFERENCES_EDITION\": \"Preferences edition\",\n \"PROFILE_EDITION\": \"Profile edition\",\n \"REGISTRATION_DATE\": \"Registration date\",\n \"SUNDAY\": \"Sunday\",\n \"TABS\": {\n \"PICTURE\": \"picture\",\n \"PREFERENCES\": \"preferences\",\n \"PROFILE\": \"profile\"\n },\n \"TIMEZONE\": \"Timezone\"\n },\n \"REGISTER\": \"Register\",\n \"REGISTER_DISABLED\": \"Sorry, registration is disabled.\",\n \"RESET_PASSWORD\": \"Reset your password\",\n \"USER_PICTURE\": \"user picture\",\n \"USERNAME\": \"Username\"\n}\n","{\n \"ADD_WORKOUT\": \"Add a workout\",\n \"ANALYSIS\": \"analysis\",\n \"ASCENT\": \"ascent\",\n \"AVE_SPEED\": \"ave. speed\",\n \"AVERAGE_SPEED\": \"average speed\",\n \"BACK_TO_WORKOUT\": \"back to workout\",\n \"DATE\": \"date\",\n \"DESCENT\": \"descent\",\n \"DISPLAY_FILTERS\": \"display filters\",\n \"DISTANCE\": \"distance\",\n \"DURATION\": \"duration\",\n \"EDIT_WORKOUT\": \"Edit the workout\",\n \"ELEVATION\": \"elevation\",\n \"END\": \"end\",\n \"FROM\": \"from\",\n \"GPX_FILE\": \".gpx file\",\n \"HIDE_FILTERS\": \"hide filters\",\n \"KM\": \"km\",\n \"LATEST_WORKOUTS\": \"Latest workouts\",\n \"LOAD_MORE_WORKOUT\": \"Load more workouts\",\n \"MAX_ALTITUDE\": \"max. altitude\",\n \"MAX_FILES\": \"max files\",\n \"MAX_SIZE\": \"max size\",\n \"MAX_SPEED\": \"max. speed\",\n \"MIN_ALTITUDE\": \"min. altitude\",\n \"NEXT_SEGMENT\": \"No next segment\",\n \"NEXT_WORKOUT\": \"Next workout\",\n \"NO_DATA_CLEANING\": \"data from gpx, without any cleaning\",\n \"NO_FILE_PROVIDED\": \"No file provided\",\n \"NO_FOLDER\": \"no folder inside\",\n \"NO_MAP\": \"No map\",\n \"NO_NEXT_SEGMENT\": \"No next segment\",\n \"NO_NEXT_WORKOUT\": \"No next workout\",\n \"NO_NOTES\": \"No notes\",\n \"NO_PREVIOUS_SEGMENT\": \"No previous segment\",\n \"NO_PREVIOUS_WORKOUT\": \"No previous workout\",\n \"NO_RECORDS\": \"No records.\",\n \"NO_WORKOUTS\": \"No workouts.\",\n \"NOTES\": \"notes\",\n \"PAUSES\": \"pauses\",\n \"PREVIOUS_SEGMENT\": \"Previous segment\",\n \"PREVIOUS_WORKOUT\": \"Previous workout\",\n \"RECORD\": \"record | records\",\n \"RECORD_AS\": \"Ave. speed\",\n \"RECORD_FD\": \"Farest distance\",\n \"RECORD_LD\": \"Longest duration\",\n \"RECORD_MS\": \"Max. speed\",\n \"REMAINING_CHARS\": \"remaining characters\",\n \"SEGMENT\": \"segment | segments\",\n \"SPEED\": \"speed\",\n \"SPORT\": \"sport | sports\",\n \"START\": \"start\",\n \"TITLE\": \"title\",\n \"TO\": \"to\",\n \"TOTAL_DURATION\": \"total duration\",\n \"UPLOAD_FIRST_WORKOUT\": \"Upload one!\",\n \"WEATHER\": {\n \"HUMIDITY\": \"humidity\",\n \"TEMPERATURE\": \"temperature\",\n \"WIND\": \"wind\",\n \"DARK_SKY\": {\n \"clear-day\": \"clear day\",\n \"clear-night\": \"clear night\",\n \"cloudy\": \"cloudy\",\n \"fog\": \"fog\",\n \"partly-cloudy-day\": \"partly cloudy day\",\n \"partly-cloudy-night\": \"partly cloudy night\",\n \"rain\": \"rain\",\n \"sleet\": \"sleet\",\n \"snow\": \"snow\",\n \"wind\": \"wind\"\n }\n },\n \"WITH_GPX\": \"with .gpx file\",\n \"WITHOUT_GPX\": \"without .gpx file\",\n \"WORKOUT\": \"workout | workouts\",\n \"WORKOUT_DATE\": \"workout date\",\n \"WORKOUT_DELETION_CONFIRMATION\": \"Are you sure you want to delete this workout?\",\n \"ZIP_ARCHIVE\": \".zip file\",\n \"ZIP_ARCHIVE_DESCRIPTION\": \"or .zip file containing .gpx files\"\n}\n","import AdministrationTranslations from './administration.json'\nimport ApiTranslations from './api.json'\nimport ButtonsTranslations from './buttons.json'\nimport CommonTranslations from './common.json'\nimport DashboardTranslations from './dashboard.json'\nimport ErrorTranslations from './error.json'\nimport SportsTranslations from './sports.json'\nimport StatisticsTranslations from './statistics.json'\nimport UserTranslations from './user.json'\nimport WorkoutsTranslations from './workouts.json'\n\nexport default {\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","const suffixes = ['bytes', 'KB', 'MB', 'GB', 'TB']\n\nexport const getReadableFileSize = (\n fileSize: number,\n asText = true\n): string | Record => {\n const i = Math.floor(Math.log(fileSize) / Math.log(1024))\n if (!fileSize) {\n return asText ? '0 bytes' : { size: '0', suffix: 'bytes' }\n }\n const size = (fileSize / Math.pow(1024, i)).toFixed(1)\n const suffix = suffixes[i]\n return asText ? `${size}${suffix}` : { size, suffix }\n}\n\nexport const getFileSizeInMB = (fileSize: number): number => {\n const value = fileSize / 1048576\n return (!fileSize && 0) || +value.toFixed(2)\n}\n","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'UserPicture',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n authUserPictureUrl: computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture`\n : ''\n ),\n }\n },\n })\n","import { render } from \"./UserPicture.vue?vue&type=template&id=4aed39f4\"\nimport script from \"./UserPicture.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=4aed39f4&lang=scss\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"","/* eslint-disable no-console */\n\nimport { register } from 'register-service-worker'\n\nif (process.env.NODE_ENV === 'production') {\n register(`${process.env.BASE_URL}service-worker.js`, {\n ready() {\n console.log(\n 'App is being served from cache by a service worker.\\n' +\n 'For more details, visit https://goo.gl/AFskqB'\n )\n },\n registered() {\n console.log('Service worker has been registered.')\n },\n cached() {\n console.log('Content has been cached for offline use.')\n },\n updatefound() {\n console.log('New content is downloading.')\n },\n updated() {\n console.log('New content is available; please refresh.')\n },\n offline() {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n },\n error(error) {\n console.error('Error during service worker registration:', error)\n },\n })\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Footer',\n props: {\n version: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./Footer.vue?vue&type=template&id=e1641806&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=e1641806&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-e1641806\"\n\nexport default script","\n\n\n\n\n","import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'\n\n/**\n * Load locale messages\n *\n * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.\n * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation\n */\nfunction loadLocaleMessages(): LocaleMessages {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: LocaleMessages = {}\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n if (matched && matched.length > 1) {\n const locale = matched[1]\n messages[locale] = locales(key).default\n }\n })\n return messages\n}\n\nexport default createI18n({\n legacy: false,\n locale: 'en',\n fallbackLocale: 'en',\n globalInjection: true,\n messages: loadLocaleMessages(),\n})\n","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n en: 'English',\n fr: 'Français',\n}\n\nconst { availableLocales } = createI18n.global\nexport const availableLanguages = availableLocales.map((l) => {\n return { label: languageLabels[l], value: l }\n})\n","\n import { ComputedRef, computed, defineComponent, ref, capitalize } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n UserPicture,\n },\n emits: ['menuInteraction'],\n setup(props, { emit }) {\n const { locale } = useI18n()\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const authUserPictureUrl: ComputedRef = computed(() =>\n isAuthenticated.value && authUser.value.picture\n ? `${getApiUrl()}/users/${\n authUser.value.username\n }/picture?${Date.now()}`\n : ''\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n let isMenuOpen = ref(false)\n\n function openMenu() {\n isMenuOpen.value = true\n emit('menuInteraction', true)\n }\n function closeMenu() {\n isMenuOpen.value = false\n emit('menuInteraction', false)\n }\n function updateLanguage(option: IDropdownOption) {\n locale.value = option.value.toString()\n store.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, option.value)\n }\n function logout() {\n store.dispatch(USER_STORE.ACTIONS.LOGOUT)\n }\n\n return {\n availableLanguages,\n authUser,\n authUserPictureUrl,\n isAuthenticated,\n isMenuOpen,\n language,\n capitalize,\n openMenu,\n closeMenu,\n updateLanguage,\n logout,\n }\n },\n })\n","import { render } from \"./NavBar.vue?vue&type=template&id=03a78350&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=03a78350&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-03a78350\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n export default defineComponent({\n name: 'NoConfig',\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./NoConfig.vue?vue&type=template&id=01d4a985&scoped=true\"\nimport script from \"./NoConfig.vue?vue&type=script&lang=ts\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-01d4a985\"\n\nexport default script","\n import {\n ComputedRef,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n onMounted,\n } from 'vue'\n\n import Footer from '@/components/Footer.vue'\n import NavBar from '@/components/NavBar.vue'\n import NoConfig from '@/components/NoConfig.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'App',\n components: {\n Footer,\n NavBar,\n NoConfig,\n },\n setup() {\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appLoading: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_LOADING]\n )\n const hideScrollBar = ref(false)\n const displayScrollButton = ref(false)\n\n onBeforeMount(() =>\n store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG)\n )\n onMounted(() => scroll())\n\n function updateHideScrollBar(isMenuOpen: boolean) {\n hideScrollBar.value = isMenuOpen\n }\n\n function isScrolledToBottom(element: Element): boolean {\n return (\n element.getBoundingClientRect().top < window.innerHeight &&\n element.getBoundingClientRect().bottom >= 0\n )\n }\n function scroll() {\n window.onscroll = () => {\n let bottom = document.querySelector('#bottom')\n displayScrollButton.value =\n bottom !== null && isScrolledToBottom(bottom)\n }\n }\n function scrollToTop() {\n window.scrollTo({\n top: 0,\n behavior: 'smooth',\n })\n setTimeout(() => {\n displayScrollButton.value = false\n }, 300)\n }\n\n return {\n appConfig,\n appLoading,\n hideScrollBar,\n displayScrollButton,\n scrollToTop,\n updateHideScrollBar,\n }\n },\n })\n","import { render } from \"./App.vue?vue&type=template&id=317a6409&scoped=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=317a6409&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-317a6409\"\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onBeforeMount,\n } from 'vue'\n import { useRouter } from 'vue-router'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig, TAppConfigForm } from '@/types/application'\n import { useStore } from '@/use/useStore'\n import { getFileSizeInMB } from '@/utils/files'\n\n export default defineComponent({\n name: 'AdminApplication',\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n edition: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n const router = useRouter()\n const appData: TAppConfigForm = reactive({\n max_users: 0,\n max_single_file_size: 0,\n max_zip_file_size: 0,\n gpx_limit_import: 0,\n })\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => {\n if (props.appConfig) {\n updateForm(props.appConfig)\n }\n })\n\n function updateForm(appConfig: TAppConfig) {\n Object.keys(appData).map((key) => {\n ;['max_single_file_size', 'max_zip_file_size'].includes(key)\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = getFileSizeInMB(appConfig[key]))\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n (appData[key] = appConfig[key])\n })\n }\n\n function onCancel() {\n updateForm(props.appConfig)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n router.push('/admin/application')\n }\n function onSubmit() {\n const formData: TAppConfigForm = Object.assign({}, appData)\n formData.max_single_file_size *= 1048576\n formData.max_zip_file_size *= 1048576\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG, formData)\n }\n\n return { appData, errorMessages, onCancel, onSubmit }\n },\n })\n","import { render } from \"./AdminApplication.vue?vue&type=template&id=26175b66&scoped=true\"\nimport script from \"./AdminApplication.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=26175b66&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26175b66\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent, computed } from 'vue'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IAppStatistics } from '@/types/application'\n import { getReadableFileSize } from '@/utils/files'\n\n export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n appStatistics: {\n type: Object as PropType,\n default: () => {\n return {}\n },\n },\n },\n setup(props) {\n return {\n uploadDirSize: computed(() =>\n props.appStatistics.uploads_dir_size\n ? getReadableFileSize(props.appStatistics.uploads_dir_size, false)\n : { size: 0, suffix: 'bytes' }\n ),\n usersCount: computed(() =>\n props.appStatistics.users ? props.appStatistics.users : 0\n ),\n sportsCount: computed(() =>\n props.appStatistics.sports ? props.appStatistics.sports : 0\n ),\n workoutCount: computed(() =>\n props.appStatistics.workouts ? props.appStatistics.workouts : 0\n ),\n }\n },\n })\n","import { render } from \"./AppStatsCards.vue?vue&type=template&id=cd52bcc2\"\nimport script from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=cd52bcc2&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Card',\n })\n","import { render } from \"./Card.vue?vue&type=template&id=c5956538\"\nimport script from \"./Card.vue?vue&type=script&lang=ts\"\nexport * from \"./Card.vue?vue&type=script&lang=ts\"\n\nimport \"./Card.vue?vue&type=style&index=0&id=c5956538&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, capitalize, defineComponent } from 'vue'\n\n import AppStatsCards from '@/components/Administration/AppStatsCards.vue'\n import Card from '@/components/Common/Card.vue'\n import { IAppStatistics, TAppConfig } from '@/types/application'\n\n export default defineComponent({\n name: 'AdminMenu',\n components: {\n AppStatsCards,\n Card,\n },\n props: {\n appConfig: {\n type: Object as PropType,\n required: true,\n },\n appStatistics: {\n type: Object as PropType,\n },\n },\n setup() {\n return { capitalize }\n },\n })\n","import { render } from \"./AdminMenu.vue?vue&type=template&id=4f30aa64&scoped=true\"\nimport script from \"./AdminMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=4f30aa64&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4f30aa64\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'AdminSports',\n setup() {\n const { t } = useI18n()\n const store = useStore()\n const translatedSports: ComputedRef = computed(() =>\n translateSports(store.getters[SPORTS_STORE.GETTERS.SPORTS], t)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function updateSportStatus(id: number, isActive: boolean) {\n store.dispatch(SPORTS_STORE.ACTIONS.UPDATE_SPORTS, {\n id,\n isActive,\n })\n }\n\n return { errorMessages, translatedSports, updateSportStatus }\n },\n })\n","import { render } from \"./AdminSports.vue?vue&type=template&id=6d930723&scoped=true\"\nimport script from \"./AdminSports.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d930723&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6d930723\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n computed,\n defineComponent,\n reactive,\n watch,\n capitalize,\n onBeforeMount,\n onUnmounted,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'AdminUsers',\n components: {\n FilterSelects,\n Pagination,\n UserPicture,\n },\n setup() {\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'admin',\n 'created_at',\n 'username',\n 'workouts_count',\n ]\n const defaultOrderBy = 'created_at'\n let query: TPaginationPayload = reactive(\n getQuery(route.query, orderByList, defaultOrderBy)\n )\n\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const users: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_PAGINATION]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function updateUser(username: string, admin: boolean) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n admin,\n })\n }\n function reloadUsers(queryParam: string, queryValue: string) {\n query[queryParam] = queryValue\n if (queryParam === 'per_page') {\n query.page = 1\n }\n router.push({ path: '/admin/users', query })\n }\n\n onBeforeMount(() => loadUsers(query))\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\n onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n return {\n authUser,\n errorMessages,\n orderByList,\n pagination,\n query,\n sortList,\n users,\n capitalize,\n format,\n getDateWithTZ,\n reloadUsers,\n updateUser,\n }\n },\n })\n","import { render } from \"./AdminUsers.vue?vue&type=template&id=4711ecf8&scoped=true\"\nimport script from \"./AdminUsers.vue?vue&type=script&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4711ecf8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4711ecf8\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'UserProfileTabs',\n props: {\n tabs: {\n type: Object as PropType,\n required: true,\n },\n selectedTab: {\n type: String,\n required: true,\n },\n edition: {\n type: Boolean,\n required: true,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n function getPath(tab: string) {\n switch (tab) {\n case 'PICTURE':\n return '/profile/edit/picture'\n case 'PREFERENCES':\n return `/profile${props.edition ? '/edit' : ''}/preferences`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n return { getPath }\n },\n })\n","import { render } from \"./UserProfileTabs.vue?vue&type=template&id=c7276c08\"\nimport script from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent } from 'vue'\n\n import UserHeader from '@/components/User/ProfileDisplay/UserHeader.vue'\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'ProfileDisplay',\n components: {\n UserHeader,\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n return {\n tabs: ['PROFILE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=c81580c0&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=c81580c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-c81580c0\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, computed, defineComponent } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferences',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() =>\n props.user.weekm ? 'MONDAY' : 'SUNDAY'\n )\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n return { fistDayOfWeek, language, timezone }\n },\n })\n","import { render } from \"./UserPreferences.vue?vue&type=template&id=39667dbe&scoped=true\"\nimport script from \"./UserPreferences.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPreferences.vue?vue&type=style&index=0&id=39667dbe&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-39667dbe\"\n\nexport default script","\n\n\n","\n import { computed, defineComponent, PropType } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'ProfileEdition',\n components: {\n UserProfileTabs,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n tab: {\n type: String,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n return {\n loading: computed(() => store.getters[USER_STORE.GETTERS.USER_LOADING]),\n tabs: ['PROFILE', 'PICTURE', 'PREFERENCES'],\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=035b0eba\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n reactive,\n ref,\n onMounted,\n } from 'vue'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserInfosEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPayload = reactive({\n password: '',\n password_conf: '',\n first_name: '',\n last_name: '',\n birth_date: '',\n location: '',\n bio: '',\n })\n const registrationDate = computed(() =>\n props.user.created_at\n ? format(new Date(props.user.created_at), 'dd/MM/yyyy HH:mm')\n : ''\n )\n const loading = computed(\n () => store.getters[USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n let displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.first_name = user.first_name ? user.first_name : ''\n userForm.last_name = user.last_name ? user.last_name : ''\n userForm.birth_date = user.birth_date\n ? format(new Date(user.birth_date), 'yyyy-MM-dd')\n : ''\n userForm.location = user.location ? user.location : ''\n userForm.bio = user.bio ? user.bio : ''\n }\n function updateBio(value: string) {\n userForm.bio = value\n }\n function updateProfile() {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n return {\n displayModal,\n errorMessages,\n loading,\n registrationDate,\n userForm,\n deleteAccount,\n updateBio,\n updateDisplayModal,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserInfosEdition.vue?vue&type=template&id=a2dfdb58\"\nimport script from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=a2dfdb58&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import {\n ComputedRef,\n PropType,\n Ref,\n defineComponent,\n computed,\n ref,\n } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getReadableFileSize } from '@/utils/files'\n\n export default defineComponent({\n name: 'UserPictureEdition',\n components: {\n UserPicture,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const store = useStore()\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const fileSizeLimit = appConfig.value.max_single_file_size\n ? getReadableFileSize(appConfig.value.max_single_file_size)\n : ''\n let pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(USER_STORE.ACTIONS.DELETE_PICTURE)\n }\n function updatePictureFile(event: Event & { target: HTMLInputElement }) {\n if (event.target.files) {\n pictureFile.value = event.target.files[0]\n }\n }\n function updateUserPicture() {\n if (pictureFile.value) {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n return {\n errorMessages,\n fileSizeLimit,\n pictureFile,\n deleteUserPicture,\n updateUserPicture,\n updatePictureFile,\n }\n },\n })\n","import { render } from \"./UserPictureEdition.vue?vue&type=template&id=500d4a7a&scoped=true\"\nimport script from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=500d4a7a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-500d4a7a\"\n\nexport default script","\n\n\n","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n reactive,\n onMounted,\n } from 'vue'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { IUserProfile, IUserPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n export default defineComponent({\n name: 'UserPreferencesEdition',\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n const userForm: IUserPreferencesPayload = reactive({\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'MONDAY',\n value: true,\n },\n {\n label: 'SUNDAY',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function updateUserForm(user: IUserProfile) {\n userForm.language = user.language ? user.language : 'en'\n userForm.timezone = user.timezone ? user.timezone : 'Europe/Paris'\n userForm.weekm = user.weekm ? user.weekm : false\n }\n function updateProfile() {\n store.dispatch(USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n\n return {\n availableLanguages,\n errorMessages,\n loading,\n userForm,\n weekStart,\n updateProfile,\n }\n },\n })\n","import { render } from \"./UserPreferencesEdition.vue?vue&type=template&id=18513603\"\nimport script from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","import axios from 'axios'\n\nimport store from '@/store'\nimport { USER_STORE } from '@/store/constants'\nimport { getApiUrl } from '@/utils'\n\nconst authApi = axios.create({\n baseURL: getApiUrl(),\n})\n\nauthApi.interceptors.request.use(\n (config) => {\n const authToken = store.getters[USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nexport default authApi\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootActions, IRootState } from '@/store/modules/root/types'\nimport { TAppConfigForm } from '@/types/application'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IRootActions = {\n [ROOT_STORE.ACTIONS.GET_APPLICATION_CONFIG](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, true)\n authApi\n .get('config')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING, false)\n )\n },\n [ROOT_STORE.ACTIONS.GET_APPLICATION_STATS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('stats/all')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS,\n res.data.data\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_CONFIG](\n context: ActionContext,\n payload: TAppConfigForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch('config', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG,\n res.data.data\n )\n router.push('/admin/application')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootGetters, IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IRootGetters = {\n [ROOT_STORE.GETTERS.APP_CONFIG]: (state: IRootState) => {\n return state.application.config\n },\n [ROOT_STORE.GETTERS.APP_LOADING]: (state: IRootState) => {\n return state.appLoading\n },\n [ROOT_STORE.GETTERS.APP_STATS]: (state: IRootState) => {\n return state.application.statistics\n },\n [ROOT_STORE.GETTERS.ERROR_MESSAGES]: (state: IRootState) => {\n return state.errorMessages\n },\n [ROOT_STORE.GETTERS.LANGUAGE]: (state: IRootState) => {\n return state.language\n },\n [ROOT_STORE.GETTERS.LOCALE]: (state: IRootState) => {\n return state.locale\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState, TRootMutations } from '@/store/modules/root/types'\nimport { TAppConfig, IAppStatistics } from '@/types/application'\nimport { localeFromLanguage } from '@/utils/locales'\n\nexport const mutations: MutationTree & TRootMutations = {\n [ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES](state: IRootState) {\n state.errorMessages = null\n },\n [ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES](\n state: IRootState,\n errorMessages: string\n ) {\n state.errorMessages = errorMessages\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_CONFIG](\n state: IRootState,\n config: TAppConfig\n ) {\n state.application.config = config\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_LOADING](\n state: IRootState,\n loading: boolean\n ) {\n state.appLoading = loading\n },\n [ROOT_STORE.MUTATIONS.UPDATE_APPLICATION_STATS](\n state: IRootState,\n statistics: IAppStatistics\n ) {\n state.application.statistics = statistics\n },\n [ROOT_STORE.MUTATIONS.UPDATE_LANG](state: IRootState, language: string) {\n state.language = language\n state.locale = localeFromLanguage[language]\n },\n}\n","import { enUS } from 'date-fns/locale'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { IApplication } from '@/types/application'\n\nexport const state: IRootState = {\n root: true,\n language: 'en',\n locale: enUS,\n errorMessages: null,\n application: {},\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsActions, ISportsState } from '@/store/modules/sports/types'\nimport { ISportPayload } from '@/types/sports'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & ISportsActions = {\n [SPORTS_STORE.ACTIONS.GET_SPORTS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('sports')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n SPORTS_STORE.MUTATIONS.SET_SPORTS,\n res.data.data.sports\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [SPORTS_STORE.ACTIONS.UPDATE_SPORTS](\n context: ActionContext,\n payload: ISportPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`sports/${payload.id}`, { is_active: payload.isActive })\n .then((res) => {\n if (res.data.status === 'success') {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsGetters, ISportsState } from '@/store/modules/sports/types'\n\nexport const getters: GetterTree & ISportsGetters = {\n [SPORTS_STORE.GETTERS.SPORTS]: (state: ISportsState) => state.sports,\n}\n","import { MutationTree } from 'vuex'\n\nimport { SPORTS_STORE } from '@/store/constants'\nimport { ISportsState, TSportsMutations } from '@/store/modules/sports/types'\nimport { ISport } from '@/types/sports'\n\nexport const mutations: MutationTree & TSportsMutations = {\n [SPORTS_STORE.MUTATIONS.SET_SPORTS](state: ISportsState, sports: ISport[]) {\n state.sports = sports\n },\n}\n","import { ISportsState } from '@/store/modules/sports/types'\n\nexport const sportsState: ISportsState = {\n sports: [],\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/sports/actions'\nimport { getters } from '@/store/modules/sports/getters'\nimport { mutations } from '@/store/modules/sports/mutations'\nimport { sportsState } from '@/store/modules/sports/state'\nimport { ISportsState } from '@/store/modules/sports/types'\n\nconst sports: Module = {\n state: sportsState,\n actions,\n getters,\n mutations,\n}\n\nexport default sports\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { STATS_STORE, ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsActions,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\nimport { IUserStatisticsPayload } from '@/types/statistics'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree &\n IStatisticsActions = {\n [STATS_STORE.ACTIONS.GET_USER_STATS](\n context: ActionContext,\n payload: IUserStatisticsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(`stats/${payload.username}/${payload.filterType}`, {\n params: payload.params,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n STATS_STORE.MUTATIONS.UPDATE_USER_STATS,\n res.data.data.statistics\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IStatisticsGetters,\n IStatisticsState,\n} from '@/store/modules/statistics/types'\n\nexport const getters: GetterTree &\n IStatisticsGetters = {\n [STATS_STORE.GETTERS.USER_STATS]: (state: IStatisticsState) => {\n return state.statistics\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { STATS_STORE } from '@/store/constants'\nimport {\n IStatisticsState,\n TStatisticsMutations,\n} from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const mutations: MutationTree & TStatisticsMutations =\n {\n [STATS_STORE.MUTATIONS.UPDATE_USER_STATS](\n state: IStatisticsState,\n statistics: TStatisticsFromApi\n ) {\n state.statistics = statistics\n },\n [STATS_STORE.MUTATIONS.EMPTY_USER_STATS](state: IStatisticsState) {\n state.statistics = {}\n },\n }\n","import { IStatisticsState } from '@/store/modules/statistics/types'\nimport { TStatisticsFromApi } from '@/types/statistics'\n\nexport const statisticsState: IStatisticsState = {\n statistics: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/statistics/actions'\nimport { getters } from '@/store/modules/statistics/getters'\nimport { mutations } from '@/store/modules/statistics/mutations'\nimport { statisticsState } from '@/store/modules/statistics/state'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\n\nconst statistics: Module = {\n state: statisticsState,\n actions,\n getters,\n mutations,\n}\n\nexport default statistics\n","import axios from 'axios'\n\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport createI18n from '@/i18n'\nimport router from '@/router'\nimport {\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USER_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUserActions, IUserState } from '@/store/modules/user/types'\nimport {\n ILoginOrRegisterData,\n IUserDeletionPayload,\n IUserPasswordPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst { locale } = createI18n.global\n\nexport const actions: ActionTree & IUserActions = {\n [USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n },\n [USER_STORE.ACTIONS.GET_USER_PROFILE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('auth/profile')\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n localStorage.removeItem('authToken')\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(STATS_STORE.MUTATIONS.EMPTY_USER_STATS)\n context.commit(USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n router.push('/login')\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PROFILE](\n context: ActionContext,\n payload: IUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n router.push('/profile')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES](\n context: ActionContext,\n payload: IUserPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/preferences', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(\n ROOT_STORE.MUTATIONS.UPDATE_LANG,\n res.data.data.language\n )\n locale.value = res.data.data.language\n router.push('/profile/preferences')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.UPDATE_USER_PICTURE](\n context: ActionContext,\n payload: IUserPicturePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n if (!payload.picture) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.picture)\n authApi\n .post('auth/picture', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`users/${payload.username}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/picture`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/profile'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserPasswordPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/reset-request', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [USER_STORE.ACTIONS.RESET_USER_PASSWORD](\n context: ActionContext,\n payload: IUserPasswordResetPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/password/update', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/password-reset/password-updated')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { USER_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUserGetters, IUserState } from '@/store/modules/user/types'\n\nexport const getters: GetterTree & IUserGetters = {\n [USER_STORE.GETTERS.AUTH_TOKEN]: (state: IUserState) => {\n return state.authToken\n },\n [USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IUserState) => {\n return state.authUserProfile\n },\n [USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IUserState) => {\n return state.authToken !== null\n },\n [USER_STORE.GETTERS.IS_ADMIN]: (state: IUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [USER_STORE.GETTERS.USER_LOADING]: (state: IUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USER_STORE } from '@/store/constants'\nimport { IUserState, TUserMutations } from '@/store/modules/user/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUserMutations = {\n [USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IUserState,\n authUserProfile: IUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IUserState } from '@/store/modules/user/types'\nimport { IUserProfile } from '@/types/user'\n\nexport const userState: IUserState = {\n authToken: null,\n authUserProfile: {},\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/user/actions'\nimport { getters } from '@/store/modules/user/getters'\nimport { mutations } from '@/store/modules/user/mutations'\nimport { userState } from '@/store/modules/user/state.ts'\nimport { IUserState } from '@/store/modules/user/types'\n\nconst user: Module = {\n state: userState,\n actions,\n getters,\n mutations,\n}\n\nexport default user\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const actions: ActionTree & IUsersActions = {\n [USERS_STORE.ACTIONS.EMPTY_USER](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USER, {})\n },\n [USERS_STORE.ACTIONS.EMPTY_USERS](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION, {})\n },\n [USERS_STORE.ACTIONS.GET_USER](\n context: ActionContext,\n username: string\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get(`users/${username}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.GET_USERS](\n context: ActionContext,\n payload: TPaginationPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, true)\n authApi\n .get('users', { params: payload })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS,\n res.data.data.users\n )\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n [USERS_STORE.ACTIONS.UPDATE_USER](\n context: ActionContext,\n payload: IAdminUserPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .patch(`users/${payload.username}`, { admin: payload.admin })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS,\n res.data.data.users[0]\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersGetters, IUsersState } from '@/store/modules/users/types'\n\nexport const getters: GetterTree & IUsersGetters = {\n [USERS_STORE.GETTERS.USER]: (state: IUsersState) => {\n return state.user\n },\n [USERS_STORE.GETTERS.USERS]: (state: IUsersState) => {\n return state.users\n },\n [USERS_STORE.GETTERS.USERS_LOADING]: (state: IUsersState) => {\n return state.loading\n },\n [USERS_STORE.GETTERS.USERS_PAGINATION]: (state: IUsersState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { USERS_STORE } from '@/store/constants'\nimport { IUsersState, TUsersMutations } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TUsersMutations = {\n [USERS_STORE.MUTATIONS.UPDATE_USER](state: IUsersState, user: IUserProfile) {\n state.user = user\n },\n [USERS_STORE.MUTATIONS.UPDATE_USER_IN_USERS](\n state: IUsersState,\n updatedUser: IUserProfile\n ) {\n state.users = state.users.map((user) => {\n if (user.username === updatedUser.username) {\n return updatedUser\n }\n return user\n })\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS](\n state: IUsersState,\n users: IUserProfile[]\n ) {\n state.users = users\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_LOADING](\n state: IUsersState,\n loading: boolean\n ) {\n state.loading = loading\n },\n [USERS_STORE.MUTATIONS.UPDATE_USERS_PAGINATION](\n state: IUsersState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n}\n","import { IUsersState } from '@/store/modules/users/types'\nimport { IPagination } from '@/types/api'\nimport { IUserProfile } from '@/types/user'\n\nexport const usersState: IUsersState = {\n user: {},\n users: [],\n loading: false,\n pagination: {},\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/users/actions'\nimport { getters } from '@/store/modules/users/getters'\nimport { mutations } from '@/store/modules/users/mutations'\nimport { usersState } from '@/store/modules/users/state'\nimport { IUsersState } from '@/store/modules/users/types'\n\nconst users: Module = {\n state: usersState,\n actions,\n getters,\n mutations,\n}\n\nexport default users\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { ROOT_STORE, USER_STORE, WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { WorkoutsMutations } from '@/store/modules/workouts/enums'\nimport {\n IWorkoutsActions,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\nimport {\n IWorkout,\n IWorkoutForm,\n IWorkoutPayload,\n TWorkoutsPayload,\n} from '@/types/workouts'\nimport { handleError } from '@/utils'\n\nconst getWorkouts = (\n context: ActionContext,\n payload: TWorkoutsPayload,\n target: WorkoutsMutations\n): void => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('workouts', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(WORKOUTS_STORE.MUTATIONS[target], res.data.data.workouts)\n if (target === WorkoutsMutations['SET_USER_WORKOUTS']) {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION,\n res.data.pagination\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree &\n IWorkoutsActions = {\n [WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS)\n getWorkouts(context, payload, WorkoutsMutations['SET_CALENDAR_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_USER_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['SET_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](\n context: ActionContext,\n payload: TWorkoutsPayload\n ): void {\n getWorkouts(context, payload, WorkoutsMutations['ADD_TIMELINE_WORKOUTS'])\n },\n [WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n const segmentUrl = payload.segmentId ? `/segment/${payload.segmentId}` : ''\n authApi\n .get(`workouts/${payload.workoutId}`)\n .then((res) => {\n const workout: IWorkout = res.data.data.workouts[0]\n if (res.data.status === 'success') {\n if (\n payload.segmentId &&\n (workout.segments.length === 0 ||\n !workout.segments[+payload.segmentId - 1])\n ) {\n throw new Error('WORKOUT_NOT_FOUND')\n }\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT,\n res.data.data.workouts[0]\n )\n if (res.data.data.workouts[0].with_gpx) {\n authApi\n .get(`workouts/${payload.workoutId}/chart_data${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA,\n res.data.data.chart_data\n )\n }\n })\n authApi\n .get(`workouts/${payload.workoutId}/gpx${segmentUrl}`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX,\n res.data.data.gpx\n )\n }\n })\n }\n } else {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, null)\n }\n })\n .catch((error) => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .delete(`workouts/${payload.workoutId}`)\n .then(() => {\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n router.push('/')\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.EDIT_WORKOUT](\n context: ActionContext,\n payload: IWorkoutPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .patch(`workouts/${payload.workoutId}`, payload.data)\n .then(() => {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n context\n .dispatch(WORKOUTS_STORE.ACTIONS.GET_WORKOUT_DATA, {\n workoutId: payload.workoutId,\n })\n .then(() => {\n router.push({\n name: 'Workout',\n params: { workoutId: payload.workoutId },\n })\n })\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n if (!payload.file) {\n throw new Error('No file part')\n }\n const form = new FormData()\n form.append('file', payload.file)\n form.append(\n 'data',\n `{\"sport_id\": ${payload.sport_id}, \"notes\": \"${payload.notes}\"}`\n )\n authApi\n .post('workouts', form, {\n headers: {\n 'content-type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(\n res.data.data.workouts.length === 1\n ? `/workouts/${workout.id}`\n : '/'\n )\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n [WORKOUTS_STORE.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](\n context: ActionContext,\n payload: IWorkoutForm\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, true)\n authApi\n .post('workouts/no_gpx', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.dispatch(USER_STORE.ACTIONS.GET_USER_PROFILE)\n const workout: IWorkout = res.data.data.workouts[0]\n router.push(`/workouts/${workout.id}`)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n .finally(() =>\n context.commit(WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING, false)\n )\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IWorkoutsGetters,\n IWorkoutsState,\n} from '@/store/modules/workouts/types'\n\nexport const getters: GetterTree &\n IWorkoutsGetters = {\n [WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]: (state: IWorkoutsState) => {\n return state.calendar_workouts\n },\n [WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]: (state: IWorkoutsState) => {\n return state.timeline_workouts\n },\n [WORKOUTS_STORE.GETTERS.USER_WORKOUTS]: (state: IWorkoutsState) => {\n return state.user_workouts\n },\n [WORKOUTS_STORE.GETTERS.WORKOUT_DATA]: (state: IWorkoutsState) => {\n return state.workoutData\n },\n [WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]: (state: IWorkoutsState) => {\n return state.pagination\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { WORKOUTS_STORE } from '@/store/constants'\nimport {\n IWorkoutsState,\n TWorkoutsMutations,\n} from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout, IWorkoutApiChartData } from '@/types/workouts'\n\nexport const mutations: MutationTree & TWorkoutsMutations = {\n [WORKOUTS_STORE.MUTATIONS.ADD_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = state.timeline_workouts.concat(workouts)\n },\n [WORKOUTS_STORE.MUTATIONS.SET_CALENDAR_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.calendar_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_TIMELINE_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.timeline_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_USER_WORKOUTS](\n state: IWorkoutsState,\n workouts: IWorkout[]\n ) {\n state.user_workouts = workouts\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUTS_PAGINATION](\n state: IWorkoutsState,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT](\n state: IWorkoutsState,\n workout: IWorkout\n ) {\n state.workoutData.workout = workout\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_CHART_DATA](\n state: IWorkoutsState,\n chartData: IWorkoutApiChartData[]\n ) {\n state.workoutData.chartData = chartData\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_GPX](\n state: IWorkoutsState,\n gpx: string\n ) {\n state.workoutData.gpx = gpx\n },\n [WORKOUTS_STORE.MUTATIONS.SET_WORKOUT_LOADING](\n state: IWorkoutsState,\n loading: boolean\n ) {\n state.workoutData.loading = loading\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS](state: IWorkoutsState) {\n state.calendar_workouts = []\n state.user_workouts = []\n },\n [WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT](state: IWorkoutsState) {\n state.workoutData = {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n }\n },\n}\n","import { IWorkoutsState } from '@/store/modules/workouts/types'\nimport { IPagination } from '@/types/api'\nimport { IWorkout } from '@/types/workouts'\n\nexport const workoutsState: IWorkoutsState = {\n calendar_workouts: [],\n timeline_workouts: [],\n pagination: {},\n user_workouts: [],\n workoutData: {\n gpx: '',\n loading: false,\n workout: {},\n chartData: [],\n },\n}\n","import { Module } from 'vuex'\n\nimport { IRootState } from '@/store/modules/root/types'\nimport { actions } from '@/store/modules/workouts/actions'\nimport { getters } from '@/store/modules/workouts/getters'\nimport { mutations } from '@/store/modules/workouts/mutations'\nimport { workoutsState } from '@/store/modules/workouts/state'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nconst workouts: Module = {\n state: workoutsState,\n actions,\n getters,\n mutations,\n}\n\nexport default workouts\n","import { Module, ModuleTree } from 'vuex'\n\nimport { actions } from '@/store/modules/root/actions'\nimport { getters } from '@/store/modules/root/getters'\nimport { mutations } from '@/store/modules/root/mutations'\nimport { state } from '@/store/modules/root/state.ts'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport userModule from '@/store/modules/user'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n sportsModule,\n statsModule,\n userModule,\n usersModule,\n workoutsModule,\n}\n\nconst root: Module = {\n state,\n actions,\n getters,\n mutations,\n modules,\n}\n\nexport default root\n","import { createStore } from 'vuex'\n\nimport root from '@/store/modules/root'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst store = createStore(root)\n\nexport default store\n","import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'\n\nimport AdminApplication from '@/components/Administration/AdminApplication.vue'\nimport AdminMenu from '@/components/Administration/AdminMenu.vue'\nimport AdminSports from '@/components/Administration/AdminSports.vue'\nimport AdminUsers from '@/components/Administration/AdminUsers.vue'\nimport Profile from '@/components/User/ProfileDisplay/index.vue'\nimport UserInfos from '@/components/User/ProfileDisplay/UserInfos.vue'\nimport UserPreferences from '@/components/User/ProfileDisplay/UserPreferences.vue'\nimport ProfileEdition from '@/components/User/ProfileEdition/index.vue'\nimport UserInfosEdition from '@/components/User/ProfileEdition/UserInfosEdition.vue'\nimport UserPictureEdition from '@/components/User/ProfileEdition/UserPictureEdition.vue'\nimport UserPreferencesEdition from '@/components/User/ProfileEdition/UserPreferencesEdition.vue'\nimport store from '@/store'\nimport { USER_STORE } from '@/store/constants'\n\nconst getTabFromPath = (path: string): string => {\n const regex = /(\\/profile)(\\/edit)*(\\/*)/\n const tag = path.replace(regex, '').toUpperCase()\n return tag === '' ? 'PROFILE' : tag.toUpperCase()\n}\n\nconst routes: Array = [\n {\n path: '/',\n name: 'Dashboard',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/Dashboard.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/user/LoginOrRegister.vue'),\n props: { action: 'register' },\n },\n {\n path: '/password-reset/sent',\n name: 'PasswordEmailSent',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'request-sent' },\n },\n {\n path: '/password-reset/request',\n name: 'PasswordResetRequest',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset-request' },\n },\n {\n path: '/password-reset/password-updated',\n name: 'PasswordUpdated',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'password-updated' },\n },\n {\n path: '/password-reset',\n name: 'PasswordReset',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/PasswordResetView.vue'\n ),\n props: { action: 'reset' },\n },\n {\n path: '/profile',\n name: 'Profile',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/ProfileView.vue'),\n children: [\n {\n path: '',\n name: 'UserProfile',\n component: Profile,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfos',\n component: UserInfos,\n },\n {\n path: 'preferences',\n name: 'UserPreferences',\n component: UserPreferences,\n },\n ],\n },\n {\n path: 'edit',\n name: 'UserProfileEdition',\n component: ProfileEdition,\n props: (route) => ({\n tab: getTabFromPath(route.path),\n }),\n children: [\n {\n path: '',\n name: 'UserInfosEdition',\n component: UserInfosEdition,\n },\n {\n path: 'picture',\n name: 'UserPictureEdition',\n component: UserPictureEdition,\n },\n {\n path: 'preferences',\n name: 'UserPreferencesEdition',\n component: UserPreferencesEdition,\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/StatisticsView.vue'),\n },\n {\n path: '/users/:username',\n name: 'User',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n },\n {\n path: '/workouts',\n name: 'Workouts',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/WorkoutsView.vue'\n ),\n },\n {\n path: '/workouts/:workoutId',\n name: 'Workout',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: false },\n },\n {\n path: '/workouts/:workoutId/edit',\n name: 'EditWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/EditWorkout.vue'\n ),\n },\n {\n path: '/workouts/:workoutId/segment/:segmentId',\n name: 'WorkoutSegment',\n component: () =>\n import(/* webpackChunkName: 'workouts' */ '@/views/workouts/Workout.vue'),\n props: { displaySegment: true },\n },\n {\n path: '/workouts/add',\n name: 'AddWorkout',\n component: () =>\n import(\n /* webpackChunkName: 'workouts' */ '@/views/workouts/AddWorkout.vue'\n ),\n },\n {\n path: '/admin',\n name: 'Administration',\n component: () =>\n import(/* webpackChunkName: 'admin' */ '@/views/AdminView.vue'),\n children: [\n {\n path: '',\n name: 'AdministrationMenu',\n component: AdminMenu,\n },\n {\n path: 'application',\n name: 'ApplicationAdministration',\n component: AdminApplication,\n },\n {\n path: 'application/edit',\n name: 'ApplicationAdministrationEdition',\n component: AdminApplication,\n props: { edition: true },\n },\n {\n path: 'sports',\n name: 'SportsAdministration',\n component: AdminSports,\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: () =>\n import(/* webpackChunkName: 'main' */ '@/views/NotFoundView.vue'),\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(process.env.BASE_URL),\n routes,\n})\n\nconst pathsWithoutAuthentication = [\n '/login',\n '/password-reset',\n '/password-reset/password-updated',\n '/password-reset/request',\n '/password-reset/sent',\n '/register',\n]\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (\n store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n } else if (\n !store.getters[USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n !pathsWithoutAuthentication.includes(to.path)\n ) {\n const path =\n to.path === '/'\n ? { path: '/login' }\n : { path: '/login', query: { from: to.fullPath } }\n next(path)\n } else {\n next()\n }\n })\n .catch((error) => {\n console.error(error)\n next()\n })\n})\n\nexport default router\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'AlertMessage',\n props: {\n message: String,\n },\n })\n","import { render } from \"./AlertMessage.vue?vue&type=template&id=f5e8066a&scoped=true\"\nimport script from \"./AlertMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-f5e8066a\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, ref, watch } from 'vue'\n\n export default defineComponent({\n name: 'CustomTextArea',\n props: {\n charLimit: {\n type: Number,\n default: 500,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n input: {\n type: String,\n default: '',\n },\n name: {\n type: String,\n required: true,\n },\n },\n emits: ['updateValue'],\n setup(props, { emit }) {\n let text = ref('')\n\n function updateText(event: Event & { target: HTMLInputElement }) {\n emit('updateValue', event.target.value)\n }\n\n watch(\n () => props.input,\n (value) => {\n text.value = value\n }\n )\n\n return { text, updateText }\n },\n })\n","import { render } from \"./CustomTextArea.vue?vue&type=template&id=ad3739fc&scoped=true\"\nimport script from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=ad3739fc&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-ad3739fc\"\n\nexport default script","\n\n\n\n\n","\n import { PropType, defineComponent, ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n\n export default defineComponent({\n name: 'Dropdown',\n props: {\n options: {\n type: Object as PropType,\n required: true,\n },\n selected: {\n type: String,\n required: true,\n },\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(props, { emit }) {\n const route = useRoute()\n let isOpen = ref(false)\n let dropdownOptions = props.options.map((option) => option)\n\n function toggleDropdown() {\n isOpen.value = !isOpen.value\n }\n function updateSelected(option: IDropdownOption) {\n emit('selected', option)\n isOpen.value = false\n }\n\n watch(\n () => route.path,\n () => (isOpen.value = false)\n )\n\n return {\n dropdownOptions,\n isOpen,\n toggleDropdown,\n updateSelected,\n }\n },\n })\n","import { render } from \"./Dropdown.vue?vue&type=template&id=5ef2ddef&scoped=true\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=5ef2ddef&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5ef2ddef\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'ErrorMessage',\n props: {\n message: [String, Array],\n },\n })\n","import { render } from \"./ErrorMessage.vue?vue&type=template&id=5c177a93&scoped=true\"\nimport script from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=5c177a93&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-5c177a93\"\n\nexport default script","\n\n\n","\n\n\n","import { render } from \"./CyclingSport.vue?vue&type=template&id=be8023a2\"\nimport script from \"./CyclingSport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingSport.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./CyclingTransport.vue?vue&type=template&id=97af5148\"\nimport script from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingTransport.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Hiking.vue?vue&type=template&id=40903dc4\"\nimport script from \"./Hiking.vue?vue&type=script&lang=js\"\nexport * from \"./Hiking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./MountainBiking.vue?vue&type=template&id=5bdbc6e8\"\nimport script from \"./MountainBiking.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBiking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Running.vue?vue&type=template&id=4d47a4fe\"\nimport script from \"./Running.vue?vue&type=script&lang=js\"\nexport * from \"./Running.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n\n\n","import { render } from \"./Walking.vue?vue&type=template&id=2ed4f5f4\"\nimport script from \"./Walking.vue?vue&type=script&lang=js\"\nexport * from \"./Walking.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n import { defineComponent, inject } from 'vue'\n\n import CyclingSport from '@/components/Common/Images/SportImage/CyclingSport.vue'\n import CyclingTransport from '@/components/Common/Images/SportImage/CyclingTransport.vue'\n import Hiking from '@/components/Common/Images/SportImage/Hiking.vue'\n import MountainBiking from '@/components/Common/Images/SportImage/MountainBiking.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n export default defineComponent({\n name: 'SportImage',\n components: {\n CyclingSport,\n CyclingTransport,\n Hiking,\n MountainBiking,\n Running,\n Walking,\n },\n props: {\n sportLabel: {\n type: String,\n required: true,\n },\n title: {\n type: String,\n required: false,\n },\n },\n setup() {\n return { sportColors: inject('sportColors') }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=834c586a\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n export default defineComponent({\n name: 'Loader',\n })\n","import { render } from \"./Loader.vue?vue&type=template&id=8bf75da8&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=ts\"\nexport * from \"./Loader.vue?vue&type=script&lang=ts\"\n\nimport \"./Loader.vue?vue&type=style&index=0&id=8bf75da8&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-8bf75da8\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Modal',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n required: true,\n },\n strongMessage: {\n type: String || null,\n default: null,\n },\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(props, { emit }) {\n const store = useStore()\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\n return { errorMessages, emit }\n },\n })\n","import { render } from \"./Modal.vue?vue&type=template&id=21b6cb61&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=21b6cb61&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-21b6cb61\"\n\nexport default script","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Dropdown from '@/components/Common/Dropdown.vue'\nimport ErrorMessage from '@/components/Common/ErrorMessage.vue'\nimport SportImage from '@/components/Common/Images/SportImage/index.vue'\nimport Loader from '@/components/Common/Loader.vue'\nimport Modal from '@/components/Common/Modal.vue'\n\nexport const customComponents = [\n AlertMessage,\n Card,\n CustomTextArea,\n Dropdown,\n ErrorMessage,\n Loader,\n Modal,\n SportImage,\n]\n","import { Directive, DirectiveBinding } from 'vue'\n\ninterface ClickOutsideHTMLElement extends HTMLElement {\n clickOutsideEvent?: (event: MouseEvent | TouchEvent) => void\n}\n\nexport const clickOutsideDirective: Directive = {\n mounted: (\n element: ClickOutsideHTMLElement,\n binding: DirectiveBinding\n ): void => {\n element.clickOutsideEvent = function (event) {\n if (!(element === event.target || element.contains(event.target))) {\n binding.value(event)\n }\n }\n document.body.addEventListener('click', element.clickOutsideEvent)\n document.body.addEventListener('touchstart', element.clickOutsideEvent)\n },\n unmounted: function (element: ClickOutsideHTMLElement): void {\n if (element.clickOutsideEvent) {\n document.body.removeEventListener('click', element.clickOutsideEvent)\n document.body.removeEventListener('touchstart', element.clickOutsideEvent)\n element.clickOutsideEvent = undefined\n }\n },\n}\n","import {\n Chart,\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n} from 'chart.js'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { createApp } from 'vue'\n\nimport './registerServiceWorker'\nimport App from './App.vue'\nimport i18n from './i18n'\nimport router from './router'\nimport store from './store'\n\nimport { customComponents } from '@/custom-components'\nimport { clickOutsideDirective } from '@/directives'\nimport { sportColors } from '@/utils/sports'\n\nChart.register(\n BarElement,\n LineElement,\n PointElement,\n Legend,\n Title,\n Tooltip,\n Filler,\n BarController,\n CategoryScale,\n LineController,\n LinearScale,\n ChartDataLabels\n)\n\nconst app = createApp(App)\n .provide('sportColors', sportColors)\n .use(i18n)\n .use(store)\n .use(router)\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component)\n})\n\napp.mount('#app')\n","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { ROOT_STORE } from '@/store/constants'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/types'\nimport { IUserState } from '@/store/modules/user/types'\nimport { IUsersState } from '@/store/modules/users/types'\nimport { IWorkoutsState } from '@/store/modules/workouts/types'\n\nexport const getApiUrl = (): string => {\n return process.env.NODE_ENV === 'production'\n ? '/api/'\n : `${process.env.VUE_APP_API_URL}/api/`\n}\n\nexport const handleError = (\n context:\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext\n | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n const errorMessages = !error\n ? msg\n : error.response\n ? error.response.status === 413\n ? 'file size is greater than the allowed size'\n : error.response.data.message\n ? error.response.data.message\n : msg\n : error.message\n ? error.message\n : msg\n context.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n errorMessages.includes('\\n')\n ? errorMessages\n .split('\\n')\n .filter((m: string) => m !== '')\n .map((m: string) => `api.ERROR.${m}`)\n : `api.ERROR.${errorMessages}`\n )\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserProfileTabs.vue?vue&type=style&index=0&id=c7276c08&lang=scss\"","export enum RootActions {\n GET_APPLICATION_CONFIG = 'GET_APPLICATION_CONFIG',\n GET_APPLICATION_STATS = 'GET_APPLICATION_STATS',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n}\n\nexport enum RootGetters {\n APP_CONFIG = 'APP_CONFIG',\n APP_LOADING = 'APP_LOADING',\n APP_STATS = 'APP_STATS',\n ERROR_MESSAGES = 'ERROR_MESSAGES',\n LANGUAGE = 'LANGUAGE',\n LOCALE = 'LOCALE', // date-fns\n}\n\nexport enum RootMutations {\n EMPTY_ERROR_MESSAGES = 'EMPTY_ERROR_MESSAGES',\n SET_ERROR_MESSAGES = 'SET_ERROR_MESSAGES',\n UPDATE_APPLICATION_CONFIG = 'UPDATE_APPLICATION_CONFIG',\n UPDATE_APPLICATION_LOADING = 'UPDATE_APPLICATION_LOADING',\n UPDATE_APPLICATION_STATS = 'UPDATE_APPLICATION_STATS',\n UPDATE_LANG = 'UPDATE_LANG',\n}\n","export enum SportsActions {\n GET_SPORTS = 'GET_SPORTS',\n UPDATE_SPORTS = 'UPDATE_SPORTS',\n}\n\nexport enum SportsGetters {\n SPORTS = 'SPORTS',\n}\n\nexport enum SportsMutation {\n SET_SPORTS = 'SET_SPORTS',\n}\n","export enum StatisticsActions {\n GET_USER_STATS = 'GET_USER_STATS',\n}\n\nexport enum StatisticsGetters {\n USER_STATS = 'USER_STATS',\n}\n\nexport enum StatisticsMutations {\n EMPTY_USER_STATS = 'EMPTY_USER_STATS',\n UPDATE_USER_STATS = 'UPDATE_USER_STATS',\n}\n","export enum UserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n DELETE_ACCOUNT = 'DELETE_ACCOUNT',\n DELETE_PICTURE = 'DELETE_PICTURE',\n GET_USER_PROFILE = 'GET_USER_PROFILE',\n LOGIN_OR_REGISTER = 'LOGIN_OR_REGISTER',\n LOGOUT = 'LOGOUT',\n SEND_PASSWORD_RESET_REQUEST = 'SEND_PASSWORD_RESET_REQUEST',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n}\n\nexport enum UserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum UserMutations {\n CLEAR_AUTH_USER_TOKEN = 'CLEAR_AUTH_USER_TOKEN',\n UPDATE_AUTH_TOKEN = 'UPDATE_AUTH_TOKEN',\n UPDATE_AUTH_USER_PROFILE = 'UPDATE_AUTH_USER_PROFILE',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum UsersActions {\n EMPTY_USER = 'EMPTY_USER',\n EMPTY_USERS = 'EMPTY_USERS',\n GET_USER = 'GET_USER',\n GET_USERS = 'GET_USERS',\n UPDATE_USER = 'UPDATE_USER',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_LOADING = 'USERS_LOADING',\n USERS_PAGINATION = 'USERS_PAGINATION',\n}\n\nexport enum UsersMutations {\n UPDATE_USER = 'UPDATE_USER',\n UPDATE_USER_IN_USERS = 'UPDATE_USER_IN_USERS',\n UPDATE_USERS = 'UPDATE_USERS',\n UPDATE_USERS_LOADING = 'UPDATE_USERS_LOADING',\n UPDATE_USERS_PAGINATION = 'UPDATE_USERS_PAGINATION',\n}\n","import {\n RootActions,\n RootGetters,\n RootMutations,\n} from '@/store/modules/root/enums'\nimport {\n SportsActions,\n SportsGetters,\n SportsMutation,\n} from '@/store/modules/sports/enums'\nimport {\n StatisticsActions,\n StatisticsGetters,\n StatisticsMutations,\n} from '@/store/modules/statistics/enums'\nimport {\n UserActions,\n UserGetters,\n UserMutations,\n} from '@/store/modules/user/enums'\nimport {\n UsersActions,\n UsersGetters,\n UsersMutations,\n} from '@/store/modules/users/enums'\nimport {\n WorkoutsActions,\n WorkoutsGetters,\n WorkoutsMutations,\n} from '@/store/modules/workouts/enums'\n\nexport const ROOT_STORE = {\n ACTIONS: RootActions,\n GETTERS: RootGetters,\n MUTATIONS: RootMutations,\n}\n\nexport const SPORTS_STORE = {\n ACTIONS: SportsActions,\n GETTERS: SportsGetters,\n MUTATIONS: SportsMutation,\n}\n\nexport const STATS_STORE = {\n ACTIONS: StatisticsActions,\n GETTERS: StatisticsGetters,\n MUTATIONS: StatisticsMutations,\n}\n\nexport const USER_STORE = {\n ACTIONS: UserActions,\n GETTERS: UserGetters,\n MUTATIONS: UserMutations,\n}\n\nexport const USERS_STORE = {\n ACTIONS: UsersActions,\n GETTERS: UsersGetters,\n MUTATIONS: UsersMutations,\n}\n\nexport const WORKOUTS_STORE = {\n ACTIONS: WorkoutsActions,\n GETTERS: WorkoutsGetters,\n MUTATIONS: WorkoutsMutations,\n}\n","var map = {\n\t\"./en/en.ts\": \"c142\",\n\t\"./fr/fr.ts\": \"663e\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"e7b6\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoConfig.vue?vue&type=style&index=0&id=01d4a985&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./AlertMessage.vue?vue&type=style&index=0&id=f5e8066a&scoped=true&lang=scss\""],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/main.8f9faede.js b/fittrackee/dist/static/js/main.8f9faede.js new file mode 100644 index 00000000..d6364a4f --- /dev/null +++ b/fittrackee/dist/static/js/main.8f9faede.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["main"],{"0395":function(e,t,r){"use strict";r("caad");var a=r("7a23"),o=Object(a["withScopeId"])("data-v-7717f19a");Object(a["pushScopeId"])("data-v-7717f19a");var c={id:"user-auth-form"},n={id:"user-form"},s={class:"form-items"},u={key:1};Object(a["popScopeId"])();var i=o((function(e,t,r,i,d,l){var b=Object(a["resolveComponent"])("AlertMessage"),p=Object(a["resolveComponent"])("router-link"),O=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])("div",{class:["form-box",{disabled:e.registration_disabled}]},[e.registration_disabled?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0,message:"user.REGISTER_DISABLED"})):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(t){return e.onSubmit(e.action)}),["prevent"]))},[Object(a["createVNode"])("div",s,["register"===e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:0,id:"username",disabled:e.registration_disabled,required:"","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.formData.username=t}),placeholder:e.$t("user.USERNAME")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.username]]):Object(a["createCommentVNode"])("",!0),"reset"!==e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:1,id:"email",disabled:e.registration_disabled,required:"",type:"email","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.formData.email=t}),placeholder:"reset-request"===e.action?e.$t("user.ENTER_EMAIL"):e.$t("user.EMAIL")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.email]]):Object(a["createCommentVNode"])("",!0),"reset-request"!==e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:2,id:"password",disabled:e.registration_disabled,required:"",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.formData.password=t}),placeholder:"reset"===e.action?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.password]]):Object(a["createCommentVNode"])("",!0),["register","reset"].includes(e.action)?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:3,id:"confirm-password",disabled:e.registration_disabled,type:"password",required:"","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.formData.password_conf=t}),placeholder:"reset"===e.action?e.$t("user.ENTER_PASSWORD_CONFIRMATION"):e.$t("user.PASSWORD_CONFIRM")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.password_conf]]):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("button",{type:"submit",disabled:e.registration_disabled},Object(a["toDisplayString"])(e.$t(e.buttonText)),9,["disabled"])],32),"login"===e.action?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])(p,{class:"password-forgotten",to:"/password-reset/request"},{default:o((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_FORGOTTEN")),1)]})),_:1})])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0)],2)])])})),d=r("1da1"),l=(r("96cf"),r("6c02")),b=r("dad5"),p=r("2906"),O=Object(a["defineComponent"])({name:"UserAuthForm",props:{action:{type:String,required:!0},token:{type:String,default:""}},setup:function(e){var t=Object(a["reactive"])({username:"",email:"",password:"",password_conf:""}),r=Object(l["c"])(),o=Object(p["a"])(),c=Object(a["computed"])((function(){return i(e.action)})),n=Object(a["computed"])((function(){return o.getters[b["a"].GETTERS.ERROR_MESSAGES]})),s=Object(a["computed"])((function(){return o.getters[b["a"].GETTERS.APP_CONFIG]})),u=Object(a["computed"])((function(){return"register"===e.action&&!s.value.is_registration_enabled}));function i(t){switch(t){case"reset-request":case"reset":return"buttons.SUBMIT";default:return"buttons.".concat(e.action.toUpperCase())}}function O(r){switch(r){case"reset":return e.token?o.dispatch(b["e"].ACTIONS.RESET_USER_PASSWORD,{password:t.password,password_conf:t.password_conf,token:e.token}):o.commit(b["a"].MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return o.dispatch(b["e"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:t.email});default:o.dispatch(b["e"].ACTIONS.LOGIN_OR_REGISTER,{actionType:r,formData:t})}}function j(){t.username="",t.email="",t.password="",t.password_conf=""}return Object(a["watch"])((function(){return r.path}),Object(d["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:o.commit(b["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),j();case 2:case"end":return e.stop()}}),e)})))),{appConfig:s,buttonText:c,errorMessages:n,formData:t,registration_disabled:u,onSubmit:O}}});r("c3f6");O.render=i,O.__scopeId="data-v-7717f19a";t["a"]=O},"0ccb":function(e,t,r){var a=r("50c4"),o=r("1148"),c=r("1d80"),n=Math.ceil,s=function(e){return function(t,r,s){var u,i,d=String(c(t)),l=d.length,b=void 0===s?" ":String(s),p=a(r);return p<=l||""==b?d:(u=p-l,i=o.call(b,n(u/b.length)),i.length>u&&(i=i.slice(0,u)),e?d+i:i+d)}};e.exports={start:s(!1),end:s(!0)}},"0fe0":function(e,t,r){"use strict";r("8338")},"21d8":function(e,t,r){"use strict";r("647c")},"224d":function(e,t,r){"use strict";r("8d2d")},"288e":function(e,t,r){"use strict";r("bbd4")},"2a1d":function(e,t,r){},"2b62":function(e,t,r){"use strict";r("fd0a")},"38f1":function(e,t,r){"use strict";r("92c3")},"3d74":function(e,t,r){},"3dde":function(e,t,r){},"4d90":function(e,t,r){"use strict";var a=r("23e7"),o=r("0ccb").start,c=r("9a0c");a({target:"String",proto:!0,forced:c},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"4fad":function(e,t,r){var a=r("23e7"),o=r("6f53").entries;a({target:"Object",stat:!0},{entries:function(e){return o(e)}})},"51ce":function(e,t,r){"use strict";r("6553")},5782:function(e,t,r){},"5fcb":function(e,t,r){"use strict";r("f153")},"647c":function(e,t,r){},6553:function(e,t,r){},"69b3":function(e,t,r){},"6ca7":function(e,t,r){"use strict";r("3dde")},"6f53":function(e,t,r){var a=r("83ab"),o=r("df75"),c=r("fc6a"),n=r("d1e7").f,s=function(e){return function(t){var r,s=c(t),u=o(s),i=u.length,d=0,l=[];while(i>d)r=u[d++],a&&!n.call(s,r)||l.push(e?[r,s[r]]:s[r]);return l}};e.exports={entries:s(!0),values:s(!1)}},7277:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o=Object(a["withScopeId"])("data-v-e616a7ba");Object(a["pushScopeId"])("data-v-e616a7ba");var c={key:0,id:"dashboard"},n={class:"container mobile-menu"},s={class:"box"},u=Object(a["createVNode"])("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1),i=Object(a["createVNode"])("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1),d=Object(a["createVNode"])("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1),l=Object(a["createVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1),b={class:"container"},p={class:"container dashboard-container"},O={class:"left-container dashboard-sub-container"},j={class:"right-container dashboard-sub-container"},f=Object(a["createVNode"])("div",{id:"bottom"},null,-1),m={key:1,class:"app-loading"};Object(a["popScopeId"])();var k=o((function(e,t,r,o,k,v){var y=Object(a["resolveComponent"])("UserStatsCards"),h=Object(a["resolveComponent"])("UserMonthStats"),S=Object(a["resolveComponent"])("UserRecords"),w=Object(a["resolveComponent"])("UserCalendar"),g=Object(a["resolveComponent"])("Timeline"),C=Object(a["resolveComponent"])("Loader");return e.authUser.username&&e.sports.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])("div",s,[Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"chart"===e.isSelected}],onClick:t[1]||(t[1]=function(t){return e.updateDisplayColumn("chart")})},[u],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"calendar"===e.isSelected}],onClick:t[2]||(t[2]=function(t){return e.updateDisplayColumn("calendar")})},[i],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"timeline"===e.isSelected}],onClick:t[3]||(t[3]=function(t){return e.updateDisplayColumn("timeline")})},[d],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"records"===e.isSelected}],onClick:t[4]||(t[4]=function(t){return e.updateDisplayColumn("records")})},[l],2)])]),Object(a["createVNode"])("div",b,[Object(a["createVNode"])(y,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])("div",p,[Object(a["createVNode"])("div",O,[Object(a["createVNode"])(h,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("chart"===e.isSelected)}},null,8,["sports","user","class"]),Object(a["createVNode"])(S,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("records"===e.isSelected)}},null,8,["sports","user","class"])]),Object(a["createVNode"])("div",j,[Object(a["createVNode"])(w,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("calendar"===e.isSelected)}},null,8,["sports","user","class"]),Object(a["createVNode"])(g,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("timeline"===e.isSelected)}},null,8,["sports","user","class"])])]),f])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",m,[Object(a["createVNode"])(C)]))}));function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r0&&0===e.workouts.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(g(Array(e.initWorkoutsCount).keys()),(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{user:e.user,key:t},null,8,["user"])})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",V,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{workout:t,sport:e.workouts.length>0?e.sports.filter((function(e){return e.id===t.sport_id}))[0]:null,user:e.user,key:t.id},null,8,["workout","sport","user"])})),128)),0===e.workouts.length?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0})):Object(a["createCommentVNode"])("",!0),e.moreWorkoutsExist?(Object(a["openBlock"])(),Object(a["createBlock"])("div",_,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(){return e.loadMoreWorkouts&&e.loadMoreWorkouts.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):Object(a["createCommentVNode"])("",!0)]))])})),I=r("5530"),M=Object(a["withScopeId"])("data-v-3d1a0054");Object(a["pushScopeId"])("data-v-3d1a0054");var E={class:"timeline-workout"},R={class:"box"},A={class:"workout-user-date"},x={class:"workout-user"},U={key:0},q={key:1,class:"no-map"},W=Object(a["createVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1),L={key:0},F=Object(a["createVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1),P={key:0};Object(a["popScopeId"])();var $=M((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),i=Object(a["resolveComponent"])("StaticMap"),d=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",E,[Object(a["createVNode"])("div",R,[Object(a["createVNode"])("div",A,[Object(a["createVNode"])("div",x,[Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),e.user.username?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0,class:"workout-user-name",to:{name:"User",params:{username:e.user.username}}},{default:M((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.user.username),1)]})),_:1},8,["to"])):Object(a["createCommentVNode"])("",!0)]),e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:e.workout.id}}},{default:M((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.workout.title),1)]})),_:1},8,["to"])):Object(a["createCommentVNode"])("",!0),e.workout&&e.user?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:"workout-date",title:e.format(e.getDateWithTZ(e.workout.workout_date,e.user.timezone),"dd/MM/yyyy HH:mm")},Object(a["toDisplayString"])(e.formatDistance(new Date(e.workout.workout_date),new Date,{addSuffix:!0,locale:e.locale})),9,["title"])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",{class:["workout-map",{"no-cursor":!e.workout}],onClick:t[1]||(t[1]=function(t){return e.workout?e.$router.push({name:"Workout",params:{workoutId:e.workout.id}}):null})},[e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("div",U,[e.workout.with_gpx?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,workout:e.workout},null,8,["workout"])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",q,Object(a["toDisplayString"])(e.$t("workouts.NO_MAP")),1))])):Object(a["createCommentVNode"])("",!0)],2),Object(a["createVNode"])("div",{class:"workout-data",onClick:t[2]||(t[2]=function(t){return e.$router.push({name:"Workout",params:{workoutId:e.workout.id}})})},[Object(a["createVNode"])("div",null,[e.sport?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:0,"sport-label":e.sport.label},null,8,["sport-label"])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",null,[W,e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("span",L,Object(a["toDisplayString"])(e.workout.moving),1)):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",null,[F,e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("span",P,Object(a["toDisplayString"])(e.workout.distance)+" km",1)):Object(a["createCommentVNode"])("",!0)])])])])})),G=r("b166"),H=r("fd3a"),Y=r("8c86");function K(e,t){Object(Y["a"])(2,arguments);var r=Object(H["a"])(e),a=Object(H["a"])(t),o=r.getTime()-a.getTime();return o<0?-1:o>0?1:o}function X(e,t){Object(Y["a"])(2,arguments);var r=Object(H["a"])(e),a=Object(H["a"])(t),o=r.getFullYear()-a.getFullYear(),c=r.getMonth()-a.getMonth();return 12*o+c}function z(e){Object(Y["a"])(1,arguments);var t=Object(H["a"])(e);return t.setHours(23,59,59,999),t}var J=r("8cac");function Z(e){Object(Y["a"])(1,arguments);var t=Object(H["a"])(e);return z(t).getTime()===Object(J["a"])(t).getTime()}function Q(e,t){Object(Y["a"])(2,arguments);var r,a=Object(H["a"])(e),o=Object(H["a"])(t),c=K(a,o),n=Math.abs(X(a,o));if(n<1)r=0;else{1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-c*n);var s=K(a,o)===-c;Z(Object(H["a"])(e))&&1===n&&1===K(e,o)&&(s=!1),r=c*(n-Number(s))}return 0===r?0:r}function ee(e,t){Object(Y["a"])(2,arguments);var r=Object(H["a"])(e),a=Object(H["a"])(t);return r.getTime()-a.getTime()}function te(e,t){Object(Y["a"])(2,arguments);var r=ee(e,t)/1e3;return r>0?Math.floor(r):Math.ceil(r)}var re=r("8923");function ae(e,t){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var r in t=t||{},t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}function oe(e){return ae({},e)}var ce=r("2420"),ne=1440,se=2520,ue=43200,ie=86400;function de(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(Y["a"])(2,arguments);var a=r.locale||re["a"];if(!a.formatDistance)throw new RangeError("locale must contain formatDistance property");var o=K(e,t);if(isNaN(o))throw new RangeError("Invalid time value");var c,n,s=oe(r);s.addSuffix=Boolean(r.addSuffix),s.comparison=o,o>0?(c=Object(H["a"])(t),n=Object(H["a"])(e)):(c=Object(H["a"])(e),n=Object(H["a"])(t));var u,i=te(n,c),d=(Object(ce["a"])(n)-Object(ce["a"])(c))/1e3,l=Math.round((i-d)/60);if(l<2)return r.includeSeconds?i<5?a.formatDistance("lessThanXSeconds",5,s):i<10?a.formatDistance("lessThanXSeconds",10,s):i<20?a.formatDistance("lessThanXSeconds",20,s):i<40?a.formatDistance("halfAMinute",null,s):i<60?a.formatDistance("lessThanXMinutes",1,s):a.formatDistance("xMinutes",1,s):0===l?a.formatDistance("lessThanXMinutes",1,s):a.formatDistance("xMinutes",l,s);if(l<45)return a.formatDistance("xMinutes",l,s);if(l<90)return a.formatDistance("aboutXHours",1,s);if(l=o?o:e.user.nb_workouts;Object(a["onBeforeMount"])((function(){return u()}));var n=Object(a["computed"])((function(){return t.getters[pe["f"].GETTERS.TIMELINE_WORKOUTS]})),s=Object(a["computed"])((function(){return n.value.length>0&&null!==n.value[n.value.length-1].previous_workout}));function u(){t.dispatch(pe["f"].ACTIONS.GET_TIMELINE_WORKOUTS,Object(I["a"])({page:r.value,per_page:o},ve["a"]))}function i(){r.value+=1,t.dispatch(pe["f"].ACTIONS.GET_MORE_TIMELINE_WORKOUTS,Object(I["a"])({page:r.value,per_page:o},ve["a"]))}return{initWorkoutsCount:c,moreWorkoutsExist:s,per_page:o,workouts:n,loadMoreWorkouts:i}}});r("e0ff");ye.render=T,ye.__scopeId="data-v-e324c07c";var he=ye,Se={id:"user-calendar"},we={class:"calendar-card box"};function ge(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarHeader"),u=Object(a["resolveComponent"])("CalendarDays"),i=Object(a["resolveComponent"])("CalendarCells");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Se,[Object(a["createVNode"])("div",we,[Object(a["createVNode"])(s,{day:e.day,"locale-options":"enGB",onDisplayNextMonth:e.displayNextMonth,onDisplayPreviousMonth:e.displayPreviousMonth},null,8,["day","onDisplayNextMonth","onDisplayPreviousMonth"]),Object(a["createVNode"])(u,{"start-date":e.calendarDates.start,"locale-options":"enGB"},null,8,["start-date"]),Object(a["createVNode"])(i,{currentDay:e.day,"end-date":e.calendarDates.end,sports:e.sports,"start-date":e.calendarDates.start,timezone:e.user.timezone,workouts:e.calendarWorkouts,weekStartingMonday:e.user.weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])])}var Ce=r("74b5"),Ne=r("a618"),Be={class:"calendar-cells"},De={class:"calendar-cell-day"};function Ve(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarWorkouts");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Be,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.rows,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-row",key:r},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:["calendar-cell",{"disabled-cell":!e.isSameMonth(t,e.currentDay),"week-end":e.isWeekEnd(r),today:e.isToday(t)}],key:r},[Object(a["createVNode"])(s,{workouts:e.filterWorkouts(t,e.workouts),sports:e.sports},null,8,["workouts","sports"]),Object(a["createVNode"])("div",De,Object(a["toDisplayString"])(e.format(t,"d")),1)],2)})),128))])})),128))])}r("caad");var _e=r("f7f1");function Te(e){Object(Y["a"])(1,arguments);var t=Object(H["a"])(e);return t.setHours(0,0,0,0),t}function Ie(e,t){Object(Y["a"])(2,arguments);var r=Te(e),a=Te(t);return r.getTime()===a.getTime()}function Me(e,t){Object(Y["a"])(2,arguments);var r=Object(H["a"])(e),a=Object(H["a"])(t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function Ee(e){return Object(Y["a"])(1,arguments),Ie(e,Date.now())}var Re={class:"calendar-workouts"},Ae={class:"desktop-display"},xe={key:0,class:"workouts-display"},Ue={key:1,class:"donut-display"},qe={class:"mobile-display"},We={key:0,class:"donut-display"};function Le(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarWorkout"),u=Object(a["resolveComponent"])("CalendarWorkoutsChart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Re,[Object(a["createVNode"])("div",Ae,[e.workouts.length<=e.displayedWorkoutCount?(Object(a["openBlock"])(),Object(a["createBlock"])("div",xe,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts.slice(0,e.displayedWorkoutCount),(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:r,workout:t,sportLabel:e.getSportLabel(t,e.sports)},null,8,["workout","sportLabel"])})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ue,[Object(a["createVNode"])(u,{workouts:e.workouts,sports:e.sports,datasets:e.chartDatasets,colors:e.colors},null,8,["workouts","sports","datasets","colors"])]))]),Object(a["createVNode"])("div",qe,[e.workouts.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("div",We,[Object(a["createVNode"])(u,{workouts:e.workouts,sports:e.sports,datasets:e.chartDatasets,colors:e.colors},null,8,["workouts","sports","datasets","colors"])])):Object(a["createCommentVNode"])("",!0)])])}r("d81d");function Fe(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-workout",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"Workout",params:{workoutId:e.workout.id}})})},[Object(a["createVNode"])(s,{"sport-label":e.sportLabel,title:e.workout.title},null,8,["sport-label","title"]),Object(a["createVNode"])("sup",null,[e.workout.records.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:e.workout.records.map((function(t){return" ".concat(e.t("workouts.RECORD_".concat(t.record_type)))}))},null,8,["title"])):Object(a["createCommentVNode"])("",!0)])])}var Pe=r("47e2"),$e=Object(a["defineComponent"])({name:"CalendarWorkout",props:{workout:{type:Object,required:!0},sportLabel:{type:String,required:!0}},setup:function(){var e=Object(Pe["b"])(),t=e.t;return{t:t}}});r("38f1");$e.render=Fe;var Ge=$e,He=Object(a["withScopeId"])("data-v-b30dea28");Object(a["pushScopeId"])("data-v-b30dea28");var Ye={class:"calendar-workouts-chart"},Ke={class:"workouts-count"},Xe={key:0,class:"workouts-pane"},ze={class:"more-workouts"};Object(a["popScopeId"])();var Je=He((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("DonutChart"),u=Object(a["resolveComponent"])("CalendarWorkout"),i=Object(a["resolveDirective"])("click-outside");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ye,[Object(a["createVNode"])("div",{class:"workouts-chart",onClick:t[1]||(t[1]=function(){return e.togglePane&&e.togglePane.apply(e,arguments)})},[Object(a["createVNode"])("div",Ke,Object(a["toDisplayString"])(e.workouts.length),1),Object(a["createVNode"])(s,{datasets:e.datasets,colors:e.colors},null,8,["datasets","colors"])]),e.isHidden?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Xe,[Object(a["withDirectives"])(Object(a["createVNode"])("div",ze,[Object(a["createVNode"])("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:t[2]||(t[2]=function(){return e.togglePane&&e.togglePane.apply(e,arguments)})}),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:r,workout:t,sportLabel:e.getSportLabel(t,e.sports)},null,8,["workout","sportLabel"])})),128))],512),[[i,e.togglePane]])]))])})),Ze=(r("4fad"),{class:"donut-chart"}),Qe={height:"34",width:"34",viewBox:"0 0 34 34"};function et(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ze,[(Object(a["openBlock"])(),Object(a["createBlock"])("svg",Qe,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(Object.entries(e.datasets),(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("g",{key:r},[Object(a["createVNode"])("circle",{cx:e.cx,cy:e.cy,r:e.radius,fill:"transparent",stroke:e.colors[+t[0]],"stroke-dashoffset":e.calculateStrokeDashOffset(t[1].percentage,e.circumference),"stroke-dasharray":e.circumference,"stroke-width":"3","stroke-opacity":"0.8",transform:e.returnCircleTransformValue(r,t[1].percentage)},null,8,["cx","cy","r","stroke","stroke-dashoffset","stroke-dasharray","transform"])])})),128))]))])}r("99af");var tt=Object(a["defineComponent"])({name:"DonutChart",props:{colors:{type:Object,required:!0},datasets:{type:Object,required:!0}},setup:function(){var e=-90,t=16,r=16,a=14,o=2*Math.PI*a;function c(e,t){return t-e*t}function n(a,o){var c="rotate(".concat(e,", ").concat(t,", ").concat(r,")");return e=360*o+e,c}return{angleOffset:e,circumference:o,cx:t,cy:r,radius:a,calculateStrokeDashOffset:c,returnCircleTransformValue:n}}});tt.render=et;var rt=tt,at=r("1119"),ot=Object(a["defineComponent"])({name:"CalendarWorkoutsChart",components:{CalendarWorkout:Ge,DonutChart:rt},props:{colors:{type:Object,required:!0},datasets:{type:Object,required:!0},sports:{type:Object,required:!0},workouts:{type:Object,required:!0}},setup:function(){var e=Object(a["ref"])(!0);function t(t){t.stopPropagation(),e.value=!e.value}return{isHidden:e,getSportLabel:at["a"],togglePane:t}}});r("0fe0");ot.render=Je,ot.__scopeId="data-v-b30dea28";var ct=ot,nt=Object(a["defineComponent"])({name:"CalendarWorkouts",components:{CalendarWorkout:Ge,CalendarWorkoutsChart:ct},props:{workouts:{type:Object,required:!0},sports:{type:Object,required:!0}},setup:function(e){return{chartDatasets:Object(a["computed"])((function(){return Object(ve["c"])(e.workouts)})),colors:Object(a["computed"])((function(){return Object(at["c"])(e.sports)})),displayedWorkoutCount:6,getSportLabel:at["a"]}}});r("21d8");nt.render=Le;var st=nt,ut=Object(a["defineComponent"])({name:"CalendarCells",components:{CalendarWorkouts:st},props:{currentDay:{type:Date,required:!0},endDate:{type:Date,required:!0},sports:{type:Object,required:!0},startDate:{type:Date,required:!0},timezone:{type:String,required:!0},weekStartingMonday:{type:Boolean,required:!0},workouts:{type:Object,required:!0}},setup:function(e){var t=Object(a["ref"])([]),r=Object(a["toRefs"])(e),o=r.startDate,c=r.endDate,n=r.weekStartingMonday;function s(){t.value=[];var e=o.value;while(e<=c.value){for(var r=[],a=0;a<7;a++)r.push(e),e=Object(_e["a"])(e,1);t.value.push(r)}}function u(e){return n.value?[5,6].includes(e):[0,6].includes(e)}function i(t,r){return r?r.filter((function(r){return Ie(Object(je["c"])(r.workout_date,e.timezone),t)})).reverse():[]}return Object(a["onMounted"])((function(){return s()})),Object(a["watch"])((function(){return e.currentDay}),(function(){return s()})),{rows:t,format:G["a"],isSameMonth:Me,isToday:Ee,isWeekEnd:u,filterWorkouts:i}}});r("288e");ut.render=Ve;var it=ut,dt={class:"calendar-days"};function lt(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",dt,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.days,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-day",key:r},Object(a["toDisplayString"])(e.format(t,"EEE",e.localeOptions)),1)})),128))])}var bt=Object(a["defineComponent"])({name:"CalendarDays",props:{startDate:{type:Date,required:!0},localeOptions:{type:String,required:!0}},setup:function(e){for(var t=[],r=0;r<7;r++)t.push(Object(_e["a"])(e.startDate,r));return{days:t,addDays:_e["a"],format:G["a"]}}});r("5fcb");bt.render=lt;var pt=bt,Ot={class:"calendar-header"},jt=Object(a["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ft={class:"calendar-month"},mt=Object(a["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);function kt(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ot,[Object(a["createVNode"])("div",{class:"calendar-arrow calendar-arrow-left",onClick:t[1]||(t[1]=function(t){return e.emit("displayPreviousMonth")})},[jt]),Object(a["createVNode"])("div",ft,[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.format(e.day,"MMM yyyy",e.localeOptions)),1)]),Object(a["createVNode"])("div",{class:"calendar-arrow calendar-arrow-right",onClick:t[2]||(t[2]=function(t){return e.emit("displayNextMonth")})},[mt])])}var vt=Object(a["defineComponent"])({name:"CalendarHeader",props:{day:{type:Date,required:!0},localeOptions:{type:String,required:!0}},emits:["displayNextMonth","displayPreviousMonth"],setup:function(e,t){var r=t.emit;return{emit:r,format:G["a"]}}});r("e4ea");vt.render=kt;var yt=vt,ht=Object(a["defineComponent"])({name:"UserCalendar",components:{CalendarCells:it,CalendarDays:pt,CalendarHeader:yt},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(Oe["a"])();Object(a["onBeforeMount"])((function(){return s()}));var r="yyyy-MM-dd",o=Object(a["ref"])(new Date),c=Object(a["ref"])(Object(je["b"])(o.value,e.user.weekm)),n=Object(a["computed"])((function(){return t.getters[pe["f"].GETTERS.CALENDAR_WORKOUTS]}));function s(){c.value=Object(je["b"])(o.value,e.user.weekm);var a=Object(I["a"])({from:Object(G["a"])(c.value.start,r),to:Object(G["a"])(c.value.end,r),page:1,per_page:100},ve["a"]);t.dispatch(pe["f"].ACTIONS.GET_CALENDAR_WORKOUTS,a)}function u(){o.value=Object(Ce["a"])(o.value,1),s()}function i(){o.value=Object(Ne["a"])(o.value,1),s()}return{day:o,calendarDates:c,calendarWorkouts:n,displayNextMonth:u,displayPreviousMonth:i}}});r("51ce");ht.render=ge;var St=ht,wt=Object(a["withScopeId"])("data-v-7958b39f");Object(a["pushScopeId"])("data-v-7958b39f");var gt={class:"user-month-stats"};Object(a["popScopeId"])();var Ct=wt((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatChart"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",gt,[Object(a["createVNode"])(u,null,{title:wt((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.THIS_MONTH")),1)]})),content:wt((function(){return[Object(a["createVNode"])(s,{sports:e.sports,user:e.user,"chart-params":e.chartParams,"displayed-sport-ids":e.selectedSportIds,"hide-chart-if-no-data":!0},null,8,["sports","user","chart-params","displayed-sport-ids"])]})),_:1})])})),Nt=r("f628"),Bt=r("ec59"),Dt=Object(a["defineComponent"])({name:"UserMonthStats",components:{StatChart:Bt["a"]},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=new Date;return{chartParams:{duration:"week",start:Object(Nt["a"])(t),end:Object(J["a"])(t)},selectedSportIds:e.sports.map((function(e){return e.id}))}}});r("224d");Dt.render=Ct,Dt.__scopeId="data-v-7958b39f";var Vt=Dt,_t=(r("b64b"),r("4e82"),Object(a["withScopeId"])("data-v-080b37ac"));Object(a["pushScopeId"])("data-v-080b37ac");var Tt={class:"user-records-section"},It={class:"section-title"},Mt=Object(a["createVNode"])("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1),Et={class:"user-records"},Rt={key:0,class:"no-records"};Object(a["popScopeId"])();var At=_t((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("RecordsCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Tt,[Object(a["createVNode"])("div",It,[Mt,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.RECORD",2)),1)]),Object(a["createVNode"])("div",Et,[0===Object.keys(e.recordsBySport).length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Rt,Object(a["toDisplayString"])(e.$t("workouts.NO_RECORDS")),1)):Object(a["createCommentVNode"])("",!0),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(Object.keys(e.recordsBySport).sort(),(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{sportTranslatedLabel:t,records:e.recordsBySport[t],key:t},null,8,["sportTranslatedLabel","records"])})),128))])])})),xt=Object(a["withScopeId"])("data-v-db29ce96");Object(a["pushScopeId"])("data-v-db29ce96");var Ut={class:"records-card"},qt={class:"record-type"},Wt={class:"record-value"},Lt={class:"record-date"};Object(a["popScopeId"])();var Ft=xt((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage"),u=Object(a["resolveComponent"])("router-link"),i=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ut,[Object(a["createVNode"])(i,null,{title:xt((function(){return[Object(a["createVNode"])(s,{"sport-label":e.records.label},null,8,["sport-label"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.sportTranslatedLabel),1)]})),content:xt((function(){return[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.records.records,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"record",key:t.id},[Object(a["createVNode"])("span",qt,Object(a["toDisplayString"])(e.t("workouts.RECORD_".concat(t.record_type))),1),Object(a["createVNode"])("span",Wt,Object(a["toDisplayString"])(t.value),1),Object(a["createVNode"])("span",Lt,[Object(a["createVNode"])(u,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:xt((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.workout_date),1)]})),_:2},1032,["to"])])])})),128))]})),_:1})])})),Pt=Object(a["defineComponent"])({name:"RecordsCard",props:{records:{type:Object,required:!0},sportTranslatedLabel:{type:String,required:!0}},setup:function(){var e=Object(Pe["b"])(),t=e.t;return{t:t}}});r("2b62");Pt.render=Ft,Pt.__scopeId="data-v-db29ce96";var $t=Pt,Gt=(r("7db0"),function(e,t){var r;switch(e.record_type){case"AS":case"MS":r="".concat(e.value," km/h");break;case"FD":r="".concat(e.value," km");break;case"LD":r=e.value;break;default:throw new Error('Invalid record type, expected: "AS", "FD", "LD", "MD", got: "'.concat(e.record_type,'"'))}return{workout_date:Object(je["a"])(Object(je["c"])(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:r}}),Ht=function(e,t,r){return e.reduce((function(e,a){var o=t.find((function(e){return e.id===a.sport_id}));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,records:[]}),e[o.translatedLabel].records.push(Gt(a,r))),e}),{})},Yt=Object(a["defineComponent"])({name:"UserRecords",components:{RecordsCard:$t},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(Pe["b"])(),r=t.t,o=Object(a["computed"])((function(){return Ht(e.user.records,Object(at["d"])(e.sports,r),e.user.timezone)}));return{recordsBySport:o}}});r("c11a");Yt.render=At,Yt.__scopeId="data-v-080b37ac";var Kt=Yt,Xt=(r("b680"),r("a9e3"),{id:"user-stats"});function zt(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Xt,[Object(a["createVNode"])(s,{icon:"calendar",value:e.user.nb_workouts,text:e.$t("workouts.WORKOUT",e.user.nb_workouts)},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"road",value:Number(e.user.total_distance).toFixed(2),text:e.$t("workouts.KM")},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"clock-o",value:e.total_duration.days,text:e.total_duration.duration},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"tags",value:e.user.nb_sports,text:e.$t("workouts.SPORT",e.user.nb_sports)},null,8,["value","text"])])}r("ac1f"),r("466d"),r("1276");var Jt=r("05d9"),Zt=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:Jt["a"]},props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(Pe["b"])(),r=t.t,o=Object(a["computed"])((function(){return e.user.total_duration}));function c(e){var t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?"".concat(e.value.split(" ")[0]," ").concat(e.value.match(/days/g)?r("common.DAY",2):r("common.DAY",1)):"0 ".concat(r("common.DAY",2),","),duration:"".concat(t.split(":")[0],"h ").concat(t.split(":")[1],"min")}}return{total_duration:Object(a["computed"])((function(){return c(o)}))}}});r("d224");Zt.render=zt;var Qt=Zt,er=Object(a["defineComponent"])({name:"Dashboard",components:{Timeline:he,UserCalendar:St,UserMonthStats:Vt,UserRecords:Kt,UserStatsCards:Qt},setup:function(){var e=Object(Oe["a"])(),t=Object(a["computed"])((function(){return e.getters[pe["e"].GETTERS.AUTH_USER_PROFILE]})),r=Object(a["computed"])((function(){return e.getters[pe["b"].GETTERS.SPORTS]})),o=Object(a["ref"])("chart");function c(e){o.value=e}return{authUser:t,sports:r,isSelected:o,updateDisplayColumn:c}}});r("94f8");er.render=k,er.__scopeId="data-v-e616a7ba";t["default"]=er},7416:function(e,t,r){"use strict";r.d(t,"a",(function(){return B})),r.d(t,"b",(function(){return D})),r.d(t,"c",(function(){return V}));r("d81d"),r("4de4"),r("caad"),r("2532");var a=r("b166"),o=r("d6e9"),c=r("fe1f"),n=r("cdb6"),s=r("8c86");function u(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t);return Object(n["a"])(e,-r)}var i=r("69eb"),d=r("a618"),l=r("f628"),b=r("fd3a");function p(e){Object(s["a"])(1,arguments);var t=Object(b["a"])(e),r=t.getFullYear();return t.setFullYear(r+1,0,0),t.setHours(23,59,59,999),t}var O=r("2fc8"),j=r("8cac"),f=r("f7f1");function m(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t),a=7*r;return Object(f["a"])(e,a)}function k(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t);return m(e,-r)}var v=r("74b5"),y=r("5e65"),h=r("1119"),S={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},w=["nb_workouts","total_duration","total_distance"],g=function(e,t){for(var r=[],a=Object(y["d"])(e.duration,e.start,t);a<=e.end;a=Object(y["e"])(e.duration,a))r.push(a);return r},C=function(e,t){return{label:e,backgroundColor:[t],data:[]}},N=function(e){var t={nb_workouts:[],total_distance:[],total_duration:[]};return e.map((function(e){var r=h["b"][e.label];t.nb_workouts.push(C(e.label,r)),t.total_distance.push(C(e.label,r)),t.total_duration.push(C(e.label,r))})),t},B=function(e,t,r,o,c){var n=g(e,t),s=S[e.duration],u=r.filter((function(e){return o.includes(e.id)})),i=[],d=N(u),l={};return u.map((function(e){return l[e.label]=e.id})),n.map((function(e){var t=Object(a["a"])(e,s.api),r=Object(a["a"])(e,s.chart);i.push(r),w.map((function(e){d[e].map((function(r){r.data.push(c!=={}&&t in c&&l[r.label]in c[t]?c[t][l[r.label]][e]:0)}))}))})),{labels:i,datasets:d}},D=function(e,t,r){var a=r?1:0,c="year"===t?Object(o["a"])(u(e,9)):"week"===t?Object(i["a"])(Object(d["a"])(e,2),{weekStartsOn:a}):Object(l["a"])(Object(d["a"])(e,11)),n="year"===t?p(e):"week"===t?Object(O["a"])(e,{weekStartsOn:a}):Object(j["a"])(e);return{duration:t,end:n,start:c}},V=function(e,t,r){var a=e.duration,c=e.start,s=e.end,b=r?1:0;return{duration:a,end:"year"===a?p(t?u(s,1):Object(n["a"])(s,1)):"week"===a?Object(O["a"])(t?k(s,1):m(s,1),{weekStartsOn:b}):Object(j["a"])(t?Object(d["a"])(s,1):Object(v["a"])(s,1)),start:"year"===a?Object(o["a"])(t?u(c,1):Object(n["a"])(c,1)):"week"===a?Object(i["a"])(t?k(c,1):m(c,1),{weekStartsOn:b}):Object(l["a"])(t?Object(d["a"])(c,1):Object(v["a"])(c,1))}}},"778a":function(e,t,r){"use strict";r("c1a9")},"80e9":function(e,t,r){},8338:function(e,t,r){},"85e2":function(e,t,r){"use strict";r("69b3")},"8d2d":function(e,t,r){},9080:function(e,t,r){},"90d2":function(e,t,r){"use strict";r("f2a6")},"92c3":function(e,t,r){},9433:function(e,t,r){"use strict";r("80e9")},"94f8":function(e,t,r){"use strict";r("2a1d")},"9a0c":function(e,t,r){var a=r("342f");e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(a)},a0b1:function(e,t,r){},a618:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r("fe1f"),o=r("74b5"),c=r("8c86");function n(e,t){Object(c["a"])(2,arguments);var r=Object(a["a"])(t);return Object(o["a"])(e,-r)}},a881:function(e,t,r){},b3b8:function(e,t,r){},b499:function(e,t,r){"use strict";r("a881")},bbd4:function(e,t,r){},c11a:function(e,t,r){"use strict";r("b3b8")},c1a9:function(e,t,r){},c3f6:function(e,t,r){"use strict";r("df24")},ccb2:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o=Object(a["withScopeId"])("data-v-8e65b6c0");Object(a["pushScopeId"])("data-v-8e65b6c0");var c={id:"statistics"},n={key:0,class:"container"};Object(a["popScopeId"])();var s=o((function(e,t,r,s,u,i){var d=Object(a["resolveComponent"])("Statistics"),l=Object(a["resolveComponent"])("Card"),b=Object(a["resolveComponent"])("NoWorkouts");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[e.authUser.username?(Object(a["openBlock"])(),Object(a["createBlock"])("div",n,[Object(a["createVNode"])(l,null,{title:o((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),content:o((function(){return[Object(a["createVNode"])(d,{class:{"stats-disabled":0===e.authUser.nb_workouts},user:e.authUser,sports:e.sports},null,8,["class","user","sports"])]})),_:1}),0===e.authUser.nb_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0})):Object(a["createCommentVNode"])("",!0)])):Object(a["createCommentVNode"])("",!0)])})),u=(r("4de4"),r("caad"),r("2532"),Object(a["withScopeId"])("data-v-dad311d4"));Object(a["pushScopeId"])("data-v-dad311d4");var i={key:0,id:"user-statistics"};Object(a["popScopeId"])();var d=u((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatsMenu"),u=Object(a["resolveComponent"])("StatChart"),d=Object(a["resolveComponent"])("SportsMenu");return e.translatedSports?(Object(a["openBlock"])(),Object(a["createBlock"])("div",i,[Object(a["createVNode"])(s,{onTimeFrameUpdate:e.updateTimeFrame,onArrowClick:e.handleOnClickArrows},null,8,["onTimeFrameUpdate","onArrowClick"]),Object(a["createVNode"])(u,{sports:e.sports,user:e.user,chartParams:e.chartParams,"displayed-sport-ids":e.selectedSportIds,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),Object(a["createVNode"])(d,{"selected-sport-ids":e.selectedSportIds,"user-sports":e.sports,onSelectedSportIdsUpdate:e.updateSelectedSportIds},null,8,["selected-sport-ids","user-sports","onSelectedSportIdsUpdate"])])):Object(a["createCommentVNode"])("",!0)})),l=(r("d81d"),r("47e2")),b=r("ec59"),p=Object(a["withScopeId"])("data-v-56f0f302");Object(a["pushScopeId"])("data-v-56f0f302");var O={class:"chart-menu"},j={class:"chart-arrow"},f={class:"time-frames custom-checkboxes-group"},m={class:"time-frames-checkboxes custom-checkboxes"},k={class:"chart-arrow"};Object(a["popScopeId"])();var v=p((function(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",O,[Object(a["createVNode"])("div",j,[Object(a["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.emit("arrowClick",!0)})})]),Object(a["createVNode"])("div",f,[Object(a["createVNode"])("div",m,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.timeFrames,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"time-frame custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTimeFrame===t,onInput:function(r){return e.onUpdateTimeFrame(t)}},null,40,["id","name","checked","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("statistics.TIME_FRAMES.".concat(t))),1)])])})),128))])]),Object(a["createVNode"])("div",k,[Object(a["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:t[2]||(t[2]=function(t){return e.emit("arrowClick",!1)})})])])})),y=Object(a["defineComponent"])({name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup:function(e,t){var r=t.emit,o=Object(a["ref"])("month"),c=["week","month","year"];function n(e){o.value=e,r("timeFrameUpdate",e)}return{selectedTimeFrame:o,timeFrames:c,onUpdateTimeFrame:n,emit:r}}});r("b499");y.render=v,y.__scopeId="data-v-56f0f302";var h=y,S={class:"sports-menu"},w={class:"sport-label"};function g(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",S,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("label",{type:"checkbox",key:t.id,style:{color:e.sportColors[t.label]}},[Object(a["createVNode"])("input",{type:"checkbox",id:t.id,name:t.label,checked:e.selectedSportIds.includes(t.id),onInput:function(r){return e.updateSelectedSportIds(t.id)}},null,40,["id","name","checked","onInput"]),Object(a["createVNode"])(s,{"sport-label":t.label},null,8,["sport-label"]),Object(a["createVNode"])("span",w,Object(a["toDisplayString"])(t.translatedLabel),1)],4)})),128))])}var C=r("1119"),N=Object(a["defineComponent"])({name:"SportsMenu",props:{selectedSportIds:{type:Array,default:function(){return[]}},userSports:{type:Object,required:!0}},emits:["selectedSportIdsUpdate"],setup:function(e,t){var r=t.emit,o=Object(l["b"])(),c=o.t,n=Object(a["computed"])((function(){return Object(C["d"])(e.userSports,c)}));function s(e){r("selectedSportIdsUpdate",e)}return{sportColors:Object(a["inject"])("sportColors"),translatedSports:n,updateSelectedSportIds:s}}});r("9433");N.render=g;var B=N,D=r("7416"),V=Object(a["defineComponent"])({name:"Statistics",components:{SportsMenu:B,StatChart:b["a"],StatsMenu:h},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(l["b"])(),r=t.t,o=Object(a["ref"])("month"),c=["week","month","year"],n=Object(a["ref"])(d(o.value)),s=Object(a["computed"])((function(){return Object(C["d"])(e.sports,r)})),u=Object(a["ref"])(p(e.sports));function i(e){o.value=e,n.value=d(o.value)}function d(t){return Object(D["b"])(new Date,t,e.user.weekm)}function b(t){n.value=Object(D["c"])(n.value,t,e.user.weekm)}function p(e){return e.map((function(e){return e.id}))}function O(e){u.value.includes(e)?u.value=u.value.filter((function(t){return t!==e})):u.value.push(e)}return Object(a["watch"])((function(){return e.sports}),(function(e){u.value=p(e)})),{chartParams:n,selectedTimeFrame:o,timeFrames:c,translatedSports:s,selectedSportIds:u,handleOnClickArrows:b,updateSelectedSportIds:O,updateTimeFrame:i}}});r("778a");V.render=d,V.__scopeId="data-v-dad311d4";var _=V,T=r("1724"),I=r("dad5"),M=r("2906"),E=Object(a["defineComponent"])({name:"StatisticsView",components:{NoWorkouts:T["a"],Statistics:_},setup:function(){var e=Object(M["a"])(),t=Object(a["computed"])((function(){return e.getters[I["e"].GETTERS.AUTH_USER_PROFILE]})),r=Object(a["computed"])((function(){return e.getters[I["b"].GETTERS.SPORTS].filter((function(e){return t.value.sports_list.includes(e.id)}))}));return{authUser:t,sports:r}}});r("d704");E.render=s,E.__scopeId="data-v-8e65b6c0";t["default"]=E},d224:function(e,t,r){"use strict";r("a0b1")},d277:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o={id:"loginOrRegister"},c={class:"container"},n={class:"container-sub"},s={class:"container-sub"};function u(e,t,r,u,i,d){var l=Object(a["resolveComponent"])("BikePic"),b=Object(a["resolveComponent"])("LoginOrRegisterForm");return Object(a["openBlock"])(),Object(a["createBlock"])("div",o,[Object(a["createVNode"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])(l)]),Object(a["createVNode"])("div",s,[Object(a["createVNode"])(b,{action:e.action},null,8,["action"])])])])}var i=Object(a["withScopeId"])("data-v-645e8c6f");Object(a["pushScopeId"])("data-v-645e8c6f");var d={id:"about"};Object(a["popScopeId"])();var l=i((function(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",d,[Object(a["createVNode"])("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,["src"])])})),b={name:"About"};r("6ca7");b.render=l,b.__scopeId="data-v-645e8c6f";var p=b,O=r("0395"),j=Object(a["defineComponent"])({name:"NavBar",components:{BikePic:p,LoginOrRegisterForm:O["a"]},props:{action:{type:String,required:!0}}});r("85e2");j.render=u;t["default"]=j},d28b:function(e,t,r){var a=r("746f");a("iterator")},d704:function(e,t,r){"use strict";r("3d74")},df24:function(e,t,r){},e01a:function(e,t,r){"use strict";var a=r("23e7"),o=r("83ab"),c=r("da84"),n=r("5135"),s=r("861d"),u=r("9bf2").f,i=r("e893"),d=c.Symbol;if(o&&"function"==typeof d&&(!("description"in d.prototype)||void 0!==d().description)){var l={},b=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof b?new d(e):void 0===e?d():d(e);return""===e&&(l[t]=!0),t};i(b,d);var p=b.prototype=d.prototype;p.constructor=b;var O=p.toString,j="Symbol(test)"==String(d("test")),f=/^Symbol\((.*)\)[^)]+$/;u(p,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=O.call(e);if(n(l,e))return"";var r=j?t.slice(7,-1):t.replace(f,"$1");return""===r?void 0:r}}),a({global:!0,forced:!0},{Symbol:b})}},e0ff:function(e,t,r){"use strict";r("9080")},e19f:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o={class:"not-found"};function c(e,t,r,c,n,s){var u=Object(a["resolveComponent"])("NotFound");return Object(a["openBlock"])(),Object(a["createBlock"])("div",o,[Object(a["createVNode"])(u)])}var n=r("f7f9"),s=Object(a["defineComponent"])({name:"NotFoundView",components:{NotFound:n["a"]}});s.render=c;t["default"]=s},e4ea:function(e,t,r){"use strict";r("5782")},ea96:function(e,t,r){"use strict";r("ffcc")},ec59:function(e,t,r){"use strict";var a=r("7a23"),o=Object(a["withScopeId"])("data-v-6eb9bb83");Object(a["pushScopeId"])("data-v-6eb9bb83");var c={class:"start-chart"},n={key:0},s={key:1},u={class:"chart-radio"};Object(a["popScopeId"])();var i=o((function(e,t,r,o,i,d){var l=Object(a["resolveComponent"])("Chart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[e.hideChartIfNoData&&e.emptyStats?(Object(a["openBlock"])(),Object(a["createBlock"])("div",n,Object(a["toDisplayString"])(e.$t("workouts.NO_WORKOUTS")),1)):(Object(a["openBlock"])(),Object(a["createBlock"])("div",s,[Object(a["createVNode"])("div",u,[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[1]||(t[1]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[2]||(t[2]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.DURATION")),1)]),Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[3]||(t[3]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.WORKOUT",2)),1)])]),e.labels.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats"])):Object(a["createCommentVNode"])("",!0)]))])})),d=r("1da1"),l=(r("96cf"),r("b0c0"),r("b64b"),r("b166")),b={class:"chart"};function p(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("BarChart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",b,[Object(a["createVNode"])(s,Object(a["mergeProps"])(e.barChartProps,{class:"bar-chart"}),null,16)])}r("d81d");var O=r("b48c"),j=r("47e2"),f=(r("b680"),r("d3b7"),r("25f0"),r("4d90"),r("99af"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r="0";t&&(r=String(Math.floor(e/86400)),e%=86400);var a=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;var o=String(Math.floor(e/60)).padStart(2,"0"),c=String(e%60).padStart(2,"0");return t?"".concat("0"===r?"":"".concat(r,"d ")).concat("00"===a?"":"".concat(a,"h ")).concat(o,"m ").concat(c,"s"):"".concat("00"===a?"":"".concat(a,":")).concat(o,":").concat(c)}),m=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return"total_duration"===e?f(t,r):"total_distance"===e?t.toFixed(2)+" km":t.toString()},k=Object(a["defineComponent"])({name:"Chart",components:{BarChart:O["BarChart"]},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0}},setup:function(e){var t=Object(j["b"])(),r=t.t;function o(e){return isNaN(e)?0:+e}function c(e,t){return o(e)+o(t)}var n=Object(a["computed"])((function(){return{labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}})),s=Object(a["computed"])((function(){return{responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:!0,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return m(e.displayedData,+t,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)},formatter:function(t,r){var a=r.chart.data.datasets.map((function(e){return e.data[r.dataIndex]})).reduce((function(e,t){return c(e,t)}),0);return r.datasetIndex===e.displayedSportIds.length-1&&a>0?m(e.displayedData,a,!1):null}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(t){var a=r("sports.".concat(t.dataset.label,".LABEL"))||"";return a&&(a+=": "),null!==t.parsed.y&&(a+=m(e.displayedData,t.parsed.y)),a},footer:function(t){var a=0;return t.map((function(e){a+=e.parsed.y})),"".concat(r("common.TOTAL"),": ")+m(e.displayedData,a)}}}}}})),u=Object(O["useBarChart"])({chartData:n,options:s}),i=u.barChartProps;return{barChartProps:i}}});k.render=p;var v=k,y=r("dad5"),h=r("2906"),S=r("7416"),w=Object(a["defineComponent"])({name:"UserMonthStats",components:{Chart:v},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:function(){return[]}},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup:function(e){var t=Object(h["a"])(),r=Object(a["ref"])("total_distance"),o=Object(a["computed"])((function(){return t.getters[y["c"].GETTERS.USER_STATS]})),c=Object(a["computed"])((function(){return Object(S["a"])(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,o.value)}));function n(r){t.dispatch(y["c"].ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:r})}function s(e){r.value=e.target.name}function u(e,t){return{from:Object(l["a"])(e.start,"yyyy-MM-dd"),to:Object(l["a"])(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week".concat(t.weekm?"m":""):e.duration}}return Object(a["onBeforeMount"])((function(){return n(u(e.chartParams,e.user))})),Object(a["watch"])((function(){return e.chartParams}),function(){var t=Object(d["a"])(regeneratorRuntime.mark((function t(r){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:n(u(r,e.user));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),{datasets:Object(a["computed"])((function(){return c.value.datasets[r.value]})),labels:Object(a["computed"])((function(){return c.value.labels})),emptyStats:Object(a["computed"])((function(){return 0===Object.keys(o.value).length})),displayedData:r,updateDisplayData:s}}});r("90d2");w.render=i,w.__scopeId="data-v-6eb9bb83";t["a"]=w},f153:function(e,t,r){},f2a6:function(e,t,r){},fb6a:function(e,t,r){"use strict";var a=r("23e7"),o=r("861d"),c=r("e8b5"),n=r("23cb"),s=r("50c4"),u=r("fc6a"),i=r("8418"),d=r("b622"),l=r("1dde"),b=l("slice"),p=d("species"),O=[].slice,j=Math.max;a({target:"Array",proto:!0,forced:!b},{slice:function(e,t){var r,a,d,l=u(this),b=s(l.length),f=n(e,b),m=n(void 0===t?b:t,b);if(c(l)&&(r=l.constructor,"function"!=typeof r||r!==Array&&!c(r.prototype)?o(r)&&(r=r[p],null===r&&(r=void 0)):r=void 0,r===Array||void 0===r))return O.call(l,f,m);for(a=new(void 0===r?Array:r)(j(m-f,0)),d=0;f\n
\n
\n \n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n {{ $t('user.PASSWORD_FORGOTTEN') }}\n \n
\n \n
\n
\n \n\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, reactive, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserAuthForm',\n props: {\n action: {\n type: String,\n required: true,\n },\n token: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n password_conf: '',\n })\n const route = useRoute()\n const store = useStore()\n\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' &&\n !appConfig.value.is_registration_enabled\n )\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n password_conf: formData.password_conf,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n formData.password_conf = ''\n }\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n resetFormData()\n }\n )\n return {\n appConfig,\n buttonText,\n errorMessages,\n formData,\n registration_disabled,\n onSubmit,\n }\n },\n })\n","import { render } from \"./UserAuthForm.vue?vue&type=template&id=7717f19a&scoped=true\"\nimport script from \"./UserAuthForm.vue?vue&type=script&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=7717f19a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-7717f19a\"\n\nexport default script","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=b30dea28&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkouts.vue?vue&type=style&index=0&id=3822f77d&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserMonthStats.vue?vue&type=style&index=0&id=7958b39f&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarCells.vue?vue&type=style&index=0&id=17e3f666&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./RecordsCard.vue?vue&type=style&index=0&id=db29ce96&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkout.vue?vue&type=style&index=0&id=cf219d62&lang=scss\"","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=702a8534&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarDays.vue?vue&type=style&index=0&id=8c842a34&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BikePic.vue?vue&type=style&index=0&id=645e8c6f&scoped=true&lang=scss\"","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","\n\n\n\n\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","\n\n\n\n\n","\n\n\n\n\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\n\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\n\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport endOfDay from \"../endOfDay/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * var result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\n\nexport default function isLastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return endOfDay(date).getTime() === endOfMonth(date).getTime();\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isLastDayOfMonth from \"../isLastDayOfMonth/index.js\";\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\n\nexport default function differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight));\n var result; // Check for the difference of less than month\n\n if (difference < 1) {\n result = 0;\n } else {\n if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n dateLeft.setDate(30);\n }\n\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; // Check for cases of one full calendar month\n\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n } // Prevent negative zero\n\n\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\n\nexport default function differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getTime() - dateRight.getTime();\n}","import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\n\nexport default function differenceInSeconds(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","import assign from \"../assign/index.js\";\nexport default function cloneObject(dirtyObject) {\n return assign({}, dirtyObject);\n}","import compareAsc from \"../compareAsc/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_TWO_MONTHS = 86400;\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWords ` to `formatDistance`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWords(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 11, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n *\n * // v2.0.0 onward\n *\n * formatDistance(\n * new Date(1986, 3, 4, 11, 32, 0),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport default function formatDistance(dirtyDate, dirtyBaseDate) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n requiredArgs(2, arguments);\n var locale = options.locale || defaultLocale;\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = cloneObject(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n\n var seconds = differenceInSeconds(dateRight, dateLeft);\n var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1000;\n var minutes = Math.round((seconds - offsetInSeconds) / 60);\n var months; // 0 up to 2 mins\n\n if (minutes < 2) {\n if (options.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance('lessThanXSeconds', 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance('lessThanXSeconds', 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance('lessThanXSeconds', 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance('halfAMinute', null, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n }\n } // 2 mins up to 0.75 hrs\n\n } else if (minutes < 45) {\n return locale.formatDistance('xMinutes', minutes, localizeOptions); // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance('aboutXHours', 1, localizeOptions); // 1.5 hrs up to 24 hrs\n } else if (minutes < MINUTES_IN_DAY) {\n var hours = Math.round(minutes / 60);\n return locale.formatDistance('aboutXHours', hours, localizeOptions); // 1 day up to 1.75 days\n } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n return locale.formatDistance('xDays', 1, localizeOptions); // 1.75 days up to 30 days\n } else if (minutes < MINUTES_IN_MONTH) {\n var days = Math.round(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 month up to 2 months\n } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n months = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('aboutXMonths', months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft); // 2 months up to 12 months\n\n if (months < 12) {\n var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', nearestMonth, localizeOptions); // 1 year up to max Date\n } else {\n var monthsSinceStartOfYear = months % 12;\n var years = Math.floor(months / 12); // N years up to 1 years 3 months\n\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance('aboutXYears', years, localizeOptions); // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance('overXYears', years, localizeOptions); // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance('almostXYears', years + 1, localizeOptions);\n }\n }\n}","\n import { Locale, format, formatDistance } from 'date-fns'\n import { PropType, defineComponent, ComputedRef, computed } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'WorkoutCard',\n components: {\n StaticMap,\n UserPicture,\n },\n props: {\n workout: {\n type: Object as PropType,\n required: false,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n sport: {\n type: Object as PropType,\n required: false,\n },\n },\n setup() {\n const store = useStore()\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n return {\n format,\n formatDistance,\n getDateWithTZ,\n locale,\n }\n },\n })\n","import { render } from \"./WorkoutCard.vue?vue&type=template&id=3d1a0054&scoped=true\"\nimport script from \"./WorkoutCard.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=3d1a0054&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3d1a0054\"\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { defaultOrder } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'Timeline',\n components: {\n NoWorkouts,\n WorkoutCard,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.TIMELINE_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_TIMELINE_WORKOUTS, {\n page: page.value,\n per_page,\n ...defaultOrder,\n })\n }\n\n return {\n initWorkoutsCount,\n moreWorkoutsExist,\n per_page,\n workouts,\n loadMoreWorkouts,\n }\n },\n })\n","import { render } from \"./Timeline.vue?vue&type=template&id=e324c07c&scoped=true\"\nimport script from \"./Timeline.vue?vue&type=script&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=e324c07c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-e324c07c\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month?\n *\n * @description\n * Are the given dates in the same month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * var result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nexport default function isSameMonth(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}","import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * var result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { IWorkout } from '@/types/workouts'\n\n export default defineComponent({\n name: 'CalendarWorkout',\n props: {\n workout: {\n type: Object as PropType,\n required: true,\n },\n sportLabel: {\n type: String,\n required: true,\n },\n },\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./CalendarWorkout.vue?vue&type=template&id=cf219d62\"\nimport script from \"./CalendarWorkout.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=cf219d62&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","// adapted from: https://css-tricks.com/building-a-donut-chart-with-vue-and-svg/\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'DonutChart',\n props: {\n colors: {\n type: Object as PropType>,\n required: true,\n },\n datasets: {\n type: Object as PropType>>,\n required: true,\n },\n },\n setup() {\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\n return {\n angleOffset,\n circumference,\n cx,\n cy,\n radius,\n calculateStrokeDashOffset,\n returnCircleTransformValue,\n }\n },\n })\n","import { render } from \"./DonutChart.vue?vue&type=template&id=76d4f86b\"\nimport script from \"./DonutChart.vue?vue&type=script&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent, ref } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportLabel } from '@/utils/sports'\n\n export default defineComponent({\n name: 'CalendarWorkoutsChart',\n components: {\n CalendarWorkout,\n DonutChart,\n },\n props: {\n colors: {\n type: Object as PropType>,\n required: true,\n },\n datasets: {\n type: Object as PropType>>,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n workouts: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const isHidden = ref(true)\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n return { isHidden, getSportLabel, togglePane }\n },\n })\n","import { render } from \"./CalendarWorkoutsChart.vue?vue&type=template&id=b30dea28&scoped=true\"\nimport script from \"./CalendarWorkoutsChart.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=b30dea28&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-b30dea28\"\n\nexport default script","\n import { PropType, computed, defineComponent } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'CalendarWorkouts',\n components: {\n CalendarWorkout,\n CalendarWorkoutsChart,\n },\n props: {\n workouts: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n chartDatasets: computed(() => getDonutDatasets(props.workouts)),\n colors: computed(() => sportIdColors(props.sports)),\n displayedWorkoutCount: 6,\n getSportLabel,\n }\n },\n })\n","import { render } from \"./CalendarWorkouts.vue?vue&type=template&id=3822f77d\"\nimport script from \"./CalendarWorkouts.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=3822f77d&lang=scss\"\nscript.render = render\n\nexport default script","\n import { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import {\n PropType,\n Ref,\n defineComponent,\n ref,\n toRefs,\n watch,\n onMounted,\n } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'CalendarCells',\n components: {\n CalendarWorkouts,\n },\n props: {\n currentDay: {\n type: Date,\n required: true,\n },\n endDate: {\n type: Date,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n startDate: {\n type: Date,\n required: true,\n },\n timezone: {\n type: String,\n required: true,\n },\n weekStartingMonday: {\n type: Boolean,\n required: true,\n },\n workouts: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const rows: Ref = ref([])\n let { startDate, endDate, weekStartingMonday } = toRefs(props)\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(\n getDateWithTZ(workout.workout_date, props.timezone),\n day\n )\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\n return { rows, format, isSameMonth, isToday, isWeekEnd, filterWorkouts }\n },\n })\n","import { render } from \"./CalendarCells.vue?vue&type=template&id=17e3f666\"\nimport script from \"./CalendarCells.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=17e3f666&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format, addDays } from 'date-fns'\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'CalendarDays',\n props: {\n startDate: {\n type: Date,\n required: true,\n },\n localeOptions: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n return { days, addDays, format }\n },\n })\n","import { render } from \"./CalendarDays.vue?vue&type=template&id=8c842a34\"\nimport script from \"./CalendarDays.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=8c842a34&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'CalendarHeader',\n props: {\n day: {\n type: Date,\n required: true,\n },\n localeOptions: {\n type: String,\n required: true,\n },\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(props, { emit }) {\n return { emit, format }\n },\n })\n","import { render } from \"./CalendarHeader.vue?vue&type=template&id=4eabec52\"\nimport script from \"./CalendarHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=4eabec52&lang=scss\"\nscript.render = render\n\nexport default script","\n import { addMonths, format, subMonths } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'UserCalendar',\n components: {\n CalendarCells,\n CalendarDays,\n CalendarHeader,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n\n onBeforeMount(() => getCalendarWorkouts())\n\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(\n getCalendarStartAndEnd(day.value, props.user.weekm)\n )\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(\n day.value,\n props.user.weekm\n )\n const apiParams: TWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n page: 1,\n per_page: 100,\n ...defaultOrder,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\n return {\n day,\n calendarDates,\n calendarWorkouts,\n displayNextMonth,\n displayPreviousMonth,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=702a8534\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=702a8534&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { endOfMonth, startOfMonth } from 'date-fns'\n import { PropType, defineComponent } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n StatChart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const date = new Date()\n return {\n chartParams: {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n },\n selectedSportIds: props.sports.map((sport) => sport.id),\n }\n },\n })\n","import { render } from \"./UserMonthStats.vue?vue&type=template&id=7958b39f&scoped=true\"\nimport script from \"./UserMonthStats.vue?vue&type=script&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=7958b39f&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7958b39f\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { IRecord } from '@/types/workouts'\n\n export default defineComponent({\n name: 'RecordsCard',\n props: {\n records: {\n type: Object as PropType,\n required: true,\n },\n sportTranslatedLabel: {\n type: String,\n required: true,\n },\n },\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./RecordsCard.vue?vue&type=template&id=db29ce96&scoped=true\"\nimport script from \"./RecordsCard.vue?vue&type=script&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=db29ce96&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-db29ce96\"\n\nexport default script","import { ITranslatedSport } from '@/types/sports'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string\n): Record => {\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${record.value} km/h`\n break\n case 'FD':\n value = `${record.value} km`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(formatRecord(record, tz))\n }\n return sportList\n }, {})\n","\n import { computed, defineComponent, PropType } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'UserRecords',\n components: {\n RecordsCard,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone\n )\n )\n return { recordsBySport }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=080b37ac&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=080b37ac&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-080b37ac\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, PropType, defineComponent, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n const total_duration: ComputedRef = computed(\n () => props.user.total_duration\n )\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\n return { total_duration: computed(() => get_duration(total_duration)) }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=082d819e\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=082d819e&lang=scss\"\nscript.render = render\n\nexport default script","\n import { ComputedRef, Ref, computed, defineComponent, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { SPORTS_STORE, USER_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Dashboard',\n components: {\n Timeline,\n UserCalendar,\n UserMonthStats,\n UserRecords,\n UserStatsCards,\n },\n setup() {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('chart')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\n return { authUser, sports, isSelected, updateDisplayColumn }\n },\n })\n","import { render } from \"./Dashboard.vue?vue&type=template&id=e616a7ba&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=e616a7ba&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-e616a7ba\"\n\nexport default script","import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\n\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\n\nexport default function endOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\n\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\n\nexport default function subWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addWeeks(dirtyDate, -amount);\n}","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string\n): IChartDataset => {\n return {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n }\n displayedSports.map((sport) => {\n const color = sportColors[sport.label]\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? apiStats[date][sportsId[dataset.label]][datasetKey]\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=dad311d4&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LoginOrRegister.vue?vue&type=style&index=0&id=566b00af&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=6eb9bb83&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatsSportsMenu.vue?vue&type=style&index=0&id=f34b0c5e&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=0&id=e616a7ba&lang=scss&scoped=true\"","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatsMenu.vue?vue&type=style&index=0&id=56f0f302&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=080b37ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserAuthForm.vue?vue&type=style&index=0&id=7717f19a&scoped=true&lang=scss\"","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, ref } from 'vue'\n\n export default defineComponent({\n name: 'StatsMenu',\n emits: ['arrowClick', 'timeFrameUpdate'],\n setup(props, { emit }) {\n let selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n\n function onUpdateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n emit('timeFrameUpdate', timeFrame)\n }\n\n return {\n selectedTimeFrame,\n timeFrames,\n onUpdateTimeFrame,\n emit,\n }\n },\n })\n","import { render } from \"./StatsMenu.vue?vue&type=template&id=56f0f302&scoped=true\"\nimport script from \"./StatsMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./StatsMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./StatsMenu.vue?vue&type=style&index=0&id=56f0f302&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-56f0f302\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, PropType, computed, defineComponent, inject } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'SportsMenu',\n props: {\n selectedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n userSports: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['selectedSportIdsUpdate'],\n setup(props, { emit }) {\n const { t } = useI18n()\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.userSports, t)\n )\n\n function updateSelectedSportIds(sportId: number) {\n emit('selectedSportIdsUpdate', sportId)\n }\n\n return {\n sportColors: inject('sportColors'),\n translatedSports,\n updateSelectedSportIds,\n }\n },\n })\n","import { render } from \"./StatsSportsMenu.vue?vue&type=template&id=f34b0c5e\"\nimport script from \"./StatsSportsMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./StatsSportsMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./StatsSportsMenu.vue?vue&type=style&index=0&id=f34b0c5e&lang=scss\"\nscript.render = render\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import StatsMenu from '@/components/Statistics/StatsMenu.vue'\n import SportsMenu from '@/components/Statistics/StatsSportsMenu.vue'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IStatisticsDateParams } from '@/types/statistics'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { getStatsDateParams, updateChartParams } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'Statistics',\n components: {\n SportsMenu,\n StatChart,\n StatsMenu,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n let selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n const chartParams: Ref = ref(\n getChartParams(selectedTimeFrame.value)\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n const selectedSportIds: Ref = ref(getSports(props.sports))\n\n function updateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n chartParams.value = getChartParams(selectedTimeFrame.value)\n }\n function getChartParams(timeFrame: string): IStatisticsDateParams {\n return getStatsDateParams(new Date(), timeFrame, props.user.weekm)\n }\n function handleOnClickArrows(backward: boolean) {\n chartParams.value = updateChartParams(\n chartParams.value,\n backward,\n props.user.weekm\n )\n }\n function getSports(sports: ISport[]) {\n return sports.map((sport) => sport.id)\n }\n function updateSelectedSportIds(sportId: number) {\n if (selectedSportIds.value.includes(sportId)) {\n selectedSportIds.value = selectedSportIds.value.filter(\n (id) => id !== sportId\n )\n } else {\n selectedSportIds.value.push(sportId)\n }\n }\n\n watch(\n () => props.sports,\n (newSports) => {\n selectedSportIds.value = getSports(newSports)\n }\n )\n\n return {\n chartParams,\n selectedTimeFrame,\n timeFrames,\n translatedSports,\n selectedSportIds,\n handleOnClickArrows,\n updateSelectedSportIds,\n updateTimeFrame,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=dad311d4&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=dad311d4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-dad311d4\"\n\nexport default script","\n import { ComputedRef, computed, defineComponent } from 'vue'\n\n import Statistics from '@/components/Statistics/index.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'StatisticsView',\n components: {\n NoWorkouts,\n Statistics,\n },\n setup() {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(() =>\n store.getters[SPORTS_STORE.GETTERS.SPORTS].filter((sport) =>\n authUser.value.sports_list.includes(sport.id)\n )\n )\n return { authUser, sports }\n },\n })\n","import { render } from \"./StatisticsView.vue?vue&type=template&id=8e65b6c0&scoped=true\"\nimport script from \"./StatisticsView.vue?vue&type=script&lang=ts\"\nexport * from \"./StatisticsView.vue?vue&type=script&lang=ts\"\n\nimport \"./StatisticsView.vue?vue&type=style&index=0&id=8e65b6c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8e65b6c0\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=082d819e&lang=scss\"","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=645e8c6f&scoped=true\"\nimport script from \"./BikePic.vue?vue&type=script&lang=js\"\nexport * from \"./BikePic.vue?vue&type=script&lang=js\"\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=645e8c6f&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-645e8c6f\"\n\nexport default script","\n import { defineComponent } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n BikePic,\n LoginOrRegisterForm,\n },\n props: {\n action: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./LoginOrRegister.vue?vue&type=template&id=566b00af\"\nimport script from \"./LoginOrRegister.vue?vue&type=script&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=566b00af&lang=scss\"\nscript.render = render\n\nexport default script","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatisticsView.vue?vue&type=style&index=0&id=8e65b6c0&lang=scss&scoped=true\"","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=e324c07c&lang=scss&scoped=true\"","\n\n\n","\n import { defineComponent } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n\n export default defineComponent({\n name: 'NotFoundView',\n components: {\n NotFound,\n },\n })\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=68e1b1a0\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarHeader.vue?vue&type=style&index=0&id=4eabec52&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkoutCard.vue?vue&type=style&index=0&id=3d1a0054&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n formatWithUnits = true\n): string => {\n return displayedData === 'total_duration'\n ? formatDuration(value, formatWithUnits)\n : displayedData === 'total_distance'\n ? value.toFixed(2) + ' km'\n : value.toString()\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(props.displayedData, +value, false)\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return !(props.fullStats && context.chart.chartArea.width < 300)\n },\n formatter: function (value, context) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(props.displayedData, total, false)\n : null\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(props.displayedData, sum)\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=1e15ee41\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=6eb9bb83&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=6eb9bb83&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6eb9bb83\"\n\nexport default script","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/main.96af01eb.js b/fittrackee/dist/static/js/main.96af01eb.js deleted file mode 100644 index ab0663b4..00000000 --- a/fittrackee/dist/static/js/main.96af01eb.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["main"],{"0395":function(e,t,r){"use strict";r("caad");var a=r("7a23"),o=Object(a["withScopeId"])("data-v-7717f19a");Object(a["pushScopeId"])("data-v-7717f19a");var c={id:"user-auth-form"},n={id:"user-form"},s={class:"form-items"},u={key:1};Object(a["popScopeId"])();var i=o((function(e,t,r,i,d,l){var b=Object(a["resolveComponent"])("AlertMessage"),p=Object(a["resolveComponent"])("router-link"),O=Object(a["resolveComponent"])("ErrorMessage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])("div",{class:["form-box",{disabled:e.registration_disabled}]},[e.registration_disabled?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0,message:"user.REGISTER_DISABLED"})):Object(a["createCommentVNode"])("",!0),Object(a["createVNode"])("form",{onSubmit:t[5]||(t[5]=Object(a["withModifiers"])((function(t){return e.onSubmit(e.action)}),["prevent"]))},[Object(a["createVNode"])("div",s,["register"===e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:0,id:"username",disabled:e.registration_disabled,required:"","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.formData.username=t}),placeholder:e.$t("user.USERNAME")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.username]]):Object(a["createCommentVNode"])("",!0),"reset"!==e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:1,id:"email",disabled:e.registration_disabled,required:"",type:"email","onUpdate:modelValue":t[2]||(t[2]=function(t){return e.formData.email=t}),placeholder:"reset-request"===e.action?e.$t("user.ENTER_EMAIL"):e.$t("user.EMAIL")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.email]]):Object(a["createCommentVNode"])("",!0),"reset-request"!==e.action?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:2,id:"password",disabled:e.registration_disabled,required:"",type:"password","onUpdate:modelValue":t[3]||(t[3]=function(t){return e.formData.password=t}),placeholder:"reset"===e.action?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.password]]):Object(a["createCommentVNode"])("",!0),["register","reset"].includes(e.action)?Object(a["withDirectives"])((Object(a["openBlock"])(),Object(a["createBlock"])("input",{key:3,id:"confirm-password",disabled:e.registration_disabled,type:"password",required:"","onUpdate:modelValue":t[4]||(t[4]=function(t){return e.formData.password_conf=t}),placeholder:"reset"===e.action?e.$t("user.ENTER_PASSWORD_CONFIRMATION"):e.$t("user.PASSWORD_CONFIRM")},null,8,["disabled","placeholder"])),[[a["vModelText"],e.formData.password_conf]]):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("button",{type:"submit",disabled:e.registration_disabled},Object(a["toDisplayString"])(e.$t(e.buttonText)),9,["disabled"])],32),"login"===e.action?(Object(a["openBlock"])(),Object(a["createBlock"])("div",u,[Object(a["createVNode"])(p,{class:"password-forgotten",to:"/password-reset/request"},{default:o((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("user.PASSWORD_FORGOTTEN")),1)]})),_:1})])):Object(a["createCommentVNode"])("",!0),e.errorMessages?(Object(a["openBlock"])(),Object(a["createBlock"])(O,{key:2,message:e.errorMessages},null,8,["message"])):Object(a["createCommentVNode"])("",!0)],2)])])})),d=r("1da1"),l=(r("96cf"),r("6c02")),b=r("dad5"),p=r("2906"),O=Object(a["defineComponent"])({name:"UserAuthForm",props:{action:{type:String,required:!0},token:{type:String,default:""}},setup:function(e){var t=Object(a["reactive"])({username:"",email:"",password:"",password_conf:""}),r=Object(l["c"])(),o=Object(p["a"])(),c=Object(a["computed"])((function(){return i(e.action)})),n=Object(a["computed"])((function(){return o.getters[b["a"].GETTERS.ERROR_MESSAGES]})),s=Object(a["computed"])((function(){return o.getters[b["a"].GETTERS.APP_CONFIG]})),u=Object(a["computed"])((function(){return"register"===e.action&&!s.value.is_registration_enabled}));function i(t){switch(t){case"reset-request":case"reset":return"buttons.SUBMIT";default:return"buttons.".concat(e.action.toUpperCase())}}function O(r){switch(r){case"reset":return e.token?o.dispatch(b["e"].ACTIONS.RESET_USER_PASSWORD,{password:t.password,password_conf:t.password_conf,token:e.token}):o.commit(b["a"].MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return o.dispatch(b["e"].ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:t.email});default:o.dispatch(b["e"].ACTIONS.LOGIN_OR_REGISTER,{actionType:r,formData:t})}}function j(){t.username="",t.email="",t.password="",t.password_conf=""}return Object(a["watch"])((function(){return r.path}),Object(d["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:o.commit(b["a"].MUTATIONS.EMPTY_ERROR_MESSAGES),j();case 2:case"end":return e.stop()}}),e)})))),{appConfig:s,buttonText:c,errorMessages:n,formData:t,registration_disabled:u,onSubmit:O}}});r("c3f6");O.render=i,O.__scopeId="data-v-7717f19a";t["a"]=O},"0b29":function(e,t,r){},"0ccb":function(e,t,r){var a=r("50c4"),o=r("1148"),c=r("1d80"),n=Math.ceil,s=function(e){return function(t,r,s){var u,i,d=String(c(t)),l=d.length,b=void 0===s?" ":String(s),p=a(r);return p<=l||""==b?d:(u=p-l,i=o.call(b,n(u/b.length)),i.length>u&&(i=i.slice(0,u)),e?d+i:i+d)}};e.exports={start:s(!1),end:s(!0)}},"0fe0":function(e,t,r){"use strict";r("8338")},"21d8":function(e,t,r){"use strict";r("647c")},"224d":function(e,t,r){"use strict";r("8d2d")},"288e":function(e,t,r){"use strict";r("bbd4")},"2a1d":function(e,t,r){},"2b62":function(e,t,r){"use strict";r("fd0a")},"38f1":function(e,t,r){"use strict";r("92c3")},"3d74":function(e,t,r){},"3dde":function(e,t,r){},"4d90":function(e,t,r){"use strict";var a=r("23e7"),o=r("0ccb").start,c=r("9a0c");a({target:"String",proto:!0,forced:c},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},"4fad":function(e,t,r){var a=r("23e7"),o=r("6f53").entries;a({target:"Object",stat:!0},{entries:function(e){return o(e)}})},5782:function(e,t,r){},"5cd3":function(e,t,r){"use strict";r("990c")},"5fcb":function(e,t,r){"use strict";r("f153")},"647c":function(e,t,r){},"69b3":function(e,t,r){},"6ca7":function(e,t,r){"use strict";r("3dde")},"6f53":function(e,t,r){var a=r("83ab"),o=r("df75"),c=r("fc6a"),n=r("d1e7").f,s=function(e){return function(t){var r,s=c(t),u=o(s),i=u.length,d=0,l=[];while(i>d)r=u[d++],a&&!n.call(s,r)||l.push(e?[r,s[r]]:s[r]);return l}};e.exports={entries:s(!0),values:s(!1)}},7277:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o=Object(a["withScopeId"])("data-v-e616a7ba");Object(a["pushScopeId"])("data-v-e616a7ba");var c={key:0,id:"dashboard"},n={class:"container mobile-menu"},s={class:"box"},u=Object(a["createVNode"])("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1),i=Object(a["createVNode"])("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1),d=Object(a["createVNode"])("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1),l=Object(a["createVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1),b={class:"container"},p={class:"container dashboard-container"},O={class:"left-container dashboard-sub-container"},j={class:"right-container dashboard-sub-container"},f=Object(a["createVNode"])("div",{id:"bottom"},null,-1),m={key:1,class:"app-loading"};Object(a["popScopeId"])();var k=o((function(e,t,r,o,k,v){var y=Object(a["resolveComponent"])("UserStatsCards"),h=Object(a["resolveComponent"])("UserMonthStats"),S=Object(a["resolveComponent"])("UserRecords"),w=Object(a["resolveComponent"])("UserCalendar"),g=Object(a["resolveComponent"])("Timeline"),C=Object(a["resolveComponent"])("Loader");return e.authUser.username&&e.sports.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])("div",s,[Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"chart"===e.isSelected}],onClick:t[1]||(t[1]=function(t){return e.updateDisplayColumn("chart")})},[u],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"calendar"===e.isSelected}],onClick:t[2]||(t[2]=function(t){return e.updateDisplayColumn("calendar")})},[i],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"timeline"===e.isSelected}],onClick:t[3]||(t[3]=function(t){return e.updateDisplayColumn("timeline")})},[d],2),Object(a["createVNode"])("div",{class:["mobile-menu-item",{"is-selected":"records"===e.isSelected}],onClick:t[4]||(t[4]=function(t){return e.updateDisplayColumn("records")})},[l],2)])]),Object(a["createVNode"])("div",b,[Object(a["createVNode"])(y,{user:e.authUser},null,8,["user"])]),Object(a["createVNode"])("div",p,[Object(a["createVNode"])("div",O,[Object(a["createVNode"])(h,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("chart"===e.isSelected)}},null,8,["sports","user","class"]),Object(a["createVNode"])(S,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("records"===e.isSelected)}},null,8,["sports","user","class"])]),Object(a["createVNode"])("div",j,[Object(a["createVNode"])(w,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("calendar"===e.isSelected)}},null,8,["sports","user","class"]),Object(a["createVNode"])(g,{sports:e.sports,user:e.authUser,class:{"is-hidden":!("timeline"===e.isSelected)}},null,8,["sports","user","class"])])]),f])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",m,[Object(a["createVNode"])(C)]))}));function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r0&&0===e.workouts.length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",D,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(g(Array(e.initWorkoutsCount).keys()),(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{user:e.user,key:t},null,8,["user"])})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",V,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{workout:t,sport:e.workouts.length>0?e.sports.filter((function(e){return e.id===t.sport_id}))[0]:null,user:e.user,key:t.id},null,8,["workout","sport","user"])})),128)),0===e.workouts.length?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0})):Object(a["createCommentVNode"])("",!0),e.moreWorkoutsExist?(Object(a["openBlock"])(),Object(a["createBlock"])("div",_,[Object(a["createVNode"])("button",{onClick:t[1]||(t[1]=function(){return e.loadMoreWorkouts&&e.loadMoreWorkouts.apply(e,arguments)})},Object(a["toDisplayString"])(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):Object(a["createCommentVNode"])("",!0)]))])})),I=Object(a["withScopeId"])("data-v-3d1a0054");Object(a["pushScopeId"])("data-v-3d1a0054");var M={class:"timeline-workout"},E={class:"box"},R={class:"workout-user-date"},A={class:"workout-user"},x={key:0},U={key:1,class:"no-map"},q=Object(a["createVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1),W={key:0},L=Object(a["createVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1),F={key:0};Object(a["popScopeId"])();var P=I((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("UserPicture"),u=Object(a["resolveComponent"])("router-link"),i=Object(a["resolveComponent"])("StaticMap"),d=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",M,[Object(a["createVNode"])("div",E,[Object(a["createVNode"])("div",R,[Object(a["createVNode"])("div",A,[Object(a["createVNode"])(s,{user:e.user},null,8,["user"]),e.user.username?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0,class:"workout-user-name",to:{name:"User",params:{username:e.user.username}}},{default:I((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.user.username),1)]})),_:1},8,["to"])):Object(a["createCommentVNode"])("",!0)]),e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:e.workout.id}}},{default:I((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.workout.title),1)]})),_:1},8,["to"])):Object(a["createCommentVNode"])("",!0),e.workout&&e.user?(Object(a["openBlock"])(),Object(a["createBlock"])("div",{key:1,class:"workout-date",title:e.format(e.getDateWithTZ(e.workout.workout_date,e.user.timezone),"dd/MM/yyyy HH:mm")},Object(a["toDisplayString"])(e.formatDistance(new Date(e.workout.workout_date),new Date,{addSuffix:!0,locale:e.locale})),9,["title"])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",{class:["workout-map",{"no-cursor":!e.workout}],onClick:t[1]||(t[1]=function(t){return e.workout?e.$router.push({name:"Workout",params:{workoutId:e.workout.id}}):null})},[e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("div",x,[e.workout.with_gpx?(Object(a["openBlock"])(),Object(a["createBlock"])(i,{key:0,workout:e.workout},null,8,["workout"])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",U,Object(a["toDisplayString"])(e.$t("workouts.NO_MAP")),1))])):Object(a["createCommentVNode"])("",!0)],2),Object(a["createVNode"])("div",{class:"workout-data",onClick:t[2]||(t[2]=function(t){return e.$router.push({name:"Workout",params:{workoutId:e.workout.id}})})},[Object(a["createVNode"])("div",null,[e.sport?(Object(a["openBlock"])(),Object(a["createBlock"])(d,{key:0,"sport-label":e.sport.label},null,8,["sport-label"])):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",null,[q,e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("span",W,Object(a["toDisplayString"])(e.workout.moving),1)):Object(a["createCommentVNode"])("",!0)]),Object(a["createVNode"])("div",null,[L,e.workout?(Object(a["openBlock"])(),Object(a["createBlock"])("span",F,Object(a["toDisplayString"])(e.workout.distance)+" km",1)):Object(a["createCommentVNode"])("",!0)])])])])})),$=r("b166"),G=r("fd3a"),H=r("8c86");function Y(e,t){Object(H["a"])(2,arguments);var r=Object(G["a"])(e),a=Object(G["a"])(t),o=r.getTime()-a.getTime();return o<0?-1:o>0?1:o}function K(e,t){Object(H["a"])(2,arguments);var r=Object(G["a"])(e),a=Object(G["a"])(t),o=r.getFullYear()-a.getFullYear(),c=r.getMonth()-a.getMonth();return 12*o+c}function X(e){Object(H["a"])(1,arguments);var t=Object(G["a"])(e);return t.setHours(23,59,59,999),t}var z=r("8cac");function J(e){Object(H["a"])(1,arguments);var t=Object(G["a"])(e);return X(t).getTime()===Object(z["a"])(t).getTime()}function Z(e,t){Object(H["a"])(2,arguments);var r,a=Object(G["a"])(e),o=Object(G["a"])(t),c=Y(a,o),n=Math.abs(K(a,o));if(n<1)r=0;else{1===a.getMonth()&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-c*n);var s=Y(a,o)===-c;J(Object(G["a"])(e))&&1===n&&1===Y(e,o)&&(s=!1),r=c*(n-Number(s))}return 0===r?0:r}function Q(e,t){Object(H["a"])(2,arguments);var r=Object(G["a"])(e),a=Object(G["a"])(t);return r.getTime()-a.getTime()}function ee(e,t){Object(H["a"])(2,arguments);var r=Q(e,t)/1e3;return r>0?Math.floor(r):Math.ceil(r)}var te=r("8923");function re(e,t){if(null==e)throw new TypeError("assign requires that input parameter not be null or undefined");for(var r in t=t||{},t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}function ae(e){return re({},e)}var oe=r("2420"),ce=1440,ne=2520,se=43200,ue=86400;function ie(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object(H["a"])(2,arguments);var a=r.locale||te["a"];if(!a.formatDistance)throw new RangeError("locale must contain formatDistance property");var o=Y(e,t);if(isNaN(o))throw new RangeError("Invalid time value");var c,n,s=ae(r);s.addSuffix=Boolean(r.addSuffix),s.comparison=o,o>0?(c=Object(G["a"])(t),n=Object(G["a"])(e)):(c=Object(G["a"])(e),n=Object(G["a"])(t));var u,i=ee(n,c),d=(Object(oe["a"])(n)-Object(oe["a"])(c))/1e3,l=Math.round((i-d)/60);if(l<2)return r.includeSeconds?i<5?a.formatDistance("lessThanXSeconds",5,s):i<10?a.formatDistance("lessThanXSeconds",10,s):i<20?a.formatDistance("lessThanXSeconds",20,s):i<40?a.formatDistance("halfAMinute",null,s):i<60?a.formatDistance("lessThanXMinutes",1,s):a.formatDistance("xMinutes",1,s):0===l?a.formatDistance("lessThanXMinutes",1,s):a.formatDistance("xMinutes",l,s);if(l<45)return a.formatDistance("xMinutes",l,s);if(l<90)return a.formatDistance("aboutXHours",1,s);if(l=o?o:e.user.nb_workouts;Object(a["onBeforeMount"])((function(){return u()}));var n=Object(a["computed"])((function(){return t.getters[be["f"].GETTERS.USER_WORKOUTS]})),s=Object(a["computed"])((function(){return n.value.length>0&&null!==n.value[n.value.length-1].previous_workout}));function u(){t.dispatch(be["f"].ACTIONS.GET_USER_WORKOUTS,{page:r.value,per_page:o})}function i(){r.value+=1,t.dispatch(be["f"].ACTIONS.GET_MORE_USER_WORKOUTS,{page:r.value,per_page:o})}return{initWorkoutsCount:c,moreWorkoutsExist:s,per_page:o,workouts:n,loadMoreWorkouts:i}}});r("83de");ke.render=T,ke.__scopeId="data-v-9b1e052a";var ve=ke,ye={id:"user-calendar"},he={class:"calendar-card box"};function Se(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarHeader"),u=Object(a["resolveComponent"])("CalendarDays"),i=Object(a["resolveComponent"])("CalendarCells");return Object(a["openBlock"])(),Object(a["createBlock"])("div",ye,[Object(a["createVNode"])("div",he,[Object(a["createVNode"])(s,{day:e.day,"locale-options":"enGB",onDisplayNextMonth:e.displayNextMonth,onDisplayPreviousMonth:e.displayPreviousMonth},null,8,["day","onDisplayNextMonth","onDisplayPreviousMonth"]),Object(a["createVNode"])(u,{"start-date":e.calendarDates.start,"locale-options":"enGB"},null,8,["start-date"]),Object(a["createVNode"])(i,{currentDay:e.day,"end-date":e.calendarDates.end,sports:e.sports,"start-date":e.calendarDates.start,timezone:e.user.timezone,workouts:e.calendarWorkouts,weekStartingMonday:e.user.weekm},null,8,["currentDay","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])])}var we=r("74b5"),ge=r("a618"),Ce={class:"calendar-cells"},Ne={class:"calendar-cell-day"};function Be(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarWorkouts");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ce,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.rows,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-row",key:r},[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(t,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:["calendar-cell",{"disabled-cell":!e.isSameMonth(t,e.currentDay),"week-end":e.isWeekEnd(r),today:e.isToday(t)}],key:r},[Object(a["createVNode"])(s,{workouts:e.filterWorkouts(t,e.workouts),sports:e.sports},null,8,["workouts","sports"]),Object(a["createVNode"])("div",Ne,Object(a["toDisplayString"])(e.format(t,"d")),1)],2)})),128))])})),128))])}r("caad");var De=r("f7f1");function Ve(e){Object(H["a"])(1,arguments);var t=Object(G["a"])(e);return t.setHours(0,0,0,0),t}function _e(e,t){Object(H["a"])(2,arguments);var r=Ve(e),a=Ve(t);return r.getTime()===a.getTime()}function Te(e,t){Object(H["a"])(2,arguments);var r=Object(G["a"])(e),a=Object(G["a"])(t);return r.getFullYear()===a.getFullYear()&&r.getMonth()===a.getMonth()}function Ie(e){return Object(H["a"])(1,arguments),_e(e,Date.now())}var Me={class:"calendar-workouts"},Ee={class:"desktop-display"},Re={key:0,class:"workouts-display"},Ae={key:1,class:"donut-display"},xe={class:"mobile-display"},Ue={key:0,class:"donut-display"};function qe(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("CalendarWorkout"),u=Object(a["resolveComponent"])("CalendarWorkoutsChart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Me,[Object(a["createVNode"])("div",Ee,[e.workouts.length<=e.displayedWorkoutCount?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Re,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts.slice(0,e.displayedWorkoutCount),(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{key:r,workout:t,sportLabel:e.getSportLabel(t,e.sports)},null,8,["workout","sportLabel"])})),128))])):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ae,[Object(a["createVNode"])(u,{workouts:e.workouts,sports:e.sports,datasets:e.chartDatasets,colors:e.colors},null,8,["workouts","sports","datasets","colors"])]))]),Object(a["createVNode"])("div",xe,[e.workouts.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ue,[Object(a["createVNode"])(u,{workouts:e.workouts,sports:e.sports,datasets:e.chartDatasets,colors:e.colors},null,8,["workouts","sports","datasets","colors"])])):Object(a["createCommentVNode"])("",!0)])])}r("d81d");function We(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-workout",onClick:t[1]||(t[1]=function(t){return e.$router.push({name:"Workout",params:{workoutId:e.workout.id}})})},[Object(a["createVNode"])(s,{"sport-label":e.sportLabel,title:e.workout.title},null,8,["sport-label","title"]),Object(a["createVNode"])("sup",null,[e.workout.records.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:e.workout.records.map((function(t){return" ".concat(e.t("workouts.RECORD_".concat(t.record_type)))}))},null,8,["title"])):Object(a["createCommentVNode"])("",!0)])])}var Le=r("47e2"),Fe=Object(a["defineComponent"])({name:"CalendarWorkout",props:{workout:{type:Object,required:!0},sportLabel:{type:String,required:!0}},setup:function(){var e=Object(Le["b"])(),t=e.t;return{t:t}}});r("38f1");Fe.render=We;var Pe=Fe,$e=Object(a["withScopeId"])("data-v-b30dea28");Object(a["pushScopeId"])("data-v-b30dea28");var Ge={class:"calendar-workouts-chart"},He={class:"workouts-count"},Ye={key:0,class:"workouts-pane"},Ke={class:"more-workouts"};Object(a["popScopeId"])();var Xe=$e((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("DonutChart"),u=Object(a["resolveComponent"])("CalendarWorkout"),i=Object(a["resolveDirective"])("click-outside");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Ge,[Object(a["createVNode"])("div",{class:"workouts-chart",onClick:t[1]||(t[1]=function(){return e.togglePane&&e.togglePane.apply(e,arguments)})},[Object(a["createVNode"])("div",He,Object(a["toDisplayString"])(e.workouts.length),1),Object(a["createVNode"])(s,{datasets:e.datasets,colors:e.colors},null,8,["datasets","colors"])]),e.isHidden?Object(a["createCommentVNode"])("",!0):(Object(a["openBlock"])(),Object(a["createBlock"])("div",Ye,[Object(a["withDirectives"])(Object(a["createVNode"])("div",Ke,[Object(a["createVNode"])("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:t[2]||(t[2]=function(){return e.togglePane&&e.togglePane.apply(e,arguments)})}),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.workouts,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])(u,{key:r,workout:t,sportLabel:e.getSportLabel(t,e.sports)},null,8,["workout","sportLabel"])})),128))],512),[[i,e.togglePane]])]))])})),ze=(r("4fad"),{class:"donut-chart"}),Je={height:"34",width:"34",viewBox:"0 0 34 34"};function Ze(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",ze,[(Object(a["openBlock"])(),Object(a["createBlock"])("svg",Je,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(Object.entries(e.datasets),(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("g",{key:r},[Object(a["createVNode"])("circle",{cx:e.cx,cy:e.cy,r:e.radius,fill:"transparent",stroke:e.colors[+t[0]],"stroke-dashoffset":e.calculateStrokeDashOffset(t[1].percentage,e.circumference),"stroke-dasharray":e.circumference,"stroke-width":"3","stroke-opacity":"0.8",transform:e.returnCircleTransformValue(r,t[1].percentage)},null,8,["cx","cy","r","stroke","stroke-dashoffset","stroke-dasharray","transform"])])})),128))]))])}r("99af");var Qe=Object(a["defineComponent"])({name:"DonutChart",props:{colors:{type:Object,required:!0},datasets:{type:Object,required:!0}},setup:function(){var e=-90,t=16,r=16,a=14,o=2*Math.PI*a;function c(e,t){return t-e*t}function n(a,o){var c="rotate(".concat(e,", ").concat(t,", ").concat(r,")");return e=360*o+e,c}return{angleOffset:e,circumference:o,cx:t,cy:r,radius:a,calculateStrokeDashOffset:c,returnCircleTransformValue:n}}});Qe.render=Ze;var et=Qe,tt=r("1119"),rt=Object(a["defineComponent"])({name:"CalendarWorkoutsChart",components:{CalendarWorkout:Pe,DonutChart:et},props:{colors:{type:Object,required:!0},datasets:{type:Object,required:!0},sports:{type:Object,required:!0},workouts:{type:Object,required:!0}},setup:function(){var e=Object(a["ref"])(!0);function t(t){t.stopPropagation(),e.value=!e.value}return{isHidden:e,getSportLabel:tt["a"],togglePane:t}}});r("0fe0");rt.render=Xe,rt.__scopeId="data-v-b30dea28";var at=rt,ot=r("9230"),ct=Object(a["defineComponent"])({name:"CalendarWorkouts",components:{CalendarWorkout:Pe,CalendarWorkoutsChart:at},props:{workouts:{type:Object,required:!0},sports:{type:Object,required:!0}},setup:function(e){return{chartDatasets:Object(a["computed"])((function(){return Object(ot["b"])(e.workouts)})),colors:Object(a["computed"])((function(){return Object(tt["c"])(e.sports)})),displayedWorkoutCount:6,getSportLabel:tt["a"]}}});r("21d8");ct.render=qe;var nt=ct,st=Object(a["defineComponent"])({name:"CalendarCells",components:{CalendarWorkouts:nt},props:{currentDay:{type:Date,required:!0},endDate:{type:Date,required:!0},sports:{type:Object,required:!0},startDate:{type:Date,required:!0},timezone:{type:String,required:!0},weekStartingMonday:{type:Boolean,required:!0},workouts:{type:Object,required:!0}},setup:function(e){var t=Object(a["ref"])([]),r=Object(a["toRefs"])(e),o=r.startDate,c=r.endDate,n=r.weekStartingMonday;function s(){t.value=[];var e=o.value;while(e<=c.value){for(var r=[],a=0;a<7;a++)r.push(e),e=Object(De["a"])(e,1);t.value.push(r)}}function u(e){return n.value?[5,6].includes(e):[0,6].includes(e)}function i(t,r){return r?r.filter((function(r){return _e(Object(Oe["c"])(r.workout_date,e.timezone),t)})).reverse():[]}return Object(a["onMounted"])((function(){return s()})),Object(a["watch"])((function(){return e.currentDay}),(function(){return s()})),{rows:t,format:$["a"],isSameMonth:Te,isToday:Ie,isWeekEnd:u,filterWorkouts:i}}});r("288e");st.render=Be;var ut=st,it={class:"calendar-days"};function dt(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",it,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.days,(function(t,r){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"calendar-day",key:r},Object(a["toDisplayString"])(e.format(t,"EEE",e.localeOptions)),1)})),128))])}var lt=Object(a["defineComponent"])({name:"CalendarDays",props:{startDate:{type:Date,required:!0},localeOptions:{type:String,required:!0}},setup:function(e){for(var t=[],r=0;r<7;r++)t.push(Object(De["a"])(e.startDate,r));return{days:t,addDays:De["a"],format:$["a"]}}});r("5fcb");lt.render=dt;var bt=lt,pt={class:"calendar-header"},Ot=Object(a["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),jt={class:"calendar-month"},ft=Object(a["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);function mt(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",pt,[Object(a["createVNode"])("div",{class:"calendar-arrow calendar-arrow-left",onClick:t[1]||(t[1]=function(t){return e.emit("displayPreviousMonth")})},[Ot]),Object(a["createVNode"])("div",jt,[Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.format(e.day,"MMM yyyy",e.localeOptions)),1)]),Object(a["createVNode"])("div",{class:"calendar-arrow calendar-arrow-right",onClick:t[2]||(t[2]=function(t){return e.emit("displayNextMonth")})},[ft])])}var kt=Object(a["defineComponent"])({name:"CalendarHeader",props:{day:{type:Date,required:!0},localeOptions:{type:String,required:!0}},emits:["displayNextMonth","displayPreviousMonth"],setup:function(e,t){var r=t.emit;return{emit:r,format:$["a"]}}});r("e4ea");kt.render=mt;var vt=kt,yt=Object(a["defineComponent"])({name:"UserCalendar",components:{CalendarCells:ut,CalendarDays:bt,CalendarHeader:vt},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(pe["a"])();Object(a["onBeforeMount"])((function(){return s()}));var r="yyyy-MM-dd",o=Object(a["ref"])(new Date),c=Object(a["ref"])(Object(Oe["b"])(o.value,e.user.weekm)),n=Object(a["computed"])((function(){return t.getters[be["f"].GETTERS.CALENDAR_WORKOUTS]}));function s(){c.value=Object(Oe["b"])(o.value,e.user.weekm);var a={from:Object($["a"])(c.value.start,r),to:Object($["a"])(c.value.end,r),order:"desc",per_page:100};t.dispatch(be["f"].ACTIONS.GET_CALENDAR_WORKOUTS,a)}function u(){o.value=Object(we["a"])(o.value,1),s()}function i(){o.value=Object(ge["a"])(o.value,1),s()}return{day:o,calendarDates:c,calendarWorkouts:n,displayNextMonth:u,displayPreviousMonth:i}}});r("5cd3");yt.render=Se;var ht=yt,St=Object(a["withScopeId"])("data-v-7958b39f");Object(a["pushScopeId"])("data-v-7958b39f");var wt={class:"user-month-stats"};Object(a["popScopeId"])();var gt=St((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatChart"),u=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",wt,[Object(a["createVNode"])(u,null,{title:St((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("dashboard.THIS_MONTH")),1)]})),content:St((function(){return[Object(a["createVNode"])(s,{sports:e.sports,user:e.user,"chart-params":e.chartParams,"displayed-sport-ids":e.selectedSportIds,"hide-chart-if-no-data":!0},null,8,["sports","user","chart-params","displayed-sport-ids"])]})),_:1})])})),Ct=r("f628"),Nt=r("ec59"),Bt=Object(a["defineComponent"])({name:"UserMonthStats",components:{StatChart:Nt["a"]},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=new Date;return{chartParams:{duration:"week",start:Object(Ct["a"])(t),end:Object(z["a"])(t)},selectedSportIds:e.sports.map((function(e){return e.id}))}}});r("224d");Bt.render=gt,Bt.__scopeId="data-v-7958b39f";var Dt=Bt,Vt=(r("b64b"),r("4e82"),Object(a["withScopeId"])("data-v-080b37ac"));Object(a["pushScopeId"])("data-v-080b37ac");var _t={class:"user-records-section"},Tt={class:"section-title"},It=Object(a["createVNode"])("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1),Mt={class:"user-records"},Et={key:0,class:"no-records"};Object(a["popScopeId"])();var Rt=Vt((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("RecordsCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",_t,[Object(a["createVNode"])("div",Tt,[It,Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.RECORD",2)),1)]),Object(a["createVNode"])("div",Mt,[0===Object.keys(e.recordsBySport).length?(Object(a["openBlock"])(),Object(a["createBlock"])("div",Et,Object(a["toDisplayString"])(e.$t("workouts.NO_RECORDS")),1)):Object(a["createCommentVNode"])("",!0),(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(Object.keys(e.recordsBySport).sort(),(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])(s,{sportTranslatedLabel:t,records:e.recordsBySport[t],key:t},null,8,["sportTranslatedLabel","records"])})),128))])])})),At=Object(a["withScopeId"])("data-v-db29ce96");Object(a["pushScopeId"])("data-v-db29ce96");var xt={class:"records-card"},Ut={class:"record-type"},qt={class:"record-value"},Wt={class:"record-date"};Object(a["popScopeId"])();var Lt=At((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage"),u=Object(a["resolveComponent"])("router-link"),i=Object(a["resolveComponent"])("Card");return Object(a["openBlock"])(),Object(a["createBlock"])("div",xt,[Object(a["createVNode"])(i,null,{title:At((function(){return[Object(a["createVNode"])(s,{"sport-label":e.records.label},null,8,["sport-label"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.sportTranslatedLabel),1)]})),content:At((function(){return[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.records.records,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"record",key:t.id},[Object(a["createVNode"])("span",Ut,Object(a["toDisplayString"])(e.t("workouts.RECORD_".concat(t.record_type))),1),Object(a["createVNode"])("span",qt,Object(a["toDisplayString"])(t.value),1),Object(a["createVNode"])("span",Wt,[Object(a["createVNode"])(u,{to:{name:"Workout",params:{workoutId:t.workout_id}}},{default:At((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(t.workout_date),1)]})),_:2},1032,["to"])])])})),128))]})),_:1})])})),Ft=Object(a["defineComponent"])({name:"RecordsCard",props:{records:{type:Object,required:!0},sportTranslatedLabel:{type:String,required:!0}},setup:function(){var e=Object(Le["b"])(),t=e.t;return{t:t}}});r("2b62");Ft.render=Lt,Ft.__scopeId="data-v-db29ce96";var Pt=Ft,$t=(r("7db0"),function(e,t){var r;switch(e.record_type){case"AS":case"MS":r="".concat(e.value," km/h");break;case"FD":r="".concat(e.value," km");break;case"LD":r=e.value;break;default:throw new Error('Invalid record type, expected: "AS", "FD", "LD", "MD", got: "'.concat(e.record_type,'"'))}return{workout_date:Object(Oe["a"])(Object(Oe["c"])(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:r}}),Gt=function(e,t,r){return e.reduce((function(e,a){var o=t.find((function(e){return e.id===a.sport_id}));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,records:[]}),e[o.translatedLabel].records.push($t(a,r))),e}),{})},Ht=Object(a["defineComponent"])({name:"UserRecords",components:{RecordsCard:Pt},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(Le["b"])(),r=t.t,o=Object(a["computed"])((function(){return Gt(e.user.records,Object(tt["d"])(e.sports,r),e.user.timezone)}));return{recordsBySport:o}}});r("c11a");Ht.render=Rt,Ht.__scopeId="data-v-080b37ac";var Yt=Ht,Kt=(r("b680"),r("a9e3"),{id:"user-stats"});function Xt(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatCard");return Object(a["openBlock"])(),Object(a["createBlock"])("div",Kt,[Object(a["createVNode"])(s,{icon:"calendar",value:e.user.nb_workouts,text:e.$t("workouts.WORKOUT",e.user.nb_workouts)},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"road",value:Number(e.user.total_distance).toFixed(2),text:e.$t("workouts.KM")},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"clock-o",value:e.total_duration.days,text:e.total_duration.duration},null,8,["value","text"]),Object(a["createVNode"])(s,{icon:"tags",value:e.user.nb_sports,text:e.$t("workouts.SPORT",e.user.nb_sports)},null,8,["value","text"])])}r("ac1f"),r("466d"),r("1276");var zt=r("05d9"),Jt=Object(a["defineComponent"])({name:"UserStatsCards",components:{StatCard:zt["a"]},props:{user:{type:Object,required:!0}},setup:function(e){var t=Object(Le["b"])(),r=t.t,o=Object(a["computed"])((function(){return e.user.total_duration}));function c(e){var t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?"".concat(e.value.split(" ")[0]," ").concat(e.value.match(/days/g)?r("common.DAY",2):r("common.DAY",1)):"0 ".concat(r("common.DAY",2),","),duration:"".concat(t.split(":")[0],"h ").concat(t.split(":")[1],"min")}}return{total_duration:Object(a["computed"])((function(){return c(o)}))}}});r("d224");Jt.render=Xt;var Zt=Jt,Qt=Object(a["defineComponent"])({name:"Dashboard",components:{Timeline:ve,UserCalendar:ht,UserMonthStats:Dt,UserRecords:Yt,UserStatsCards:Zt},setup:function(){var e=Object(pe["a"])(),t=Object(a["computed"])((function(){return e.getters[be["e"].GETTERS.AUTH_USER_PROFILE]})),r=Object(a["computed"])((function(){return e.getters[be["b"].GETTERS.SPORTS]})),o=Object(a["ref"])("chart");function c(e){o.value=e}return{authUser:t,sports:r,isSelected:o,updateDisplayColumn:c}}});r("94f8");Qt.render=k,Qt.__scopeId="data-v-e616a7ba";t["default"]=Qt},7416:function(e,t,r){"use strict";r.d(t,"a",(function(){return B})),r.d(t,"b",(function(){return D})),r.d(t,"c",(function(){return V}));r("d81d"),r("4de4"),r("caad"),r("2532");var a=r("b166"),o=r("d6e9"),c=r("fe1f"),n=r("cdb6"),s=r("8c86");function u(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t);return Object(n["a"])(e,-r)}var i=r("69eb"),d=r("a618"),l=r("f628"),b=r("fd3a");function p(e){Object(s["a"])(1,arguments);var t=Object(b["a"])(e),r=t.getFullYear();return t.setFullYear(r+1,0,0),t.setHours(23,59,59,999),t}var O=r("2fc8"),j=r("8cac"),f=r("f7f1");function m(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t),a=7*r;return Object(f["a"])(e,a)}function k(e,t){Object(s["a"])(2,arguments);var r=Object(c["a"])(t);return m(e,-r)}var v=r("74b5"),y=r("5e65"),h=r("1119"),S={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},w=["nb_workouts","total_duration","total_distance"],g=function(e,t){for(var r=[],a=Object(y["d"])(e.duration,e.start,t);a<=e.end;a=Object(y["e"])(e.duration,a))r.push(a);return r},C=function(e,t){return{label:e,backgroundColor:[t],data:[]}},N=function(e){var t={nb_workouts:[],total_distance:[],total_duration:[]};return e.map((function(e){var r=h["b"][e.label];t.nb_workouts.push(C(e.label,r)),t.total_distance.push(C(e.label,r)),t.total_duration.push(C(e.label,r))})),t},B=function(e,t,r,o,c){var n=g(e,t),s=S[e.duration],u=r.filter((function(e){return o.includes(e.id)})),i=[],d=N(u),l={};return u.map((function(e){return l[e.label]=e.id})),n.map((function(e){var t=Object(a["a"])(e,s.api),r=Object(a["a"])(e,s.chart);i.push(r),w.map((function(e){d[e].map((function(r){r.data.push(c!=={}&&t in c&&l[r.label]in c[t]?c[t][l[r.label]][e]:0)}))}))})),{labels:i,datasets:d}},D=function(e,t,r){var a=r?1:0,c="year"===t?Object(o["a"])(u(e,9)):"week"===t?Object(i["a"])(Object(d["a"])(e,2),{weekStartsOn:a}):Object(l["a"])(Object(d["a"])(e,11)),n="year"===t?p(e):"week"===t?Object(O["a"])(e,{weekStartsOn:a}):Object(j["a"])(e);return{duration:t,end:n,start:c}},V=function(e,t,r){var a=e.duration,c=e.start,s=e.end,b=r?1:0;return{duration:a,end:"year"===a?p(t?u(s,1):Object(n["a"])(s,1)):"week"===a?Object(O["a"])(t?k(s,1):m(s,1),{weekStartsOn:b}):Object(j["a"])(t?Object(d["a"])(s,1):Object(v["a"])(s,1)),start:"year"===a?Object(o["a"])(t?u(c,1):Object(n["a"])(c,1)):"week"===a?Object(i["a"])(t?k(c,1):m(c,1),{weekStartsOn:b}):Object(l["a"])(t?Object(d["a"])(c,1):Object(v["a"])(c,1))}}},"778a":function(e,t,r){"use strict";r("c1a9")},"80e9":function(e,t,r){},8338:function(e,t,r){},"83de":function(e,t,r){"use strict";r("0b29")},"85e2":function(e,t,r){"use strict";r("69b3")},"8d2d":function(e,t,r){},"90d2":function(e,t,r){"use strict";r("f2a6")},"92c3":function(e,t,r){},9433:function(e,t,r){"use strict";r("80e9")},"94f8":function(e,t,r){"use strict";r("2a1d")},"990c":function(e,t,r){},"9a0c":function(e,t,r){var a=r("342f");e.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(a)},a0b1:function(e,t,r){},a618:function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var a=r("fe1f"),o=r("74b5"),c=r("8c86");function n(e,t){Object(c["a"])(2,arguments);var r=Object(a["a"])(t);return Object(o["a"])(e,-r)}},a881:function(e,t,r){},b3b8:function(e,t,r){},b499:function(e,t,r){"use strict";r("a881")},bbd4:function(e,t,r){},c11a:function(e,t,r){"use strict";r("b3b8")},c1a9:function(e,t,r){},c3f6:function(e,t,r){"use strict";r("df24")},ccb2:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o=Object(a["withScopeId"])("data-v-8e65b6c0");Object(a["pushScopeId"])("data-v-8e65b6c0");var c={id:"statistics"},n={key:0,class:"container"};Object(a["popScopeId"])();var s=o((function(e,t,r,s,u,i){var d=Object(a["resolveComponent"])("Statistics"),l=Object(a["resolveComponent"])("Card"),b=Object(a["resolveComponent"])("NoWorkouts");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[e.authUser.username?(Object(a["openBlock"])(),Object(a["createBlock"])("div",n,[Object(a["createVNode"])(l,null,{title:o((function(){return[Object(a["createTextVNode"])(Object(a["toDisplayString"])(e.$t("statistics.STATISTICS")),1)]})),content:o((function(){return[Object(a["createVNode"])(d,{class:{"stats-disabled":0===e.authUser.nb_workouts},user:e.authUser,sports:e.sports},null,8,["class","user","sports"])]})),_:1}),0===e.authUser.nb_workouts?(Object(a["openBlock"])(),Object(a["createBlock"])(b,{key:0})):Object(a["createCommentVNode"])("",!0)])):Object(a["createCommentVNode"])("",!0)])})),u=(r("4de4"),r("caad"),r("2532"),Object(a["withScopeId"])("data-v-dad311d4"));Object(a["pushScopeId"])("data-v-dad311d4");var i={key:0,id:"user-statistics"};Object(a["popScopeId"])();var d=u((function(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("StatsMenu"),u=Object(a["resolveComponent"])("StatChart"),d=Object(a["resolveComponent"])("SportsMenu");return e.translatedSports?(Object(a["openBlock"])(),Object(a["createBlock"])("div",i,[Object(a["createVNode"])(s,{onTimeFrameUpdate:e.updateTimeFrame,onArrowClick:e.handleOnClickArrows},null,8,["onTimeFrameUpdate","onArrowClick"]),Object(a["createVNode"])(u,{sports:e.sports,user:e.user,chartParams:e.chartParams,"displayed-sport-ids":e.selectedSportIds,fullStats:!0},null,8,["sports","user","chartParams","displayed-sport-ids"]),Object(a["createVNode"])(d,{"selected-sport-ids":e.selectedSportIds,"user-sports":e.sports,onSelectedSportIdsUpdate:e.updateSelectedSportIds},null,8,["selected-sport-ids","user-sports","onSelectedSportIdsUpdate"])])):Object(a["createCommentVNode"])("",!0)})),l=(r("d81d"),r("47e2")),b=r("ec59"),p=Object(a["withScopeId"])("data-v-56f0f302");Object(a["pushScopeId"])("data-v-56f0f302");var O={class:"chart-menu"},j={class:"chart-arrow"},f={class:"time-frames custom-checkboxes-group"},m={class:"time-frames-checkboxes custom-checkboxes"},k={class:"chart-arrow"};Object(a["popScopeId"])();var v=p((function(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",O,[Object(a["createVNode"])("div",j,[Object(a["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true",onClick:t[1]||(t[1]=function(t){return e.emit("arrowClick",!0)})})]),Object(a["createVNode"])("div",f,[Object(a["createVNode"])("div",m,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.timeFrames,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("div",{class:"time-frame custom-checkbox",key:t},[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",id:t,name:t,checked:e.selectedTimeFrame===t,onInput:function(r){return e.onUpdateTimeFrame(t)}},null,40,["id","name","checked","onInput"]),Object(a["createVNode"])("span",null,Object(a["toDisplayString"])(e.$t("statistics.TIME_FRAMES.".concat(t))),1)])])})),128))])]),Object(a["createVNode"])("div",k,[Object(a["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true",onClick:t[2]||(t[2]=function(t){return e.emit("arrowClick",!1)})})])])})),y=Object(a["defineComponent"])({name:"StatsMenu",emits:["arrowClick","timeFrameUpdate"],setup:function(e,t){var r=t.emit,o=Object(a["ref"])("month"),c=["week","month","year"];function n(e){o.value=e,r("timeFrameUpdate",e)}return{selectedTimeFrame:o,timeFrames:c,onUpdateTimeFrame:n,emit:r}}});r("b499");y.render=v,y.__scopeId="data-v-56f0f302";var h=y,S={class:"sports-menu"},w={class:"sport-label"};function g(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("SportImage");return Object(a["openBlock"])(),Object(a["createBlock"])("div",S,[(Object(a["openBlock"])(!0),Object(a["createBlock"])(a["Fragment"],null,Object(a["renderList"])(e.translatedSports,(function(t){return Object(a["openBlock"])(),Object(a["createBlock"])("label",{type:"checkbox",key:t.id,style:{color:e.sportColors[t.label]}},[Object(a["createVNode"])("input",{type:"checkbox",id:t.id,name:t.label,checked:e.selectedSportIds.includes(t.id),onInput:function(r){return e.updateSelectedSportIds(t.id)}},null,40,["id","name","checked","onInput"]),Object(a["createVNode"])(s,{"sport-label":t.label},null,8,["sport-label"]),Object(a["createVNode"])("span",w,Object(a["toDisplayString"])(t.translatedLabel),1)],4)})),128))])}var C=r("1119"),N=Object(a["defineComponent"])({name:"SportsMenu",props:{selectedSportIds:{type:Array,default:function(){return[]}},userSports:{type:Object,required:!0}},emits:["selectedSportIdsUpdate"],setup:function(e,t){var r=t.emit,o=Object(l["b"])(),c=o.t,n=Object(a["computed"])((function(){return Object(C["d"])(e.userSports,c)}));function s(e){r("selectedSportIdsUpdate",e)}return{sportColors:Object(a["inject"])("sportColors"),translatedSports:n,updateSelectedSportIds:s}}});r("9433");N.render=g;var B=N,D=r("7416"),V=Object(a["defineComponent"])({name:"Statistics",components:{SportsMenu:B,StatChart:b["a"],StatsMenu:h},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0}},setup:function(e){var t=Object(l["b"])(),r=t.t,o=Object(a["ref"])("month"),c=["week","month","year"],n=Object(a["ref"])(d(o.value)),s=Object(a["computed"])((function(){return Object(C["d"])(e.sports,r)})),u=Object(a["ref"])(p(e.sports));function i(e){o.value=e,n.value=d(o.value)}function d(t){return Object(D["b"])(new Date,t,e.user.weekm)}function b(t){n.value=Object(D["c"])(n.value,t,e.user.weekm)}function p(e){return e.map((function(e){return e.id}))}function O(e){u.value.includes(e)?u.value=u.value.filter((function(t){return t!==e})):u.value.push(e)}return Object(a["watch"])((function(){return e.sports}),(function(e){u.value=p(e)})),{chartParams:n,selectedTimeFrame:o,timeFrames:c,translatedSports:s,selectedSportIds:u,handleOnClickArrows:b,updateSelectedSportIds:O,updateTimeFrame:i}}});r("778a");V.render=d,V.__scopeId="data-v-dad311d4";var _=V,T=r("1724"),I=r("dad5"),M=r("2906"),E=Object(a["defineComponent"])({name:"StatisticsView",components:{NoWorkouts:T["a"],Statistics:_},setup:function(){var e=Object(M["a"])(),t=Object(a["computed"])((function(){return e.getters[I["e"].GETTERS.AUTH_USER_PROFILE]})),r=Object(a["computed"])((function(){return e.getters[I["b"].GETTERS.SPORTS].filter((function(e){return t.value.sports_list.includes(e.id)}))}));return{authUser:t,sports:r}}});r("d704");E.render=s,E.__scopeId="data-v-8e65b6c0";t["default"]=E},d224:function(e,t,r){"use strict";r("a0b1")},d277:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o={id:"loginOrRegister"},c={class:"container"},n={class:"container-sub"},s={class:"container-sub"};function u(e,t,r,u,i,d){var l=Object(a["resolveComponent"])("BikePic"),b=Object(a["resolveComponent"])("LoginOrRegisterForm");return Object(a["openBlock"])(),Object(a["createBlock"])("div",o,[Object(a["createVNode"])("div",c,[Object(a["createVNode"])("div",n,[Object(a["createVNode"])(l)]),Object(a["createVNode"])("div",s,[Object(a["createVNode"])(b,{action:e.action},null,8,["action"])])])])}var i=Object(a["withScopeId"])("data-v-645e8c6f");Object(a["pushScopeId"])("data-v-645e8c6f");var d={id:"about"};Object(a["popScopeId"])();var l=i((function(e,t,r,o,c,n){return Object(a["openBlock"])(),Object(a["createBlock"])("div",d,[Object(a["createVNode"])("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,["src"])])})),b={name:"About"};r("6ca7");b.render=l,b.__scopeId="data-v-645e8c6f";var p=b,O=r("0395"),j=Object(a["defineComponent"])({name:"NavBar",components:{BikePic:p,LoginOrRegisterForm:O["a"]},props:{action:{type:String,required:!0}}});r("85e2");j.render=u;t["default"]=j},d28b:function(e,t,r){var a=r("746f");a("iterator")},d704:function(e,t,r){"use strict";r("3d74")},df24:function(e,t,r){},e01a:function(e,t,r){"use strict";var a=r("23e7"),o=r("83ab"),c=r("da84"),n=r("5135"),s=r("861d"),u=r("9bf2").f,i=r("e893"),d=c.Symbol;if(o&&"function"==typeof d&&(!("description"in d.prototype)||void 0!==d().description)){var l={},b=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),t=this instanceof b?new d(e):void 0===e?d():d(e);return""===e&&(l[t]=!0),t};i(b,d);var p=b.prototype=d.prototype;p.constructor=b;var O=p.toString,j="Symbol(test)"==String(d("test")),f=/^Symbol\((.*)\)[^)]+$/;u(p,"description",{configurable:!0,get:function(){var e=s(this)?this.valueOf():this,t=O.call(e);if(n(l,e))return"";var r=j?t.slice(7,-1):t.replace(f,"$1");return""===r?void 0:r}}),a({global:!0,forced:!0},{Symbol:b})}},e19f:function(e,t,r){"use strict";r.r(t);var a=r("7a23"),o={class:"not-found"};function c(e,t,r,c,n,s){var u=Object(a["resolveComponent"])("NotFound");return Object(a["openBlock"])(),Object(a["createBlock"])("div",o,[Object(a["createVNode"])(u)])}var n=r("f7f9"),s=Object(a["defineComponent"])({name:"NotFoundView",components:{NotFound:n["a"]}});s.render=c;t["default"]=s},e4ea:function(e,t,r){"use strict";r("5782")},ea96:function(e,t,r){"use strict";r("ffcc")},ec59:function(e,t,r){"use strict";var a=r("7a23"),o=Object(a["withScopeId"])("data-v-6eb9bb83");Object(a["pushScopeId"])("data-v-6eb9bb83");var c={class:"start-chart"},n={key:0},s={key:1},u={class:"chart-radio"};Object(a["popScopeId"])();var i=o((function(e,t,r,o,i,d){var l=Object(a["resolveComponent"])("Chart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",c,[e.hideChartIfNoData&&e.emptyStats?(Object(a["openBlock"])(),Object(a["createBlock"])("div",n,Object(a["toDisplayString"])(e.$t("workouts.NO_WORKOUTS")),1)):(Object(a["openBlock"])(),Object(a["createBlock"])("div",s,[Object(a["createVNode"])("div",u,[Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[1]||(t[1]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[2]||(t[2]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.DURATION")),1)]),Object(a["createVNode"])("label",null,[Object(a["createVNode"])("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[3]||(t[3]=function(){return e.updateDisplayData&&e.updateDisplayData.apply(e,arguments)})},null,8,["checked"]),Object(a["createTextVNode"])(" "+Object(a["toDisplayString"])(e.$t("workouts.WORKOUT",2)),1)])]),e.labels.length>0?(Object(a["openBlock"])(),Object(a["createBlock"])(l,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats"])):Object(a["createCommentVNode"])("",!0)]))])})),d=r("1da1"),l=(r("96cf"),r("b0c0"),r("b64b"),r("b166")),b={class:"chart"};function p(e,t,r,o,c,n){var s=Object(a["resolveComponent"])("BarChart");return Object(a["openBlock"])(),Object(a["createBlock"])("div",b,[Object(a["createVNode"])(s,Object(a["mergeProps"])(e.barChartProps,{class:"bar-chart"}),null,16)])}r("d81d");var O=r("b48c"),j=r("47e2"),f=(r("b680"),r("d3b7"),r("25f0"),r("4d90"),r("99af"),function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r="0";t&&(r=String(Math.floor(e/86400)),e%=86400);var a=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;var o=String(Math.floor(e/60)).padStart(2,"0"),c=String(e%60).padStart(2,"0");return t?"".concat("0"===r?"":"".concat(r,"d ")).concat("00"===a?"":"".concat(a,"h ")).concat(o,"m ").concat(c,"s"):"".concat("00"===a?"":"".concat(a,":")).concat(o,":").concat(c)}),m=function(e,t){var r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return"total_duration"===e?f(t,r):"total_distance"===e?t.toFixed(2)+" km":t.toString()},k=Object(a["defineComponent"])({name:"Chart",components:{BarChart:O["BarChart"]},props:{datasets:{type:Object,required:!0},labels:{type:Object,required:!0},displayedData:{type:String,required:!0},displayedSportIds:{type:Array,required:!0},fullStats:{type:Boolean,required:!0}},setup:function(e){var t=Object(j["b"])(),r=t.t;function o(e){return isNaN(e)?0:+e}function c(e,t){return o(e)+o(t)}var n=Object(a["computed"])((function(){return{labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}})),s=Object(a["computed"])((function(){return{responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:!0,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return m(e.displayedData,+t,!1)}},afterFit:function(t){t.width=e.fullStats?75:60}}},plugins:{datalabels:{anchor:"end",align:"end",rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)},formatter:function(t,r){var a=r.chart.data.datasets.map((function(e){return e.data[r.dataIndex]})).reduce((function(e,t){return c(e,t)}),0);return r.datasetIndex===e.displayedSportIds.length-1&&a>0?m(e.displayedData,a,!1):null}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(t){var a=r("sports.".concat(t.dataset.label,".LABEL"))||"";return a&&(a+=": "),null!==t.parsed.y&&(a+=m(e.displayedData,t.parsed.y)),a},footer:function(t){var a=0;return t.map((function(e){a+=e.parsed.y})),"".concat(r("statistics.TOTAL"),": ")+m(e.displayedData,a)}}}}}})),u=Object(O["useBarChart"])({chartData:n,options:s}),i=u.barChartProps;return{barChartProps:i}}});k.render=p;var v=k,y=r("dad5"),h=r("2906"),S=r("7416"),w=Object(a["defineComponent"])({name:"UserMonthStats",components:{Chart:v},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:function(){return[]}},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup:function(e){var t=Object(h["a"])(),r=Object(a["ref"])("total_distance"),o=Object(a["computed"])((function(){return t.getters[y["c"].GETTERS.USER_STATS]})),c=Object(a["computed"])((function(){return Object(S["a"])(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,o.value)}));function n(r){t.dispatch(y["c"].ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:r})}function s(e){r.value=e.target.name}function u(e,t){return{from:Object(l["a"])(e.start,"yyyy-MM-dd"),to:Object(l["a"])(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week".concat(t.weekm?"m":""):e.duration}}return Object(a["onBeforeMount"])((function(){return n(u(e.chartParams,e.user))})),Object(a["watch"])((function(){return e.chartParams}),function(){var t=Object(d["a"])(regeneratorRuntime.mark((function t(r){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:n(u(r,e.user));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),{datasets:Object(a["computed"])((function(){return c.value.datasets[r.value]})),labels:Object(a["computed"])((function(){return c.value.labels})),emptyStats:Object(a["computed"])((function(){return 0===Object.keys(o.value).length})),displayedData:r,updateDisplayData:s}}});r("90d2");w.render=i,w.__scopeId="data-v-6eb9bb83";t["a"]=w},f153:function(e,t,r){},f2a6:function(e,t,r){},fb6a:function(e,t,r){"use strict";var a=r("23e7"),o=r("861d"),c=r("e8b5"),n=r("23cb"),s=r("50c4"),u=r("fc6a"),i=r("8418"),d=r("b622"),l=r("1dde"),b=l("slice"),p=d("species"),O=[].slice,j=Math.max;a({target:"Array",proto:!0,forced:!b},{slice:function(e,t){var r,a,d,l=u(this),b=s(l.length),f=n(e,b),m=n(void 0===t?b:t,b);if(c(l)&&(r=l.constructor,"function"!=typeof r||r!==Array&&!c(r.prototype)?o(r)&&(r=r[p],null===r&&(r=void 0)):r=void 0,r===Array||void 0===r))return O.call(l,f,m);for(a=new(void 0===r?Array:r)(j(m-f,0)),d=0;f\n
\n
\n \n \n
\n
\n \n \n \n \n
\n \n
\n
\n \n {{ $t('user.PASSWORD_FORGOTTEN') }}\n \n
\n \n
\n
\n \n\n\n\n\n\n","\n import { ComputedRef, computed, defineComponent, reactive, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { ROOT_STORE, USER_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'UserAuthForm',\n props: {\n action: {\n type: String,\n required: true,\n },\n token: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\n password_conf: '',\n })\n const route = useRoute()\n const store = useStore()\n\n const buttonText: ComputedRef = computed(() =>\n getButtonText(props.action)\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' &&\n !appConfig.value.is_registration_enabled\n )\n\n function getButtonText(action: string): string {\n switch (action) {\n case 'reset-request':\n case 'reset':\n return 'buttons.SUBMIT'\n default:\n return `buttons.${props.action.toUpperCase()}`\n }\n }\n function onSubmit(actionType: string) {\n switch (actionType) {\n case 'reset':\n if (!props.token) {\n return store.commit(\n ROOT_STORE.MUTATIONS.SET_ERROR_MESSAGES,\n 'user.INVALID_TOKEN'\n )\n }\n return store.dispatch(USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n password_conf: formData.password_conf,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n default:\n store.dispatch(USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n formData.password_conf = ''\n }\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n resetFormData()\n }\n )\n return {\n appConfig,\n buttonText,\n errorMessages,\n formData,\n registration_disabled,\n onSubmit,\n }\n },\n })\n","import { render } from \"./UserAuthForm.vue?vue&type=template&id=7717f19a&scoped=true\"\nimport script from \"./UserAuthForm.vue?vue&type=script&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=7717f19a&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-7717f19a\"\n\nexport default script","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('../internals/to-length');\nvar repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = String(requireObjectCoercible($this));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=b30dea28&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkouts.vue?vue&type=style&index=0&id=3822f77d&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserMonthStats.vue?vue&type=style&index=0&id=7958b39f&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarCells.vue?vue&type=style&index=0&id=17e3f666&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./RecordsCard.vue?vue&type=style&index=0&id=db29ce96&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarWorkout.vue?vue&type=style&index=0&id=cf219d62&lang=scss\"","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n entries: function entries(O) {\n return $entries(O);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=0f5eddb2&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarDays.vue?vue&type=style&index=0&id=8c842a34&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./BikePic.vue?vue&type=style&index=0&id=645e8c6f&scoped=true&lang=scss\"","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","\n\n\n\n\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","\n\n\n\n\n","\n\n\n\n\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name compareAsc\n * @category Common Helpers\n * @summary Compare the two dates and return -1, 0 or 1.\n *\n * @description\n * Compare the two dates and return 1 if the first date is after the second,\n * -1 if the first date is before the second or 0 if dates are equal.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to compare\n * @param {Date|Number} dateRight - the second date to compare\n * @returns {Number} the result of the comparison\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Compare 11 February 1987 and 10 July 1989:\n * const result = compareAsc(new Date(1987, 1, 11), new Date(1989, 6, 10))\n * //=> -1\n *\n * @example\n * // Sort the array of dates:\n * const result = [\n * new Date(1995, 6, 2),\n * new Date(1987, 1, 11),\n * new Date(1989, 6, 10)\n * ].sort(compareAsc)\n * //=> [\n * // Wed Feb 11 1987 00:00:00,\n * // Mon Jul 10 1989 00:00:00,\n * // Sun Jul 02 1995 00:00:00\n * // ]\n */\n\nexport default function compareAsc(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var diff = dateLeft.getTime() - dateRight.getTime();\n\n if (diff < 0) {\n return -1;\n } else if (diff > 0) {\n return 1; // Return 0 if diff is 0; return NaN if diff is NaN\n } else {\n return diff;\n }\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of calendar months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\n\nexport default function differenceInCalendarMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var yearDiff = dateLeft.getFullYear() - dateRight.getFullYear();\n var monthDiff = dateLeft.getMonth() - dateRight.getMonth();\n return yearDiff * 12 + monthDiff;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfDay\n * @category Day Helpers\n * @summary Return the end of a day for the given date.\n *\n * @description\n * Return the end of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a day for 2 September 2014 11:55:00:\n * const result = endOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 23:59:59.999\n */\n\nexport default function endOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toDate from \"../toDate/index.js\";\nimport endOfDay from \"../endOfDay/index.js\";\nimport endOfMonth from \"../endOfMonth/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isLastDayOfMonth\n * @category Month Helpers\n * @summary Is the given date the last day of a month?\n *\n * @description\n * Is the given date the last day of a month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is the last day of a month\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Is 28 February 2014 the last day of a month?\n * var result = isLastDayOfMonth(new Date(2014, 1, 28))\n * //=> true\n */\n\nexport default function isLastDayOfMonth(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n return endOfDay(date).getTime() === endOfMonth(date).getTime();\n}","import toDate from \"../toDate/index.js\";\nimport differenceInCalendarMonths from \"../differenceInCalendarMonths/index.js\";\nimport compareAsc from \"../compareAsc/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport isLastDayOfMonth from \"../isLastDayOfMonth/index.js\";\n/**\n * @name differenceInMonths\n * @category Month Helpers\n * @summary Get the number of full months between the given dates.\n *\n * @description\n * Get the number of full months between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of full months\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many full months are between 31 January 2014 and 1 September 2014?\n * var result = differenceInMonths(new Date(2014, 8, 1), new Date(2014, 0, 31))\n * //=> 7\n */\n\nexport default function differenceInMonths(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n var sign = compareAsc(dateLeft, dateRight);\n var difference = Math.abs(differenceInCalendarMonths(dateLeft, dateRight));\n var result; // Check for the difference of less than month\n\n if (difference < 1) {\n result = 0;\n } else {\n if (dateLeft.getMonth() === 1 && dateLeft.getDate() > 27) {\n // This will check if the date is end of Feb and assign a higher end of month date\n // to compare it with Jan\n dateLeft.setDate(30);\n }\n\n dateLeft.setMonth(dateLeft.getMonth() - sign * difference); // Math.abs(diff in full months - diff in calendar months) === 1 if last calendar month is not full\n // If so, result must be decreased by 1 in absolute value\n\n var isLastMonthNotFull = compareAsc(dateLeft, dateRight) === -sign; // Check for cases of one full calendar month\n\n if (isLastDayOfMonth(toDate(dirtyDateLeft)) && difference === 1 && compareAsc(dirtyDateLeft, dateRight) === 1) {\n isLastMonthNotFull = false;\n }\n\n result = sign * (difference - Number(isLastMonthNotFull));\n } // Prevent negative zero\n\n\n return result === 0 ? 0 : result;\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInMilliseconds\n * @category Millisecond Helpers\n * @summary Get the number of milliseconds between the given dates.\n *\n * @description\n * Get the number of milliseconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of milliseconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many milliseconds are between\n * // 2 July 2014 12:30:20.600 and 2 July 2014 12:30:21.700?\n * const result = differenceInMilliseconds(\n * new Date(2014, 6, 2, 12, 30, 21, 700),\n * new Date(2014, 6, 2, 12, 30, 20, 600)\n * )\n * //=> 1100\n */\n\nexport default function differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getTime() - dateRight.getTime();\n}","import differenceInMilliseconds from \"../differenceInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name differenceInSeconds\n * @category Second Helpers\n * @summary Get the number of seconds between the given dates.\n *\n * @description\n * Get the number of seconds between the given dates.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the later date\n * @param {Date|Number} dateRight - the earlier date\n * @returns {Number} the number of seconds\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // How many seconds are between\n * // 2 July 2014 12:30:07.999 and 2 July 2014 12:30:20.000?\n * const result = differenceInSeconds(\n * new Date(2014, 6, 2, 12, 30, 20, 0),\n * new Date(2014, 6, 2, 12, 30, 7, 999)\n * )\n * //=> 12\n */\n\nexport default function differenceInSeconds(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var diff = differenceInMilliseconds(dirtyDateLeft, dirtyDateRight) / 1000;\n return diff > 0 ? Math.floor(diff) : Math.ceil(diff);\n}","export default function assign(target, dirtyObject) {\n if (target == null) {\n throw new TypeError('assign requires that input parameter not be null or undefined');\n }\n\n dirtyObject = dirtyObject || {};\n\n for (var property in dirtyObject) {\n if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {\n target[property] = dirtyObject[property];\n }\n }\n\n return target;\n}","import assign from \"../assign/index.js\";\nexport default function cloneObject(dirtyObject) {\n return assign({}, dirtyObject);\n}","import compareAsc from \"../compareAsc/index.js\";\nimport differenceInMonths from \"../differenceInMonths/index.js\";\nimport differenceInSeconds from \"../differenceInSeconds/index.js\";\nimport defaultLocale from \"../locale/en-US/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport cloneObject from \"../_lib/cloneObject/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nvar MINUTES_IN_DAY = 1440;\nvar MINUTES_IN_ALMOST_TWO_DAYS = 2520;\nvar MINUTES_IN_MONTH = 43200;\nvar MINUTES_IN_TWO_MONTHS = 86400;\n/**\n * @name formatDistance\n * @category Common Helpers\n * @summary Return the distance between the given dates in words.\n *\n * @description\n * Return the distance between the given dates in words.\n *\n * | Distance between dates | Result |\n * |-------------------------------------------------------------------|---------------------|\n * | 0 ... 30 secs | less than a minute |\n * | 30 secs ... 1 min 30 secs | 1 minute |\n * | 1 min 30 secs ... 44 mins 30 secs | [2..44] minutes |\n * | 44 mins ... 30 secs ... 89 mins 30 secs | about 1 hour |\n * | 89 mins 30 secs ... 23 hrs 59 mins 30 secs | about [2..24] hours |\n * | 23 hrs 59 mins 30 secs ... 41 hrs 59 mins 30 secs | 1 day |\n * | 41 hrs 59 mins 30 secs ... 29 days 23 hrs 59 mins 30 secs | [2..30] days |\n * | 29 days 23 hrs 59 mins 30 secs ... 44 days 23 hrs 59 mins 30 secs | about 1 month |\n * | 44 days 23 hrs 59 mins 30 secs ... 59 days 23 hrs 59 mins 30 secs | about 2 months |\n * | 59 days 23 hrs 59 mins 30 secs ... 1 yr | [2..12] months |\n * | 1 yr ... 1 yr 3 months | about 1 year |\n * | 1 yr 3 months ... 1 yr 9 month s | over 1 year |\n * | 1 yr 9 months ... 2 yrs | almost 2 years |\n * | N yrs ... N yrs 3 months | about N years |\n * | N yrs 3 months ... N yrs 9 months | over N years |\n * | N yrs 9 months ... N+1 yrs | almost N+1 years |\n *\n * With `options.includeSeconds == true`:\n * | Distance between dates | Result |\n * |------------------------|----------------------|\n * | 0 secs ... 5 secs | less than 5 seconds |\n * | 5 secs ... 10 secs | less than 10 seconds |\n * | 10 secs ... 20 secs | less than 20 seconds |\n * | 20 secs ... 40 secs | half a minute |\n * | 40 secs ... 60 secs | less than a minute |\n * | 60 secs ... 90 secs | 1 minute |\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The function was renamed from `distanceInWords ` to `formatDistance`\n * to make its name consistent with `format` and `formatRelative`.\n *\n * - The order of arguments is swapped to make the function\n * consistent with `differenceIn...` functions.\n *\n * ```javascript\n * // Before v2.0.0\n *\n * distanceInWords(\n * new Date(1986, 3, 4, 10, 32, 0),\n * new Date(1986, 3, 4, 11, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n *\n * // v2.0.0 onward\n *\n * formatDistance(\n * new Date(1986, 3, 4, 11, 32, 0),\n * new Date(1986, 3, 4, 10, 32, 0),\n * { addSuffix: true }\n * ) //=> 'in about 1 hour'\n * ```\n *\n * @param {Date|Number} date - the date\n * @param {Date|Number} baseDate - the date to compare with\n * @param {Object} [options] - an object with options.\n * @param {Boolean} [options.includeSeconds=false] - distances less than a minute are more detailed\n * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @returns {String} the distance in words\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `baseDate` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `formatDistance` property\n *\n * @example\n * // What is the distance between 2 July 2014 and 1 January 2015?\n * const result = formatDistance(new Date(2014, 6, 2), new Date(2015, 0, 1))\n * //=> '6 months'\n *\n * @example\n * // What is the distance between 1 January 2015 00:00:15\n * // and 1 January 2015 00:00:00, including seconds?\n * const result = formatDistance(\n * new Date(2015, 0, 1, 0, 0, 15),\n * new Date(2015, 0, 1, 0, 0, 0),\n * { includeSeconds: true }\n * )\n * //=> 'less than 20 seconds'\n *\n * @example\n * // What is the distance from 1 January 2016\n * // to 1 January 2015, with a suffix?\n * const result = formatDistance(new Date(2015, 0, 1), new Date(2016, 0, 1), {\n * addSuffix: true\n * })\n * //=> 'about 1 year ago'\n *\n * @example\n * // What is the distance between 1 August 2016 and 1 January 2015 in Esperanto?\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = formatDistance(new Date(2016, 7, 1), new Date(2015, 0, 1), {\n * locale: eoLocale\n * })\n * //=> 'pli ol 1 jaro'\n */\n\nexport default function formatDistance(dirtyDate, dirtyBaseDate) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n requiredArgs(2, arguments);\n var locale = options.locale || defaultLocale;\n\n if (!locale.formatDistance) {\n throw new RangeError('locale must contain formatDistance property');\n }\n\n var comparison = compareAsc(dirtyDate, dirtyBaseDate);\n\n if (isNaN(comparison)) {\n throw new RangeError('Invalid time value');\n }\n\n var localizeOptions = cloneObject(options);\n localizeOptions.addSuffix = Boolean(options.addSuffix);\n localizeOptions.comparison = comparison;\n var dateLeft;\n var dateRight;\n\n if (comparison > 0) {\n dateLeft = toDate(dirtyBaseDate);\n dateRight = toDate(dirtyDate);\n } else {\n dateLeft = toDate(dirtyDate);\n dateRight = toDate(dirtyBaseDate);\n }\n\n var seconds = differenceInSeconds(dateRight, dateLeft);\n var offsetInSeconds = (getTimezoneOffsetInMilliseconds(dateRight) - getTimezoneOffsetInMilliseconds(dateLeft)) / 1000;\n var minutes = Math.round((seconds - offsetInSeconds) / 60);\n var months; // 0 up to 2 mins\n\n if (minutes < 2) {\n if (options.includeSeconds) {\n if (seconds < 5) {\n return locale.formatDistance('lessThanXSeconds', 5, localizeOptions);\n } else if (seconds < 10) {\n return locale.formatDistance('lessThanXSeconds', 10, localizeOptions);\n } else if (seconds < 20) {\n return locale.formatDistance('lessThanXSeconds', 20, localizeOptions);\n } else if (seconds < 40) {\n return locale.formatDistance('halfAMinute', null, localizeOptions);\n } else if (seconds < 60) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', 1, localizeOptions);\n }\n } else {\n if (minutes === 0) {\n return locale.formatDistance('lessThanXMinutes', 1, localizeOptions);\n } else {\n return locale.formatDistance('xMinutes', minutes, localizeOptions);\n }\n } // 2 mins up to 0.75 hrs\n\n } else if (minutes < 45) {\n return locale.formatDistance('xMinutes', minutes, localizeOptions); // 0.75 hrs up to 1.5 hrs\n } else if (minutes < 90) {\n return locale.formatDistance('aboutXHours', 1, localizeOptions); // 1.5 hrs up to 24 hrs\n } else if (minutes < MINUTES_IN_DAY) {\n var hours = Math.round(minutes / 60);\n return locale.formatDistance('aboutXHours', hours, localizeOptions); // 1 day up to 1.75 days\n } else if (minutes < MINUTES_IN_ALMOST_TWO_DAYS) {\n return locale.formatDistance('xDays', 1, localizeOptions); // 1.75 days up to 30 days\n } else if (minutes < MINUTES_IN_MONTH) {\n var days = Math.round(minutes / MINUTES_IN_DAY);\n return locale.formatDistance('xDays', days, localizeOptions); // 1 month up to 2 months\n } else if (minutes < MINUTES_IN_TWO_MONTHS) {\n months = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('aboutXMonths', months, localizeOptions);\n }\n\n months = differenceInMonths(dateRight, dateLeft); // 2 months up to 12 months\n\n if (months < 12) {\n var nearestMonth = Math.round(minutes / MINUTES_IN_MONTH);\n return locale.formatDistance('xMonths', nearestMonth, localizeOptions); // 1 year up to max Date\n } else {\n var monthsSinceStartOfYear = months % 12;\n var years = Math.floor(months / 12); // N years up to 1 years 3 months\n\n if (monthsSinceStartOfYear < 3) {\n return locale.formatDistance('aboutXYears', years, localizeOptions); // N years 3 months up to N years 9 months\n } else if (monthsSinceStartOfYear < 9) {\n return locale.formatDistance('overXYears', years, localizeOptions); // N years 9 months up to N year 12 months\n } else {\n return locale.formatDistance('almostXYears', years + 1, localizeOptions);\n }\n }\n}","\n import { Locale, format, formatDistance } from 'date-fns'\n import { PropType, defineComponent, ComputedRef, computed } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import UserPicture from '@/components/User/UserPicture.vue'\n import { ROOT_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'WorkoutCard',\n components: {\n StaticMap,\n UserPicture,\n },\n props: {\n workout: {\n type: Object as PropType,\n required: false,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n sport: {\n type: Object as PropType,\n required: false,\n },\n },\n setup() {\n const store = useStore()\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n return {\n format,\n formatDistance,\n getDateWithTZ,\n locale,\n }\n },\n })\n","import { render } from \"./WorkoutCard.vue?vue&type=template&id=3d1a0054&scoped=true\"\nimport script from \"./WorkoutCard.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=3d1a0054&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3d1a0054\"\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n } from 'vue'\n\n import WorkoutCard from '@/components/Workout/WorkoutCard.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Timeline',\n components: {\n NoWorkouts,\n WorkoutCard,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n\n let page = ref(1)\n const per_page = 5\n const initWorkoutsCount =\n props.user.nb_workouts >= per_page ? per_page : props.user.nb_workouts\n onBeforeMount(() => loadWorkouts())\n\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n function loadWorkouts() {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS, {\n page: page.value,\n per_page,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_USER_WORKOUTS, {\n page: page.value,\n per_page,\n })\n }\n\n return {\n initWorkoutsCount,\n moreWorkoutsExist,\n per_page,\n workouts,\n loadMoreWorkouts,\n }\n },\n })\n","import { render } from \"./Timeline.vue?vue&type=template&id=9b1e052a&scoped=true\"\nimport script from \"./Timeline.vue?vue&type=script&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=9b1e052a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-9b1e052a\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name startOfDay\n * @category Day Helpers\n * @summary Return the start of a day for the given date.\n *\n * @description\n * Return the start of a day for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the start of a day\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The start of a day for 2 September 2014 11:55:00:\n * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))\n * //=> Tue Sep 02 2014 00:00:00\n */\n\nexport default function startOfDay(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n date.setHours(0, 0, 0, 0);\n return date;\n}","import startOfDay from \"../startOfDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameDay\n * @category Day Helpers\n * @summary Are the given dates in the same day?\n *\n * @description\n * Are the given dates in the same day?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same day\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?\n * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))\n * //=> true\n */\n\nexport default function isSameDay(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeftStartOfDay = startOfDay(dirtyDateLeft);\n var dateRightStartOfDay = startOfDay(dirtyDateRight);\n return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isSameMonth\n * @category Month Helpers\n * @summary Are the given dates in the same month?\n *\n * @description\n * Are the given dates in the same month?\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} dateLeft - the first date to check\n * @param {Date|Number} dateRight - the second date to check\n * @returns {Boolean} the dates are in the same month\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Are 2 September 2014 and 25 September 2014 in the same month?\n * var result = isSameMonth(new Date(2014, 8, 2), new Date(2014, 8, 25))\n * //=> true\n */\n\nexport default function isSameMonth(dirtyDateLeft, dirtyDateRight) {\n requiredArgs(2, arguments);\n var dateLeft = toDate(dirtyDateLeft);\n var dateRight = toDate(dirtyDateRight);\n return dateLeft.getFullYear() === dateRight.getFullYear() && dateLeft.getMonth() === dateRight.getMonth();\n}","import isSameDay from \"../isSameDay/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isToday\n * @category Day Helpers\n * @summary Is the given date today?\n * @pure false\n *\n * @description\n * Is the given date today?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is today\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 6 October 14:00:00 today?\n * var result = isToday(new Date(2014, 9, 6, 14, 0))\n * //=> true\n */\n\nexport default function isToday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, Date.now());\n}","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { IWorkout } from '@/types/workouts'\n\n export default defineComponent({\n name: 'CalendarWorkout',\n props: {\n workout: {\n type: Object as PropType,\n required: true,\n },\n sportLabel: {\n type: String,\n required: true,\n },\n },\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./CalendarWorkout.vue?vue&type=template&id=cf219d62\"\nimport script from \"./CalendarWorkout.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=cf219d62&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","// adapted from: https://css-tricks.com/building-a-donut-chart-with-vue-and-svg/\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'DonutChart',\n props: {\n colors: {\n type: Object as PropType>,\n required: true,\n },\n datasets: {\n type: Object as PropType>>,\n required: true,\n },\n },\n setup() {\n let angleOffset = -90\n const cx = 16\n const cy = 16\n const radius = 14\n const circumference = 2 * Math.PI * radius\n\n function calculateStrokeDashOffset(\n percentage: number,\n circumference: number\n ): number {\n return circumference - percentage * circumference\n }\n function returnCircleTransformValue(\n index: number,\n percentage: number\n ): string {\n const rotation = `rotate(${angleOffset}, ${cx}, ${cy})`\n angleOffset = percentage * 360 + angleOffset\n return rotation\n }\n\n return {\n angleOffset,\n circumference,\n cx,\n cy,\n radius,\n calculateStrokeDashOffset,\n returnCircleTransformValue,\n }\n },\n })\n","import { render } from \"./DonutChart.vue?vue&type=template&id=76d4f86b\"\nimport script from \"./DonutChart.vue?vue&type=script&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n import { PropType, defineComponent, ref } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import DonutChart from '@/components/Dashboard/UserCalendar/DonutChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportLabel } from '@/utils/sports'\n\n export default defineComponent({\n name: 'CalendarWorkoutsChart',\n components: {\n CalendarWorkout,\n DonutChart,\n },\n props: {\n colors: {\n type: Object as PropType>,\n required: true,\n },\n datasets: {\n type: Object as PropType>>,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n workouts: {\n type: Object as PropType,\n required: true,\n },\n },\n setup() {\n const isHidden = ref(true)\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n return { isHidden, getSportLabel, togglePane }\n },\n })\n","import { render } from \"./CalendarWorkoutsChart.vue?vue&type=template&id=b30dea28&scoped=true\"\nimport script from \"./CalendarWorkoutsChart.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=b30dea28&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-b30dea28\"\n\nexport default script","\n import { PropType, computed, defineComponent } from 'vue'\n\n import CalendarWorkout from '@/components/Dashboard/UserCalendar/CalendarWorkout.vue'\n import CalendarWorkoutsChart from '@/components/Dashboard/UserCalendar/CalendarWorkoutsChart.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'CalendarWorkouts',\n components: {\n CalendarWorkout,\n CalendarWorkoutsChart,\n },\n props: {\n workouts: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n chartDatasets: computed(() => getDonutDatasets(props.workouts)),\n colors: computed(() => sportIdColors(props.sports)),\n displayedWorkoutCount: 6,\n getSportLabel,\n }\n },\n })\n","import { render } from \"./CalendarWorkouts.vue?vue&type=template&id=3822f77d\"\nimport script from \"./CalendarWorkouts.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=3822f77d&lang=scss\"\nscript.render = render\n\nexport default script","\n import { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import {\n PropType,\n Ref,\n defineComponent,\n ref,\n toRefs,\n watch,\n onMounted,\n } from 'vue'\n\n import CalendarWorkouts from '@/components/Dashboard/UserCalendar/CalendarWorkouts.vue'\n import { ISport } from '@/types/sports'\n import { IWorkout } from '@/types/workouts'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'CalendarCells',\n components: {\n CalendarWorkouts,\n },\n props: {\n currentDay: {\n type: Date,\n required: true,\n },\n endDate: {\n type: Date,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n startDate: {\n type: Date,\n required: true,\n },\n timezone: {\n type: String,\n required: true,\n },\n weekStartingMonday: {\n type: Boolean,\n required: true,\n },\n workouts: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const rows: Ref = ref([])\n let { startDate, endDate, weekStartingMonday } = toRefs(props)\n\n onMounted(() => getDays())\n\n function getDays() {\n rows.value = []\n let day = startDate.value\n while (day <= endDate.value) {\n const days: Date[] = []\n for (let i = 0; i < 7; i++) {\n days.push(day)\n day = addDays(day, 1)\n }\n rows.value.push(days)\n }\n }\n\n function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(\n getDateWithTZ(workout.workout_date, props.timezone),\n day\n )\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\n return { rows, format, isSameMonth, isToday, isWeekEnd, filterWorkouts }\n },\n })\n","import { render } from \"./CalendarCells.vue?vue&type=template&id=17e3f666\"\nimport script from \"./CalendarCells.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=17e3f666&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format, addDays } from 'date-fns'\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'CalendarDays',\n props: {\n startDate: {\n type: Date,\n required: true,\n },\n localeOptions: {\n type: String,\n required: true,\n },\n },\n setup(props) {\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n return { days, addDays, format }\n },\n })\n","import { render } from \"./CalendarDays.vue?vue&type=template&id=8c842a34\"\nimport script from \"./CalendarDays.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=8c842a34&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'CalendarHeader',\n props: {\n day: {\n type: Date,\n required: true,\n },\n localeOptions: {\n type: String,\n required: true,\n },\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(props, { emit }) {\n return { emit, format }\n },\n })\n","import { render } from \"./CalendarHeader.vue?vue&type=template&id=4eabec52\"\nimport script from \"./CalendarHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=4eabec52&lang=scss\"\nscript.render = render\n\nexport default script","\n import { addMonths, format, subMonths } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n ref,\n onBeforeMount,\n } from 'vue'\n\n import CalendarCells from '@/components/Dashboard/UserCalendar/CalendarCells.vue'\n import CalendarDays from '@/components/Dashboard/UserCalendar/CalendarDays.vue'\n import CalendarHeader from '@/components/Dashboard/UserCalendar/CalendarHeader.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, IWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getCalendarStartAndEnd } from '@/utils/dates'\n\n export default defineComponent({\n name: 'UserCalendar',\n components: {\n CalendarCells,\n CalendarDays,\n CalendarHeader,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const store = useStore()\n\n onBeforeMount(() => getCalendarWorkouts())\n\n const dateFormat = 'yyyy-MM-dd'\n let day = ref(new Date())\n let calendarDates = ref(\n getCalendarStartAndEnd(day.value, props.user.weekm)\n )\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(\n day.value,\n props.user.weekm\n )\n const apiParams: IWorkoutsPayload = {\n from: format(calendarDates.value.start, dateFormat),\n to: format(calendarDates.value.end, dateFormat),\n order: 'desc',\n per_page: 100,\n }\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_CALENDAR_WORKOUTS, apiParams)\n }\n\n function displayNextMonth() {\n day.value = addMonths(day.value, 1)\n getCalendarWorkouts()\n }\n function displayPreviousMonth() {\n day.value = subMonths(day.value, 1)\n getCalendarWorkouts()\n }\n\n return {\n day,\n calendarDates,\n calendarWorkouts,\n displayNextMonth,\n displayPreviousMonth,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=0f5eddb2\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=0f5eddb2&lang=scss\"\nscript.render = render\n\nexport default script","\n\n\n\n\n","\n import { endOfMonth, startOfMonth } from 'date-fns'\n import { PropType, defineComponent } from 'vue'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n StatChart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const date = new Date()\n return {\n chartParams: {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n },\n selectedSportIds: props.sports.map((sport) => sport.id),\n }\n },\n })\n","import { render } from \"./UserMonthStats.vue?vue&type=template&id=7958b39f&scoped=true\"\nimport script from \"./UserMonthStats.vue?vue&type=script&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=7958b39f&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7958b39f\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { IRecord } from '@/types/workouts'\n\n export default defineComponent({\n name: 'RecordsCard',\n props: {\n records: {\n type: Object as PropType,\n required: true,\n },\n sportTranslatedLabel: {\n type: String,\n required: true,\n },\n },\n setup() {\n const { t } = useI18n()\n return { t }\n },\n })\n","import { render } from \"./RecordsCard.vue?vue&type=template&id=db29ce96&scoped=true\"\nimport script from \"./RecordsCard.vue?vue&type=script&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=db29ce96&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-db29ce96\"\n\nexport default script","import { ITranslatedSport } from '@/types/sports'\nimport { IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string\n): Record => {\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${record.value} km/h`\n break\n case 'FD':\n value = `${record.value} km`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"LD\", \"MD\", got: \"${record.record_type}\"`\n )\n }\n return {\n workout_date: formatWorkoutDate(getDateWithTZ(record.workout_date, tz))\n .workout_date,\n workout_id: record.workout_id,\n id: record.id,\n record_type: record.record_type,\n value: value,\n }\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string\n): IRecordsBySports =>\n records.reduce((sportList: IRecordsBySports, record) => {\n const sport = translatedSports.find((s) => s.id === record.sport_id)\n if (sport && sport.label) {\n if (sportList[sport.translatedLabel] === void 0) {\n sportList[sport.translatedLabel] = {\n label: sport.label,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(formatRecord(record, tz))\n }\n return sportList\n }, {})\n","\n import { computed, defineComponent, PropType } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import RecordsCard from '@/components/Dashboard/UserRecords/RecordsCard.vue'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'UserRecords',\n components: {\n RecordsCard,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone\n )\n )\n return { recordsBySport }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=080b37ac&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=080b37ac&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-080b37ac\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, PropType, defineComponent, computed } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { IUserProfile } from '@/types/user'\n\n export default defineComponent({\n name: 'UserStatsCards',\n components: {\n StatCard,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n const total_duration: ComputedRef = computed(\n () => props.user.total_duration\n )\n\n function get_duration(total_duration: ComputedRef) {\n const duration = total_duration.value.match(/day/g)\n ? total_duration.value.split(', ')[1]\n : total_duration.value\n return {\n days: total_duration.value.match(/day/g)\n ? `${total_duration.value.split(' ')[0]} ${\n total_duration.value.match(/days/g)\n ? t('common.DAY', 2)\n : t('common.DAY', 1)\n }`\n : `0 ${t('common.DAY', 2)},`,\n duration: `${duration.split(':')[0]}h ${duration.split(':')[1]}min`,\n }\n }\n\n return { total_duration: computed(() => get_duration(total_duration)) }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=082d819e\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=082d819e&lang=scss\"\nscript.render = render\n\nexport default script","\n import { ComputedRef, Ref, computed, defineComponent, ref } from 'vue'\n\n import Timeline from '@/components/Dashboard/Timeline.vue'\n import UserCalendar from '@/components/Dashboard/UserCalendar/index.vue'\n import UserMonthStats from '@/components/Dashboard/UserMonthStats.vue'\n import UserRecords from '@/components/Dashboard/UserRecords/index.vue'\n import UserStatsCards from '@/components/Dashboard/UserStatsCards/index.vue'\n import { SPORTS_STORE, USER_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'Dashboard',\n components: {\n Timeline,\n UserCalendar,\n UserMonthStats,\n UserRecords,\n UserStatsCards,\n },\n setup() {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const isSelected: Ref = ref('chart')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\n return { authUser, sports, isSelected, updateDisplayColumn }\n },\n })\n","import { render } from \"./Dashboard.vue?vue&type=template&id=e616a7ba&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=e616a7ba&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-e616a7ba\"\n\nexport default script","import toInteger from \"../_lib/toInteger/index.js\";\nimport addYears from \"../addYears/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subYears\n * @category Year Helpers\n * @summary Subtract the specified number of years from the given date.\n *\n * @description\n * Subtract the specified number of years from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of years to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the years subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 years from 1 September 2014:\n * const result = subYears(new Date(2014, 8, 1), 5)\n * //=> Tue Sep 01 2009 00:00:00\n */\n\nexport default function subYears(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addYears(dirtyDate, -amount);\n}","import toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name endOfYear\n * @category Year Helpers\n * @summary Return the end of a year for the given date.\n *\n * @description\n * Return the end of a year for the given date.\n * The result will be in the local timezone.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the original date\n * @returns {Date} the end of a year\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // The end of a year for 2 September 2014 11:55:00:\n * var result = endOfYear(new Date(2014, 8, 2, 11, 55, 00))\n * //=> Wed Dec 31 2014 23:59:59.999\n */\n\nexport default function endOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getFullYear();\n date.setFullYear(year + 1, 0, 0);\n date.setHours(23, 59, 59, 999);\n return date;\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addDays from \"../addDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addWeeks\n * @category Week Helpers\n * @summary Add the specified number of weeks to the given date.\n *\n * @description\n * Add the specified number of week to the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 4 weeks to 1 September 2014:\n * const result = addWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Sep 29 2014 00:00:00\n */\n\nexport default function addWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n var days = amount * 7;\n return addDays(dirtyDate, days);\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport addWeeks from \"../addWeeks/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of weeks to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the weeks subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\n\nexport default function subWeeks(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addWeeks(dirtyDate, -amount);\n}","import {\n addMonths,\n addWeeks,\n addYears,\n endOfMonth,\n endOfWeek,\n endOfYear,\n format,\n startOfMonth,\n startOfWeek,\n startOfYear,\n subMonths,\n subWeeks,\n subYears,\n} from 'date-fns'\n\nimport { IChartDataset } from '@/types/chart'\nimport { ISport } from '@/types/sports'\nimport {\n IStatisticsChartData,\n IStatisticsDateParams,\n TStatisticsDatasetKeys,\n TStatisticsDatasets,\n TStatisticsFromApi,\n} from '@/types/statistics'\nimport { incrementDate, getStartDate } from '@/utils/dates'\nimport { sportColors } from '@/utils/sports'\n\nconst dateFormats: Record> = {\n week: {\n api: 'yyyy-MM-dd',\n chart: 'dd/MM/yyyy',\n },\n month: {\n api: 'yyyy-MM',\n chart: 'MM/yyyy',\n },\n year: {\n api: 'yyyy',\n chart: 'yyyy',\n },\n}\n\nexport const datasetKeys: TStatisticsDatasetKeys[] = [\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n]\n\nexport const getDateKeys = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean\n): Date[] => {\n const days = []\n for (\n let day = getStartDate(params.duration, params.start, weekStartingMonday);\n day <= params.end;\n day = incrementDate(params.duration, day)\n ) {\n days.push(day)\n }\n return days\n}\n\nconst getStatisticsChartDataset = (\n sportLabel: string,\n color: string\n): IChartDataset => {\n return {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n }\n displayedSports.map((sport) => {\n const color = sportColors[sport.label]\n datasets.nb_workouts.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_distance.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_duration.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi\n): IStatisticsChartData => {\n const dayKeys = getDateKeys(params, weekStartingMonday)\n const dateFormat = dateFormats[params.duration]\n const displayedSports = sports.filter((sport) =>\n displayedSportsId.includes(sport.id)\n )\n const labels: string[] = []\n const datasets = getDatasets(displayedSports)\n const sportsId: Record = {}\n displayedSports.map(\n (displayedSport) => (sportsId[displayedSport.label] = displayedSport.id)\n )\n\n dayKeys.map((key) => {\n const date: string = format(key, dateFormat.api)\n const label: string = format(key, dateFormat.chart)\n labels.push(label)\n datasetKeys.map((datasetKey) => {\n datasets[datasetKey].map((dataset) => {\n dataset.data.push(\n apiStats !== {} &&\n date in apiStats &&\n sportsId[dataset.label] in apiStats[date]\n ? apiStats[date][sportsId[dataset.label]][datasetKey]\n : 0\n )\n })\n })\n })\n return {\n labels,\n datasets,\n }\n}\n\nexport const getStatsDateParams = (\n date: Date,\n timeFrame: string,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const weekStartsOn = weekStartingMonday ? 1 : 0\n const start =\n timeFrame === 'year'\n ? startOfYear(subYears(date, 9))\n : timeFrame === 'week'\n ? startOfWeek(subMonths(date, 2), { weekStartsOn })\n : startOfMonth(subMonths(date, 11)) // month\n const end =\n timeFrame === 'year'\n ? endOfYear(date)\n : timeFrame === 'week'\n ? endOfWeek(date, { weekStartsOn })\n : endOfMonth(date) // month\n return {\n duration: timeFrame,\n end,\n start,\n }\n}\n\nexport const updateChartParams = (\n chartParams: IStatisticsDateParams,\n backward: boolean,\n weekStartingMonday: boolean\n): IStatisticsDateParams => {\n const { duration, start, end } = chartParams\n const weekStartsOn = weekStartingMonday ? 1 : 0\n return {\n duration,\n end:\n duration === 'year'\n ? endOfYear(backward ? subYears(end, 1) : addYears(end, 1))\n : duration === 'week'\n ? endOfWeek(backward ? subWeeks(end, 1) : addWeeks(end, 1), {\n weekStartsOn,\n })\n : endOfMonth(backward ? subMonths(end, 1) : addMonths(end, 1)),\n start:\n duration === 'year'\n ? startOfYear(backward ? subYears(start, 1) : addYears(start, 1))\n : duration === 'week'\n ? startOfWeek(backward ? subWeeks(start, 1) : addWeeks(start, 1), {\n weekStartsOn,\n })\n : startOfMonth(backward ? subMonths(start, 1) : addMonths(start, 1)),\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=dad311d4&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Timeline.vue?vue&type=style&index=0&id=9b1e052a&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./LoginOrRegister.vue?vue&type=style&index=0&id=566b00af&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=6eb9bb83&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatsSportsMenu.vue?vue&type=style&index=0&id=f34b0c5e&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=0&id=e616a7ba&lang=scss&scoped=true\"","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\n// eslint-disable-next-line unicorn/no-unsafe-regex -- safe\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","import toInteger from \"../_lib/toInteger/index.js\";\nimport addMonths from \"../addMonths/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name subMonths\n * @category Month Helpers\n * @summary Subtract the specified number of months from the given date.\n *\n * @description\n * Subtract the specified number of months from the given date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of months to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the months subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 5 months from 1 February 2015:\n * const result = subMonths(new Date(2015, 1, 1), 5)\n * //=> Mon Sep 01 2014 00:00:00\n */\n\nexport default function subMonths(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMonths(dirtyDate, -amount);\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatsMenu.vue?vue&type=style&index=0&id=56f0f302&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=080b37ac&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./UserAuthForm.vue?vue&type=style&index=0&id=7717f19a&scoped=true&lang=scss\"","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, ref } from 'vue'\n\n export default defineComponent({\n name: 'StatsMenu',\n emits: ['arrowClick', 'timeFrameUpdate'],\n setup(props, { emit }) {\n let selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n\n function onUpdateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n emit('timeFrameUpdate', timeFrame)\n }\n\n return {\n selectedTimeFrame,\n timeFrames,\n onUpdateTimeFrame,\n emit,\n }\n },\n })\n","import { render } from \"./StatsMenu.vue?vue&type=template&id=56f0f302&scoped=true\"\nimport script from \"./StatsMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./StatsMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./StatsMenu.vue?vue&type=style&index=0&id=56f0f302&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-56f0f302\"\n\nexport default script","\n\n\n\n\n","\n import { ComputedRef, PropType, computed, defineComponent, inject } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'SportsMenu',\n props: {\n selectedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n userSports: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['selectedSportIdsUpdate'],\n setup(props, { emit }) {\n const { t } = useI18n()\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.userSports, t)\n )\n\n function updateSelectedSportIds(sportId: number) {\n emit('selectedSportIdsUpdate', sportId)\n }\n\n return {\n sportColors: inject('sportColors'),\n translatedSports,\n updateSelectedSportIds,\n }\n },\n })\n","import { render } from \"./StatsSportsMenu.vue?vue&type=template&id=f34b0c5e\"\nimport script from \"./StatsSportsMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./StatsSportsMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./StatsSportsMenu.vue?vue&type=style&index=0&id=f34b0c5e&lang=scss\"\nscript.render = render\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatChart from '@/components/Common/StatsChart/index.vue'\n import StatsMenu from '@/components/Statistics/StatsMenu.vue'\n import SportsMenu from '@/components/Statistics/StatsSportsMenu.vue'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IStatisticsDateParams } from '@/types/statistics'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n import { getStatsDateParams, updateChartParams } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'Statistics',\n components: {\n SportsMenu,\n StatChart,\n StatsMenu,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n let selectedTimeFrame = ref('month')\n const timeFrames = ['week', 'month', 'year']\n const chartParams: Ref = ref(\n getChartParams(selectedTimeFrame.value)\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n const selectedSportIds: Ref = ref(getSports(props.sports))\n\n function updateTimeFrame(timeFrame: string) {\n selectedTimeFrame.value = timeFrame\n chartParams.value = getChartParams(selectedTimeFrame.value)\n }\n function getChartParams(timeFrame: string): IStatisticsDateParams {\n return getStatsDateParams(new Date(), timeFrame, props.user.weekm)\n }\n function handleOnClickArrows(backward: boolean) {\n chartParams.value = updateChartParams(\n chartParams.value,\n backward,\n props.user.weekm\n )\n }\n function getSports(sports: ISport[]) {\n return sports.map((sport) => sport.id)\n }\n function updateSelectedSportIds(sportId: number) {\n if (selectedSportIds.value.includes(sportId)) {\n selectedSportIds.value = selectedSportIds.value.filter(\n (id) => id !== sportId\n )\n } else {\n selectedSportIds.value.push(sportId)\n }\n }\n\n watch(\n () => props.sports,\n (newSports) => {\n selectedSportIds.value = getSports(newSports)\n }\n )\n\n return {\n chartParams,\n selectedTimeFrame,\n timeFrames,\n translatedSports,\n selectedSportIds,\n handleOnClickArrows,\n updateSelectedSportIds,\n updateTimeFrame,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=dad311d4&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=dad311d4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-dad311d4\"\n\nexport default script","\n import { ComputedRef, computed, defineComponent } from 'vue'\n\n import Statistics from '@/components/Statistics/index.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n export default defineComponent({\n name: 'StatisticsView',\n components: {\n NoWorkouts,\n Statistics,\n },\n setup() {\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(() =>\n store.getters[SPORTS_STORE.GETTERS.SPORTS].filter((sport) =>\n authUser.value.sports_list.includes(sport.id)\n )\n )\n return { authUser, sports }\n },\n })\n","import { render } from \"./StatisticsView.vue?vue&type=template&id=8e65b6c0&scoped=true\"\nimport script from \"./StatisticsView.vue?vue&type=script&lang=ts\"\nexport * from \"./StatisticsView.vue?vue&type=script&lang=ts\"\n\nimport \"./StatisticsView.vue?vue&type=style&index=0&id=8e65b6c0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8e65b6c0\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./index.vue?vue&type=style&index=0&id=082d819e&lang=scss\"","\n\n\n\n\n","\n\n\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=645e8c6f&scoped=true\"\nimport script from \"./BikePic.vue?vue&type=script&lang=js\"\nexport * from \"./BikePic.vue?vue&type=script&lang=js\"\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=645e8c6f&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-645e8c6f\"\n\nexport default script","\n import { defineComponent } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n export default defineComponent({\n name: 'NavBar',\n components: {\n BikePic,\n LoginOrRegisterForm,\n },\n props: {\n action: {\n type: String,\n required: true,\n },\n },\n })\n","import { render } from \"./LoginOrRegister.vue?vue&type=template&id=566b00af\"\nimport script from \"./LoginOrRegister.vue?vue&type=script&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=566b00af&lang=scss\"\nscript.render = render\n\nexport default script","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StatisticsView.vue?vue&type=style&index=0&id=8e65b6c0&lang=scss&scoped=true\"","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","\n\n\n","\n import { defineComponent } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n\n export default defineComponent({\n name: 'NotFoundView',\n components: {\n NotFound,\n },\n })\n","import { render } from \"./NotFoundView.vue?vue&type=template&id=68e1b1a0\"\nimport script from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./CalendarHeader.vue?vue&type=style&index=0&id=4eabec52&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkoutCard.vue?vue&type=style&index=0&id=3d1a0054&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n","export const formatDuration = (\n totalSeconds: number,\n formatWithUnits = false\n): string => {\n let days = '0'\n if (formatWithUnits) {\n days = String(Math.floor(totalSeconds / 86400))\n totalSeconds %= 86400\n }\n const hours = String(Math.floor(totalSeconds / 3600)).padStart(2, '0')\n totalSeconds %= 3600\n const minutes = String(Math.floor(totalSeconds / 60)).padStart(2, '0')\n const seconds = String(totalSeconds % 60).padStart(2, '0')\n if (formatWithUnits) {\n return `${days === '0' ? '' : `${days}d `}${\n hours === '00' ? '' : `${hours}h `\n }${minutes}m ${seconds}s`\n }\n return `${hours === '00' ? '' : `${hours}:`}${minutes}:${seconds}`\n}\n","import { TStatisticsDatasetKeys } from '@/types/statistics'\nimport { formatDuration } from '@/utils/duration'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n formatWithUnits = true\n): string => {\n return displayedData === 'total_duration'\n ? formatDuration(value, formatWithUnits)\n : displayedData === 'total_distance'\n ? value.toFixed(2) + ' km'\n : value.toString()\n}\n","\n import { ChartData, ChartOptions, LayoutItem } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent } from 'vue'\n import { BarChart, useBarChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IChartDataset } from '@/types/chart'\n import { TStatisticsDatasetKeys } from '@/types/statistics'\n import { formatTooltipValue } from '@/utils/tooltip'\n\n export default defineComponent({\n name: 'Chart',\n components: {\n BarChart,\n },\n props: {\n datasets: {\n type: Object as PropType,\n required: true,\n },\n labels: {\n type: Object as PropType,\n required: true,\n },\n displayedData: {\n type: String as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n required: true,\n },\n fullStats: {\n type: Boolean,\n required: true,\n },\n },\n setup(props) {\n const { t } = useI18n()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getNumber(value: any): number {\n return isNaN(value) ? 0 : +value\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function getSum(total: any, value: any): number {\n return getNumber(total) + getNumber(value)\n }\n let chartData: ComputedRef> = computed(() => ({\n labels: props.labels,\n // workaround to avoid dataset modification\n datasets: JSON.parse(JSON.stringify(props.datasets)),\n }))\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: props.fullStats ? 40 : 22,\n },\n },\n scales: {\n x: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n },\n y: {\n stacked: true,\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(props.displayedData, +value, false)\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 75 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n rotation: function (context) {\n return props.fullStats && context.chart.chartArea.width < 580\n ? 310\n : 0\n },\n display: function (context) {\n return !(props.fullStats && context.chart.chartArea.width < 300)\n },\n formatter: function (value, context) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const total: number = context.chart.data.datasets\n .map((d) => d.data[context.dataIndex])\n .reduce((total, value) => getSum(total, value), 0)\n return context.datasetIndex ===\n props.displayedSportIds.length - 1 && total > 0\n ? formatTooltipValue(props.displayedData, total, false)\n : null\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n },\n filter: function (tooltipItem) {\n return tooltipItem.formattedValue !== '0'\n },\n callbacks: {\n label: function (context) {\n let label = t(`sports.${context.dataset.label}.LABEL`) || ''\n if (label) {\n label += ': '\n }\n if (context.parsed.y !== null) {\n label += formatTooltipValue(\n props.displayedData,\n context.parsed.y\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('statistics.TOTAL')}: ` +\n formatTooltipValue(props.displayedData, sum)\n )\n },\n },\n },\n },\n }))\n const { barChartProps } = useBarChart({\n chartData,\n options,\n })\n return { barChartProps }\n },\n })\n","import { render } from \"./Chart.vue?vue&type=template&id=6d221a79\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n onBeforeMount,\n } from 'vue'\n\n import Chart from '@/components/Common/StatsChart/Chart.vue'\n import { STATS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import {\n IStatisticsChartData,\n TStatisticsDatasetKeys,\n IStatisticsDateParams,\n TStatisticsFromApi,\n IStatisticsParams,\n } from '@/types/statistics'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatStats } from '@/utils/statistics'\n\n export default defineComponent({\n name: 'UserMonthStats',\n components: {\n Chart,\n },\n props: {\n sports: {\n type: Object as PropType,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n chartParams: {\n type: Object as PropType,\n required: true,\n },\n displayedSportIds: {\n type: Array as PropType,\n default: () => [],\n },\n fullStats: {\n type: Boolean,\n default: false,\n },\n hideChartIfNoData: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n let displayedData: Ref = ref('total_distance')\n const statistics: ComputedRef = computed(\n () => store.getters[STATS_STORE.GETTERS.USER_STATS]\n )\n const formattedStats: ComputedRef = computed(() =>\n formatStats(\n props.chartParams,\n props.user.weekm,\n props.sports,\n props.displayedSportIds,\n statistics.value\n )\n )\n\n onBeforeMount(() =>\n getStatistics(getApiParams(props.chartParams, props.user))\n )\n\n function getStatistics(apiParams: IStatisticsParams) {\n store.dispatch(STATS_STORE.ACTIONS.GET_USER_STATS, {\n username: props.user.username,\n filterType: 'by_time',\n params: apiParams,\n })\n }\n function updateDisplayData(\n event: Event & {\n target: HTMLInputElement & { name: TStatisticsDatasetKeys }\n }\n ) {\n displayedData.value = event.target.name\n }\n function getApiParams(\n chartParams: IStatisticsDateParams,\n user: IUserProfile\n ): IStatisticsParams {\n return {\n from: format(chartParams.start, 'yyyy-MM-dd'),\n to: format(chartParams.end, 'yyyy-MM-dd'),\n time:\n chartParams.duration === 'week'\n ? `week${user.weekm ? 'm' : ''}`\n : chartParams.duration,\n }\n }\n\n watch(\n () => props.chartParams,\n async (newParams) => {\n getStatistics(getApiParams(newParams, props.user))\n }\n )\n\n return {\n datasets: computed(\n () => formattedStats.value.datasets[displayedData.value]\n ),\n labels: computed(() => formattedStats.value.labels),\n emptyStats: computed(() => Object.keys(statistics.value).length === 0),\n displayedData,\n updateDisplayData,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=6eb9bb83&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=6eb9bb83&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6eb9bb83\"\n\nexport default script","'use strict';\nvar $ = require('../internals/export');\nvar isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toLength = require('../internals/to-length');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = toLength(O.length);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/main~workouts.44a477db.js b/fittrackee/dist/static/js/main~workouts.44a477db.js deleted file mode 100644 index 2294934d..00000000 --- a/fittrackee/dist/static/js/main~workouts.44a477db.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["main~workouts"],{"00fd":function(t,e,r){var n=r("9e69"),o=Object.prototype,a=o.hasOwnProperty,c=o.toString,i=n?n.toStringTag:void 0;function u(t){var e=a.call(t,i),r=t[i];try{t[i]=void 0;var n=!0}catch(u){}var o=c.call(t);return n&&(e?t[i]=r:delete t[i]),o}t.exports=u},"03dd":function(t,e,r){var n=r("eac5"),o=r("57a5"),a=Object.prototype,c=a.hasOwnProperty;function i(t){if(!n(t))return o(t);var e=[];for(var r in Object(t))c.call(t,r)&&"constructor"!=r&&e.push(r);return e}t.exports=i},"0644":function(t,e,r){var n=r("3818"),o=1,a=4;function c(t){return n(t,o|a)}t.exports=c},"07c7":function(t,e){function r(){return!1}t.exports=r},"0801":function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.defineChartComponent=void 0;const o=r("9b4a"),a=r("72dd"),c=n(r("e740")),i=n(r("bba4")),u=n(r("0644")),f=n(r("63ea")),s=r("e1bd");a.install();const d=t=>c.default(i.default(t)).replace(/ /g,""),l=(t,e)=>{const r={options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},chartData:{type:Object,required:!0},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},n=d(t);return a.defineComponent({name:n,props:r,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":t=>!0,"chart:render":()=>!0},setup(r,{emit:c}){const i=a.ref(),d=`${t}-${s.nanoid(6)}`;let l=a.shallowRef(null);function p(t,e){if(e){let r=l.value,n=t.datasets.map(t=>t.label),o=e.datasets.map(t=>t.label);const a=JSON.stringify(o),c=JSON.stringify(n);c===a&&e.datasets.length===t.datasets.length&&r?(t.datasets.forEach((t,n)=>{const o=Object.keys(e.datasets[n]),a=Object.keys(t),c=o.filter(t=>"_meta"!==t&&-1===a.indexOf(t));c.forEach(t=>{(null===r||void 0===r?void 0:r.data.datasets[n])&&delete r.data.datasets[n][t]});for(const e in t){const o=t[e];t.hasOwnProperty(e)&&o&&r&&(r.data.datasets[n][e]=o)}}),t.hasOwnProperty("labels")&&(r.data.labels=t.labels,v()),y()):(r&&x(),h())}else l.value&&x(),h()}function h(){i.value?(l.value=new o.Chart(i.value,{data:r.chartData,type:e,options:u.default(r.options),plugins:r.plugins}),b()):console.error(`Error on component ${n}, canvas cannot be rendered. Check if the render appends server-side`)}function v(){var t;c("labels:update"),null===(t=r.onLabelsUpdate)||void 0===t||t.call(r)}function b(){var t;l.value&&(c("chart:render",l.value),null===(t=r.onChartRender)||void 0===t||t.call(r,l.value))}function y(){var t;l.value&&(l.value.update(),c("chart:render",l.value),null===(t=r.onChartRender)||void 0===t||t.call(r,l.value))}function x(){var t,e;null===(t=l.value)||void 0===t||t.destroy(),c("chart:destroy"),null===(e=r.onChartDestroy)||void 0===e||e.call(r)}return a.watch(()=>r.chartData,p,{deep:!0}),a.watch(()=>r.options,(t,e)=>{l.value&&t&&!f.default(l.value.options,e)&&(l.value.options=u.default(t),e=u.default(t),y())},{deep:!0}),a.onMounted(h),a.onBeforeUnmount(()=>{var t;l.value&&(null===(t=l.value)||void 0===t||t.destroy())}),{canvasRef:i,renderChart:h,chartInstance:l,canvasId:d}},render(){return a.h("div",{style:{maxWidth:"100%",...this.styles,position:"relative"},class:this.cssClasses},[a.h("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},...a.isVue2&&{attrs:{id:this.canvasId,width:this.width,height:this.height}},...a.isVue3&&{id:this.canvasId,width:this.width,height:this.height},ref:"canvasRef"})])}})};e.defineChartComponent=l},"087d":function(t,e){function r(t,e){var r=-1,n=e.length,o=t.length;while(++ro?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=Array(o);while(++n1?arguments[1]:void 0)}}),a(c)},"7e64":function(t,e,r){var n=r("5e2e"),o=r("efb6"),a=r("2fcc"),c=r("802a"),i=r("55a3"),u=r("d02c");function f(t){var e=this.__data__=new n(t);this.size=e.size}f.prototype.clear=o,f.prototype["delete"]=a,f.prototype.get=c,f.prototype.has=i,f.prototype.set=u,t.exports=f},"7e8e":function(t,e){var r=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function n(t){return r.test(t)}t.exports=n},"7ed2":function(t,e){var r="__lodash_hash_undefined__";function n(t){return this.__data__.set(t,r),this}t.exports=n},"802a":function(t,e){function r(t){return this.__data__.get(t)}t.exports=r},8057:function(t,e){function r(t,e){var r=-1,n=null==t?0:t.length;while(++re=>{const r=n.computed(()=>({...e,ref:t+"ChartRef",chartData:n.unref(e.chartData),options:n.unref(e.options)})),o=n.reactive({[t+"ChartProps"]:r});return{...n.toRefs(o),[t+"ChartRef"]:n.ref()}};e.useDoughnutChart=o("doughnut"),e.useBarChart=o("bar"),e.useLineChart=o("line"),e.usePieChart=o("pie"),e.usePolarAreaChart=o("polarArea"),e.useRadarChart=o("radar"),e.useBubbleChart=o("bubble"),e.useScatterChart=o("scatter")},"872a":function(t,e,r){var n=r("3b4a");function o(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}t.exports=o},"8eeb":function(t,e,r){var n=r("32b3"),o=r("872a");function a(t,e,r,a){var c=!r;r||(r={});var i=-1,u=e.length;while(++i=0;--a){var c=this.tryEntries[a],i=c.completion;if("root"===c.tryLoc)return o("end");if(c.tryLoc<=this.prev){var u=n.call(c,"catchLoc"),f=n.call(c,"finallyLoc");if(u&&f){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:E(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=n}catch(o){"object"===typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},9934:function(t,e,r){var n=r("6fcd"),o=r("41c3"),a=r("30c9");function c(t){return a(t)?n(t,!0):o(t)}t.exports=c},"99d3":function(t,e,r){(function(t){var n=r("585a"),o=e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,c=a&&a.exports===o,i=c&&n.process,u=function(){try{var t=a&&a.require&&a.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(e){}}();t.exports=u}).call(this,r("62e4")(t))},"9e69":function(t,e,r){var n=r("2b3e"),o=n.Symbol;t.exports=o},a029:function(t,e,r){var n=r("087d"),o=r("2dcb"),a=r("32f4"),c=r("d327"),i=Object.getOwnPropertySymbols,u=i?function(t){var e=[];while(t)n(e,a(t)),t=o(t);return e}:c;t.exports=u},a27b:function(t,e,r){},a2be:function(t,e,r){var n=r("d612"),o=r("4284"),a=r("c584"),c=1,i=2;function u(t,e,r,u,f,s){var d=r&c,l=t.length,p=e.length;if(l!=p&&!(d&&p>l))return!1;var h=s.get(t),v=s.get(e);if(h&&v)return h==e&&v==t;var b=-1,y=!0,x=r&i?new n:void 0;s.set(t,e),s.set(e,t);while(++b-1&&t%1==0&&t<=r}t.exports=n},b48c:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.ScatterChart=e.BubbleChart=e.RadarChart=e.PolarAreaChart=e.PieChart=e.LineChart=e.DoughnutChart=e.BarChart=e.defineChartComponent=void 0;const a=r("0801");var c=r("0801");Object.defineProperty(e,"defineChartComponent",{enumerable:!0,get:function(){return c.defineChartComponent}}),o(r("8429"),e),e.BarChart=a.defineChartComponent("bar-chart","bar"),e.DoughnutChart=a.defineChartComponent("doughnut-chart","doughnut"),e.LineChart=a.defineChartComponent("line-chart","line"),e.PieChart=a.defineChartComponent("pie-chart","pie"),e.PolarAreaChart=a.defineChartComponent("polar-chart","polarArea"),e.RadarChart=a.defineChartComponent("radar-chart","radar"),e.BubbleChart=a.defineChartComponent("bubble-chart","bubble"),e.ScatterChart=a.defineChartComponent("scatter-chart","scatter"),e.default={BarChart:e.BarChart,DoughnutChart:e.DoughnutChart,LineChart:e.LineChart,PieChart:e.PieChart,PolarAreaChart:e.PolarAreaChart,RadarChart:e.RadarChart,BubbleChart:e.BubbleChart,ScatterChart:e.ScatterChart,defineChartComponent:a.defineChartComponent}},b4c0:function(t,e,r){var n=r("cb5a");function o(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}t.exports=o},b5a7:function(t,e,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"DataView");t.exports=a},bba4:function(t,e,r){var n=r("e9a7"),o=r("b20a"),a=o((function(t,e,r){return e=e.toLowerCase(),t+(r?n(e):e)}));t.exports=a},bbc0:function(t,e,r){var n=r("6044"),o="__lodash_hash_undefined__",a=Object.prototype,c=a.hasOwnProperty;function i(t){var e=this.__data__;if(n){var r=e[t];return r===o?void 0:r}return c.call(e,t)?e[t]:void 0}t.exports=i},c05f:function(t,e,r){var n=r("7b97"),o=r("1310");function a(t,e,r,c,i){return t===e||(null==t||null==e||!o(t)&&!o(e)?t!==t&&e!==e:n(t,e,r,c,a,i))}t.exports=a},c098:function(t,e){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function o(t,e){var o=typeof t;return e=null==e?r:e,!!e&&("number"==o||"symbol"!=o&&n.test(t))&&t>-1&&t%1==0&&t=o?t:n(t,e,r)}t.exports=o},c3fc:function(t,e,r){var n=r("42a2"),o=r("1310"),a="[object Set]";function c(t){return o(t)&&n(t)==a}t.exports=c},c584:function(t,e){function r(t,e){return t.has(e)}t.exports=r},c869:function(t,e,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Set");t.exports=a},c87c:function(t,e){var r=Object.prototype,n=r.hasOwnProperty;function o(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}t.exports=o},c8fe:function(t,e,r){var n=r("f8af");function o(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}t.exports=o},cb5a:function(t,e,r){var n=r("9638");function o(t,e){var r=t.length;while(r--)if(n(t[r][0],e))return r;return-1}t.exports=o},cc45:function(t,e,r){var n=r("1a2d"),o=r("b047"),a=r("99d3"),c=a&&a.isMap,i=c?o(c):n;t.exports=i},ce86:function(t,e,r){var n=r("9e69"),o=r("7948"),a=r("6747"),c=r("ffd6"),i=1/0,u=n?n.prototype:void 0,f=u?u.toString:void 0;function s(t){if("string"==typeof t)return t;if(a(t))return o(t,s)+"";if(c(t))return f?f.call(t):"";var e=t+"";return"0"==e&&1/t==-i?"-0":e}t.exports=s},d02c:function(t,e,r){var n=r("5e2e"),o=r("79bc"),a=r("7b83"),c=200;function i(t,e){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.lengthcrypto.getRandomValues(new Uint8Array(t)),a=(t,e,r)=>{let n=(2<{let a="";while(1){let c=r(o),i=o;while(i--)if(a+=t[c[i]&n]||"",a.length===e)return a}}},c=(t,e)=>a(t,e,o),i=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));while(t--){let n=63&r[t];e+=n<36?n.toString(36):n<62?(n-26).toString(36).toUpperCase():n<63?"_":"-"}return e}},e24b:function(t,e,r){var n=r("49f4"),o=r("1efc"),a=r("bbc0"),c=r("7a48"),i=r("2524");function u(t){var e=-1,r=null==t?0:t.length;this.clear();while(++e-1}t.exports=o},fe40:function(t,e,r){"use strict";r("b154")},ffd6:function(t,e,r){var n=r("3729"),o=r("1310"),a="[object Symbol]";function c(t){return"symbol"==typeof t||o(t)&&n(t)==a}t.exports=c}}]); -//# sourceMappingURL=main~workouts.44a477db.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/main~workouts.44a477db.js.map b/fittrackee/dist/static/js/main~workouts.44a477db.js.map deleted file mode 100644 index a3ea58b5..00000000 --- a/fittrackee/dist/static/js/main~workouts.44a477db.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/cloneDeep.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/vue-chart-3/dist/components.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_baseAssignIn.js","webpack:///./node_modules/lodash/_copySymbolsIn.js","webpack:///./node_modules/lodash/_stringToArray.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./src/components/Workouts/NoWorkouts.vue","webpack:///./src/components/Workouts/NoWorkouts.vue?d8d5","webpack:///./src/components/Workouts/NoWorkouts.vue?14e8","webpack:///./node_modules/lodash/_baseIsMap.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_baseClone.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/deburr.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_copySymbols.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_baseAssign.js","webpack:///./node_modules/lodash/_cloneDataView.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./src/components/Common/StaticMap.vue","webpack:///./src/components/Common/StaticMap.vue?7293","webpack:///./src/components/Common/StaticMap.vue?7006","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/lodash/_cloneRegExp.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/vue-demi/lib/index.esm.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_asciiWords.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./node_modules/lodash/upperFirst.js","webpack:///./src/components/Common/Error.vue?46b2","webpack:///./node_modules/vue-chart-3/dist/hooks.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./src/utils/workouts.ts","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_cloneSymbol.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_createCompounder.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/vue-chart-3/dist/index.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/camelCase.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_initCloneByTag.js","webpack:///./node_modules/lodash/_castSlice.js","webpack:///./node_modules/lodash/_baseIsSet.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_initCloneArray.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/isMap.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/lodash/_createCaseFirst.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/isSet.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/nanoid/url-alphabet/index.js","webpack:///./node_modules/nanoid/index.browser.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/startCase.js","webpack:///./src/components/Workouts/NoWorkouts.vue?7836","webpack:///./node_modules/lodash/capitalize.js","webpack:///./node_modules/lodash/words.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_unicodeWords.js","webpack:///./src/components/Common/NotFound.vue","webpack:///./src/components/Common/Error.vue","webpack:///./src/components/Common/Error.vue?0362","webpack:///./src/components/Common/Error.vue?f1fd","webpack:///./src/components/Common/NotFound.vue?7feb","webpack:///./src/components/Common/NotFound.vue?fca3","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./src/components/Common/StaticMap.vue?8015","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","isPrototype","nativeKeys","baseKeys","object","key","push","baseClone","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","stubFalse","__importDefault","this","mod","__esModule","defineProperty","defineChartComponent","chart_js_1","vue_demi_1","startCase_1","camelCase_1","cloneDeep_1","isEqual_1","nanoid_1","install","pascalCase","str","default","replace","chartId","chartType","propsDefs","options","type","required","String","width","Number","height","cssClasses","styles","plugins","Array","chartData","onLabelsUpdate","Function","onChartUpdate","onChartDestroy","onChartRender","componentName","defineComponent","name","props","emits","chartInstance","emit","canvasRef","ref","canvasId","nanoid","shallowRef","watchHandler","newData","oldData","chart","newDatasetLabels","datasets","map","dataset","label","oldDatasetLabels","oldLabels","JSON","stringify","newLabels","length","forEach","i","oldDatasetKeys","keys","newDatasetKeys","deletionKeys","filter","indexOf","deletionKey","data","attribute","attrValue","labels","handleLabelsUpdate","handleChartUpdate","handleChartDestroy","renderChart","Chart","handleChartRender","console","error","_a","update","_b","destroy","watch","deep","newOptions","oldOptions","onMounted","onBeforeUnmount","h","style","maxWidth","position","class","maxHeight","isVue2","attrs","id","isVue3","arrayPush","array","values","index","offset","baseIsNative","getValue","getNative","freeExports","nodeType","freeModule","moduleExports","Buffer","root","nativeIsBuffer","isBuffer","copyObject","keysIn","baseAssignIn","source","getSymbolsIn","copySymbolsIn","asciiToArray","hasUnicode","unicodeToArray","stringToArray","string","isKeyable","isObjectLike","coreJsData","maskSrcKey","uid","exec","IE_PROTO","isMasked","func","$t","to","render","__scopeId","getTag","mapTag","baseIsMap","isObject","baseGetAllKeys","getAllKeysIn","Uint8Array","eq","equalArrays","mapToArray","setToArray","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","boolTag","dateTag","errorTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","valueOf","equalByTag","other","bitmask","customizer","equalFunc","stack","byteLength","byteOffset","buffer","message","convert","isPartial","size","stacked","get","set","Promise","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","done","then","_asyncToGenerator","fn","self","args","arguments","apply","err","hashDelete","has","__data__","getMapData","mapCacheSet","mapCacheGet","nativeCreate","HASH_UNDEFINED","hashSet","baseGetTag","argsTag","baseIsArguments","listCacheClear","objectToString","baseSlice","start","end","freeGlobal","freeSelf","arrayFilter","predicate","resIndex","overArg","getPrototype","getPrototypeOf","stackDelete","isFunction","isLength","isArrayLike","baseAssignValue","assignValue","objValue","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","toSource","reRegExpChar","reIsHostCtor","funcProto","funcToString","reIsNative","RegExp","pattern","test","nullTag","undefinedTag","Stack","arrayEach","baseAssign","cloneBuffer","copyArray","copySymbols","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isArray","isMap","isSet","CLONE_FLAT_FLAG","arrayTag","funcTag","genTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","isDeep","isFlat","isFull","isArr","isFunc","subValue","add","keysFunc","WeakMap","nativeKeysIn","baseKeysIn","isProto","arraySome","DataView","Map","Set","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","constructor","ctorString","hashClear","deburrLetter","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsCombo","reComboMark","deburr","baseTimes","n","iteratee","stackHas","global","cloneArrayBuffer","cloneDataView","dataView","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","clear","entry","webpackPolyfill","deprecate","paths","children","enumerable","l","baseIsEqual","isEqual","assocIndexOf","href","target","rel","displayHover","src","getApiUrl","workout","alt","Boolean","setup","arrayProto","splice","lastIndex","pop","arrayReduce","accumulator","initAccum","split","reFlags","cloneRegExp","regexp","isArguments","isIndex","isTypedArray","arrayLikeKeys","inherited","isArg","isBuff","isType","skipIndexes","Vue2","val","Math","max","del","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","typedArrayTags","objectCreate","create","baseCreate","proto","reAsciiWord","asciiWords","match","baseToString","arrayMap","hashHas","mapCacheClear","mapCacheDelete","mapCacheHas","MapCache","equalObjects","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","Hash","symbolsFunc","$","$find","find","addToUnscopables","FIND","SKIPS_HOLES","forced","callbackfn","stackClear","stackGet","stackSet","reHasUnicodeWord","hasUnicodeWord","setCacheAdd","createCaseFirst","upperFirst","useScatterChart","useBubbleChart","useRadarChart","usePolarAreaChart","usePieChart","useLineChart","useBarChart","useDoughnutChart","defineChartHook","params","reactiveProps","computed","unref","chartProps","reactive","toRefs","isNew","newValue","transform","getDatasets","t","speed","backgroundColor","borderColor","borderWidth","yAxisID","elevation","fill","distance_labels","duration_labels","coordinates","distance","duration","latitude","longitude","getDonutDatasets","workouts","total","sport_id","count","percentage","asyncTag","proxyTag","runtime","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","obj","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","freeProcess","process","types","require","binding","SetCache","cacheHas","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","cloneSymbol","basePropertyOf","deburredLetters","rsAstralRange","rsVarRange","rsZWJ","reHasUnicode","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","words","rsApos","reApos","createCompounder","callback","MAX_SAFE_INTEGER","__createBinding","o","m","k","k2","__exportStar","p","ScatterChart","BubbleChart","RadarChart","PolarAreaChart","PieChart","LineChart","DoughnutChart","BarChart","components_1","components_2","capitalize","camelCase","word","toLowerCase","hashGet","reIsUint","cloneTypedArray","castSlice","baseIsSet","cache","input","typedArray","nodeIsMap","isSymbol","INFINITY","symbolToString","LARGE_ARRAY_SIZE","pairs","rsAstral","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsSymbol","reUnicode","methodName","strSymbols","chr","trailing","setCacheHas","nodeIsSet","urlAlphabet","random","bytes","crypto","getRandomValues","customRandom","alphabet","getRandom","mask","log","LN2","step","j","customAlphabet","byte","toUpperCase","allocUnsafe","copy","startCase","unicodeWords","guard","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsBreakRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsOrdLower","rsOrdUpper","rsEmoji","reUnicodeWord","title","button-text","buttonText","$router","path","components","arrayBuffer"],"mappings":"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","file":"static/js/main~workouts.44a477db.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defineChartComponent = void 0;\nconst chart_js_1 = require(\"chart.js\");\nconst vue_demi_1 = require(\"vue-demi\");\nconst startCase_1 = __importDefault(require(\"lodash/startCase\"));\nconst camelCase_1 = __importDefault(require(\"lodash/camelCase\"));\nconst cloneDeep_1 = __importDefault(require(\"lodash/cloneDeep\"));\nconst isEqual_1 = __importDefault(require(\"lodash/isEqual\"));\nconst nanoid_1 = require(\"nanoid\");\nvue_demi_1.install();\nconst pascalCase = (str) => startCase_1.default(camelCase_1.default(str)).replace(/ /g, '');\nconst defineChartComponent = (chartId, chartType) => {\n const propsDefs = {\n options: { type: Object, required: false },\n chartId: { default: chartId, type: String },\n width: { default: 400, type: Number },\n height: { default: 400, type: Number },\n cssClasses: { type: String, default: '' },\n styles: { type: Object },\n plugins: { type: Array, default: () => [] },\n chartData: { type: Object, required: true },\n onLabelsUpdate: { type: Function },\n onChartUpdate: { type: Function },\n onChartDestroy: { type: Function },\n onChartRender: { type: Function },\n };\n const componentName = pascalCase(chartId);\n return vue_demi_1.defineComponent({\n name: componentName,\n props: propsDefs,\n emits: {\n 'labels:update': () => true,\n 'chart:update': (chartInstance) => true,\n 'chart:destroy': (chartInstance) => true,\n 'chart:render': () => true,\n },\n setup(props, { emit }) {\n const canvasRef = vue_demi_1.ref();\n const canvasId = `${chartId}-${nanoid_1.nanoid(6)}`;\n let chartInstance = vue_demi_1.shallowRef(null);\n vue_demi_1.watch(() => props.chartData, watchHandler, { deep: true });\n vue_demi_1.watch(() => props.options, (newOptions, oldOptions) => {\n if (chartInstance.value &&\n newOptions &&\n !isEqual_1.default(chartInstance.value.options, oldOptions)) {\n chartInstance.value.options = cloneDeep_1.default(newOptions);\n oldOptions = cloneDeep_1.default(newOptions);\n handleChartUpdate();\n }\n }, { deep: true });\n function watchHandler(newData, oldData) {\n if (oldData) {\n let chart = chartInstance.value;\n let newDatasetLabels = newData.datasets.map(dataset => {\n return dataset.label;\n });\n let oldDatasetLabels = oldData.datasets.map(dataset => {\n return dataset.label;\n });\n const oldLabels = JSON.stringify(oldDatasetLabels);\n const newLabels = JSON.stringify(newDatasetLabels);\n if (newLabels === oldLabels &&\n oldData.datasets.length === newData.datasets.length &&\n chart) {\n newData.datasets.forEach((dataset, i) => {\n const oldDatasetKeys = Object.keys(oldData.datasets[i]);\n const newDatasetKeys = Object.keys(dataset);\n const deletionKeys = oldDatasetKeys.filter(key => {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(deletionKey => {\n if (chart === null || chart === void 0 ? void 0 : chart.data.datasets[i]) {\n delete chart.data.datasets[i][deletionKey];\n }\n });\n for (const attribute in dataset) {\n const attrValue = dataset[attribute];\n if (dataset.hasOwnProperty(attribute) && attrValue && chart) {\n chart.data.datasets[i][attribute] = attrValue;\n }\n }\n });\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n handleLabelsUpdate();\n }\n handleChartUpdate();\n }\n else {\n if (chart) {\n handleChartDestroy();\n }\n renderChart();\n }\n }\n else {\n if (chartInstance.value) {\n handleChartDestroy();\n }\n renderChart();\n }\n }\n function renderChart() {\n if (canvasRef.value) {\n chartInstance.value = new chart_js_1.Chart(canvasRef.value, {\n data: props.chartData,\n type: chartType,\n options: cloneDeep_1.default(props.options),\n plugins: props.plugins,\n });\n handleChartRender();\n }\n else {\n console.error(`Error on component ${componentName}, canvas cannot be rendered. Check if the render appends server-side`);\n }\n }\n function handleLabelsUpdate() {\n var _a;\n emit('labels:update');\n (_a = props.onLabelsUpdate) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n function handleChartRender() {\n var _a;\n if (chartInstance.value) {\n emit('chart:render', chartInstance.value);\n (_a = props.onChartRender) === null || _a === void 0 ? void 0 : _a.call(props, chartInstance.value);\n }\n }\n function handleChartUpdate() {\n var _a;\n if (chartInstance.value) {\n chartInstance.value.update();\n emit('chart:render', chartInstance.value);\n (_a = props.onChartRender) === null || _a === void 0 ? void 0 : _a.call(props, chartInstance.value);\n }\n }\n function handleChartDestroy() {\n var _a, _b;\n (_a = chartInstance.value) === null || _a === void 0 ? void 0 : _a.destroy();\n emit('chart:destroy');\n (_b = props.onChartDestroy) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n vue_demi_1.onMounted(renderChart);\n vue_demi_1.onBeforeUnmount(() => {\n var _a;\n if (chartInstance.value) {\n (_a = chartInstance.value) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n });\n return { canvasRef, renderChart, chartInstance, canvasId };\n },\n render() {\n return vue_demi_1.h('div', {\n style: {\n maxWidth: '100%',\n ...this.styles,\n position: 'relative',\n },\n class: this.cssClasses,\n }, [\n vue_demi_1.h('canvas', {\n style: {\n maxWidth: '100%',\n maxHeight: '100%',\n },\n ...(vue_demi_1.isVue2 && {\n attrs: {\n id: this.canvasId,\n width: this.width,\n height: this.height,\n },\n }),\n ...(vue_demi_1.isVue3 && {\n id: this.canvasId,\n width: this.width,\n height: this.height,\n }),\n ref: 'canvasRef',\n }),\n ]);\n },\n });\n};\nexports.defineChartComponent = defineChartComponent;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'NoWorkouts',\n })\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=26ba86c8&scoped=true\"\nimport script from \"./NoWorkouts.vue?vue&type=script&lang=ts\"\nexport * from \"./NoWorkouts.vue?vue&type=script&lang=ts\"\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=26ba86c8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26ba86c8\"\n\nexport default script","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'StaticMap',\n props: {\n workout: {\n type: Object as PropType,\n required: true,\n },\n displayHover: {\n type: Boolean,\n default: false,\n },\n },\n setup() {\n return { getApiUrl }\n },\n })\n","import { render } from \"./StaticMap.vue?vue&type=template&id=51acba81\"\nimport script from \"./StaticMap.vue?vue&type=script&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=51acba81&lang=scss\"\nscript.render = render\n\nexport default script","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Error.vue?vue&type=style&index=0&id=58e20d75&scoped=true&lang=scss\"","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useScatterChart = exports.useBubbleChart = exports.useRadarChart = exports.usePolarAreaChart = exports.usePieChart = exports.useLineChart = exports.useBarChart = exports.useDoughnutChart = void 0;\nconst vue_demi_1 = require(\"vue-demi\");\nconst defineChartHook = (chartType) => {\n return (params) => {\n const reactiveProps = vue_demi_1.computed(() => ({\n ...params,\n ref: `${chartType}ChartRef`,\n chartData: vue_demi_1.unref(params.chartData),\n options: vue_demi_1.unref(params.options),\n }));\n const chartProps = vue_demi_1.reactive({\n [`${chartType}ChartProps`]: reactiveProps,\n });\n return {\n ...vue_demi_1.toRefs(chartProps),\n [`${chartType}ChartRef`]: vue_demi_1.ref(),\n };\n };\n};\nexports.useDoughnutChart = defineChartHook('doughnut');\nexports.useBarChart = defineChartHook('bar');\nexports.useLineChart = defineChartHook('line');\nexports.usePieChart = defineChartHook('pie');\nexports.usePolarAreaChart = defineChartHook('polarArea');\nexports.useRadarChart = defineChartHook('radar');\nexports.useBubbleChart = defineChartHook('bubble');\nexports.useScatterChart = defineChartHook('scatter');\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(data.speed)\n datasets.elevation.data.push(data.elevation)\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterChart = exports.BubbleChart = exports.RadarChart = exports.PolarAreaChart = exports.PieChart = exports.LineChart = exports.DoughnutChart = exports.BarChart = exports.defineChartComponent = void 0;\nconst components_1 = require(\"./components\");\nvar components_2 = require(\"./components\");\nObject.defineProperty(exports, \"defineChartComponent\", { enumerable: true, get: function () { return components_2.defineChartComponent; } });\n__exportStar(require(\"./hooks\"), exports);\nexports.BarChart = components_1.defineChartComponent('bar-chart', 'bar');\nexports.DoughnutChart = components_1.defineChartComponent('doughnut-chart', 'doughnut');\nexports.LineChart = components_1.defineChartComponent('line-chart', 'line');\nexports.PieChart = components_1.defineChartComponent('pie-chart', 'pie');\nexports.PolarAreaChart = components_1.defineChartComponent('polar-chart', 'polarArea');\nexports.RadarChart = components_1.defineChartComponent('radar-chart', 'radar');\nexports.BubbleChart = components_1.defineChartComponent('bubble-chart', 'bubble');\nexports.ScatterChart = components_1.defineChartComponent('scatter-chart', 'scatter');\nexports.default = {\n BarChart: exports.BarChart,\n DoughnutChart: exports.DoughnutChart,\n LineChart: exports.LineChart,\n PieChart: exports.PieChart,\n PolarAreaChart: exports.PolarAreaChart,\n RadarChart: exports.RadarChart,\n BubbleChart: exports.BubbleChart,\n ScatterChart: exports.ScatterChart,\n defineChartComponent: components_1.defineChartComponent,\n};\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","// This alphabet uses `A-Za-z0-9_-` symbols. The genetic algorithm helped\n// optimize the gzip compression for this alphabet.\nlet urlAlphabet =\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\n\nexport { urlAlphabet }\n","// This file replaces `index.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nimport { urlAlphabet } from './url-alphabet/index.js'\n\nif (process.env.NODE_ENV !== 'production') {\n // All bundlers will remove this block in the production bundle.\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\n\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nlet customRandom = (alphabet, size, getRandom) => {\n // First, a bitmask is necessary to generate the ID. The bitmask makes bytes\n // values closer to the alphabet size. The bitmask calculates the closest\n // `2^31 - 1` number, which exceeds the alphabet size.\n // For example, the bitmask for the alphabet size 30 is 31 (00011111).\n // `Math.clz32` is not used, because it is not available in browsers.\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n // Though, the bitmask solution is not perfect since the bytes exceeding\n // the alphabet size are refused. Therefore, to reliably generate the ID,\n // the random bytes redundancy has to be satisfied.\n\n // Note: every hardware random generator call is performance expensive,\n // because the system call for entropy collection takes a lot of time.\n // So, to avoid additional system calls, extra bytes are requested in advance.\n\n // Next, a step determines how many random bytes to generate.\n // The number of random bytes gets decided upon the ID size, mask,\n // alphabet size, and magic number 1.6 (using 1.6 peaks at performance\n // according to benchmarks).\n\n // `-~f => Math.ceil(f)` if f is a float\n // `-~i => i + 1` if i is an integer\n let step = -~((1.6 * mask * size) / alphabet.length)\n\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let j = step\n while (j--) {\n // Adding `|| ''` refuses a random byte that exceeds the alphabet size.\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\n\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\n\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n while (size--) {\n // It is incorrect to use bytes exceeding the alphabet size.\n // The following mask reduces the random byte in the 0-255 value\n // range to the 0-63 value range. Therefore, adding hacks, such\n // as empty string fallback or magic numbers, is unneccessary because\n // the bitmask trims bytes down to the alphabet size.\n let byte = bytes[size] & 63\n if (byte < 36) {\n // `0-9a-z`\n id += byte.toString(36)\n } else if (byte < 62) {\n // `A-Z`\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\n\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var createCompounder = require('./_createCompounder'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n});\n\nmodule.exports = startCase;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoWorkouts.vue?vue&type=style&index=0&id=26ba86c8&lang=scss&scoped=true\"","var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Error',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n },\n buttonText: {\n type: String,\n },\n path: {\n type: String,\n default: '/',\n },\n },\n })\n","import { render } from \"./Error.vue?vue&type=template&id=58e20d75&scoped=true\"\nimport script from \"./Error.vue?vue&type=script&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=58e20d75&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-58e20d75\"\n\nexport default script","\n import { defineComponent } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n\n export default defineComponent({\n name: 'NotFound',\n components: {\n Error,\n },\n props: {\n target: {\n type: String,\n default: 'PAGE',\n },\n },\n })\n","import { render } from \"./NotFound.vue?vue&type=template&id=2e960d8e\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StaticMap.vue?vue&type=style&index=0&id=51acba81&lang=scss\"","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/main~workouts.896585f2.js b/fittrackee/dist/static/js/main~workouts.896585f2.js new file mode 100644 index 00000000..f583af5b --- /dev/null +++ b/fittrackee/dist/static/js/main~workouts.896585f2.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["main~workouts"],{"00fd":function(t,e,r){var n=r("9e69"),o=Object.prototype,a=o.hasOwnProperty,c=o.toString,i=n?n.toStringTag:void 0;function u(t){var e=a.call(t,i),r=t[i];try{t[i]=void 0;var n=!0}catch(u){}var o=c.call(t);return n&&(e?t[i]=r:delete t[i]),o}t.exports=u},"03dd":function(t,e,r){var n=r("eac5"),o=r("57a5"),a=Object.prototype,c=a.hasOwnProperty;function i(t){if(!n(t))return o(t);var e=[];for(var r in Object(t))c.call(t,r)&&"constructor"!=r&&e.push(r);return e}t.exports=i},"0644":function(t,e,r){var n=r("3818"),o=1,a=4;function c(t){return n(t,o|a)}t.exports=c},"07c7":function(t,e){function r(){return!1}t.exports=r},"0801":function(t,e,r){"use strict";var n=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.defineChartComponent=void 0;const o=r("9b4a"),a=r("72dd"),c=n(r("e740")),i=n(r("bba4")),u=n(r("0644")),f=n(r("63ea")),s=r("e1bd");a.install();const d=t=>c.default(i.default(t)).replace(/ /g,""),l=(t,e)=>{const r={options:{type:Object,required:!1},chartId:{default:t,type:String},width:{default:400,type:Number},height:{default:400,type:Number},cssClasses:{type:String,default:""},styles:{type:Object},plugins:{type:Array,default:()=>[]},chartData:{type:Object,required:!0},onLabelsUpdate:{type:Function},onChartUpdate:{type:Function},onChartDestroy:{type:Function},onChartRender:{type:Function}},n=d(t);return a.defineComponent({name:n,props:r,emits:{"labels:update":()=>!0,"chart:update":t=>!0,"chart:destroy":t=>!0,"chart:render":()=>!0},setup(r,{emit:c}){const i=a.ref(),d=`${t}-${s.nanoid(6)}`;let l=a.shallowRef(null);function p(t,e){if(e){let r=l.value,n=t.datasets.map(t=>t.label),o=e.datasets.map(t=>t.label);const a=JSON.stringify(o),c=JSON.stringify(n);c===a&&e.datasets.length===t.datasets.length&&r?(t.datasets.forEach((t,n)=>{const o=Object.keys(e.datasets[n]),a=Object.keys(t),c=o.filter(t=>"_meta"!==t&&-1===a.indexOf(t));c.forEach(t=>{(null===r||void 0===r?void 0:r.data.datasets[n])&&delete r.data.datasets[n][t]});for(const e in t){const o=t[e];t.hasOwnProperty(e)&&o&&r&&(r.data.datasets[n][e]=o)}}),t.hasOwnProperty("labels")&&(r.data.labels=t.labels,v()),y()):(r&&x(),h())}else l.value&&x(),h()}function h(){i.value?(l.value=new o.Chart(i.value,{data:r.chartData,type:e,options:u.default(r.options),plugins:r.plugins}),b()):console.error(`Error on component ${n}, canvas cannot be rendered. Check if the render appends server-side`)}function v(){var t;c("labels:update"),null===(t=r.onLabelsUpdate)||void 0===t||t.call(r)}function b(){var t;l.value&&(c("chart:render",l.value),null===(t=r.onChartRender)||void 0===t||t.call(r,l.value))}function y(){var t;l.value&&(l.value.update(),c("chart:render",l.value),null===(t=r.onChartRender)||void 0===t||t.call(r,l.value))}function x(){var t,e;null===(t=l.value)||void 0===t||t.destroy(),c("chart:destroy"),null===(e=r.onChartDestroy)||void 0===e||e.call(r)}return a.watch(()=>r.chartData,p,{deep:!0}),a.watch(()=>r.options,(t,e)=>{l.value&&t&&!f.default(l.value.options,e)&&(l.value.options=u.default(t),e=u.default(t),y())},{deep:!0}),a.onMounted(h),a.onBeforeUnmount(()=>{var t;l.value&&(null===(t=l.value)||void 0===t||t.destroy())}),{canvasRef:i,renderChart:h,chartInstance:l,canvasId:d}},render(){return a.h("div",{style:{maxWidth:"100%",...this.styles,position:"relative"},class:this.cssClasses},[a.h("canvas",{style:{maxWidth:"100%",maxHeight:"100%"},...a.isVue2&&{attrs:{id:this.canvasId,width:this.width,height:this.height}},...a.isVue3&&{id:this.canvasId,width:this.width,height:this.height},ref:"canvasRef"})])}})};e.defineChartComponent=l},"087d":function(t,e){function r(t,e){var r=-1,n=e.length,o=t.length;while(++ro?0:o+e),r=r>o?o:r,r<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;var a=Array(o);while(++n1?arguments[1]:void 0)}}),a(c)},"7e64":function(t,e,r){var n=r("5e2e"),o=r("efb6"),a=r("2fcc"),c=r("802a"),i=r("55a3"),u=r("d02c");function f(t){var e=this.__data__=new n(t);this.size=e.size}f.prototype.clear=o,f.prototype["delete"]=a,f.prototype.get=c,f.prototype.has=i,f.prototype.set=u,t.exports=f},"7e8e":function(t,e){var r=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function n(t){return r.test(t)}t.exports=n},"7ed2":function(t,e){var r="__lodash_hash_undefined__";function n(t){return this.__data__.set(t,r),this}t.exports=n},"802a":function(t,e){function r(t){return this.__data__.get(t)}t.exports=r},8057:function(t,e){function r(t,e){var r=-1,n=null==t?0:t.length;while(++re=>{const r=n.computed(()=>({...e,ref:t+"ChartRef",chartData:n.unref(e.chartData),options:n.unref(e.options)})),o=n.reactive({[t+"ChartProps"]:r});return{...n.toRefs(o),[t+"ChartRef"]:n.ref()}};e.useDoughnutChart=o("doughnut"),e.useBarChart=o("bar"),e.useLineChart=o("line"),e.usePieChart=o("pie"),e.usePolarAreaChart=o("polarArea"),e.useRadarChart=o("radar"),e.useBubbleChart=o("bubble"),e.useScatterChart=o("scatter")},"84e9":function(t,e,r){},"872a":function(t,e,r){var n=r("3b4a");function o(t,e,r){"__proto__"==e&&n?n(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}t.exports=o},"8eeb":function(t,e,r){var n=r("32b3"),o=r("872a");function a(t,e,r,a){var c=!r;r||(r={});var i=-1,u=e.length;while(++i=0;--a){var c=this.tryEntries[a],i=c.completion;if("root"===c.tryLoc)return o("end");if(c.tryLoc<=this.prev){var u=n.call(c,"catchLoc"),f=n.call(c,"finallyLoc");if(u&&f){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:E(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=n}catch(o){"object"===typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},9934:function(t,e,r){var n=r("6fcd"),o=r("41c3"),a=r("30c9");function c(t){return a(t)?n(t,!0):o(t)}t.exports=c},"99d3":function(t,e,r){(function(t){var n=r("585a"),o=e&&!e.nodeType&&e,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,c=a&&a.exports===o,i=c&&n.process,u=function(){try{var t=a&&a.require&&a.require("util").types;return t||i&&i.binding&&i.binding("util")}catch(e){}}();t.exports=u}).call(this,r("62e4")(t))},"9e69":function(t,e,r){var n=r("2b3e"),o=n.Symbol;t.exports=o},a029:function(t,e,r){var n=r("087d"),o=r("2dcb"),a=r("32f4"),c=r("d327"),i=Object.getOwnPropertySymbols,u=i?function(t){var e=[];while(t)n(e,a(t)),t=o(t);return e}:c;t.exports=u},a27b:function(t,e,r){},a2be:function(t,e,r){var n=r("d612"),o=r("4284"),a=r("c584"),c=1,i=2;function u(t,e,r,u,f,s){var d=r&c,l=t.length,p=e.length;if(l!=p&&!(d&&p>l))return!1;var h=s.get(t),v=s.get(e);if(h&&v)return h==e&&v==t;var b=-1,y=!0,x=r&i?new n:void 0;s.set(t,e),s.set(e,t);while(++b-1&&t%1==0&&t<=r}t.exports=n},b48c:function(t,e,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(t,e,r,n){void 0===n&&(n=r),Object.defineProperty(t,n,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,n){void 0===n&&(n=r),t[n]=e[r]}),o=this&&this.__exportStar||function(t,e){for(var r in t)"default"===r||Object.prototype.hasOwnProperty.call(e,r)||n(e,t,r)};Object.defineProperty(e,"__esModule",{value:!0}),e.ScatterChart=e.BubbleChart=e.RadarChart=e.PolarAreaChart=e.PieChart=e.LineChart=e.DoughnutChart=e.BarChart=e.defineChartComponent=void 0;const a=r("0801");var c=r("0801");Object.defineProperty(e,"defineChartComponent",{enumerable:!0,get:function(){return c.defineChartComponent}}),o(r("8429"),e),e.BarChart=a.defineChartComponent("bar-chart","bar"),e.DoughnutChart=a.defineChartComponent("doughnut-chart","doughnut"),e.LineChart=a.defineChartComponent("line-chart","line"),e.PieChart=a.defineChartComponent("pie-chart","pie"),e.PolarAreaChart=a.defineChartComponent("polar-chart","polarArea"),e.RadarChart=a.defineChartComponent("radar-chart","radar"),e.BubbleChart=a.defineChartComponent("bubble-chart","bubble"),e.ScatterChart=a.defineChartComponent("scatter-chart","scatter"),e.default={BarChart:e.BarChart,DoughnutChart:e.DoughnutChart,LineChart:e.LineChart,PieChart:e.PieChart,PolarAreaChart:e.PolarAreaChart,RadarChart:e.RadarChart,BubbleChart:e.BubbleChart,ScatterChart:e.ScatterChart,defineChartComponent:a.defineChartComponent}},b4c0:function(t,e,r){var n=r("cb5a");function o(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}t.exports=o},b5a7:function(t,e,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"DataView");t.exports=a},bba4:function(t,e,r){var n=r("e9a7"),o=r("b20a"),a=o((function(t,e,r){return e=e.toLowerCase(),t+(r?n(e):e)}));t.exports=a},bbc0:function(t,e,r){var n=r("6044"),o="__lodash_hash_undefined__",a=Object.prototype,c=a.hasOwnProperty;function i(t){var e=this.__data__;if(n){var r=e[t];return r===o?void 0:r}return c.call(e,t)?e[t]:void 0}t.exports=i},c05f:function(t,e,r){var n=r("7b97"),o=r("1310");function a(t,e,r,c,i){return t===e||(null==t||null==e||!o(t)&&!o(e)?t!==t&&e!==e:n(t,e,r,c,a,i))}t.exports=a},c098:function(t,e){var r=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function o(t,e){var o=typeof t;return e=null==e?r:e,!!e&&("number"==o||"symbol"!=o&&n.test(t))&&t>-1&&t%1==0&&t=o?t:n(t,e,r)}t.exports=o},c3fc:function(t,e,r){var n=r("42a2"),o=r("1310"),a="[object Set]";function c(t){return o(t)&&n(t)==a}t.exports=c},c584:function(t,e){function r(t,e){return t.has(e)}t.exports=r},c869:function(t,e,r){var n=r("0b07"),o=r("2b3e"),a=n(o,"Set");t.exports=a},c87c:function(t,e){var r=Object.prototype,n=r.hasOwnProperty;function o(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&n.call(t,"index")&&(r.index=t.index,r.input=t.input),r}t.exports=o},c8fe:function(t,e,r){var n=r("f8af");function o(t,e){var r=e?n(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}t.exports=o},cb5a:function(t,e,r){var n=r("9638");function o(t,e){var r=t.length;while(r--)if(n(t[r][0],e))return r;return-1}t.exports=o},cc45:function(t,e,r){var n=r("1a2d"),o=r("b047"),a=r("99d3"),c=a&&a.isMap,i=c?o(c):n;t.exports=i},ce86:function(t,e,r){var n=r("9e69"),o=r("7948"),a=r("6747"),c=r("ffd6"),i=1/0,u=n?n.prototype:void 0,f=u?u.toString:void 0;function s(t){if("string"==typeof t)return t;if(a(t))return o(t,s)+"";if(c(t))return f?f.call(t):"";var e=t+"";return"0"==e&&1/t==-i?"-0":e}t.exports=s},d02c:function(t,e,r){var n=r("5e2e"),o=r("79bc"),a=r("7b83"),c=200;function i(t,e){var r=this.__data__;if(r instanceof n){var i=r.__data__;if(!o||i.lengthcrypto.getRandomValues(new Uint8Array(t)),a=(t,e,r)=>{let n=(2<{let a="";while(1){let c=r(o),i=o;while(i--)if(a+=t[c[i]&n]||"",a.length===e)return a}}},c=(t,e)=>a(t,e,o),i=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));while(t--){let n=63&r[t];e+=n<36?n.toString(36):n<62?(n-26).toString(36).toUpperCase():n<63?"_":"-"}return e}},e24b:function(t,e,r){var n=r("49f4"),o=r("1efc"),a=r("bbc0"),c=r("7a48"),i=r("2524");function u(t){var e=-1,r=null==t?0:t.length;this.clear();while(++e-1}t.exports=o},ffd6:function(t,e,r){var n=r("3729"),o=r("1310"),a="[object Symbol]";function c(t){return"symbol"==typeof t||o(t)&&n(t)==a}t.exports=c}}]); +//# sourceMappingURL=main~workouts.896585f2.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/main~workouts.896585f2.js.map b/fittrackee/dist/static/js/main~workouts.896585f2.js.map new file mode 100644 index 00000000..9cf79201 --- /dev/null +++ b/fittrackee/dist/static/js/main~workouts.896585f2.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_baseKeys.js","webpack:///./node_modules/lodash/cloneDeep.js","webpack:///./node_modules/lodash/stubFalse.js","webpack:///./node_modules/vue-chart-3/dist/components.js","webpack:///./node_modules/lodash/_arrayPush.js","webpack:///./node_modules/lodash/_getNative.js","webpack:///./node_modules/lodash/isBuffer.js","webpack:///./node_modules/lodash/_baseAssignIn.js","webpack:///./node_modules/lodash/_copySymbolsIn.js","webpack:///./node_modules/lodash/_stringToArray.js","webpack:///./node_modules/lodash/_isKeyable.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/_isMasked.js","webpack:///./src/components/Workouts/NoWorkouts.vue","webpack:///./src/components/Workouts/NoWorkouts.vue?d8d5","webpack:///./src/components/Workouts/NoWorkouts.vue?14e8","webpack:///./node_modules/lodash/_baseIsMap.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/_getAllKeysIn.js","webpack:///./node_modules/lodash/_equalByTag.js","webpack:///./node_modules/lodash/_Promise.js","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./node_modules/lodash/_hashDelete.js","webpack:///./node_modules/lodash/_mapCacheSet.js","webpack:///./node_modules/lodash/_Uint8Array.js","webpack:///./node_modules/lodash/_mapCacheGet.js","webpack:///./node_modules/lodash/_hashSet.js","webpack:///./node_modules/lodash/_baseIsArguments.js","webpack:///./node_modules/lodash/_listCacheClear.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_baseSlice.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/_arrayFilter.js","webpack:///./node_modules/lodash/_getPrototype.js","webpack:///./node_modules/lodash/_stackDelete.js","webpack:///./node_modules/lodash/isArrayLike.js","webpack:///./node_modules/lodash/_assignValue.js","webpack:///./node_modules/lodash/_getSymbols.js","webpack:///./node_modules/lodash/_baseIsNative.js","webpack:///./node_modules/lodash/_getValue.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_baseClone.js","webpack:///./node_modules/lodash/_WeakMap.js","webpack:///./node_modules/lodash/_defineProperty.js","webpack:///./node_modules/lodash/_baseKeysIn.js","webpack:///./node_modules/lodash/_getMapData.js","webpack:///./node_modules/lodash/_arraySome.js","webpack:///./node_modules/lodash/_getTag.js","webpack:///./node_modules/lodash/_copyArray.js","webpack:///./src/components/Common/StaticMap.vue?2a48","webpack:///./node_modules/lodash/_hashClear.js","webpack:///./node_modules/lodash/deburr.js","webpack:///./node_modules/lodash/_baseTimes.js","webpack:///./node_modules/lodash/_copySymbols.js","webpack:///./node_modules/lodash/_stackHas.js","webpack:///./node_modules/lodash/_nativeKeys.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_baseAssign.js","webpack:///./node_modules/lodash/_cloneDataView.js","webpack:///./node_modules/lodash/_ListCache.js","webpack:///./node_modules/lodash/_nativeCreate.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/lodash/isEqual.js","webpack:///./node_modules/lodash/isArray.js","webpack:///./node_modules/lodash/_listCacheSet.js","webpack:///./src/components/Common/StaticMap.vue","webpack:///./src/components/Common/StaticMap.vue?7293","webpack:///./src/components/Common/StaticMap.vue?7006","webpack:///./node_modules/lodash/_listCacheDelete.js","webpack:///./node_modules/lodash/_arrayReduce.js","webpack:///./node_modules/lodash/_asciiToArray.js","webpack:///./node_modules/lodash/_cloneRegExp.js","webpack:///./node_modules/lodash/_arrayLikeKeys.js","webpack:///./node_modules/vue-demi/lib/index.esm.js","webpack:///./node_modules/lodash/isTypedArray.js","webpack:///./node_modules/lodash/_baseIsTypedArray.js","webpack:///./node_modules/lodash/_baseCreate.js","webpack:///./node_modules/lodash/_asciiWords.js","webpack:///./node_modules/lodash/toString.js","webpack:///./node_modules/lodash/_arrayMap.js","webpack:///./node_modules/lodash/_Map.js","webpack:///./node_modules/lodash/_hashHas.js","webpack:///./node_modules/lodash/_MapCache.js","webpack:///./node_modules/lodash/_baseIsEqualDeep.js","webpack:///./node_modules/lodash/_mapCacheClear.js","webpack:///./node_modules/lodash/_baseGetAllKeys.js","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./node_modules/lodash/_Stack.js","webpack:///./node_modules/lodash/_hasUnicodeWord.js","webpack:///./node_modules/lodash/_setCacheAdd.js","webpack:///./node_modules/lodash/_stackGet.js","webpack:///./node_modules/lodash/_arrayEach.js","webpack:///./node_modules/lodash/upperFirst.js","webpack:///./src/components/Common/Error.vue?46b2","webpack:///./node_modules/vue-chart-3/dist/hooks.js","webpack:///./node_modules/lodash/_baseAssignValue.js","webpack:///./node_modules/lodash/_copyObject.js","webpack:///./node_modules/lodash/_overArg.js","webpack:///./src/utils/workouts.ts","webpack:///./node_modules/lodash/_mapCacheDelete.js","webpack:///./node_modules/lodash/isFunction.js","webpack:///./node_modules/lodash/eq.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/lodash/keysIn.js","webpack:///./node_modules/lodash/_nodeUtil.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_getSymbolsIn.js","webpack:///./node_modules/lodash/_equalArrays.js","webpack:///./node_modules/lodash/_cloneSymbol.js","webpack:///./node_modules/lodash/_mapCacheHas.js","webpack:///./node_modules/lodash/_deburrLetter.js","webpack:///./node_modules/lodash/_getAllKeys.js","webpack:///./node_modules/lodash/_hasUnicode.js","webpack:///./node_modules/lodash/_setToArray.js","webpack:///./node_modules/lodash/_baseUnary.js","webpack:///./node_modules/lodash/_equalObjects.js","webpack:///./node_modules/lodash/_createCompounder.js","webpack:///./node_modules/lodash/isLength.js","webpack:///./node_modules/vue-chart-3/dist/index.js","webpack:///./node_modules/lodash/_listCacheGet.js","webpack:///./node_modules/lodash/_DataView.js","webpack:///./node_modules/lodash/camelCase.js","webpack:///./node_modules/lodash/_hashGet.js","webpack:///./node_modules/lodash/_baseIsEqual.js","webpack:///./node_modules/lodash/_isIndex.js","webpack:///./node_modules/lodash/_initCloneByTag.js","webpack:///./node_modules/lodash/_castSlice.js","webpack:///./node_modules/lodash/_baseIsSet.js","webpack:///./node_modules/lodash/_cacheHas.js","webpack:///./node_modules/lodash/_Set.js","webpack:///./node_modules/lodash/_initCloneArray.js","webpack:///./node_modules/lodash/_cloneTypedArray.js","webpack:///./node_modules/lodash/_assocIndexOf.js","webpack:///./node_modules/lodash/isMap.js","webpack:///./node_modules/lodash/_baseToString.js","webpack:///./node_modules/lodash/_stackSet.js","webpack:///./node_modules/lodash/_unicodeToArray.js","webpack:///./node_modules/lodash/_createCaseFirst.js","webpack:///./node_modules/lodash/stubArray.js","webpack:///./node_modules/lodash/isArguments.js","webpack:///./node_modules/lodash/_SetCache.js","webpack:///./node_modules/lodash/isSet.js","webpack:///./node_modules/lodash/_coreJsData.js","webpack:///./node_modules/lodash/_setCacheHas.js","webpack:///./node_modules/lodash/_toSource.js","webpack:///./node_modules/lodash/_basePropertyOf.js","webpack:///./node_modules/nanoid/url-alphabet/index.js","webpack:///./node_modules/nanoid/index.browser.js","webpack:///./node_modules/lodash/_Hash.js","webpack:///./node_modules/lodash/_cloneBuffer.js","webpack:///./node_modules/lodash/startCase.js","webpack:///./src/components/Workouts/NoWorkouts.vue?7836","webpack:///./node_modules/lodash/capitalize.js","webpack:///./node_modules/lodash/words.js","webpack:///./node_modules/lodash/_isPrototype.js","webpack:///./node_modules/lodash/keys.js","webpack:///./node_modules/lodash/_nativeKeysIn.js","webpack:///./node_modules/lodash/_mapToArray.js","webpack:///./node_modules/lodash/_stackClear.js","webpack:///./node_modules/lodash/_unicodeWords.js","webpack:///./src/components/Common/NotFound.vue","webpack:///./src/components/Common/Error.vue","webpack:///./src/components/Common/Error.vue?0362","webpack:///./src/components/Common/Error.vue?f1fd","webpack:///./src/components/Common/NotFound.vue?7feb","webpack:///./src/components/Common/NotFound.vue?fca3","webpack:///./node_modules/lodash/_cloneArrayBuffer.js","webpack:///./node_modules/lodash/_initCloneObject.js","webpack:///./node_modules/lodash/_listCacheHas.js","webpack:///./node_modules/lodash/isSymbol.js"],"names":["Symbol","objectProto","Object","prototype","hasOwnProperty","nativeObjectToString","toString","symToStringTag","toStringTag","undefined","getRawTag","value","isOwn","call","tag","unmasked","e","result","module","exports","isPrototype","nativeKeys","baseKeys","object","key","push","baseClone","CLONE_DEEP_FLAG","CLONE_SYMBOLS_FLAG","cloneDeep","stubFalse","__importDefault","this","mod","__esModule","defineProperty","defineChartComponent","chart_js_1","vue_demi_1","startCase_1","camelCase_1","cloneDeep_1","isEqual_1","nanoid_1","install","pascalCase","str","default","replace","chartId","chartType","propsDefs","options","type","required","String","width","Number","height","cssClasses","styles","plugins","Array","chartData","onLabelsUpdate","Function","onChartUpdate","onChartDestroy","onChartRender","componentName","defineComponent","name","props","emits","chartInstance","emit","canvasRef","ref","canvasId","nanoid","shallowRef","watchHandler","newData","oldData","chart","newDatasetLabels","datasets","map","dataset","label","oldDatasetLabels","oldLabels","JSON","stringify","newLabels","length","forEach","i","oldDatasetKeys","keys","newDatasetKeys","deletionKeys","filter","indexOf","deletionKey","data","attribute","attrValue","labels","handleLabelsUpdate","handleChartUpdate","handleChartDestroy","renderChart","Chart","handleChartRender","console","error","_a","update","_b","destroy","watch","deep","newOptions","oldOptions","onMounted","onBeforeUnmount","h","style","maxWidth","position","class","maxHeight","isVue2","attrs","id","isVue3","arrayPush","array","values","index","offset","baseIsNative","getValue","getNative","freeExports","nodeType","freeModule","moduleExports","Buffer","root","nativeIsBuffer","isBuffer","copyObject","keysIn","baseAssignIn","source","getSymbolsIn","copySymbolsIn","asciiToArray","hasUnicode","unicodeToArray","stringToArray","string","isKeyable","isObjectLike","coreJsData","maskSrcKey","uid","exec","IE_PROTO","isMasked","func","$t","to","render","__scopeId","getTag","mapTag","baseIsMap","isObject","baseGetAllKeys","getAllKeysIn","Uint8Array","eq","equalArrays","mapToArray","setToArray","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","boolTag","dateTag","errorTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","symbolValueOf","valueOf","equalByTag","other","bitmask","customizer","equalFunc","stack","byteLength","byteOffset","buffer","message","convert","isPartial","size","stacked","get","set","Promise","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","done","then","_asyncToGenerator","fn","self","args","arguments","apply","err","hashDelete","has","__data__","getMapData","mapCacheSet","mapCacheGet","nativeCreate","HASH_UNDEFINED","hashSet","baseGetTag","argsTag","baseIsArguments","listCacheClear","objectToString","baseSlice","start","end","freeGlobal","freeSelf","arrayFilter","predicate","resIndex","overArg","getPrototype","getPrototypeOf","stackDelete","isFunction","isLength","isArrayLike","baseAssignValue","assignValue","objValue","stubArray","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","getSymbols","symbol","toSource","reRegExpChar","reIsHostCtor","funcProto","funcToString","reIsNative","RegExp","pattern","test","nullTag","undefinedTag","Stack","arrayEach","baseAssign","cloneBuffer","copyArray","copySymbols","getAllKeys","initCloneArray","initCloneByTag","initCloneObject","isArray","isMap","isSet","CLONE_FLAT_FLAG","arrayTag","funcTag","genTag","objectTag","weakMapTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","cloneableTags","isDeep","isFlat","isFull","isArr","isFunc","subValue","add","keysFunc","WeakMap","nativeKeysIn","baseKeysIn","isProto","arraySome","DataView","Map","Set","promiseTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","ArrayBuffer","Ctor","constructor","ctorString","hashClear","deburrLetter","reLatin","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsCombo","reComboMark","deburr","baseTimes","n","iteratee","stackHas","global","cloneArrayBuffer","cloneDataView","dataView","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","entries","clear","entry","webpackPolyfill","deprecate","paths","children","enumerable","l","baseIsEqual","isEqual","assocIndexOf","href","target","rel","displayHover","src","imageUrl","alt","workout","Boolean","setup","arrayProto","splice","lastIndex","pop","arrayReduce","accumulator","initAccum","split","reFlags","cloneRegExp","regexp","isArguments","isIndex","isTypedArray","arrayLikeKeys","inherited","isArg","isBuff","isType","skipIndexes","Vue2","val","Math","max","del","baseIsTypedArray","baseUnary","nodeUtil","nodeIsTypedArray","typedArrayTags","objectCreate","create","baseCreate","proto","reAsciiWord","asciiWords","match","baseToString","arrayMap","hashHas","mapCacheClear","mapCacheDelete","mapCacheHas","MapCache","equalObjects","baseIsEqualDeep","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","Hash","symbolsFunc","$","$find","find","addToUnscopables","FIND","SKIPS_HOLES","forced","callbackfn","stackClear","stackGet","stackSet","reHasUnicodeWord","hasUnicodeWord","setCacheAdd","createCaseFirst","upperFirst","useScatterChart","useBubbleChart","useRadarChart","usePolarAreaChart","usePieChart","useLineChart","useBarChart","useDoughnutChart","defineChartHook","params","reactiveProps","computed","unref","chartProps","reactive","toRefs","isNew","newValue","transform","getDatasets","t","speed","backgroundColor","borderColor","borderWidth","yAxisID","elevation","fill","distance_labels","duration_labels","coordinates","distance","duration","latitude","longitude","getDonutDatasets","workouts","total","sport_id","count","percentage","defaultOrder","order","order_by","asyncTag","proxyTag","runtime","Op","hasOwn","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","define","obj","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","method","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","skipTempReset","prev","charAt","slice","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","freeProcess","process","types","require","binding","SetCache","cacheHas","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","cloneSymbol","basePropertyOf","deburredLetters","rsAstralRange","rsVarRange","rsZWJ","reHasUnicode","objProps","objLength","othProps","objStacked","skipCtor","objCtor","othCtor","words","rsApos","reApos","createCompounder","callback","MAX_SAFE_INTEGER","__createBinding","o","m","k","k2","__exportStar","p","ScatterChart","BubbleChart","RadarChart","PolarAreaChart","PieChart","LineChart","DoughnutChart","BarChart","components_1","components_2","capitalize","camelCase","word","toLowerCase","hashGet","reIsUint","cloneTypedArray","castSlice","baseIsSet","cache","input","typedArray","nodeIsMap","isSymbol","INFINITY","symbolToString","LARGE_ARRAY_SIZE","pairs","rsAstral","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsOptVar","rsOptJoin","join","rsSeq","rsSymbol","reUnicode","methodName","strSymbols","chr","trailing","setCacheHas","nodeIsSet","urlAlphabet","random","bytes","crypto","getRandomValues","customRandom","alphabet","getRandom","mask","log","LN2","step","j","customAlphabet","byte","toUpperCase","allocUnsafe","copy","startCase","unicodeWords","guard","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsBreakRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsUpper","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","rsOrdLower","rsOrdUpper","rsEmoji","reUnicodeWord","title","button-text","buttonText","$router","path","components","arrayBuffer"],"mappings":"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","file":"static/js/main~workouts.896585f2.js","sourcesContent":["var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defineChartComponent = void 0;\nconst chart_js_1 = require(\"chart.js\");\nconst vue_demi_1 = require(\"vue-demi\");\nconst startCase_1 = __importDefault(require(\"lodash/startCase\"));\nconst camelCase_1 = __importDefault(require(\"lodash/camelCase\"));\nconst cloneDeep_1 = __importDefault(require(\"lodash/cloneDeep\"));\nconst isEqual_1 = __importDefault(require(\"lodash/isEqual\"));\nconst nanoid_1 = require(\"nanoid\");\nvue_demi_1.install();\nconst pascalCase = (str) => startCase_1.default(camelCase_1.default(str)).replace(/ /g, '');\nconst defineChartComponent = (chartId, chartType) => {\n const propsDefs = {\n options: { type: Object, required: false },\n chartId: { default: chartId, type: String },\n width: { default: 400, type: Number },\n height: { default: 400, type: Number },\n cssClasses: { type: String, default: '' },\n styles: { type: Object },\n plugins: { type: Array, default: () => [] },\n chartData: { type: Object, required: true },\n onLabelsUpdate: { type: Function },\n onChartUpdate: { type: Function },\n onChartDestroy: { type: Function },\n onChartRender: { type: Function },\n };\n const componentName = pascalCase(chartId);\n return vue_demi_1.defineComponent({\n name: componentName,\n props: propsDefs,\n emits: {\n 'labels:update': () => true,\n 'chart:update': (chartInstance) => true,\n 'chart:destroy': (chartInstance) => true,\n 'chart:render': () => true,\n },\n setup(props, { emit }) {\n const canvasRef = vue_demi_1.ref();\n const canvasId = `${chartId}-${nanoid_1.nanoid(6)}`;\n let chartInstance = vue_demi_1.shallowRef(null);\n vue_demi_1.watch(() => props.chartData, watchHandler, { deep: true });\n vue_demi_1.watch(() => props.options, (newOptions, oldOptions) => {\n if (chartInstance.value &&\n newOptions &&\n !isEqual_1.default(chartInstance.value.options, oldOptions)) {\n chartInstance.value.options = cloneDeep_1.default(newOptions);\n oldOptions = cloneDeep_1.default(newOptions);\n handleChartUpdate();\n }\n }, { deep: true });\n function watchHandler(newData, oldData) {\n if (oldData) {\n let chart = chartInstance.value;\n let newDatasetLabels = newData.datasets.map(dataset => {\n return dataset.label;\n });\n let oldDatasetLabels = oldData.datasets.map(dataset => {\n return dataset.label;\n });\n const oldLabels = JSON.stringify(oldDatasetLabels);\n const newLabels = JSON.stringify(newDatasetLabels);\n if (newLabels === oldLabels &&\n oldData.datasets.length === newData.datasets.length &&\n chart) {\n newData.datasets.forEach((dataset, i) => {\n const oldDatasetKeys = Object.keys(oldData.datasets[i]);\n const newDatasetKeys = Object.keys(dataset);\n const deletionKeys = oldDatasetKeys.filter(key => {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(deletionKey => {\n if (chart === null || chart === void 0 ? void 0 : chart.data.datasets[i]) {\n delete chart.data.datasets[i][deletionKey];\n }\n });\n for (const attribute in dataset) {\n const attrValue = dataset[attribute];\n if (dataset.hasOwnProperty(attribute) && attrValue && chart) {\n chart.data.datasets[i][attribute] = attrValue;\n }\n }\n });\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n handleLabelsUpdate();\n }\n handleChartUpdate();\n }\n else {\n if (chart) {\n handleChartDestroy();\n }\n renderChart();\n }\n }\n else {\n if (chartInstance.value) {\n handleChartDestroy();\n }\n renderChart();\n }\n }\n function renderChart() {\n if (canvasRef.value) {\n chartInstance.value = new chart_js_1.Chart(canvasRef.value, {\n data: props.chartData,\n type: chartType,\n options: cloneDeep_1.default(props.options),\n plugins: props.plugins,\n });\n handleChartRender();\n }\n else {\n console.error(`Error on component ${componentName}, canvas cannot be rendered. Check if the render appends server-side`);\n }\n }\n function handleLabelsUpdate() {\n var _a;\n emit('labels:update');\n (_a = props.onLabelsUpdate) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n function handleChartRender() {\n var _a;\n if (chartInstance.value) {\n emit('chart:render', chartInstance.value);\n (_a = props.onChartRender) === null || _a === void 0 ? void 0 : _a.call(props, chartInstance.value);\n }\n }\n function handleChartUpdate() {\n var _a;\n if (chartInstance.value) {\n chartInstance.value.update();\n emit('chart:render', chartInstance.value);\n (_a = props.onChartRender) === null || _a === void 0 ? void 0 : _a.call(props, chartInstance.value);\n }\n }\n function handleChartDestroy() {\n var _a, _b;\n (_a = chartInstance.value) === null || _a === void 0 ? void 0 : _a.destroy();\n emit('chart:destroy');\n (_b = props.onChartDestroy) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n vue_demi_1.onMounted(renderChart);\n vue_demi_1.onBeforeUnmount(() => {\n var _a;\n if (chartInstance.value) {\n (_a = chartInstance.value) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n });\n return { canvasRef, renderChart, chartInstance, canvasId };\n },\n render() {\n return vue_demi_1.h('div', {\n style: {\n maxWidth: '100%',\n ...this.styles,\n position: 'relative',\n },\n class: this.cssClasses,\n }, [\n vue_demi_1.h('canvas', {\n style: {\n maxWidth: '100%',\n maxHeight: '100%',\n },\n ...(vue_demi_1.isVue2 && {\n attrs: {\n id: this.canvasId,\n width: this.width,\n height: this.height,\n },\n }),\n ...(vue_demi_1.isVue3 && {\n id: this.canvasId,\n width: this.width,\n height: this.height,\n }),\n ref: 'canvasRef',\n }),\n ]);\n },\n });\n};\nexports.defineChartComponent = defineChartComponent;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var asciiToArray = require('./_asciiToArray'),\n hasUnicode = require('./_hasUnicode'),\n unicodeToArray = require('./_unicodeToArray');\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nmodule.exports = stringToArray;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'NoWorkouts',\n })\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=26ba86c8&scoped=true\"\nimport script from \"./NoWorkouts.vue?vue&type=script&lang=ts\"\nexport * from \"./NoWorkouts.vue?vue&type=script&lang=ts\"\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=26ba86c8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-26ba86c8\"\n\nexport default script","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbolsIn = require('./_getSymbolsIn'),\n keysIn = require('./keysIn');\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nmodule.exports = getAllKeysIn;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nmodule.exports = baseSlice;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./StaticMap.vue?vue&type=style&index=0&id=26e9f426&lang=scss\"","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'StaticMap',\n props: {\n workout: {\n type: Object as PropType,\n required: true,\n },\n displayHover: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n return { imageUrl }\n },\n })\n","import { render } from \"./StaticMap.vue?vue&type=template&id=26e9f426\"\nimport script from \"./StaticMap.vue?vue&type=script&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=26e9f426&lang=scss\"\nscript.render = render\n\nexport default script","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nmodule.exports = arrayReduce;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nmodule.exports = asciiToArray;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var baseToString = require('./_baseToString');\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nmodule.exports = toString;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nmodule.exports = arrayEach;\n","var createCaseFirst = require('./_createCaseFirst');\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nmodule.exports = upperFirst;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Error.vue?vue&type=style&index=0&id=58e20d75&scoped=true&lang=scss\"","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.useScatterChart = exports.useBubbleChart = exports.useRadarChart = exports.usePolarAreaChart = exports.usePieChart = exports.useLineChart = exports.useBarChart = exports.useDoughnutChart = void 0;\nconst vue_demi_1 = require(\"vue-demi\");\nconst defineChartHook = (chartType) => {\n return (params) => {\n const reactiveProps = vue_demi_1.computed(() => ({\n ...params,\n ref: `${chartType}ChartRef`,\n chartData: vue_demi_1.unref(params.chartData),\n options: vue_demi_1.unref(params.options),\n }));\n const chartProps = vue_demi_1.reactive({\n [`${chartType}ChartProps`]: reactiveProps,\n });\n return {\n ...vue_demi_1.toRefs(chartProps),\n [`${chartType}ChartRef`]: vue_demi_1.ref(),\n };\n };\n};\nexports.useDoughnutChart = defineChartHook('doughnut');\nexports.useBarChart = defineChartHook('bar');\nexports.useLineChart = defineChartHook('line');\nexports.usePieChart = defineChartHook('pie');\nexports.usePolarAreaChart = defineChartHook('polarArea');\nexports.useRadarChart = defineChartHook('radar');\nexports.useBubbleChart = defineChartHook('bubble');\nexports.useScatterChart = defineChartHook('scatter');\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction\n): IWorkoutChartData => {\n const datasets: TWorkoutDatasets = {\n speed: {\n label: t('workouts.SPEED'),\n backgroundColor: ['#FFFFFF'],\n borderColor: ['#8884d8'],\n borderWidth: 2,\n data: [],\n yAxisID: 'ySpeed',\n },\n elevation: {\n label: t('workouts.ELEVATION'),\n backgroundColor: ['#e5e5e5'],\n borderColor: ['#cccccc'],\n borderWidth: 1,\n fill: true,\n data: [],\n yAxisID: 'yElevation',\n },\n }\n const distance_labels: unknown[] = []\n const duration_labels: unknown[] = []\n const coordinates: TCoordinates[] = []\n\n chartData.map((data) => {\n distance_labels.push(data.distance)\n duration_labels.push(data.duration)\n datasets.speed.data.push(data.speed)\n datasets.elevation.data.push(data.elevation)\n coordinates.push({ latitude: data.latitude, longitude: data.longitude })\n })\n\n return { distance_labels, duration_labels, datasets, coordinates }\n}\n\nexport const getDonutDatasets = (\n workouts: IWorkout[]\n): Record> => {\n const total = workouts.length\n if (total === 0) {\n return {}\n }\n\n const datasets: Record> = {}\n workouts.map((workout) => {\n if (!datasets[workout.sport_id]) {\n datasets[workout.sport_id] = {\n count: 0,\n percentage: 0,\n }\n }\n datasets[workout.sport_id].count += 1\n datasets[workout.sport_id].percentage =\n datasets[workout.sport_id].count / total\n })\n\n return datasets\n}\n\nexport const defaultOrder = {\n order: 'desc',\n order_by: 'workout_date',\n}\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var arrayPush = require('./_arrayPush'),\n getPrototype = require('./_getPrototype'),\n getSymbols = require('./_getSymbols'),\n stubArray = require('./stubArray');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nmodule.exports = getSymbolsIn;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScatterChart = exports.BubbleChart = exports.RadarChart = exports.PolarAreaChart = exports.PieChart = exports.LineChart = exports.DoughnutChart = exports.BarChart = exports.defineChartComponent = void 0;\nconst components_1 = require(\"./components\");\nvar components_2 = require(\"./components\");\nObject.defineProperty(exports, \"defineChartComponent\", { enumerable: true, get: function () { return components_2.defineChartComponent; } });\n__exportStar(require(\"./hooks\"), exports);\nexports.BarChart = components_1.defineChartComponent('bar-chart', 'bar');\nexports.DoughnutChart = components_1.defineChartComponent('doughnut-chart', 'doughnut');\nexports.LineChart = components_1.defineChartComponent('line-chart', 'line');\nexports.PieChart = components_1.defineChartComponent('pie-chart', 'pie');\nexports.PolarAreaChart = components_1.defineChartComponent('polar-chart', 'polarArea');\nexports.RadarChart = components_1.defineChartComponent('radar-chart', 'radar');\nexports.BubbleChart = components_1.defineChartComponent('bubble-chart', 'bubble');\nexports.ScatterChart = components_1.defineChartComponent('scatter-chart', 'scatter');\nexports.default = {\n BarChart: exports.BarChart,\n DoughnutChart: exports.DoughnutChart,\n LineChart: exports.LineChart,\n PieChart: exports.PieChart,\n PolarAreaChart: exports.PolarAreaChart,\n RadarChart: exports.RadarChart,\n BubbleChart: exports.BubbleChart,\n ScatterChart: exports.ScatterChart,\n defineChartComponent: components_1.defineChartComponent,\n};\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var capitalize = require('./capitalize'),\n createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nmodule.exports = camelCase;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var baseSlice = require('./_baseSlice');\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nmodule.exports = castSlice;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = baseToString;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nmodule.exports = unicodeToArray;\n","var castSlice = require('./_castSlice'),\n hasUnicode = require('./_hasUnicode'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nmodule.exports = createCaseFirst;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nmodule.exports = basePropertyOf;\n","// This alphabet uses `A-Za-z0-9_-` symbols. The genetic algorithm helped\n// optimize the gzip compression for this alphabet.\nlet urlAlphabet =\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\n\nexport { urlAlphabet }\n","// This file replaces `index.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nimport { urlAlphabet } from './url-alphabet/index.js'\n\nif (process.env.NODE_ENV !== 'production') {\n // All bundlers will remove this block in the production bundle.\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\n\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nlet customRandom = (alphabet, size, getRandom) => {\n // First, a bitmask is necessary to generate the ID. The bitmask makes bytes\n // values closer to the alphabet size. The bitmask calculates the closest\n // `2^31 - 1` number, which exceeds the alphabet size.\n // For example, the bitmask for the alphabet size 30 is 31 (00011111).\n // `Math.clz32` is not used, because it is not available in browsers.\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n // Though, the bitmask solution is not perfect since the bytes exceeding\n // the alphabet size are refused. Therefore, to reliably generate the ID,\n // the random bytes redundancy has to be satisfied.\n\n // Note: every hardware random generator call is performance expensive,\n // because the system call for entropy collection takes a lot of time.\n // So, to avoid additional system calls, extra bytes are requested in advance.\n\n // Next, a step determines how many random bytes to generate.\n // The number of random bytes gets decided upon the ID size, mask,\n // alphabet size, and magic number 1.6 (using 1.6 peaks at performance\n // according to benchmarks).\n\n // `-~f => Math.ceil(f)` if f is a float\n // `-~i => i + 1` if i is an integer\n let step = -~((1.6 * mask * size) / alphabet.length)\n\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let j = step\n while (j--) {\n // Adding `|| ''` refuses a random byte that exceeds the alphabet size.\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\n\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\n\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n while (size--) {\n // It is incorrect to use bytes exceeding the alphabet size.\n // The following mask reduces the random byte in the 0-255 value\n // range to the 0-63 value range. Therefore, adding hacks, such\n // as empty string fallback or magic numbers, is unneccessary because\n // the bitmask trims bytes down to the alphabet size.\n let byte = bytes[size] & 63\n if (byte < 36) {\n // `0-9a-z`\n id += byte.toString(36)\n } else if (byte < 62) {\n // `A-Z`\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\n\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var createCompounder = require('./_createCompounder'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\nvar startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n});\n\nmodule.exports = startCase;\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./NoWorkouts.vue?vue&type=style&index=0&id=26ba86c8&lang=scss&scoped=true\"","var toString = require('./toString'),\n upperFirst = require('./upperFirst');\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nmodule.exports = capitalize;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","\n\n\n","\n\n\n\n\n","\n import { defineComponent } from 'vue'\n\n export default defineComponent({\n name: 'Error',\n props: {\n title: {\n type: String,\n required: true,\n },\n message: {\n type: String,\n },\n buttonText: {\n type: String,\n },\n path: {\n type: String,\n default: '/',\n },\n },\n })\n","import { render } from \"./Error.vue?vue&type=template&id=58e20d75&scoped=true\"\nimport script from \"./Error.vue?vue&type=script&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=58e20d75&scoped=true&lang=scss\"\nscript.render = render\nscript.__scopeId = \"data-v-58e20d75\"\n\nexport default script","\n import { defineComponent } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n\n export default defineComponent({\n name: 'NotFound',\n components: {\n Error,\n },\n props: {\n target: {\n type: String,\n default: 'PAGE',\n },\n },\n })\n","import { render } from \"./NotFound.vue?vue&type=template&id=2e960d8e\"\nimport script from \"./NotFound.vue?vue&type=script&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&lang=ts\"\nscript.render = render\n\nexport default script","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/workouts.4a8b05f4.js b/fittrackee/dist/static/js/workouts.4a8b05f4.js deleted file mode 100644 index 53e93723..00000000 --- a/fittrackee/dist/static/js/workouts.4a8b05f4.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["workouts"],{"0385":function(e,t,o){"use strict";o.r(t);var r=o("7a23"),a=Object(r["withScopeId"])("data-v-499760ae");Object(r["pushScopeId"])("data-v-499760ae");var n={key:0,id:"workouts"},c={class:"container workouts-container"},l={class:"display-filters"},i={class:"list-container"};Object(r["popScopeId"])();var u=a((function(e,t,o,a,u,s){var d=Object(r["resolveComponent"])("WorkoutsFilters"),p=Object(r["resolveComponent"])("WorkoutsList");return e.authUser.username?(Object(r["openBlock"])(),Object(r["createBlock"])("div",n,[Object(r["createVNode"])("div",c,[Object(r["createVNode"])("div",{class:["filters-container",{hidden:e.hiddenFilters}]},[Object(r["createVNode"])(d,{sports:e.translatedSports,authUser:e.authUser,onFilter:e.updateParams},null,8,["sports","authUser","onFilter"])],2),Object(r["createVNode"])("div",l,[Object(r["createVNode"])("div",{onClick:t[1]||(t[1]=function(){return e.toggleFilters&&e.toggleFilters.apply(e,arguments)})},[Object(r["createVNode"])("i",{class:"fa fa-caret-".concat(e.hiddenFilters?"down":"up"),"aria-hidden":"true"},null,2),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.$t("workouts.".concat(e.hiddenFilters?"DISPLAY":"HIDE","_FILTERS"))),1)])]),Object(r["createVNode"])("div",i,[Object(r["createVNode"])(p,{user:e.authUser,params:e.params,sports:e.translatedSports},null,8,["user","params","sports"])])])])):Object(r["createCommentVNode"])("",!0)})),s=o("47e2"),d=(o("4de4"),o("caad"),o("2532"),Object(r["withScopeId"])("data-v-6d15726f"));Object(r["pushScopeId"])("data-v-6d15726f");var p={class:"workouts-filters"},b={class:"box"},O={class:"form"},j={class:"form-items-group"},m={class:"form-item"},f={class:"form-item"},k={class:"form-items-group"},g={class:"form-item"},y=Object(r["createVNode"])("option",{value:""},null,-1),w={class:"form-items-group"},h={class:"form-item"},v={class:"form-inputs-group"},N={class:"form-items-group"},S={class:"form-item"},T={class:"form-inputs-group"},D={class:"form-items-group"},V={class:"form-item"},C={class:"form-inputs-group"},_={class:"form-items-group"},E={class:"form-item"},x={class:"form-inputs-group"},A={class:"form-button"};Object(r["popScopeId"])();var B=d((function(e,t,o,a,n,c){return Object(r["openBlock"])(),Object(r["createBlock"])("div",p,[Object(r["createVNode"])("div",b,[Object(r["createVNode"])("div",O,[Object(r["createVNode"])("div",j,[Object(r["createVNode"])("div",m,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.FROM"))+": ",1),Object(r["createVNode"])("input",{name:"from",type:"date",onChange:t[1]||(t[1]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)})},null,32)]),Object(r["createVNode"])("div",f,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.TO"))+": ",1),Object(r["createVNode"])("input",{name:"to",type:"date",onChange:t[2]||(t[2]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)})},null,32)])]),Object(r["createVNode"])("div",k,[Object(r["createVNode"])("div",g,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+":",1),Object(r["createVNode"])("select",{name:"sport_id",onChange:t[3]||(t[3]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)})},[y,(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.translatedSports.filter((function(t){return e.authUser.sports_list.includes(t.id)})),(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.label),9,["value"])})),128))],32)])]),Object(r["createVNode"])("div",w,[Object(r["createVNode"])("div",h,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" (km): ",1),Object(r["createVNode"])("div",v,[Object(r["createVNode"])("input",{name:"distance_from",type:"number",min:"0",step:"1",onChange:t[4]||(t[4]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)})},null,32),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.$t("workouts.TO")),1),Object(r["createVNode"])("input",{name:"distance_to",type:"number",min:"0",step:"1",onChange:t[5]||(t[5]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)})},null,32)])])]),Object(r["createVNode"])("div",N,[Object(r["createVNode"])("div",S,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+" (km): ",1),Object(r["createVNode"])("div",T,[Object(r["createVNode"])("input",{name:"duration_from",onChange:t[6]||(t[6]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,32),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.$t("workouts.TO")),1),Object(r["createVNode"])("input",{name:"duration_to",onChange:t[7]||(t[7]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),pattern:"^([0-9]*[0-9]):([0-5][0-9])$",placeholder:"hh:mm",type:"text"},null,32)])])]),Object(r["createVNode"])("div",D,[Object(r["createVNode"])("div",V,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.AVE_SPEED"))+" (km): ",1),Object(r["createVNode"])("div",C,[Object(r["createVNode"])("input",{min:"0",name:"ave_speed_from",onChange:t[8]||(t[8]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),step:"1",type:"number"},null,32),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.$t("workouts.TO")),1),Object(r["createVNode"])("input",{min:"0",name:"ave_speed_to",onChange:t[9]||(t[9]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),step:"1",type:"number"},null,32)])])]),Object(r["createVNode"])("div",_,[Object(r["createVNode"])("div",E,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED"))+" (km): ",1),Object(r["createVNode"])("div",x,[Object(r["createVNode"])("input",{min:"0",name:"max_speed_from",onChange:t[10]||(t[10]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),step:"1",type:"number"},null,32),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.$t("workouts.TO")),1),Object(r["createVNode"])("input",{min:"0",name:"max_speed_to",onChange:t[11]||(t[11]=function(){return e.handleFilterChange&&e.handleFilterChange.apply(e,arguments)}),step:"1",type:"number"},null,32)])])])]),Object(r["createVNode"])("div",A,[Object(r["createVNode"])("button",{class:"confirm",onClick:t[12]||(t[12]=function(){return e.onFilter&&e.onFilter.apply(e,arguments)})},Object(r["toDisplayString"])(e.$t("buttons.FILTER")),1)])])])})),I=o("5530"),R=(o("b0c0"),o("1119")),L=Object(r["defineComponent"])({name:"WorkoutsFilters",props:{authUser:{type:Object,required:!0},sports:{type:Object,required:!0}},emits:["filter","filtersUpdate"],setup:function(e,t){var o=t.emit,a=Object(s["b"])(),n=a.t,c=Object(r["computed"])((function(){return Object(R["d"])(e.sports,n)})),l={};function i(e){""===e.target.value?delete l[e.target.name]:l[e.target.name]=e.target.value}function u(){o("filter",Object(I["a"])({},l))}return{translatedSports:c,onFilter:u,handleFilterChange:i}}});o("ffd66");L.render=B,L.__scopeId="data-v-6d15726f";var U=L,M=(o("b680"),o("a9e3"),Object(r["withScopeId"])("data-v-d190dd62"));Object(r["pushScopeId"])("data-v-d190dd62");var W={class:"workouts-list"},P={class:"workouts-table responsive-table"},F=Object(r["createVNode"])("th",{class:"sport-col"},null,-1),$={class:"sport-col"},G={class:"cell-heading"},z={class:"workout-title"},H={class:"cell-heading"},K={key:0,class:"fa fa-map-o","aria-hidden":"true"},q={class:"cell-heading"},Z={class:"text-right"},J={class:"cell-heading"},X={class:"text-right"},Y={class:"cell-heading"},Q={class:"text-right"},ee={class:"cell-heading"},te={class:"text-right"},oe={class:"cell-heading"},re={key:1,class:"more-workouts"},ae=Object(r["createVNode"])("div",{id:"bottom"},null,-1);Object(r["popScopeId"])();var ne=M((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("SportImage"),i=Object(r["resolveComponent"])("router-link"),u=Object(r["resolveComponent"])("StaticMap"),s=Object(r["resolveComponent"])("NoWorkouts");return Object(r["openBlock"])(),Object(r["createBlock"])("div",W,[Object(r["createVNode"])("div",{class:["box",{"empty-table":0===e.workouts.length}]},[Object(r["createVNode"])("div",P,[Object(r["createVNode"])("table",null,[Object(r["createVNode"])("thead",null,[Object(r["createVNode"])("tr",null,[F,Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",1))),1),Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.DATE"))),1),Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.DISTANCE"))),1),Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.DURATION"))),1),Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.AVE_SPEED"))),1),Object(r["createVNode"])("th",null,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.MAX_SPEED"))),1)])]),Object(r["createVNode"])("tbody",null,[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.workouts,(function(t){return Object(r["openBlock"])(),Object(r["createBlock"])("tr",{key:t.id},[Object(r["createVNode"])("td",$,[Object(r["createVNode"])("span",G,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1)),1),Object(r["createVNode"])(l,{title:e.sports.filter((function(e){return e.id===t.sport_id}))[0].translatedLabel,"sport-label":e.sports.filter((function(e){return e.id===t.sport_id}))[0].label},null,8,["title","sport-label"])]),Object(r["createVNode"])("td",z,[Object(r["createVNode"])("span",H,Object(r["toDisplayString"])(e.capitalize(e.$t("workouts.WORKOUT",1))),1),Object(r["createVNode"])(i,{class:"nav-item",to:{name:"Workout",params:{workoutId:t.id}}},{default:M((function(){return[t.with_gpx?(Object(r["openBlock"])(),Object(r["createBlock"])("i",K)):Object(r["createCommentVNode"])("",!0),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(t.title),1)]})),_:2},1032,["to"]),t.with_gpx?(Object(r["openBlock"])(),Object(r["createBlock"])(u,{key:0,workout:t,"display-hover":!0},null,8,["workout"])):Object(r["createCommentVNode"])("",!0)]),Object(r["createVNode"])("td",null,[Object(r["createVNode"])("span",q,Object(r["toDisplayString"])(e.$t("workouts.DATE")),1),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.format(e.getDateWithTZ(t.workout_date,e.user.timezone),"dd/MM/yyyy HH:mm")),1)]),Object(r["createVNode"])("td",Z,[Object(r["createVNode"])("span",J,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(Number(t.distance).toFixed(2))+" km ",1)]),Object(r["createVNode"])("td",X,[Object(r["createVNode"])("span",Y,Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(t.moving),1)]),Object(r["createVNode"])("td",Q,[Object(r["createVNode"])("span",ee,Object(r["toDisplayString"])(e.$t("workouts.AVE_SPEED")),1),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(t.ave_speed)+" km/h ",1)]),Object(r["createVNode"])("td",te,[Object(r["createVNode"])("span",oe,Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED")),1),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(t.max_speed)+" km/h ",1)])])})),128))])])])],2),0===e.workouts.length?(Object(r["openBlock"])(),Object(r["createBlock"])(s,{key:0})):Object(r["createCommentVNode"])("",!0),e.moreWorkoutsExist?(Object(r["openBlock"])(),Object(r["createBlock"])("div",re,[Object(r["createVNode"])("button",{onClick:t[1]||(t[1]=function(){return e.loadMoreWorkouts&&e.loadMoreWorkouts.apply(e,arguments)})},Object(r["toDisplayString"])(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):Object(r["createCommentVNode"])("",!0),ae])})),ce=o("1da1"),le=(o("96cf"),o("b166")),ie=o("68c6"),ue=o("1724"),se=o("dad5"),de=o("2906"),pe=o("5e65"),be=Object(r["defineComponent"])({name:"WorkoutsList",components:{NoWorkouts:ue["a"],StaticMap:ie["a"]},props:{params:{type:Object,required:!0},user:{type:Object,required:!0},sports:{type:Object}},setup:function(e){var t=Object(de["a"])(),o=Object(r["computed"])((function(){return t.getters[se["f"].GETTERS.USER_WORKOUTS]})),a=10,n=Object(r["ref"])(1),c=Object(r["computed"])((function(){return o.value.length>0&&null!==o.value[o.value.length-1].previous_workout}));function l(){n.value=1,t.dispatch(se["f"].ACTIONS.GET_USER_WORKOUTS,Object(I["a"])({page:n.value,per_page:a},e.params))}function i(){n.value+=1,t.dispatch(se["f"].ACTIONS.GET_MORE_USER_WORKOUTS,Object(I["a"])({page:n.value,per_page:a},e.params))}return Object(r["onBeforeMount"])((function(){l()})),Object(r["watch"])((function(){return e.params}),Object(ce["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:l();case 1:case"end":return e.stop()}}),e)})))),{moreWorkoutsExist:c,workouts:o,capitalize:r["capitalize"],format:le["a"],getDateWithTZ:pe["c"],loadMoreWorkouts:i}}});o("5ab5");be.render=ne,be.__scopeId="data-v-d190dd62";var Oe=be,je=Object(r["defineComponent"])({name:"WorkoutsView",components:{WorkoutsFilters:U,WorkoutsList:Oe},setup:function(){var e=Object(s["b"])(),t=e.t,o=Object(de["a"])(),a=Object(r["computed"])((function(){return o.getters[se["e"].GETTERS.AUTH_USER_PROFILE]})),n=Object(r["computed"])((function(){return o.getters[se["b"].GETTERS.SPORTS]})),c=Object(r["computed"])((function(){return Object(R["d"])(n.value,t)})),l=Object(r["ref"])({}),i=Object(r["ref"])(!0);function u(e){l.value=e,i.value=!0}function d(){i.value=!i.value}return{authUser:a,hiddenFilters:i,params:l,translatedSports:c,toggleFilters:d,updateParams:u}}});o("d3d3");je.render=u,je.__scopeId="data-v-499760ae";t["default"]=je},"18ac":function(e,t,o){},2794:function(e,t,o){"use strict";o("3854")},"2de4":function(e,t,o){},"304a":function(e,t,o){"use strict";o.r(t);var r=o("7a23"),a=Object(r["withScopeId"])("data-v-a4156454");Object(r["pushScopeId"])("data-v-a4156454");var n={id:"workout"},c={class:"container"},l={key:0,class:"workout-container"},i={key:0},u=Object(r["createVNode"])("div",{id:"bottom"},null,-1),s={key:1};Object(r["popScopeId"])();var d=a((function(e,t,o,a,d,p){var b=Object(r["resolveComponent"])("WorkoutDetail"),O=Object(r["resolveComponent"])("WorkoutChart"),j=Object(r["resolveComponent"])("WorkoutSegments"),m=Object(r["resolveComponent"])("WorkoutNotes"),f=Object(r["resolveComponent"])("NotFound");return Object(r["openBlock"])(),Object(r["createBlock"])("div",n,[Object(r["createVNode"])("div",c,[e.sports.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])("div",l,[e.workoutData.workout.id?(Object(r["openBlock"])(),Object(r["createBlock"])("div",i,[Object(r["createVNode"])(b,{workoutData:e.workoutData,sports:e.sports,authUser:e.authUser,markerCoordinates:e.markerCoordinates,displaySegment:e.displaySegment},null,8,["workoutData","sports","authUser","markerCoordinates","displaySegment"]),e.workoutData.workout.with_gpx&&e.workoutData.chartData.length>0?(Object(r["openBlock"])(),Object(r["createBlock"])(O,{key:0,workoutData:e.workoutData,authUser:e.authUser,displaySegment:e.displaySegment,onGetCoordinates:e.updateCoordinates},null,8,["workoutData","authUser","displaySegment","onGetCoordinates"])):Object(r["createCommentVNode"])("",!0),!e.displaySegment&&e.workoutData.workout.segments.length>1?(Object(r["openBlock"])(),Object(r["createBlock"])(j,{key:1,segments:e.workoutData.workout.segments},null,8,["segments"])):Object(r["createCommentVNode"])("",!0),e.displaySegment?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(m,{key:2,notes:e.workoutData.workout.notes},null,8,["notes"])),u])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",s,[e.workoutData.loading?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])(f,{key:0,target:"WORKOUT"}))]))])):Object(r["createCommentVNode"])("",!0)])])})),p=o("1da1"),b=(o("96cf"),o("6c02")),O=o("f7f9"),j=Object(r["withScopeId"])("data-v-2230775e");Object(r["pushScopeId"])("data-v-2230775e");var m={id:"workout-chart"},f={class:"chart-radio"},k={class:"no-data-cleaning"};Object(r["popScopeId"])();var g=j((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("LineChart"),i=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createBlock"])("div",m,[Object(r["createVNode"])(i,null,{title:j((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.ANALYSIS")),1)]})),content:j((function(){return[Object(r["createVNode"])("div",f,[Object(r["createVNode"])("label",null,[Object(r["createVNode"])("input",{type:"radio",name:"distance",checked:e.displayDistance,onClick:t[1]||(t[1]=function(){return e.updateDisplayDistance&&e.updateDisplayDistance.apply(e,arguments)})},null,8,["checked"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE")),1)]),Object(r["createVNode"])("label",null,[Object(r["createVNode"])("input",{type:"radio",name:"duration",checked:!e.displayDistance,onClick:t[2]||(t[2]=function(){return e.updateDisplayDistance&&e.updateDisplayDistance.apply(e,arguments)})},null,8,["checked"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION")),1)])]),Object(r["createVNode"])(l,Object(r["mergeProps"])(e.lineChartProps,{class:"line-chart",onMouseleave:e.emitEmptyCoordinates}),null,16,["onMouseleave"]),Object(r["createVNode"])("div",k,Object(r["toDisplayString"])(e.$t("workouts.NO_DATA_CLEANING")),1)]})),_:1})])})),y=o("ade3"),w=(o("b680"),o("a9e3"),o("99af"),o("ac1f"),o("5319"),o("b48c")),h=o("47e2"),v=o("9230"),N=Object(r["defineComponent"])({name:"WorkoutChart",components:{LineChart:w["LineChart"]},props:{authUser:{type:Object,required:!0},workoutData:{type:Object,required:!0}},emits:["getCoordinates"],setup:function(e,t){var o=t.emit,a=Object(h["b"])(),n=a.t,c=Object(r["ref"])(!0),l=Object(r["computed"])((function(){return Object(v["a"])(e.workoutData.chartData,n)})),i=Object(r["computed"])((function(){return{labels:c.value?l.value.distance_labels:l.value.duration_labels,datasets:JSON.parse(JSON.stringify([l.value.datasets.speed,l.value.datasets.elevation]))}})),u=Object(r["computed"])((function(){return l.value.coordinates})),s=Object(r["computed"])((function(){var e;return{responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:22}},scales:(e={},Object(y["a"])(e,c.value?"xDistance":"xDuration",{grid:{drawOnChartArea:!1},ticks:{count:10,callback:function(e){return c.value?Number(e).toFixed(2):p(e)}},type:"linear",bounds:"data",title:{display:!0,text:c.value?n("workouts.DISTANCE")+" (km)":n("workouts.DURATION")}}),Object(y["a"])(e,"ySpeed",{grid:{drawOnChartArea:!1},position:"left",title:{display:!0,text:n("workouts.SPEED")+" (km/h)"}}),Object(y["a"])(e,"yElevation",{beginAtZero:!0,grid:{drawOnChartArea:!1},position:"right",title:{display:!0,text:n("workouts.ELEVATION")+" (m)"}}),e),elements:{point:{pointStyle:"circle",pointRadius:0}},plugins:{datalabels:{display:!1},tooltip:{interaction:{intersect:!1,mode:"index"},callbacks:{label:function(e){var t=" ".concat(e.dataset.label,": ").concat(e.formattedValue);return"yElevation"===e.dataset.yAxisID?t+" m":t+" km/h"},title:function(e){return e.length>0&&b(u.value[e[0].dataIndex]),0===e.length?"":c.value?"".concat(n("workouts.DISTANCE"),": ").concat(e[0].label," km"):"".concat(n("workouts.DURATION"),": ").concat(p(e[0].label.replace(",","")))}}}}}}));function d(){c.value=!c.value}function p(e){return new Date(1e3*+e).toISOString().substr(11,8)}function b(e){o("getCoordinates",e)}function O(){b({latitude:null,longitude:null})}var j=Object(w["useLineChart"])({chartData:i,options:s}),m=j.lineChartProps;return{displayDistance:c,lineChartProps:m,emitEmptyCoordinates:O,updateDisplayDistance:d}}});o("5687");N.render=g,N.__scopeId="data-v-2230775e";var S=N,T=Object(r["withScopeId"])("data-v-a17554ea");Object(r["pushScopeId"])("data-v-a17554ea");var D={class:"workout-detail"};Object(r["popScopeId"])();var V=T((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("Modal"),i=Object(r["resolveComponent"])("WorkoutCardTitle"),u=Object(r["resolveComponent"])("WorkoutMap"),s=Object(r["resolveComponent"])("WorkoutData"),d=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createBlock"])("div",D,[e.displayModal?(Object(r["openBlock"])(),Object(r["createBlock"])(l,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("workouts.WORKOUT_DELETION_CONFIRMATION"),onConfirmAction:t[1]||(t[1]=function(t){return e.deleteWorkout(e.workoutObject.workoutId)}),onCancelAction:t[2]||(t[2]=function(t){return e.updateDisplayModal(!1)})},null,8,["title","message"])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(d,null,{title:T((function(){return[Object(r["createVNode"])(i,{sport:e.sport,workoutObject:e.workoutObject,onDisplayModal:t[3]||(t[3]=function(t){return e.updateDisplayModal(!0)})},null,8,["sport","workoutObject"])]})),content:T((function(){return[Object(r["createVNode"])(u,{workoutData:e.workoutData,markerCoordinates:e.markerCoordinates},null,8,["workoutData","markerCoordinates"]),Object(r["createVNode"])(s,{workoutObject:e.workoutObject},null,8,["workoutObject"])]})),_:1})])})),C=(o("7db0"),Object(r["withScopeId"])("data-v-9cab340c"));Object(r["pushScopeId"])("data-v-9cab340c");var _={id:"workout-card-title"},E=Object(r["createVNode"])("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),x={class:"workout-card-title"},A={class:"workout-title-date"},B={key:0,class:"workout-title"},I={key:1,class:"workout-title"},R={class:"workout-segment"},L=Object(r["createTextVNode"])(" — "),U=Object(r["createVNode"])("i",{class:"fa fa-map-marker","aria-hidden":"true"},null,-1),M={class:"workout-date"},W={class:"workout-link"},P=Object(r["createVNode"])("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1);Object(r["popScopeId"])();var F=C((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("SportImage"),i=Object(r["resolveComponent"])("router-link");return Object(r["openBlock"])(),Object(r["createBlock"])("div",_,[Object(r["createVNode"])("div",{class:["workout-previous workout-arrow",{inactive:!e.workoutObject.previousUrl}],title:e.workoutObject.previousUrl?e.$t("workouts.PREVIOUS_".concat(e.workoutObject.type)):e.$t("workouts.NO_PREVIOUS_".concat(e.workoutObject.type)),onClick:t[1]||(t[1]=function(t){return e.workoutObject.previousUrl?e.$router.push(e.workoutObject.previousUrl):null})},[E],10,["title"]),Object(r["createVNode"])("div",x,[Object(r["createVNode"])(l,{"sport-label":e.sport.label},null,8,["sport-label"]),Object(r["createVNode"])("div",A,["WORKOUT"===e.workoutObject.type?(Object(r["openBlock"])(),Object(r["createBlock"])("div",B,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.workoutObject.title)+" ",1),Object(r["createVNode"])("i",{class:"fa fa-edit","aria-hidden":"true",onClick:t[2]||(t[2]=function(t){return e.$router.push({name:"EditWorkout",params:{workoutId:e.workoutObject.workoutId}})})}),Object(r["createVNode"])("i",{class:"fa fa-trash","aria-hidden":"true",onClick:t[3]||(t[3]=function(t){return e.emit("displayModal",!0)})})])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",I,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.workoutObject.title)+" ",1),Object(r["createVNode"])("span",R,[L,U,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.SEGMENT"))+" "+Object(r["toDisplayString"])(e.workoutObject.segmentId+1),1)])])),Object(r["createVNode"])("div",M,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.workoutObject.workoutDate)+" - "+Object(r["toDisplayString"])(e.workoutObject.workoutTime)+" ",1),Object(r["createVNode"])("span",W,["SEGMENT"===e.workoutObject.type?(Object(r["openBlock"])(),Object(r["createBlock"])(i,{key:0,to:{name:"Workout",params:{workoutId:e.workoutObject.workoutId}}},{default:C((function(){return[Object(r["createTextVNode"])(" > "+Object(r["toDisplayString"])(e.$t("workouts.BACK_TO_WORKOUT")),1)]})),_:1},8,["to"])):Object(r["createCommentVNode"])("",!0)])])])]),Object(r["createVNode"])("div",{class:["workout-next workout-arrow",{inactive:!e.workoutObject.nextUrl}],title:e.workoutObject.nextUrl?e.$t("workouts.NEXT_".concat(e.workoutObject.type)):e.$t("workouts.NO_NEXT_".concat(e.workoutObject.type)),onClick:t[4]||(t[4]=function(t){return e.workoutObject.nextUrl?e.$router.push(e.workoutObject.nextUrl):null})},[P],10,["title"])])})),$=Object(r["defineComponent"])({name:"WorkoutCardTitle",props:{sport:{type:Object,required:!0},workoutObject:{type:Object,required:!0}},emits:["displayModal"],setup:function(e,t){var o=t.emit;return{emit:o}}});o("5910");$.render=F,$.__scopeId="data-v-9cab340c";var G=$,z=Object(r["withScopeId"])("data-v-45a7f031");Object(r["pushScopeId"])("data-v-45a7f031");var H={id:"workout-info"},K={class:"workout-data"},q=Object(r["createVNode"])("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1),Z={key:0},J={class:"workout-data"},X=Object(r["createVNode"])("i",{class:"fa fa-road","aria-hidden":"true"},null,-1),Y={class:"workout-data"},Q=Object(r["createVNode"])("i",{class:"fa fa-tachometer","aria-hidden":"true"},null,-1),ee=Object(r["createVNode"])("br",null,null,-1),te={key:0,class:"workout-data"},oe=Object(r["createVNode"])("br",null,null,-1),re={key:1,class:"workout-data"},ae=Object(r["createVNode"])("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1),ne=Object(r["createVNode"])("br",null,null,-1);Object(r["popScopeId"])();var ce=z((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("WorkoutRecord"),i=Object(r["resolveComponent"])("WorkoutWeather");return Object(r["openBlock"])(),Object(r["createBlock"])("div",H,[Object(r["createVNode"])("div",K,[q,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.moving),1),Object(r["createVNode"])(l,{workoutObject:e.workoutObject,record_type:"LD"},null,8,["workoutObject"]),e.withPause?(Object(r["openBlock"])(),Object(r["createBlock"])("div",Z,[Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.PAUSES"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.pauses),1),Object(r["createTextVNode"])(" - "+Object(r["toDisplayString"])(e.$t("workouts.TOTAL_DURATION"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.duration)+")",1)])):Object(r["createCommentVNode"])("",!0)]),Object(r["createVNode"])("div",J,[X,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.distance)+" km",1),Object(r["createVNode"])(l,{workoutObject:e.workoutObject,record_type:"FD"},null,8,["workoutObject"])]),Object(r["createVNode"])("div",Y,[Q,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.AVERAGE_SPEED"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.aveSpeed)+" km/h",1),Object(r["createVNode"])(l,{workoutObject:e.workoutObject,record_type:"AS"},null,8,["workoutObject"]),ee,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.MAX_SPEED"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.maxSpeed)+" km/h",1),Object(r["createVNode"])(l,{workoutObject:e.workoutObject,record_type:"MS"},null,8,["workoutObject"])]),null!==e.workoutObject.maxAlt&&null!==e.workoutObject.minAlt?(Object(r["openBlock"])(),Object(r["createBlock"])("div",te,[Object(r["createVNode"])("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,["alt"]),Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.MIN_ALTITUDE"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.minAlt)+" m",1),oe,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.MAX_ALTITUDE"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.maxAlt)+" m",1)])):Object(r["createCommentVNode"])("",!0),null!==e.workoutObject.ascent&&null!==e.workoutObject.descent?(Object(r["openBlock"])(),Object(r["createBlock"])("div",re,[ae,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.ASCENT"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.ascent)+" m",1),ne,Object(r["createTextVNode"])(" "+Object(r["toDisplayString"])(e.$t("workouts.DESCENT"))+": ",1),Object(r["createVNode"])("span",null,Object(r["toDisplayString"])(e.workoutObject.descent)+" m",1)])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])(i,{workoutObject:e.workoutObject},null,8,["workoutObject"])])})),le=Object(r["withScopeId"])("data-v-da96984c");Object(r["pushScopeId"])("data-v-da96984c");var ie={key:0,class:"workout-record"},ue=Object(r["createVNode"])("sup",null,[Object(r["createVNode"])("i",{class:"fa fa-trophy","aria-hidden":"true"})],-1);Object(r["popScopeId"])();var se=le((function(e,t,o,a,n,c){return e.workoutObject.records&&e.workoutObject.records.find((function(t){return t.record_type===e.record_type}))?(Object(r["openBlock"])(),Object(r["createBlock"])("span",ie,[ue])):Object(r["createCommentVNode"])("",!0)})),de=Object(r["defineComponent"])({name:"WorkoutRecord",props:{record_type:{type:String,required:!0},workoutObject:{type:Object,required:!0}}});o("bfb4");de.render=se,de.__scopeId="data-v-da96984c";var pe=de,be=Object(r["withScopeId"])("data-v-7eb41918");Object(r["pushScopeId"])("data-v-7eb41918");var Oe={key:0,id:"workout-weather"},je={class:"weather-table"},me=Object(r["createVNode"])("th",null,null,-1),fe={class:"weather-th"},ke={class:"weather-th"};Object(r["popScopeId"])();var ge=be((function(e,t,o,a,n,c){return e.workoutObject.weatherStart&&e.workoutObject.weatherEnd?(Object(r["openBlock"])(),Object(r["createBlock"])("div",Oe,[Object(r["createVNode"])("table",je,[Object(r["createVNode"])("thead",null,[Object(r["createVNode"])("tr",null,[me,Object(r["createVNode"])("th",null,[Object(r["createVNode"])("div",fe,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.START"))+" ",1),Object(r["createVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(e.workoutObject.weatherStart.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(e.workoutObject.weatherStart.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(e.workoutObject.weatherStart.icon))},null,8,["src","alt","title"])])]),Object(r["createVNode"])("th",null,[Object(r["createVNode"])("div",ke,[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.END"))+" ",1),Object(r["createVNode"])("img",{class:"weather-img",src:"/img/weather/".concat(e.workoutObject.weatherEnd.icon,".svg"),alt:e.$t("workouts.WEATHER.DARK_SKY.".concat(e.workoutObject.weatherEnd.icon)),title:e.$t("workouts.WEATHER.DARK_SKY.".concat(e.workoutObject.weatherEnd.icon))},null,8,["src","alt","title"])])])])]),Object(r["createVNode"])("tbody",null,[Object(r["createVNode"])("tr",null,[Object(r["createVNode"])("td",null,[Object(r["createVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/temperature.svg",alt:e.$t("workouts.WEATHER.TEMPERATURE"),title:e.$t("workouts.WEATHER.TEMPERATURE")},null,8,["alt","title"])]),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(e.workoutObject.weatherStart.temperature).toFixed(1))+"°C ",1),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(e.workoutObject.weatherEnd.temperature).toFixed(1))+"°C ",1)]),Object(r["createVNode"])("tr",null,[Object(r["createVNode"])("td",null,[Object(r["createVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/pour-rain.svg",alt:e.$t("workouts.WEATHER.HUMIDITY"),title:e.$t("workouts.WEATHER.HUMIDITY")},null,8,["alt","title"])]),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(100*e.workoutObject.weatherStart.humidity).toFixed(1))+"% ",1),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(100*e.workoutObject.weatherEnd.humidity).toFixed(1))+"% ",1)]),Object(r["createVNode"])("tr",null,[Object(r["createVNode"])("td",null,[Object(r["createVNode"])("img",{class:"weather-img weather-img-small",src:"/img/weather/breeze.svg",alt:e.$t("workouts.WEATHER.WIND"),title:e.$t("workouts.WEATHER.WIND")},null,8,["alt","title"])]),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(e.workoutObject.weatherStart.wind).toFixed(1))+"m/s",1),Object(r["createVNode"])("td",null,Object(r["toDisplayString"])(Number(e.workoutObject.weatherEnd.wind).toFixed(1))+"m/s",1)])])])])):Object(r["createCommentVNode"])("",!0)})),ye=Object(r["defineComponent"])({name:"WorkoutWeather",props:{workoutObject:{type:Object,required:!0}}});o("6595");ye.render=ge,ye.__scopeId="data-v-7eb41918";var we=ye,he=Object(r["defineComponent"])({name:"WorkoutData",components:{WorkoutRecord:pe,WorkoutWeather:we},props:{workoutObject:{type:Object,required:!0}},setup:function(e){return{withPause:Object(r["computed"])((function(){return"0:00:00"!==e.workoutObject.pauses&&null!==e.workoutObject.pauses}))}}});o("c04f");he.render=ce,he.__scopeId="data-v-45a7f031";var ve=he,Ne=Object(r["withScopeId"])("data-v-76f3a2e8");Object(r["pushScopeId"])("data-v-76f3a2e8");var Se={id:"workout-map"},Te={key:0,class:"leaflet-container"},De={key:1},Ve={key:0,class:"leaflet-container"},Ce={key:1,class:"no-map"};Object(r["popScopeId"])();var _e=Ne((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("LTileLayer"),i=Object(r["resolveComponent"])("LGeoJson"),u=Object(r["resolveComponent"])("LMarker"),s=Object(r["resolveComponent"])("LMap");return Object(r["openBlock"])(),Object(r["createBlock"])("div",Se,[e.workoutData.loading?(Object(r["openBlock"])(),Object(r["createBlock"])("div",Te)):(Object(r["openBlock"])(),Object(r["createBlock"])("div",De,[e.workoutData.workout.with_gpx?(Object(r["openBlock"])(),Object(r["createBlock"])("div",Ve,[e.geoJson.jsonData&&e.center&&2===e.bounds.length?(Object(r["openBlock"])(),Object(r["createBlock"])(s,{key:0,zoom:13,center:e.center,bounds:e.bounds,ref:"workoutMap",onReady:t[1]||(t[1]=function(t){return e.fitBounds(e.bounds)})},{default:Ne((function(){return[Object(r["createVNode"])(l,{url:"".concat(e.getApiUrl(),"workouts/map_tile/{s}/{z}/{x}/{y}.png"),attribution:e.appConfig.map_attribution,bounds:e.bounds},null,8,["url","attribution","bounds"]),Object(r["createVNode"])(i,{geojson:e.geoJson.jsonData},null,8,["geojson"]),e.markerCoordinates.latitude?(Object(r["openBlock"])(),Object(r["createBlock"])(u,{key:0,"lat-lng":[e.markerCoordinates.latitude,e.markerCoordinates.longitude]},null,8,["lat-lng"])):Object(r["createCommentVNode"])("",!0)]})),_:1},8,["center","bounds"])):Object(r["createCommentVNode"])("",!0)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",Ce,Object(r["toDisplayString"])(e.$t("workouts.NO_MAP")),1))]))])})),Ee=o("e94f"),xe=o("5afd"),Ae=o("dad5"),Be=o("2906"),Ie=o("d257"),Re=Object(r["defineComponent"])({name:"WorkoutMap",components:{LGeoJson:xe["a"],LMap:xe["b"],LMarker:xe["c"],LTileLayer:xe["d"]},props:{workoutData:{type:Object},markerCoordinates:{type:Object,required:!1}},setup:function(e){var t=Object(Be["a"])();function o(e){if(!e||""!==e)try{var t=Object(Ee["gpx"])((new DOMParser).parseFromString(e,"text/xml"));return{jsonData:t}}catch(o){return console.error("Invalid gpx content"),{}}return{}}function a(e){return[(e.value[0][0]+e.value[1][0])/2,(e.value[0][1]+e.value[1][1])/2]}function n(e){var t,o;null!==(t=c.value)&&void 0!==t&&t.leafletObject&&(null===(o=c.value)||void 0===o||o.leafletObject.fitBounds(e))}var c=Object(r["ref"])(null),l=Object(r["computed"])((function(){return e.workoutData?[[e.workoutData.workout.bounds[0],e.workoutData.workout.bounds[1]],[e.workoutData.workout.bounds[2],e.workoutData.workout.bounds[3]]]:[]})),i=Object(r["computed"])((function(){return t.getters[Ae["a"].GETTERS.APP_CONFIG]})),u=Object(r["computed"])((function(){return a(l)})),s=Object(r["computed"])((function(){return e.workoutData&&e.workoutData.gpx?o(e.workoutData.gpx):{}}));return{appConfig:i,bounds:l,center:u,geoJson:s,workoutMap:c,fitBounds:n,getApiUrl:Ie["a"]}}});o("2794");Re.render=_e,Re.__scopeId="data-v-76f3a2e8";var Le=Re,Ue=o("5e65"),Me=Object(r["defineComponent"])({name:"WorkoutDetail",components:{WorkoutCardTitle:G,WorkoutData:ve,WorkoutMap:Le},props:{authUser:{type:Object,required:!0},displaySegment:{type:Boolean,required:!0},markerCoordinates:{type:Object,required:!1},sports:{type:Object},workoutData:{type:Object,required:!0}},setup:function(e){var t=Object(b["c"])(),o=Object(Be["a"])();function a(e,t,o){var r=t&&o&&1!==o?"/workouts/".concat(e.id,"/segment/").concat(o-1):!t&&e.previous_workout?"/workouts/".concat(e.previous_workout):null,a=t&&o&&o0&&u.value?i.value.segments[+u.value-1]:null})),d=Object(r["ref"])(!1);return Object(r["watch"])((function(){return t.params.segmentId}),function(){var e=Object(p["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t&&(u.value=+t);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),{sport:Object(r["computed"])((function(){return e.sports?e.sports.find((function(t){return t.id===e.workoutData.workout.sport_id})):{}})),workoutObject:Object(r["computed"])((function(){return n(i.value,s.value)})),displayModal:d,deleteWorkout:l,updateDisplayModal:c}}});o("c2ce");Me.render=V,Me.__scopeId="data-v-a17554ea";var We=Me,Pe=Object(r["withScopeId"])("data-v-5c47d30a");Object(r["pushScopeId"])("data-v-5c47d30a");var Fe={id:"workout-note"};Object(r["popScopeId"])();var $e=Pe((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createBlock"])("div",Fe,[Object(r["createVNode"])(l,null,{title:Pe((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.NOTES")),1)]})),content:Pe((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.notes&&""!==e.notes?e.notes:e.$t("workouts.NO_NOTES")),1)]})),_:1})])})),Ge=Object(r["defineComponent"])({name:"WorkoutNotes",props:{notes:{type:String,required:!1}}});o("42ec");Ge.render=$e,Ge.__scopeId="data-v-5c47d30a";var ze=Ge,He=Object(r["withScopeId"])("data-v-5c40d110");Object(r["pushScopeId"])("data-v-5c40d110");var Ke={id:"workout-segments"};Object(r["popScopeId"])();var qe=He((function(e,t,o,a,n,c){var l=Object(r["resolveComponent"])("router-link"),i=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createBlock"])("div",Ke,[Object(r["createVNode"])(i,null,{title:He((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",2)),1)]})),content:He((function(){return[Object(r["createVNode"])("ul",null,[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.segments,(function(t,o){return Object(r["openBlock"])(),Object(r["createBlock"])("li",{key:t.segment_id},[Object(r["createVNode"])(l,{to:{name:"WorkoutSegment",params:{workoutId:t.workout_id,segmentId:o+1}}},{default:He((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.SEGMENT",1))+" "+Object(r["toDisplayString"])(o+1),1)]})),_:2},1032,["to"]),Object(r["createTextVNode"])(" ("+Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+": "+Object(r["toDisplayString"])(t.distance)+" km, "+Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+": "+Object(r["toDisplayString"])(t.duration)+") ",1)])})),128))])]})),_:1})])})),Ze=Object(r["defineComponent"])({name:"WorkoutSegments",props:{segments:{type:Object,required:!0}}});o("628e");Ze.render=qe,Ze.__scopeId="data-v-5c40d110";var Je=Ze,Xe=Object(r["defineComponent"])({name:"Workout",components:{NotFound:O["a"],WorkoutChart:S,WorkoutDetail:We,WorkoutNotes:ze,WorkoutSegments:Je},props:{displaySegment:{type:Boolean,required:!0}},setup:function(e){var t=Object(b["c"])(),o=Object(Be["a"])();Object(r["onBeforeMount"])((function(){var r={workoutId:t.params.workoutId};e.displaySegment&&(r.segmentId=t.params.segmentId),o.dispatch(Ae["f"].ACTIONS.GET_WORKOUT_DATA,r)}));var a=Object(r["computed"])((function(){return o.getters[Ae["f"].GETTERS.WORKOUT_DATA]})),n=Object(r["computed"])((function(){return o.getters[Ae["e"].GETTERS.AUTH_USER_PROFILE]})),c=Object(r["computed"])((function(){return o.getters[Ae["b"].GETTERS.SPORTS]})),l=Object(r["ref"])({latitude:null,longitude:null});function i(e){l.value={latitude:e.latitude,longitude:e.longitude}}return Object(r["watch"])((function(){return t.params.workoutId}),function(){var e=Object(p["a"])(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t&&o.dispatch(Ae["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:t});case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Object(r["watch"])((function(){return t.params.segmentId}),function(){var e=Object(p["a"])(regeneratorRuntime.mark((function e(r){var a;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t.params.workoutId&&(a={workoutId:t.params.workoutId},r&&(a.segmentId=r),o.dispatch(Ae["f"].ACTIONS.GET_WORKOUT_DATA,a));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Object(r["onUnmounted"])((function(){o.commit(Ae["f"].MUTATIONS.EMPTY_WORKOUT)})),{authUser:n,markerCoordinates:l,sports:c,workoutData:a,updateCoordinates:i}}});o("5be4");Xe.render=d,Xe.__scopeId="data-v-a4156454";t["default"]=Xe},3854:function(e,t,o){},"42ec":function(e,t,o){"use strict";o("8300")},5687:function(e,t,o){"use strict";o("bef2")},5910:function(e,t,o){"use strict";o("b76e")},"5ab5":function(e,t,o){"use strict";o("86b9")},"5afd":function(e,t,o){"use strict";(function(e){o.d(t,"a",(function(){return V})),o.d(t,"b",(function(){return x})),o.d(t,"c",(function(){return I})),o.d(t,"d",(function(){return P}));var r=o("7a23");const a=(e,t)=>{let o;return function(...r){const a=this;o&&clearTimeout(o),o=setTimeout(()=>{e.apply(a,r),o=null},t)}},n=e=>e&&"function"===typeof e.charAt?e.charAt(0).toUpperCase()+e.slice(1):e,c=(e,t,o)=>{for(const a in o){const c="set"+n(a);e[c]?Object(r["watch"])(()=>o[a],(t,o)=>{e[c](t,o)}):t[c]&&Object(r["watch"])(()=>o[a],e=>{t[c](e)})}},l=e=>{const t={};for(const o in e)if(o.startsWith("on")&&!o.startsWith("onUpdate")&&"onReady"!==o){const r=o.slice(2).toLocaleLowerCase();t[r]=e[o]}return t},i=async e=>{const t=await Promise.all([o.e("chunk-2d0c9189").then(o.t.bind(null,"584d",7)),o.e("chunk-2d0cf391").then(o.t.bind(null,"6397",7)),o.e("chunk-2d22523a").then(o.t.bind(null,"e2b9",7))]);delete e.Default.prototype._getIconUrl,e.Default.mergeOptions({iconRetinaUrl:t[0].default,iconUrl:t[1].default,shadowUrl:t[2].default})},u=e=>{const t=Object(r["ref"])(()=>console.warn(`Method ${e} has been invoked without being replaced`)),o=(...e)=>t.value(...e);return o.wrapped=t,Object(r["provide"])(e,o),o},s=(e,t)=>e.wrapped.value=t,d="object"===typeof self&&self.self===self&&self||"object"===typeof e&&e.global===e&&e||void 0,p="useGlobalLeaflet",b={options:{type:Object,default:()=>({})}},O=e=>({options:e.options,methods:{}}),j={...b,pane:{type:String,default:"overlayPane"},attribution:{type:String,default:null},name:{type:String,custom:!0,default:void 0},layerType:{type:String,custom:!0,default:void 0},visible:{type:Boolean,custom:!0,default:!0}},m=(e,t,o)=>{const a=Object(r["inject"])("addLayer"),n=Object(r["inject"])("removeLayer"),{options:c,methods:l}=O(e),i={...c,attribution:e.attribution,pane:e.pane},u=()=>a({leafletObject:t.value}),s=()=>n({leafletObject:t.value}),d={...l,setAttribution(e,t){const o=this.$parent.leafletObject.attributionControl;o.removeAttribution(t).addAttribution(e)},setName(){s(),e.visible&&u()},setLayerType(){s(),e.visible&&u()},setVisible(e){t.value&&(e?u():s())},bindPopup({leafletObject:e}){t.value.bindPopup(e)},bindTooltip({leafletObject:e}){t.value.bindTooltip(e)},unbindTooltip(){const e=t.value?t.value.getTooltip():null;e&&e.unbindTooltip()},unbindPopup(){const e=t.value?t.value.getPopup():null;e&&e.unbindPopup()},updateVisibleProp(e){o.emit("update:visible",e)}};return Object(r["provide"])("bindPopup",d.bindPopup),Object(r["provide"])("bindTooltip",d.bindTooltip),Object(r["provide"])("unbindTooltip",d.unbindTooltip),Object(r["provide"])("unbindPopup",d.unbindPopup),Object(r["onUnmounted"])(()=>{d.unbindPopup(),d.unbindTooltip(),s()}),{options:i,methods:d}},f=(e,t)=>{if(e&&t.default)return Object(r["h"])("div",{style:{display:"none"}},t.default())},k={...b,interactive:{type:Boolean,default:!0},bubblingMouseEvents:{type:Boolean,default:!0}},g={...j,...k,stroke:{type:Boolean,custom:!0,default:!0},color:{type:String,custom:!0,default:"#3388ff"},weight:{type:Number,custom:!0,default:3},opacity:{type:Number,custom:!0,default:1},lineCap:{type:String,custom:!0,default:"round"},lineJoin:{type:String,custom:!0,default:"round"},dashArray:{type:String,custom:!0,default:null},dashOffset:{type:String,custom:!0,default:null},fill:{type:Boolean,custom:!0,default:!1},fillColor:{type:String,custom:!0,default:"#3388ff"},fillOpacity:{type:Number,custom:!0,default:.2},fillRule:{type:String,custom:!0,default:"evenodd"},className:{type:String,custom:!0,default:null}},y={...g,latLng:{type:[Object,Array],custom:!0,default:null},radius:{type:Number,default:null}};const w={...b,position:{type:String,default:"topright"}},h=(e,t)=>{const{options:o,methods:a}=O(e),n={...o,position:e.position},c={...a,setPosition(e){t.value&&t.value.setPosition(e)}};return Object(r["onUnmounted"])(()=>{t.value&&t.value.remove()}),{options:n,methods:c}},v=e=>e.default?Object(r["h"])("div",{ref:"root"},e.default()):null;Boolean,Boolean;Boolean,Boolean,Boolean,Boolean;Boolean,Boolean,Boolean;const N={...j},S=(e,t,o)=>{const{options:a,methods:n}=m(e,t,o),c={...a},l={...n,addLayer(e){t.value.addLayer(e.leafletObject)},removeLayer(e){t.value.removeLayer(e.leafletObject)}};return Object(r["provide"])("addLayer",l.addLayer),Object(r["provide"])("removeLayer",l.removeLayer),{options:c,methods:l}};const T={...N,geojson:{type:[Object,Array],default:()=>({})}},D=(e,t)=>{const{options:o,methods:r}=S(e,t),a={...o,...e},n={...r,setGeojson(e){t.value.clearLayers(),t.value.addData(e)},getGeoJSONData(){return t.value.toGeoJSON()},getBounds(){return t.value.getBounds()}};return{options:a,methods:n}};var V={props:T,setup(e,t){const a=Object(r["ref"])({}),n=Object(r["ref"])(!1),i=Object(r["inject"])(p),u=Object(r["inject"])("addLayer"),{methods:s,options:b}=D(e,a);return Object(r["onMounted"])(async()=>{const{geoJSON:p,DomEvent:O}=i?d.L:await o.e("chunk-2d0da8f3").then(o.bind(null,"6bb3"));a.value=p(e.geojson,b);const j=l(t.attrs);O.on(a.value,j),c(s,a.value,e),u({...e,...s,leafletObject:a.value}),n.value=!0,Object(r["nextTick"])(()=>t.emit("ready",a.value))}),{ready:n,leafletObject:a}},render(){return f(this.ready,this.$slots)},__file:"src/components/LGeoJson.vue"};const C={...j,pane:{type:String,default:"tilePane"},opacity:{type:Number,custom:!1,default:1},zIndex:{type:Number,default:1},tileSize:{type:Number,default:256},noWrap:{type:Boolean,default:!1},minZoom:{type:Number,default:0},maxZoom:{type:Number,default:void 0}},_=(e,t,o)=>{const{options:r,methods:a}=m(e,t,o),n={...r,pane:e.pane,opacity:e.opacity,zIndex:e.zIndex,tileSize:e.tileSize,noWrap:e.noWrap,minZoom:e.minZoom,maxZoom:e.maxZoom};return{options:n,methods:{...a}}};const E={iconUrl:{type:String,custom:!0,default:null},iconRetinaUrl:{type:String,custom:!0,default:null},iconSize:{type:[Object,Array],custom:!0,default:null},iconAnchor:{type:[Object,Array],custom:!0,default:null},popupAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},tooltipAnchor:{type:[Object,Array],custom:!0,default:()=>[0,0]},shadowUrl:{type:String,custom:!0,default:null},shadowRetinaUrl:{type:String,custom:!0,default:null},shadowSize:{type:[Object,Array],custom:!0,default:null},shadowAnchor:{type:[Object,Array],custom:!0,default:null},bgPos:{type:[Object,Array],custom:!0,default:()=>[0,0]},className:{type:String,custom:!0,default:""},options:{type:Object,custom:!0,default:()=>({})}};Boolean,Boolean;var x={emits:["ready","update:zoom","update:center","update:bounds"],props:{...b,center:{type:[Object,Array],default:()=>[0,0]},bounds:{type:[Array,Object],default:void 0},maxBounds:{type:[Array,Object],default:void 0},zoom:{type:Number,default:0},minZoom:{type:Number,default:void 0},maxZoom:{type:Number,default:void 0},paddingBottomRight:{type:Array,default:void 0},paddingTopLeft:{type:Array,default:void 0},padding:{type:Array,default:void 0},worldCopyJump:{type:Boolean,default:!1},crs:{type:[String,Object],default:"EPSG3857"},maxBoundsViscosity:{type:Number,default:void 0},inertia:{type:Boolean,default:void 0},inertiaDeceleration:{type:Number,default:void 0},inertiaMaxSpeed:{type:Number,default:void 0},easeLinearity:{type:Number,default:void 0},zoomAnimation:{type:Boolean,default:void 0},zoomAnimationThreshold:{type:Number,default:void 0},fadeAnimation:{type:Boolean,default:void 0},markerZoomAnimation:{type:Boolean,default:void 0},noBlockingAnimations:{type:Boolean,default:!1},useGlobalLeaflet:{type:Boolean,default:!1}},setup(e,t){const n=Object(r["ref"])(null),b=Object(r["reactive"])({ready:!1,leafletRef:{},layersToAdd:[],layersInControl:[]}),{options:j}=O(e),m={...j,minZoom:e.minZoom,maxZoom:e.maxZoom,maxBounds:e.maxBounds,maxBoundsViscosity:e.maxBoundsViscosity,worldCopyJump:e.worldCopyJump,crs:e.crs,center:e.center,zoom:e.zoom,inertia:e.inertia,inertiaDeceleration:e.inertiaDeceleration,inertiaMaxSpeed:e.inertiaMaxSpeed,easeLinearity:e.easeLinearity,zoomAnimation:e.zoomAnimation,zoomAnimationThreshold:e.zoomAnimationThreshold,fadeAnimation:e.fadeAnimation,markerZoomAnimation:e.markerZoomAnimation},f=u("addLayer"),k=u("removeLayer"),g=u("registerControl"),y=u("registerLayerControl");Object(r["provide"])(p,e.useGlobalLeaflet);const w={moveEndHandler(){t.emit("update:zoom",b.leafletRef.getZoom()),t.emit("update:center",b.leafletRef.getCenter()),t.emit("update:bounds",b.leafletRef.getBounds())},overlayAddHandler(e){const t=b.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!0)},overlayRemoveHandler(e){const t=b.layersInControl.find(t=>t.name===e.name);t&&t.updateVisibleProp(!1)}};Object(r["onMounted"])(async()=>{e.useGlobalLeaflet&&(d.L=d.L||await o.e("chunk-2d2248b6").then(o.t.bind(null,"e11e",7)));const{map:u,CRS:p,Icon:O,latLngBounds:j,latLng:h,DomEvent:v}=e.useGlobalLeaflet?d.L:await o.e("chunk-2d0da8f3").then(o.bind(null,"6bb3"));try{m.beforeMapMount&&await m.beforeMapMount()}catch(D){console.error("The following error occurred running the provided beforeMapMount hook "+D.message)}await i(O);const N="string"==typeof m.crs?p[m.crs]:m.crs;m.crs=N||p.EPSG3857;const S={addLayer(e){if(void 0!==e.layerType)if(void 0===b.layerControl)b.layersToAdd.push(e);else{const t=b.layersInControl.find(t=>t.leafletObject._leaflet_id===e.leafletObject._leaflet_id);t||(b.layerControl.addLayer(e),b.layersInControl.push(e))}!1!==e.visible&&b.leafletRef.addLayer(e.leafletObject)},removeLayer(e){void 0!==e.layerType&&(void 0===b.layerControl?b.layersToAdd=b.layersToAdd.filter(t=>t.name!==e.name):(b.layerControl.removeLayer(e.leafletObject),b.layersInControl=b.layersInControl.filter(t=>t.leafletObject._leaflet_id!==e.leafletObject._leaflet_id))),b.leafletRef.removeLayer(e.leafletObject)},registerLayerControl(e){b.layerControl=e,b.layersToAdd.forEach(e=>{b.layerControl.addLayer(e)}),b.layersToAdd=[],g(e)},registerControl(e){b.leafletRef.addControl(e.leafletObject)},setZoom(t){const o=b.leafletRef.getZoom();t!==o&&b.leafletRef.setZoom(t,{animate:!e.noBlockingAnimations&&null})},setPaddingBottomRight(e){b.paddingBottomRight=e},setPaddingTopLeft(e){b.paddingTopLeft=e},setPadding(e){b.padding=e},setCrs(e){const t=b.leafletRef.getBounds();b.leafletRef.options.crs=e,b.leafletRef.fitBounds(t,{animate:!1,padding:[0,0]})},fitBounds(e){b.leafletRef.fitBounds(e,{animate:!this.noBlockingAnimations&&null})},setBounds(e){if(!e)return;const t=j(e);if(!t.isValid())return;const o=b.lastSetBounds||b.leafletRef.getBounds(),r=!o.equals(t,0);r&&(b.lastSetBounds=t,b.leafletRef.fitBounds(t,this.fitBoundsOptions))},setCenter(e){if(null==e)return;const t=h(e),o=b.lastSetCenter||b.leafletRef.getCenter();o.lat===t.lat&&o.lng===t.lng||(b.lastSetCenter=t,b.leafletRef.panTo(t,{animate:!this.noBlockingAnimations&&null}))}};s(f,S.addLayer),s(k,S.removeLayer),s(g,S.registerControl),s(y,S.registerLayerControl),b.leafletRef=u(n.value,m),c(S,b.leafletRef,e);const T=l(t.attrs);b.leafletRef.on("moveend",a(w.moveEndHandler,100)),b.leafletRef.on("overlayadd",w.overlayAddHandler),b.leafletRef.on("overlayremove",w.overlayRemoveHandler),v.on(b.leafletRef,T),b.ready=!0,Object(r["nextTick"])(()=>t.emit("ready",b.leafletRef))}),Object(r["onBeforeUnmount"])(()=>{b.leafletRef&&b.leafletRef.remove()});const h=Object(r["computed"])(()=>b.leafletRef),v=Object(r["computed"])(()=>b.ready);return{root:n,ready:v,leafletObject:h}},render(){return Object(r["h"])("div",{style:{width:"100%",height:"100%"},ref:"root"},this.ready?this.$slots.default():{})},__file:"src/components/LMap.vue"};const A={...j,pane:{type:String,default:"markerPane"},draggable:{type:Boolean,custom:!0,default:!1},latLng:{type:[Object,Array],custom:!0,default:null},icon:{type:[Object],default:()=>{},custom:!1},zIndexOffset:{type:Number,custom:!1,default:null}},B=(e,t,o)=>{const{options:r,methods:a}=m(e,t,o),n={...r,...e},c={...a,setDraggable(e){t.value.dragging&&(e?t.value.dragging.enable():t.value.dragging.disable())},latLngSync(e){o.emit("update:latLng",e.latlng),o.emit("update:lat-lng",e.latlng)},setLatLng(e){if(null!=e&&t.value){const o=t.value.getLatLng();o&&o.equals(e)||t.value.setLatLng(e)}}};return{options:n,methods:c}};var I={name:"LMarker",props:A,setup(e,t){const n=Object(r["ref"])({}),i=Object(r["ref"])(!1),u=Object(r["inject"])(p),s=Object(r["inject"])("addLayer");Object(r["provide"])("canSetParentHtml",()=>!!n.value.getElement()),Object(r["provide"])("setParentHtml",e=>n.value.getElement().innerHTML=e),Object(r["provide"])("setIcon",e=>n.value.setIcon&&n.value.setIcon(e));const{options:b,methods:O}=B(e,n,t);return void 0===b.icon&&delete b.icon,Object(r["onMounted"])(async()=>{const{marker:p,DomEvent:j}=u?d.L:await o.e("chunk-2d0da8f3").then(o.bind(null,"6bb3"));n.value=p(e.latLng,b);const m=l(t.attrs);j.on(n.value,m),n.value.on("move",a(O.latLngSync,100)),c(O,n.value,e),s({...e,...O,leafletObject:n.value}),i.value=!0,Object(r["nextTick"])(()=>t.emit("ready",n.value))}),{ready:i,leafletObject:n}},render(){return f(this.ready,this.$slots)},__file:"src/components/LMarker.vue"};const R={...g,latLngs:{type:Array,default:()=>[]},smoothFactor:{type:Number,custom:!0,default:1},noClip:{type:Boolean,custom:!0,default:!1}},L={...R};const U={...b,content:{type:String,default:null}};const M={...C,tms:{type:Boolean,default:!1},subdomains:{type:String,default:"abc"},detectRetina:{type:Boolean,default:!1},url:{type:String,default:null}},W=(e,t)=>{const{options:o,methods:r}=_(e,t),a={...o,tms:e.tms,subdomains:e.subdomains,detectRetina:e.detectRetina};return{options:a,methods:{...r}}};var P={props:M,setup(e,t){const a=Object(r["ref"])({}),n=Object(r["inject"])(p),i=Object(r["inject"])("addLayer"),{options:u,methods:s}=W(e,a);return Object(r["onMounted"])(async()=>{const{tileLayer:p,DomEvent:b}=n?d.L:await o.e("chunk-2d0da8f3").then(o.bind(null,"6bb3"));a.value=p(e.url,u);const O=l(t.attrs);b.on(a.value,O),c(s,a.value,e),i({...e,...s,leafletObject:a.value}),Object(r["nextTick"])(()=>t.emit("ready",a.value))}),{leafletObject:a}},render(){return null},__file:"src/components/LTileLayer.vue"};Boolean,Boolean}).call(this,o("c8ba"))},"5be4":function(e,t,o){"use strict";o("8ee6")},"5c76":function(e,t,o){"use strict";o("4de4");var r=o("7a23"),a=Object(r["withScopeId"])("data-v-0dfe7a73");Object(r["pushScopeId"])("data-v-0dfe7a73");var n={id:"workout-form"},c={class:"form-items"},l={key:0,class:"form-item-radio"},i={for:"withGpx"},u={for:"withoutGpx"},s={class:"form-item"},d={key:1,class:"form-item"},p={for:"gpxFile"},b={class:"files-help info-box"},O={key:2,class:"form-item"},j={for:"title"},m={key:3},f={class:"workout-date-duration"},k={class:"form-item"},g={class:"workout-date-time"},y={class:"form-item"},w=Object(r["createTextVNode"])(" : "),h=Object(r["createTextVNode"])(" : "),v={class:"form-item"},N={class:"form-item"},S={key:1},T={key:2,class:"form-buttons"};Object(r["popScopeId"])();var D=a((function(e,t,o,D,V,C){var _=Object(r["resolveComponent"])("CustomTextArea"),E=Object(r["resolveComponent"])("ErrorMessage"),x=Object(r["resolveComponent"])("Loader"),A=Object(r["resolveComponent"])("Card");return Object(r["openBlock"])(),Object(r["createBlock"])("div",{id:"workout-edition",class:["center-card center-card with-margin",{"center-form":e.workout&&e.workout.with_gpx}]},[Object(r["createVNode"])(A,null,{title:a((function(){return[Object(r["createTextVNode"])(Object(r["toDisplayString"])(e.$t("workouts.".concat(e.isCreation?"ADD":"EDIT","_WORKOUT"))),1)]})),content:a((function(){return[Object(r["createVNode"])("div",n,[Object(r["createVNode"])("form",{onSubmit:t[13]||(t[13]=Object(r["withModifiers"])((function(){return e.updateWorkout&&e.updateWorkout.apply(e,arguments)}),["prevent"]))},[Object(r["createVNode"])("div",c,[e.isCreation?(Object(r["openBlock"])(),Object(r["createBlock"])("div",l,[Object(r["createVNode"])("div",null,[Object(r["createVNode"])("input",{id:"withGpx",type:"radio",checked:e.withGpx,disabled:e.loading,onClick:t[1]||(t[1]=function(){return e.updateWithGpx&&e.updateWithGpx.apply(e,arguments)})},null,8,["checked","disabled"]),Object(r["createVNode"])("label",i,Object(r["toDisplayString"])(e.$t("workouts.WITH_GPX")),1)]),Object(r["createVNode"])("div",null,[Object(r["createVNode"])("input",{id:"withoutGpx",type:"radio",checked:!e.withGpx,disabled:e.loading,onClick:t[2]||(t[2]=function(){return e.updateWithGpx&&e.updateWithGpx.apply(e,arguments)})},null,8,["checked","disabled"]),Object(r["createVNode"])("label",u,Object(r["toDisplayString"])(e.$t("workouts.WITHOUT_GPX")),1)])])):Object(r["createCommentVNode"])("",!0),Object(r["createVNode"])("div",s,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.SPORT",1))+": ",1),Object(r["withDirectives"])(Object(r["createVNode"])("select",{id:"sport",required:"",disabled:e.loading,"onUpdate:modelValue":t[3]||(t[3]=function(t){return e.workoutDataObject.sport_id=t})},[(Object(r["openBlock"])(!0),Object(r["createBlock"])(r["Fragment"],null,Object(r["renderList"])(e.translatedSports.filter((function(e){return e.is_active})),(function(e){return Object(r["openBlock"])(),Object(r["createBlock"])("option",{value:e.id,key:e.id},Object(r["toDisplayString"])(e.label),9,["value"])})),128))],8,["disabled"]),[[r["vModelSelect"],e.workoutDataObject.sport_id]])]),e.isCreation&&e.withGpx?(Object(r["openBlock"])(),Object(r["createBlock"])("div",d,[Object(r["createVNode"])("label",p,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+" "+Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE_DESCRIPTION"))+": ",1),Object(r["createVNode"])("input",{id:"gpxFile",name:"gpxFile",type:"file",accept:".gpx, .zip",disabled:e.loading,onInput:t[4]||(t[4]=function(){return e.updateFile&&e.updateFile.apply(e,arguments)})},null,40,["disabled"]),Object(r["createVNode"])("div",b,[Object(r["createVNode"])("div",null,[Object(r["createVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.GPX_FILE"))+":",1),Object(r["createVNode"])("ul",null,[Object(r["createVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(e.fileSizeLimit),1)])]),Object(r["createVNode"])("div",null,[Object(r["createVNode"])("strong",null,Object(r["toDisplayString"])(e.$t("workouts.ZIP_ARCHIVE"))+":",1),Object(r["createVNode"])("ul",null,[Object(r["createVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.NO_FOLDER")),1),Object(r["createVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_FILES"))+": "+Object(r["toDisplayString"])(e.gpx_limit_import),1),Object(r["createVNode"])("li",null,Object(r["toDisplayString"])(e.$t("workouts.MAX_SIZE"))+": "+Object(r["toDisplayString"])(e.zipSizeLimit),1)])])])])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",O,[Object(r["createVNode"])("label",j,Object(r["toDisplayString"])(e.$t("workouts.TITLE"))+": ",1),Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"title",name:"title",type:"text",required:!e.isCreation,disabled:e.loading,"onUpdate:modelValue":t[5]||(t[5]=function(t){return e.workoutDataObject.title=t})},null,8,["required","disabled"]),[[r["vModelText"],e.workoutDataObject.title]])])),e.withGpx?Object(r["createCommentVNode"])("",!0):(Object(r["openBlock"])(),Object(r["createBlock"])("div",m,[Object(r["createVNode"])("div",f,[Object(r["createVNode"])("div",k,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.WORKOUT_DATE"))+":",1),Object(r["createVNode"])("div",g,[Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"workout-date",name:"workout-date",type:"date",required:"",disabled:e.loading,"onUpdate:modelValue":t[6]||(t[6]=function(t){return e.workoutDataObject.workoutDate=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutDate]]),Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"workout-time",name:"workout-time",class:"workout-time",type:"time",required:"",disabled:e.loading,"onUpdate:modelValue":t[7]||(t[7]=function(t){return e.workoutDataObject.workoutTime=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutTime]])])]),Object(r["createVNode"])("div",y,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DURATION"))+":",1),Object(r["createVNode"])("div",null,[Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"workout-duration-hour",name:"workout-duration-hour",class:"workout-duration",type:"text",placeholder:"HH",pattern:"^([0-9]*[0-9])$",required:"",disabled:e.loading,"onUpdate:modelValue":t[8]||(t[8]=function(t){return e.workoutDataObject.workoutDurationHour=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutDurationHour]]),w,Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"workout-duration-minutes",name:"workout-duration-minutes",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"MM",required:"",disabled:e.loading,"onUpdate:modelValue":t[9]||(t[9]=function(t){return e.workoutDataObject.workoutDurationMinutes=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutDurationMinutes]]),h,Object(r["withDirectives"])(Object(r["createVNode"])("input",{id:"workout-duration-seconds",name:"workout-duration-seconds",class:"workout-duration",type:"text",pattern:"^([0-5][0-9])$",placeholder:"SS",required:"",disabled:e.loading,"onUpdate:modelValue":t[10]||(t[10]=function(t){return e.workoutDataObject.workoutDurationSeconds=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutDurationSeconds]])])])]),Object(r["createVNode"])("div",v,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.DISTANCE"))+" (km):",1),Object(r["withDirectives"])(Object(r["createVNode"])("input",{name:"workout-distance",type:"number",min:"0",step:"0.1",required:"",disabled:e.loading,"onUpdate:modelValue":t[11]||(t[11]=function(t){return e.workoutDataObject.workoutDistance=t})},null,8,["disabled"]),[[r["vModelText"],e.workoutDataObject.workoutDistance]])])])),Object(r["createVNode"])("div",N,[Object(r["createVNode"])("label",null,Object(r["toDisplayString"])(e.$t("workouts.NOTES"))+": ",1),Object(r["createVNode"])(_,{name:"notes",input:e.workoutDataObject.notes,disabled:e.loading,onUpdateValue:e.updateNotes},null,8,["input","disabled","onUpdateValue"])])]),e.errorMessages?(Object(r["openBlock"])(),Object(r["createBlock"])(E,{key:0,message:e.errorMessages},null,8,["message"])):Object(r["createCommentVNode"])("",!0),e.loading?(Object(r["openBlock"])(),Object(r["createBlock"])("div",S,[Object(r["createVNode"])(x)])):(Object(r["openBlock"])(),Object(r["createBlock"])("div",T,[Object(r["createVNode"])("button",{class:"confirm",type:"submit",disabled:e.loading},Object(r["toDisplayString"])(e.$t("buttons.SUBMIT")),9,["disabled"]),Object(r["createVNode"])("button",{class:"cancel",onClick:t[12]||(t[12]=Object(r["withModifiers"])((function(){return e.onCancel&&e.onCancel.apply(e,arguments)}),["prevent"]))},Object(r["toDisplayString"])(e.$t("buttons.CANCEL")),1)]))],32)])]})),_:1})],2)})),V=o("1da1"),C=(o("96cf"),o("ac1f"),o("1276"),o("99af"),o("47e2")),_=o("6c02"),E=o("dad5"),x=o("2906"),A=o("5e65"),B=o("c364"),I=o("1119"),R=Object(r["defineComponent"])({name:"WorkoutEdition",props:{authUser:{type:Object,required:!0},isCreation:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},sports:{type:Object,required:!0},workout:{type:Object,required:!1}},setup:function(e){var t=Object(C["b"])(),o=t.t,a=Object(x["a"])(),n=Object(_["d"])();Object(r["onMounted"])((function(){e.workout&&e.workout.id&&k(e.workout)}));var c=Object(r["computed"])((function(){return Object(I["d"])(e.sports,o)})),l=Object(r["computed"])((function(){return a.getters[E["a"].GETTERS.APP_CONFIG]})),i=l.value.max_single_file_size?Object(B["b"])(l.value.max_single_file_size):"",u=l.value.gpx_limit_import,s=l.value.max_zip_file_size?Object(B["b"])(l.value.max_zip_file_size):"",d=Object(r["computed"])((function(){return a.getters[E["a"].GETTERS.ERROR_MESSAGES]})),p=Object(r["reactive"])({sport_id:"",title:"",notes:"",workoutDate:"",workoutTime:"",workoutDurationHour:"",workoutDurationMinutes:"",workoutDurationSeconds:"",workoutDistance:""}),b=Object(r["ref"])(e.workout?e.workout.with_gpx:e.isCreation),O=null;function j(e){p.notes=e}function m(){b.value=!b.value}function f(e){e.target.files&&(O=e.target.files[0])}function k(t){if(p.sport_id="".concat(t.sport_id),p.title=t.title,p.notes=t.notes,!t.with_gpx){var o=Object(A["a"])(Object(A["c"])(t.workout_date,e.authUser.timezone),"yyyy-MM-dd"),r=t.duration.split(":");p.workoutDistance="".concat(t.distance),p.workoutDate=o.workout_date,p.workoutTime=o.workout_time,p.workoutDurationHour=r[0],p.workoutDurationMinutes=r[1],p.workoutDurationSeconds=r[2]}}function g(e){e.title=p.title,e.distance=+p.workoutDistance,e.duration=3600*+p.workoutDurationHour+60*+p.workoutDurationMinutes+ +p.workoutDurationSeconds,e.workout_date="".concat(p.workoutDate," ").concat(p.workoutTime)}function y(){var t={sport_id:+p.sport_id,notes:p.notes};if(e.workout)e.workout.with_gpx?(t.title=p.title,a.dispatch(E["f"].ACTIONS.EDIT_WORKOUT,{workoutId:e.workout.id,data:t})):(g(t),a.dispatch(E["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,t));else if(b.value){if(!O){var o="workouts.NO_FILE_PROVIDED";return void a.commit(E["a"].MUTATIONS.SET_ERROR_MESSAGES,o)}t.file=O,a.dispatch(E["f"].ACTIONS.ADD_WORKOUT,t)}else g(t),a.dispatch(E["f"].ACTIONS.ADD_WORKOUT_WITHOUT_GPX,t)}function w(){e.workout?n.push({name:"Workout",params:{workoutId:e.workout.id}}):n.go(-1)}return Object(r["watch"])((function(){return e.workout}),function(){var e=Object(V["a"])(regeneratorRuntime.mark((function e(t,o){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:t!==o&&t&&t.id&&k(t);case 1:case"end":return e.stop()}}),e)})));return function(t,o){return e.apply(this,arguments)}}()),Object(r["onUnmounted"])((function(){return a.commit(E["a"].MUTATIONS.EMPTY_ERROR_MESSAGES)})),{appConfig:l,errorMessages:d,fileSizeLimit:i,gpx_limit_import:u,translatedSports:c,withGpx:b,zipSizeLimit:s,workoutDataObject:p,onCancel:w,updateFile:f,updateNotes:j,updateWithGpx:m,updateWorkout:y}}});o("9a58");R.render=D,R.__scopeId="data-v-0dfe7a73";t["a"]=R},"628e":function(e,t,o){"use strict";o("be77")},6595:function(e,t,o){"use strict";o("cc92")},"692d":function(e,t,o){"use strict";o.r(t);var r=o("7a23"),a=Object(r["withScopeId"])("data-v-2e2371d9");Object(r["pushScopeId"])("data-v-2e2371d9");var n={id:"add-workout"},c={class:"container"};Object(r["popScopeId"])();var l=a((function(e,t,o,a,l,i){var u=Object(r["resolveComponent"])("WorkoutEdition");return Object(r["openBlock"])(),Object(r["createBlock"])("div",n,[Object(r["createVNode"])("div",c,[Object(r["createVNode"])(u,{authUser:e.authUser,sports:e.sports,isCreation:!0,loading:e.workoutData.loading},null,8,["authUser","sports","loading"])])])})),i=o("5c76"),u=o("dad5"),s=o("2906"),d=Object(r["defineComponent"])({name:"AddWorkout",components:{WorkoutEdition:i["a"]},setup:function(){var e=Object(s["a"])(),t=Object(r["computed"])((function(){return e.getters[u["b"].GETTERS.SPORTS]})),o=Object(r["computed"])((function(){return e.getters[u["e"].GETTERS.AUTH_USER_PROFILE]})),a=Object(r["computed"])((function(){return e.getters[u["f"].GETTERS.WORKOUT_DATA]}));return{authUser:o,sports:t,workoutData:a}}});o("ebf5");d.render=l,d.__scopeId="data-v-2e2371d9";t["default"]=d},"7f59":function(e,t,o){},"829d":function(e,t,o){},8300:function(e,t,o){},"86b9":function(e,t,o){},"8ee6":function(e,t,o){},"8ee9":function(e,t,o){"use strict";o.r(t);var r=o("7a23"),a={id:"edit-workout"},n={class:"container"};function c(e,t,o,c,l,i){var u=Object(r["resolveComponent"])("WorkoutEdition");return Object(r["openBlock"])(),Object(r["createBlock"])("div",a,[Object(r["createVNode"])("div",n,[Object(r["createVNode"])(u,{authUser:e.authUser,sports:e.sports,workout:e.workoutData.workout,loading:e.workoutData.loading},null,8,["authUser","sports","workout","loading"])])])}var l=o("1da1"),i=(o("96cf"),o("6c02")),u=o("5c76"),s=o("dad5"),d=o("2906"),p=Object(r["defineComponent"])({name:"EditWorkout",components:{WorkoutEdition:u["a"]},setup:function(){var e=Object(i["c"])(),t=Object(d["a"])();Object(r["onBeforeMount"])((function(){t.dispatch(s["f"].ACTIONS.GET_WORKOUT_DATA,{workoutId:e.params.workoutId})}));var o=Object(r["computed"])((function(){return t.getters[s["e"].GETTERS.AUTH_USER_PROFILE]})),a=Object(r["computed"])((function(){return t.getters[s["b"].GETTERS.SPORTS]})),n=Object(r["computed"])((function(){return t.getters[s["f"].GETTERS.WORKOUT_DATA]}));return Object(r["watch"])((function(){return e.params.workoutId}),function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(o){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:o||t.commit(s["f"].MUTATIONS.EMPTY_WORKOUT);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),{authUser:o,sports:a,workoutData:n}}});p.render=c;t["default"]=p},"9a58":function(e,t,o){"use strict";o("7f59")},a33d:function(e,t,o){},b76e:function(e,t,o){},be77:function(e,t,o){},bef2:function(e,t,o){},bfb4:function(e,t,o){"use strict";o("a33d")},c04f:function(e,t,o){"use strict";o("d8e9")},c2ce:function(e,t,o){"use strict";o("2de4")},cc92:function(e,t,o){},d3d3:function(e,t,o){"use strict";o("f0d7")},d8e9:function(e,t,o){},e94f:function(e,t,o){!function(e,o){o(t)}(0,(function(e){"use strict";function t(e){return e&&e.normalize&&e.normalize(),e&&e.textContent||""}function o(e,t){const o=e.getElementsByTagName(t);return o.length?o[0]:null}function r(e){const r={};if(e){const a=o(e,"line");if(a){const e=t(o(a,"color")),n=parseFloat(t(o(a,"opacity"))),c=parseFloat(t(o(a,"width")));e&&(r.stroke=e),isNaN(n)||(r["stroke-opacity"]=n),isNaN(c)||(r["stroke-width"]=96*c/25.4)}}return r}function a(e,r){const a={};let n,c;for(c=0;c1,s=Object.assign(n(e),r(o(e,"extensions")),{_gpxType:"trk"},c.length?{coordinateProperties:{times:u?c:c[0]}}:{});for(let o=0;onew Array(e.line.length).fill(null))),e[t][o]=r):e[t]=r}}return{type:"Feature",properties:s,geometry:u?{type:"MultiLineString",coordinates:a}:{type:"LineString",coordinates:a[0]}}}function*s(e){const t=e.getElementsByTagName("trk"),o=e.getElementsByTagName("rte"),r=e.getElementsByTagName("wpt");for(let a=0;aArray(e.length).fill(null))),u[o][t]=e[o])}if(0!==a.length)return(n.length||c.length)&&(u.coordinateProperties=Object.assign(n.length?{times:1===a.length?n[0]:n}:{},c.length?{heart:1===a.length?c[0]:c}:{})),{type:"Feature",properties:u,geometry:{type:1===a.length?"LineString":"MultiLineString",coordinates:1===a.length?a[0]:a}}}function*f(e){const t=e.getElementsByTagName("Lap");for(let r=0;r\n
\n
\n
\n \n
\n
\n
\n \n \n {{ $t(`workouts.${hiddenFilters ? 'DISPLAY' : 'HIDE'}_FILTERS`) }}\n \n
\n
\n
\n \n
\n
\n
\n\n\n\n\n\n","\n\n\n\n\n","\n import { computed, ComputedRef, defineComponent, PropType } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'WorkoutsFilters',\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['filter', 'filtersUpdate'],\n setup(props, { emit }) {\n const { t } = useI18n()\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n const params: Record = {}\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter', { ...params })\n }\n\n return { translatedSports, onFilter, handleFilterChange }\n },\n })\n","import { render } from \"./WorkoutsFilters.vue?vue&type=template&id=6d15726f&scoped=true\"\nimport script from \"./WorkoutsFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=6d15726f&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6d15726f\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n computed,\n defineComponent,\n ref,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'WorkoutsList',\n components: {\n NoWorkouts,\n StaticMap,\n },\n props: {\n params: {\n type: Object as PropType>,\n required: true,\n },\n user: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n },\n },\n setup(props) {\n const store = useStore()\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const per_page = 10\n const page = ref(1)\n const moreWorkoutsExist: ComputedRef = computed(() =>\n workouts.value.length > 0\n ? workouts.value[workouts.value.length - 1].previous_workout !== null\n : false\n )\n\n onBeforeMount(() => {\n loadWorkouts()\n })\n\n function loadWorkouts() {\n page.value = 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS, {\n page: page.value,\n per_page,\n ...props.params,\n })\n }\n function loadMoreWorkouts() {\n page.value += 1\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_MORE_USER_WORKOUTS, {\n page: page.value,\n per_page,\n ...props.params,\n })\n }\n\n watch(\n () => props.params,\n async () => {\n loadWorkouts()\n }\n )\n\n return {\n moreWorkoutsExist,\n workouts,\n capitalize,\n format,\n getDateWithTZ,\n loadMoreWorkouts,\n }\n },\n })\n","import { render } from \"./WorkoutsList.vue?vue&type=template&id=d190dd62&scoped=true\"\nimport script from \"./WorkoutsList.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=d190dd62&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-d190dd62\"\n\nexport default script","\n import { ComputedRef, Ref, computed, defineComponent, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'WorkoutsView',\n components: {\n WorkoutsFilters,\n WorkoutsList,\n },\n setup() {\n const { t } = useI18n()\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const params: Ref> = ref({})\n const hiddenFilters = ref(true)\n\n function updateParams(filters: Record) {\n params.value = filters\n hiddenFilters.value = true\n }\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\n return {\n authUser,\n hiddenFilters,\n params,\n translatedSports,\n toggleFilters,\n updateParams,\n }\n },\n })\n","import { render } from \"./WorkoutsView.vue?vue&type=template&id=499760ae&scoped=true\"\nimport script from \"./WorkoutsView.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=499760ae&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-499760ae\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkoutMap.vue?vue&type=style&index=0&id=76f3a2e8&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n\n\n","\n import { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { getDatasets } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'WorkoutChart',\n components: {\n LineChart,\n },\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n workoutData: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['getCoordinates'],\n setup(props, { emit }) {\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t)\n )\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ' (km)'\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ' (km/h)',\n },\n },\n yElevation: {\n beginAtZero: true,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ' (m)',\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ' m'\n : label + ' km/h'\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${tooltipItems[0].label} km`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n },\n }))\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n })\n return {\n displayDistance,\n lineChartProps,\n emitEmptyCoordinates,\n updateDisplayDistance,\n }\n },\n })\n","import { render } from \"./WorkoutChart.vue?vue&type=template&id=2230775e&scoped=true\"\nimport script from \"./WorkoutChart.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutChart.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutChart.vue?vue&type=style&index=0&id=2230775e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2230775e\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutCardTitle',\n props: {\n sport: {\n type: Object as PropType,\n required: true,\n },\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['displayModal'],\n setup(props, { emit }) {\n return { emit }\n },\n })\n","import { render } from \"./WorkoutCardTitle.vue?vue&type=template&id=9cab340c&scoped=true\"\nimport script from \"./WorkoutCardTitle.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=9cab340c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-9cab340c\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutRecord',\n props: {\n record_type: {\n type: String,\n required: true,\n },\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./WorkoutRecord.vue?vue&type=template&id=da96984c&scoped=true\"\nimport script from \"./WorkoutRecord.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=da96984c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-da96984c\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutWeather',\n props: {\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./WorkoutWeather.vue?vue&type=template&id=7eb41918&scoped=true\"\nimport script from \"./WorkoutWeather.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=7eb41918&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7eb41918\"\n\nexport default script","\n import { PropType, computed, defineComponent } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutData',\n components: {\n WorkoutRecord,\n WorkoutWeather,\n },\n props: {\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n withPause: computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n ),\n }\n },\n })\n","import { render } from \"./WorkoutData.vue?vue&type=template&id=45a7f031&scoped=true\"\nimport script from \"./WorkoutData.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=45a7f031&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-45a7f031\"\n\nexport default script","\n\n\n\n\n","\n import { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, PropType, computed, defineComponent, ref } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'WorkoutMap',\n components: {\n LGeoJson,\n LMap,\n LMarker,\n LTileLayer,\n },\n props: {\n workoutData: {\n type: Object as PropType,\n },\n markerCoordinates: {\n type: Object as PropType,\n required: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n return {\n appConfig,\n bounds,\n center,\n geoJson,\n workoutMap,\n fitBounds,\n getApiUrl,\n }\n },\n })\n","import { render } from \"./WorkoutMap.vue?vue&type=template&id=76f3a2e8&scoped=true\"\nimport script from \"./WorkoutMap.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=76f3a2e8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-76f3a2e8\"\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'WorkoutDetail',\n components: {\n WorkoutCardTitle,\n WorkoutData,\n WorkoutMap,\n },\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n displaySegment: {\n type: Boolean,\n required: true,\n },\n markerCoordinates: {\n type: Object as PropType,\n required: false,\n },\n sports: {\n type: Object as PropType,\n },\n workoutData: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const route = useRoute()\n const store = useStore()\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\n return {\n sport: computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n ),\n workoutObject: computed(() =>\n getWorkoutObject(workout.value, segment.value)\n ),\n displayModal,\n deleteWorkout,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=a17554ea&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=a17554ea&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a17554ea\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { computed, ComputedRef, defineComponent, PropType, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'WorkoutsFilters',\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['filter'],\n setup(props, { emit }) {\n const { t } = useI18n()\n const route = useRoute()\n const router = useRouter()\n\n const translatedSports: ComputedRef = computed(() =>\n translateSports(props.sports, t)\n )\n let params: LocationQuery = Object.assign({}, route.query)\n\n function handleFilterChange(event: Event & { target: HTMLInputElement }) {\n if (event.target.value === '') {\n delete params[event.target.name]\n } else {\n params[event.target.name] = event.target.value\n }\n }\n function onFilter() {\n emit('filter')\n if ('page' in params) {\n params['page'] = '1'\n }\n router.push({ path: '/workouts', query: params })\n }\n\n watch(\n () => route.query,\n (newQuery) => {\n params = Object.assign({}, newQuery)\n }\n )\n\n return { translatedSports, onFilter, handleFilterChange }\n },\n })\n","import { render } from \"./WorkoutsFilters.vue?vue&type=template&id=78f33062&scoped=true\"\nimport script from \"./WorkoutsFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsFilters.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsFilters.vue?vue&type=style&index=0&id=78f33062&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-78f33062\"\n\nexport default script","\n\n\n\n\n","\n import { format } from 'date-fns'\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n capitalize,\n onBeforeMount,\n } from 'vue'\n import { LocationQuery, useRoute, useRouter } from 'vue-router'\n\n import FilterSelects from '@/components/Common/FilterSelects.vue'\n import Pagination from '@/components/Common/Pagination.vue'\n import StaticMap from '@/components/Common/StaticMap.vue'\n import NoWorkouts from '@/components/Workouts/NoWorkouts.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { IWorkout, TWorkoutsPayload } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getQuery, sortList, workoutsPayloadKeys } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n import { defaultOrder } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'WorkoutsList',\n components: {\n FilterSelects,\n NoWorkouts,\n Pagination,\n StaticMap,\n },\n props: {\n user: {\n type: Object as PropType,\n required: true,\n },\n sports: {\n type: Object as PropType,\n },\n },\n setup() {\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'ave_speed',\n 'distance',\n 'duration',\n 'workout_date',\n ]\n const workouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.USER_WORKOUTS]\n )\n const pagination: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.WORKOUTS_PAGINATION]\n )\n let query: TWorkoutsPayload = getWorkoutsQuery(route.query)\n const hoverWorkoutId: Ref = ref(null)\n\n onBeforeMount(() => {\n loadWorkouts(query)\n })\n\n function loadWorkouts(payload: TWorkoutsPayload) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.GET_USER_WORKOUTS, payload)\n }\n function reloadWorkouts(queryParam: string, queryValue: string) {\n const newQuery: LocationQuery = Object.assign({}, route.query)\n newQuery[queryParam] = queryValue\n if (queryParam === 'per_page') {\n newQuery['page'] = '1'\n }\n query = getWorkoutsQuery(newQuery)\n router.push({ path: '/workouts', query })\n }\n\n function getWorkoutsQuery(newQuery: LocationQuery): TWorkoutsPayload {\n query = getQuery(newQuery, orderByList, defaultOrder.order_by, {\n defaultSort: defaultOrder.order,\n query,\n })\n Object.keys(newQuery)\n .filter((k) => workoutsPayloadKeys.includes(k))\n .map((k) => {\n if (typeof newQuery[k] === 'string') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n query[k] = newQuery[k]\n }\n })\n return query\n }\n\n function onHover(workoutId: string | null) {\n hoverWorkoutId.value = workoutId\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getWorkoutsQuery(newQuery)\n loadWorkouts(query)\n }\n )\n\n return {\n query,\n hoverWorkoutId,\n orderByList,\n pagination,\n sortList,\n workouts,\n capitalize,\n format,\n getDateWithTZ,\n onHover,\n reloadWorkouts,\n }\n },\n })\n","import { render } from \"./WorkoutsList.vue?vue&type=template&id=977fe558&scoped=true\"\nimport script from \"./WorkoutsList.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsList.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsList.vue?vue&type=style&index=0&id=977fe558&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-977fe558\"\n\nexport default script","\n import { ComputedRef, computed, defineComponent, ref } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import WorkoutsFilters from '@/components/Workouts/WorkoutsFilters.vue'\n import WorkoutsList from '@/components/Workouts/WorkoutsList.vue'\n import { USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n export default defineComponent({\n name: 'WorkoutsView',\n components: {\n WorkoutsFilters,\n WorkoutsList,\n },\n setup() {\n const { t } = useI18n()\n const store = useStore()\n const authUser: ComputedRef = computed(\n () => store.getters[USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t)\n )\n const hiddenFilters = ref(true)\n\n function toggleFilters() {\n hiddenFilters.value = !hiddenFilters.value\n }\n\n return {\n authUser,\n hiddenFilters,\n translatedSports,\n toggleFilters,\n }\n },\n })\n","import { render } from \"./WorkoutsView.vue?vue&type=template&id=819c97ae&scoped=true\"\nimport script from \"./WorkoutsView.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutsView.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutsView.vue?vue&type=style&index=0&id=819c97ae&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-819c97ae\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkoutsFilters.vue?vue&type=style&index=0&id=78f33062&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./WorkoutMap.vue?vue&type=style&index=0&id=76f3a2e8&lang=scss&scoped=true\"","\n\n\n\n\n","\n\n\n\n\n","\n import { ChartData, ChartOptions } from 'chart.js'\n import { ComputedRef, PropType, computed, defineComponent, ref } from 'vue'\n import { LineChart, useLineChart } from 'vue-chart-3'\n import { useI18n } from 'vue-i18n'\n\n import { IUserProfile } from '@/types/user'\n import {\n IWorkoutChartData,\n IWorkoutData,\n TCoordinates,\n } from '@/types/workouts'\n import { getDatasets } from '@/utils/workouts'\n\n export default defineComponent({\n name: 'WorkoutChart',\n components: {\n LineChart,\n },\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n workoutData: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['getCoordinates'],\n setup(props, { emit }) {\n const { t } = useI18n()\n\n let displayDistance = ref(true)\n const datasets: ComputedRef = computed(() =>\n getDatasets(props.workoutData.chartData, t)\n )\n let chartData: ComputedRef> = computed(() => ({\n labels: displayDistance.value\n ? datasets.value.distance_labels\n : datasets.value.duration_labels,\n datasets: JSON.parse(\n JSON.stringify([\n datasets.value.datasets.speed,\n datasets.value.datasets.elevation,\n ])\n ),\n }))\n const coordinates: ComputedRef = computed(\n () => datasets.value.coordinates\n )\n const options = computed>(() => ({\n responsive: true,\n maintainAspectRatio: true,\n animation: false,\n layout: {\n padding: {\n top: 22,\n },\n },\n scales: {\n [displayDistance.value ? 'xDistance' : 'xDuration']: {\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n count: 10,\n callback: function (value) {\n return displayDistance.value\n ? Number(value).toFixed(2)\n : formatDuration(value)\n },\n },\n type: 'linear',\n bounds: 'data',\n title: {\n display: true,\n text: displayDistance.value\n ? t('workouts.DISTANCE') + ' (km)'\n : t('workouts.DURATION'),\n },\n },\n ySpeed: {\n grid: {\n drawOnChartArea: false,\n },\n position: 'left',\n title: {\n display: true,\n text: t('workouts.SPEED') + ' (km/h)',\n },\n },\n yElevation: {\n beginAtZero: true,\n grid: {\n drawOnChartArea: false,\n },\n position: 'right',\n title: {\n display: true,\n text: t('workouts.ELEVATION') + ' (m)',\n },\n },\n },\n elements: {\n point: {\n pointStyle: 'circle',\n pointRadius: 0,\n },\n },\n plugins: {\n datalabels: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: false,\n mode: 'index',\n },\n callbacks: {\n label: function (context) {\n const label = ` ${context.dataset.label}: ${context.formattedValue}`\n return context.dataset.yAxisID === 'yElevation'\n ? label + ' m'\n : label + ' km/h'\n },\n title: function (tooltipItems) {\n if (tooltipItems.length > 0) {\n emitCoordinates(coordinates.value[tooltipItems[0].dataIndex])\n }\n return tooltipItems.length === 0\n ? ''\n : displayDistance.value\n ? `${t('workouts.DISTANCE')}: ${tooltipItems[0].label} km`\n : `${t('workouts.DURATION')}: ${formatDuration(\n tooltipItems[0].label.replace(',', '')\n )}`\n },\n },\n },\n },\n }))\n\n function updateDisplayDistance() {\n displayDistance.value = !displayDistance.value\n }\n function formatDuration(duration: string | number): string {\n return new Date(+duration * 1000).toISOString().substr(11, 8)\n }\n function emitCoordinates(coordinates: TCoordinates) {\n emit('getCoordinates', coordinates)\n }\n function emitEmptyCoordinates() {\n emitCoordinates({ latitude: null, longitude: null })\n }\n\n const { lineChartProps } = useLineChart({\n chartData,\n options,\n })\n return {\n displayDistance,\n lineChartProps,\n emitEmptyCoordinates,\n updateDisplayDistance,\n }\n },\n })\n","import { render } from \"./WorkoutChart.vue?vue&type=template&id=2230775e&scoped=true\"\nimport script from \"./WorkoutChart.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutChart.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutChart.vue?vue&type=style&index=0&id=2230775e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-2230775e\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { PropType, defineComponent } from 'vue'\n\n import { ISport } from '@/types/sports'\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutCardTitle',\n props: {\n sport: {\n type: Object as PropType,\n required: true,\n },\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n emits: ['displayModal'],\n setup(props, { emit }) {\n return { emit }\n },\n })\n","import { render } from \"./WorkoutCardTitle.vue?vue&type=template&id=9cab340c&scoped=true\"\nimport script from \"./WorkoutCardTitle.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutCardTitle.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutCardTitle.vue?vue&type=style&index=0&id=9cab340c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-9cab340c\"\n\nexport default script","\n\n\n\n\n","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutRecord',\n props: {\n record_type: {\n type: String,\n required: true,\n },\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./WorkoutRecord.vue?vue&type=template&id=da96984c&scoped=true\"\nimport script from \"./WorkoutRecord.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutRecord.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutRecord.vue?vue&type=style&index=0&id=da96984c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-da96984c\"\n\nexport default script","\n\n\n\n\n","\n import { defineComponent, PropType } from 'vue'\n\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutWeather',\n props: {\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n })\n","import { render } from \"./WorkoutWeather.vue?vue&type=template&id=7eb41918&scoped=true\"\nimport script from \"./WorkoutWeather.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutWeather.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutWeather.vue?vue&type=style&index=0&id=7eb41918&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7eb41918\"\n\nexport default script","\n import { PropType, computed, defineComponent } from 'vue'\n\n import WorkoutRecord from '@/components/Workout/WorkoutDetail/WorkoutRecord.vue'\n import WorkoutWeather from '@/components/Workout/WorkoutDetail/WorkoutWeather.vue'\n import { IWorkoutObject } from '@/types/workouts'\n\n export default defineComponent({\n name: 'WorkoutData',\n components: {\n WorkoutRecord,\n WorkoutWeather,\n },\n props: {\n workoutObject: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n return {\n withPause: computed(\n () =>\n props.workoutObject.pauses !== '0:00:00' &&\n props.workoutObject.pauses !== null\n ),\n }\n },\n })\n","import { render } from \"./WorkoutData.vue?vue&type=template&id=45a7f031&scoped=true\"\nimport script from \"./WorkoutData.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutData.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutData.vue?vue&type=style&index=0&id=45a7f031&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-45a7f031\"\n\nexport default script","\n\n\n\n\n","\n import { gpx } from '@tmcw/togeojson'\n import { LGeoJson, LMap, LMarker, LTileLayer } from '@vue-leaflet/vue-leaflet'\n import { ComputedRef, PropType, computed, defineComponent, ref } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { GeoJSONData } from '@/types/geojson'\n import { IWorkoutData, TCoordinates } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { getApiUrl } from '@/utils'\n\n export default defineComponent({\n name: 'WorkoutMap',\n components: {\n LGeoJson,\n LMap,\n LMarker,\n LTileLayer,\n },\n props: {\n workoutData: {\n type: Object as PropType,\n },\n markerCoordinates: {\n type: Object as PropType,\n required: false,\n },\n },\n setup(props) {\n const store = useStore()\n\n function getGeoJson(gpxContent: string): GeoJSONData {\n if (!gpxContent || gpxContent !== '') {\n try {\n const jsonData = gpx(\n new DOMParser().parseFromString(gpxContent, 'text/xml')\n )\n return { jsonData }\n } catch (e) {\n console.error('Invalid gpx content')\n return {}\n }\n }\n return {}\n }\n function getCenter(bounds: ComputedRef): number[] {\n return [\n (bounds.value[0][0] + bounds.value[1][0]) / 2,\n (bounds.value[0][1] + bounds.value[1][1]) / 2,\n ]\n }\n function fitBounds(bounds: number[][]) {\n if (workoutMap.value?.leafletObject) {\n workoutMap.value?.leafletObject.fitBounds(bounds)\n }\n }\n\n const workoutMap = ref null }\n }>(null)\n const bounds = computed(() =>\n props.workoutData\n ? [\n [\n props.workoutData.workout.bounds[0],\n props.workoutData.workout.bounds[1],\n ],\n [\n props.workoutData.workout.bounds[2],\n props.workoutData.workout.bounds[3],\n ],\n ]\n : []\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const center = computed(() => getCenter(bounds))\n const geoJson = computed(() =>\n props.workoutData && props.workoutData.gpx\n ? getGeoJson(props.workoutData.gpx)\n : {}\n )\n\n return {\n appConfig,\n bounds,\n center,\n geoJson,\n workoutMap,\n fitBounds,\n getApiUrl,\n }\n },\n })\n","import { render } from \"./WorkoutMap.vue?vue&type=template&id=76f3a2e8&scoped=true\"\nimport script from \"./WorkoutMap.vue?vue&type=script&lang=ts\"\nexport * from \"./WorkoutMap.vue?vue&type=script&lang=ts\"\n\nimport \"./WorkoutMap.vue?vue&type=style&index=0&id=76f3a2e8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-76f3a2e8\"\n\nexport default script","\n import {\n ComputedRef,\n PropType,\n Ref,\n computed,\n defineComponent,\n ref,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import WorkoutCardTitle from '@/components/Workout/WorkoutDetail/WorkoutCardTitle.vue'\n import WorkoutData from '@/components/Workout/WorkoutDetail/WorkoutData.vue'\n import WorkoutMap from '@/components/Workout/WorkoutDetail/WorkoutMap.vue'\n import { WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IUserProfile } from '@/types/user'\n import {\n IWorkout,\n IWorkoutData,\n IWorkoutObject,\n IWorkoutSegment,\n TCoordinates,\n } from '@/types/workouts'\n import { useStore } from '@/use/useStore'\n import { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\n\n export default defineComponent({\n name: 'WorkoutDetail',\n components: {\n WorkoutCardTitle,\n WorkoutData,\n WorkoutMap,\n },\n props: {\n authUser: {\n type: Object as PropType,\n required: true,\n },\n displaySegment: {\n type: Boolean,\n required: true,\n },\n markerCoordinates: {\n type: Object as PropType,\n required: false,\n },\n sports: {\n type: Object as PropType,\n },\n workoutData: {\n type: Object as PropType,\n required: true,\n },\n },\n setup(props) {\n const route = useRoute()\n const store = useStore()\n\n function getWorkoutObjectUrl(\n workout: IWorkout,\n displaySegment: boolean,\n segmentId: number | null\n ): Record {\n const previousUrl =\n displaySegment && segmentId && segmentId !== 1\n ? `/workouts/${workout.id}/segment/${segmentId - 1}`\n : !displaySegment && workout.previous_workout\n ? `/workouts/${workout.previous_workout}`\n : null\n const nextUrl =\n displaySegment && segmentId && segmentId < workout.segments.length\n ? `/workouts/${workout.id}/segment/${segmentId + 1}`\n : !displaySegment && workout.next_workout\n ? `/workouts/${workout.next_workout}`\n : null\n return {\n previousUrl,\n nextUrl,\n }\n }\n function getWorkoutObject(\n workout: IWorkout,\n segment: IWorkoutSegment | null\n ): IWorkoutObject {\n const urls = getWorkoutObjectUrl(\n workout,\n props.displaySegment,\n segmentId.value ? +segmentId.value : null\n )\n const workoutDate = formatWorkoutDate(\n getDateWithTZ(\n props.workoutData.workout.workout_date,\n props.authUser.timezone\n )\n )\n return {\n ascent: segment ? segment.ascent : workout.ascent,\n aveSpeed: segment ? segment.ave_speed : workout.ave_speed,\n distance: segment ? segment.distance : workout.distance,\n descent: segment ? segment.descent : workout.descent,\n duration: segment ? segment.duration : workout.duration,\n maxAlt: segment ? segment.max_alt : workout.max_alt,\n maxSpeed: segment ? segment.max_speed : workout.max_speed,\n minAlt: segment ? segment.min_alt : workout.min_alt,\n moving: segment ? segment.moving : workout.moving,\n nextUrl: urls.nextUrl,\n pauses: segment ? segment.pauses : workout.pauses,\n previousUrl: urls.previousUrl,\n records: segment ? [] : workout.records,\n segmentId: segment ? segment.segment_id : null,\n title: workout.title,\n type: props.displaySegment ? 'SEGMENT' : 'WORKOUT',\n workoutDate: workoutDate.workout_date,\n weatherEnd: segment ? null : workout.weather_end,\n workoutId: workout.id,\n weatherStart: segment ? null : workout.weather_start,\n workoutTime: workoutDate.workout_time,\n }\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteWorkout(workoutId: string) {\n store.dispatch(WORKOUTS_STORE.ACTIONS.DELETE_WORKOUT, {\n workoutId: workoutId,\n })\n }\n\n const workout: ComputedRef = computed(\n () => props.workoutData.workout\n )\n let segmentId: Ref = ref(\n route.params.workoutId ? +route.params.segmentId : null\n )\n const segment: ComputedRef = computed(() =>\n workout.value.segments.length > 0 && segmentId.value\n ? workout.value.segments[+segmentId.value - 1]\n : null\n )\n let displayModal: Ref = ref(false)\n\n watch(\n () => route.params.segmentId,\n async (newSegmentId) => {\n if (newSegmentId) {\n segmentId.value = +newSegmentId\n }\n }\n )\n\n return {\n sport: computed(() =>\n props.sports\n ? props.sports.find(\n (sport) => sport.id === props.workoutData.workout.sport_id\n )\n : {}\n ),\n workoutObject: computed(() =>\n getWorkoutObject(workout.value, segment.value)\n ),\n displayModal,\n deleteWorkout,\n updateDisplayModal,\n }\n },\n })\n","import { render } from \"./index.vue?vue&type=template&id=a17554ea&scoped=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=a17554ea&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a17554ea\"\n\nexport default script","