diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index 237e6135..36e1da88 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/service-worker.js b/fittrackee/dist/service-worker.js index 5f711e94..33221af3 100644 --- a/fittrackee/dist/service-worker.js +++ b/fittrackee/dist/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let s,e={};const i=(i,t)=>(i=new URL(i+".js",t).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const l=s=>i(s,a),c={module:{uri:a},exports:n,require:l};e[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-79ffe3e0"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"5c26a22ecdc66a584cbbebf9b2359ae1"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.4af5a69d.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.40e24e75.css",revision:null},{url:"/static/css/workouts.dd7c6bdb.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.27c8fef5.js",revision:null},{url:"/static/js/431.5976068e.js",revision:null},{url:"/static/js/633.9a092c9a.js",revision:null},{url:"/static/js/858.0441e3cc.js",revision:null},{url:"/static/js/93.97ccdf6e.js",revision:null},{url:"/static/js/admin.3b0b84c0.js",revision:null},{url:"/static/js/app.01a7cbeb.js",revision:null},{url:"/static/js/chunk-vendors.48d33bd7.js",revision:null},{url:"/static/js/profile.4d6d6e47.js",revision:null},{url:"/static/js/reset.ff863bd6.js",revision:null},{url:"/static/js/statistics.eaf4afd3.js",revision:null},{url:"/static/js/workouts.766f2fad.js",revision:null}],{})})); +if(!self.define){let s,e={};const i=(i,t)=>(i=new URL(i+".js",t).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didn’t register its module`);return s})));self.define=(t,r)=>{const a=s||("document"in self?document.currentScript.src:"")||location.href;if(e[a])return;let n={};const l=s=>i(s,a),c={module:{uri:a},exports:n,require:l};e[a]=Promise.all(t.map((s=>c[s]||l(s)))).then((s=>(r(...s),n)))}}define(["./workbox-79ffe3e0"],(function(s){"use strict";s.setCacheNameDetails({prefix:"fittrackee_client"}),self.addEventListener("message",(s=>{s.data&&"SKIP_WAITING"===s.data.type&&self.skipWaiting()})),s.precacheAndRoute([{url:"/img/bike.svg",revision:"ab4faed007625b209af72b9b8dce84db"},{url:"/img/weather/breeze.svg",revision:"428c6ccb838f8e91dc4826c5b650a98b"},{url:"/img/weather/clear-day.svg",revision:"f3e8628de2e5089f508f03944f8be951"},{url:"/img/weather/clear-night.svg",revision:"6a0d6579a93e89fdf1a2a95b398e0935"},{url:"/img/weather/cloudy.svg",revision:"c52fe62c9d9fea2cdf5ae2813b3df366"},{url:"/img/weather/fog.svg",revision:"9f4d74289594eb83f9c175d13167a0eb"},{url:"/img/weather/partly-cloudy-day.svg",revision:"f730c2e4f4c014e8b49c9d4a0a141b90"},{url:"/img/weather/partly-cloudy-night.svg",revision:"0d9270901c4dffbc05f3998d835171c8"},{url:"/img/weather/pour-rain.svg",revision:"91eb3159ba8781d258d8c384a8ef987c"},{url:"/img/weather/rain.svg",revision:"c52ca88ce0ddf4de0fc29167e578b2be"},{url:"/img/weather/sleet.svg",revision:"97d61d89332f912c1ec27bcbe077b7bd"},{url:"/img/weather/snow.svg",revision:"9e88c89c0d6d14174e9665e98932dd80"},{url:"/img/weather/temperature.svg",revision:"d42b62d0b57d5d326506277d87b70435"},{url:"/img/weather/wind.svg",revision:"d75fbe559220d7b2b9577a98a91f38d0"},{url:"/img/workouts/finish.svg",revision:"375196b7ade7c07c3b64ac4cb8b850a8"},{url:"/img/workouts/mountains.svg",revision:"0b94f1d4a050a86ca5ac89ab3ed60f9c"},{url:"/img/workouts/start.svg",revision:"97f6a197b6c2869e0cb2ff0e7697af86"},{url:"/index.html",revision:"af847b12abbe99c939b98aca8b0d3e53"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.1032cefd.css",revision:null},{url:"/static/css/fork-awesome.min.css",revision:"82c1118c918377daaa71a320ab8eea42"},{url:"/static/css/leaflet.css",revision:"5c761a156eea82263d8bacf1718fe04d"},{url:"/static/css/profile.203e78e2.css",revision:null},{url:"/static/css/reset.e2527ec6.css",revision:null},{url:"/static/css/statistics.40e24e75.css",revision:null},{url:"/static/css/workouts.dd7c6bdb.css",revision:null},{url:"/static/fonts/forkawesome-webfont.eot",revision:"e719f9244c69e28e7d00e725ca1e280e"},{url:"/static/fonts/forkawesome-webfont.svg",revision:"d58987a18774d859d98af95281c1dee5"},{url:"/static/fonts/forkawesome-webfont.ttf",revision:"fe45770c6c277da3921355d971045ea5"},{url:"/static/fonts/forkawesome-webfont.woff",revision:"92cd4d8328b2ae614386a01ff935a9f3"},{url:"/static/fonts/forkawesome-webfont.woff2",revision:"12ee76445f0383c58529169d700b6650"},{url:"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot",revision:null},{url:"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2",revision:null},{url:"/static/img/map.5b26d82b.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-700.b8a7047e.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-italic.0b285c83.svg",revision:null},{url:"/static/img/pt-sans-v9-latin-regular.59a385b4.svg",revision:null},{url:"/static/js/243.27c8fef5.js",revision:null},{url:"/static/js/431.5976068e.js",revision:null},{url:"/static/js/633.9a092c9a.js",revision:null},{url:"/static/js/858.0441e3cc.js",revision:null},{url:"/static/js/93.97ccdf6e.js",revision:null},{url:"/static/js/admin.ab9e5f5f.js",revision:null},{url:"/static/js/app.f098903e.js",revision:null},{url:"/static/js/chunk-vendors.54e51b70.js",revision:null},{url:"/static/js/profile.dd30724d.js",revision:null},{url:"/static/js/reset.761e9759.js",revision:null},{url:"/static/js/statistics.9cd652fd.js",revision:null},{url:"/static/js/workouts.4abcd6a2.js",revision:null}],{})})); //# sourceMappingURL=service-worker.js.map diff --git a/fittrackee/dist/service-worker.js.map b/fittrackee/dist/service-worker.js.map index ee6b534c..f917efd4 100644 --- a/fittrackee/dist/service-worker.js.map +++ b/fittrackee/dist/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/770dc9045c1fabf43882f5bb57b31110/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"5c26a22ecdc66a584cbbebf9b2359ae1\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.4af5a69d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.40e24e75.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.dd7c6bdb.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.27c8fef5.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.5976068e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.9a092c9a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.0441e3cc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.97ccdf6e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.3b0b84c0.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.01a7cbeb.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.48d33bd7.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.4d6d6e47.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.ff863bd6.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.eaf4afd3.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.766f2fad.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACN,IAWHC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,wDACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,gDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb,CAAA"} \ No newline at end of file +{"version":3,"file":"service-worker.js","sources":["../../../../../../tmp/56fcc9e8ab5361b1e0c87299a7ca2c47/service-worker.js"],"sourcesContent":["import {setCacheNameDetails as workbox_core_setCacheNameDetails} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-core/setCacheNameDetails.mjs';\nimport {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\nworkbox_core_setCacheNameDetails({prefix: \"fittrackee_client\"});\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"/img/bike.svg\",\n \"revision\": \"ab4faed007625b209af72b9b8dce84db\"\n },\n {\n \"url\": \"/img/weather/breeze.svg\",\n \"revision\": \"428c6ccb838f8e91dc4826c5b650a98b\"\n },\n {\n \"url\": \"/img/weather/clear-day.svg\",\n \"revision\": \"f3e8628de2e5089f508f03944f8be951\"\n },\n {\n \"url\": \"/img/weather/clear-night.svg\",\n \"revision\": \"6a0d6579a93e89fdf1a2a95b398e0935\"\n },\n {\n \"url\": \"/img/weather/cloudy.svg\",\n \"revision\": \"c52fe62c9d9fea2cdf5ae2813b3df366\"\n },\n {\n \"url\": \"/img/weather/fog.svg\",\n \"revision\": \"9f4d74289594eb83f9c175d13167a0eb\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-day.svg\",\n \"revision\": \"f730c2e4f4c014e8b49c9d4a0a141b90\"\n },\n {\n \"url\": \"/img/weather/partly-cloudy-night.svg\",\n \"revision\": \"0d9270901c4dffbc05f3998d835171c8\"\n },\n {\n \"url\": \"/img/weather/pour-rain.svg\",\n \"revision\": \"91eb3159ba8781d258d8c384a8ef987c\"\n },\n {\n \"url\": \"/img/weather/rain.svg\",\n \"revision\": \"c52ca88ce0ddf4de0fc29167e578b2be\"\n },\n {\n \"url\": \"/img/weather/sleet.svg\",\n \"revision\": \"97d61d89332f912c1ec27bcbe077b7bd\"\n },\n {\n \"url\": \"/img/weather/snow.svg\",\n \"revision\": \"9e88c89c0d6d14174e9665e98932dd80\"\n },\n {\n \"url\": \"/img/weather/temperature.svg\",\n \"revision\": \"d42b62d0b57d5d326506277d87b70435\"\n },\n {\n \"url\": \"/img/weather/wind.svg\",\n \"revision\": \"d75fbe559220d7b2b9577a98a91f38d0\"\n },\n {\n \"url\": \"/img/workouts/finish.svg\",\n \"revision\": \"375196b7ade7c07c3b64ac4cb8b850a8\"\n },\n {\n \"url\": \"/img/workouts/mountains.svg\",\n \"revision\": \"0b94f1d4a050a86ca5ac89ab3ed60f9c\"\n },\n {\n \"url\": \"/img/workouts/start.svg\",\n \"revision\": \"97f6a197b6c2869e0cb2ff0e7697af86\"\n },\n {\n \"url\": \"/index.html\",\n \"revision\": \"af847b12abbe99c939b98aca8b0d3e53\"\n },\n {\n \"url\": \"/manifest.json\",\n \"revision\": \"c61028ca6e9f81bf958e6b66238e2d7c\"\n },\n {\n \"url\": \"/robots.txt\",\n \"revision\": \"b6216d61c03e6ce0c9aea6ca7808f7ca\"\n },\n {\n \"url\": \"/static/css/admin.73df498d.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/app.1032cefd.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/fork-awesome.min.css\",\n \"revision\": \"82c1118c918377daaa71a320ab8eea42\"\n },\n {\n \"url\": \"/static/css/leaflet.css\",\n \"revision\": \"5c761a156eea82263d8bacf1718fe04d\"\n },\n {\n \"url\": \"/static/css/profile.203e78e2.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/reset.e2527ec6.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/statistics.40e24e75.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/css/workouts.dd7c6bdb.css\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.eot\",\n \"revision\": \"e719f9244c69e28e7d00e725ca1e280e\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.svg\",\n \"revision\": \"d58987a18774d859d98af95281c1dee5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.ttf\",\n \"revision\": \"fe45770c6c277da3921355d971045ea5\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff\",\n \"revision\": \"92cd4d8328b2ae614386a01ff935a9f3\"\n },\n {\n \"url\": \"/static/fonts/forkawesome-webfont.woff2\",\n \"revision\": \"12ee76445f0383c58529169d700b6650\"\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.01a58da9.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-700.6514157e.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.8293436e.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot\",\n \"revision\": null\n },\n {\n \"url\": \"/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/map.5b26d82b.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-700.b8a7047e.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-italic.0b285c83.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/img/pt-sans-v9-latin-regular.59a385b4.svg\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/243.27c8fef5.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/431.5976068e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/633.9a092c9a.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/858.0441e3cc.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/93.97ccdf6e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/admin.ab9e5f5f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/app.f098903e.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.54e51b70.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.dd30724d.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.761e9759.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.9cd652fd.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.4abcd6a2.js\",\n \"revision\": null\n }\n], {});\n\n\n\n\n\n\n\n\n"],"names":["workbox_core_setCacheNameDetails","prefix","self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision"],"mappings":"0nBAiBAA,EAAAA,oBAAiC,CAACC,OAAQ,sBAG1CC,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACN,IAWHC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,mCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,sCACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,0CACPC,SAAY,oCAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,kDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,qDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,uDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,sDACPC,SAAY,MAEd,CACED,IAAO,wDACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,gDACPC,SAAY,MAEd,CACED,IAAO,mDACPC,SAAY,MAEd,CACED,IAAO,oDACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,oCACPC,SAAY,MAEd,CACED,IAAO,kCACPC,SAAY,OAEb,CAAA"} \ No newline at end of file diff --git a/fittrackee/dist/static/css/app.4af5a69d.css b/fittrackee/dist/static/css/app.1032cefd.css similarity index 98% rename from fittrackee/dist/static/css/app.4af5a69d.css rename to fittrackee/dist/static/css/app.1032cefd.css index f3322b46..d0d73912 100644 --- a/fittrackee/dist/static/css/app.4af5a69d.css +++ b/fittrackee/dist/static/css/app.1032cefd.css @@ -1 +1 @@ -#footer[data-v-2c73279e]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-2c73279e]{text-decoration:none}#footer .footer-items[data-v-2c73279e]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-2c73279e]{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-2c73279e]{font-size:.85em}#footer .footer-items .footer-item[data-v-2c73279e]{padding:5px 5px}#footer .footer-items .bullet[data-v-2c73279e]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.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-95c1cc02]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#nav[data-v-95c1cc02]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-95c1cc02]{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-95c1cc02]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-95c1cc02]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-95c1cc02]:hover{cursor:pointer}#nav .fa[data-v-95c1cc02]{font-size:1.2em}#nav .close-icon[data-v-95c1cc02],#nav .hamburger-icon[data-v-95c1cc02],#nav .nav-icon-open[data-v-95c1cc02]{display:none}#nav .nav-items[data-v-95c1cc02]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-95c1cc02]{display:none}#nav .nav-items .nav-items-app-menu[data-v-95c1cc02],#nav .nav-items .nav-items-user-menu[data-v-95c1cc02]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-95c1cc02]{display:flex}#nav .nav-items .nav-item[data-v-95c1cc02]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-95c1cc02]{width:60px}#nav .nav-items .nav-item[data-v-95c1cc02] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-95c1cc02]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-95c1cc02]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-95c1cc02]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-95c1cc02]{display:block}#nav .nav-icon-open[data-v-95c1cc02]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-95c1cc02]{display:none}#nav .close-icon[data-v-95c1cc02]{display:block}#nav .close-icon.menu-closed[data-v-95c1cc02],#nav .nav-items[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open[data-v-95c1cc02]{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-95c1cc02],#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02],#nav .nav-items.menu-open .nav-items-user-menu[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-95c1cc02]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-95c1cc02]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-95c1cc02]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-47759238]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-47759238]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-47759238]{width:150px}#no-config .error-page .error-img svg[data-v-47759238]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-47759238]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-47759238]{font-size:1em}}: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#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{background-color:var(--input-bg-color);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)}form.errors :invalid{outline:2px solid var(--input-error-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.confirm:disabled,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);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.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}.form-info{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-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(/static/img/map.5b26d82b.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}}.text-center{text-align:center}.text-left{text-align:left}.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%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{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{display:block}.user-limit-help[data-v-24ec93e2]{display:flex}.user-limit-help span[data-v-24ec93e2]{font-style:italic}.user-limit-help .fa-info-circle[data-v-24ec93e2]{margin-right:10px}.no-contact[data-v-24ec93e2]{font-style:italic}.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}}.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}#admin-menu[data-v-0dd66f89]{display:flex}#admin-menu.center-card[data-v-0dd66f89]{width:100%}#admin-menu[data-v-0dd66f89] .card{flex-grow:1}#admin-menu[data-v-0dd66f89] .card .admin-menu{padding:0 10px}#admin-menu[data-v-0dd66f89] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-3a9a4a65]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-3a9a4a65]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-3a9a4a65],.pagination-center .pagination .page-prev[data-v-3a9a4a65],.pagination-center .pagination .page[data-v-3a9a4a65]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-3a9a4a65],.pagination-center .pagination .page-prev.active[data-v-3a9a4a65],.pagination-center .pagination .page.active[data-v-3a9a4a65]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled[data-v-3a9a4a65],.pagination-center .pagination .page.disabled[data-v-3a9a4a65]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page.disabled a[data-v-3a9a4a65]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-3a9a4a65]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-3a9a4a65]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-3a9a4a65]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-3a9a4a65]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-3a9a4a65]{display:none}}.users-filters[data-v-627a8e91]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-627a8e91]{font-size:1.5em}.users-filters .fa-disabled[data-v-627a8e91]{color:var(--disabled-color)}.users-filters .search-username[data-v-627a8e91]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-627a8e91]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-627a8e91]:focus{outline:none}.users-filters .search-username .fa-times[data-v-627a8e91]{padding-right:10px}@media screen and (max-width:700px){.users-filters .search-username[data-v-627a8e91]{width:400px}}@media screen and (max-width:500px){.users-filters .search-username[data-v-627a8e91]{width:90%}}#admin-users .top-button[data-v-4735c10f]{display:none}#admin-users .no-users[data-v-4735c10f]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-4735c10f]{font-size:1.1em}#admin-users .left-text[data-v-4735c10f]{text-align:left}#admin-users[data-v-4735c10f] .user-picture img{height:30px;width:30px}#admin-users[data-v-4735c10f] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-4735c10f]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4735c10f]{margin-top:-30px}}.user-header[data-v-20291951]{display:flex;align-items:stretch}.user-header .user-details[data-v-20291951]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-20291951]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-20291951]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-20291951]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-20291951],.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-20291951]{font-size:1.5em}.user-header .user-details .user-stats[data-v-20291951]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-20291951]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}#user-profile[data-v-9729cba4]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-9729cba4]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-794e58e7]{white-space:pre-wrap}#user-infos .alert-message[data-v-794e58e7]{margin:0}#user-infos .profile-buttons[data-v-794e58e7]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-794e58e7]{display:flex}#user-infos .email-form form[data-v-794e58e7]{width:100%}#user-infos .email-form .form-buttons[data-v-794e58e7]{display:flex;gap:10px;margin-top:10px}.password-strength[data-v-74e71df5]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-74e71df5]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-74e71df5],.password-strength .strength-1[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-weak) 0,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-medium) 0,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-good) 0,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-strong) 0,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb,.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{opacity:0}.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb{-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-74e71df5]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-74e71df5]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-74e71df5]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-74e71df5]{padding-left:20px}.password-input[data-v-5a126514]{display:flex;flex-direction:column}.password-input .show-password[data-v-5a126514]{font-style:italic;font-size:.85em;text-align:right;margin-top:-7.5px;padding-right:10px;cursor:pointer}.form-items .password-input[data-v-37b8c4c8] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-37b8c4c8] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-37b8c4c8] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-37b8c4c8]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-37b8c4c8]{flex-direction:column}}.form-items .password-input[data-v-b6bacea0] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-b6bacea0]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-b6bacea0]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-687e9604]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-687e9604]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-687e9604]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-687e9604]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-687e9604]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-687e9604]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-687e9604]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604]{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-687e9604],#user-picture-edition .user-picture-form .picture-help[data-v-687e9604]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-f7548012]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-f7548012]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-f7548012]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-f7548012]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-f7548012]{font-weight:400}#new-oauth2-app #new-oauth2-title[data-v-0657ee77]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-0657ee77]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-0657ee77]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-0657ee77]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-0657ee77]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-0657ee77]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-0657ee77]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-0657ee77]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-0657ee77]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-0657ee77]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-0657ee77]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-3b2fe9ed]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-3b2fe9ed]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-3b2fe9ed]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-3b2fe9ed]{margin:5px}#oauth2-app .app-buttons[data-v-00697fc9]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-00697fc9]{word-break:break-word}#oauth2-app .client-scopes[data-v-00697fc9]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-00697fc9]{padding-right:15px}#oauth2-app .fa-copy[data-v-00697fc9]{font-size:.9em}#oauth2-app .no-description[data-v-00697fc9]{font-style:italic}#oauth2-app .no-app[data-v-00697fc9]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-a5c2cdde]{list-style:square}#oauth2-apps-list ul li[data-v-a5c2cdde]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-a5c2cdde]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-a5c2cdde]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-a5c2cdde]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-a5c2cdde]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-74e52489]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-74e52489]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-74e52489]{width:170px}#user-sport-preferences .disabled-sport[data-v-74e52489]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-74e52489]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-74e52489]{font-style:normal}#user-sport-preferences .action-buttons[data-v-74e52489]{width:70px}#user-sport-preferences .edition-buttons[data-v-74e52489]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-74e52489]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-74e52489]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-74e52489]{display:none}#user-sport-preferences div.error-message[data-v-74e52489]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:45%}#user-sport-preferences .edition-buttons[data-v-74e52489]{justify-content:center}#user-sport-preferences .mobile-display[data-v-74e52489]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:100%}}[data-v-74257266]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.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.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.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.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}body[data-v-74257266]{margin:0}#app[data-v-74257266]{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-74257266]{color:var(--app-a-color);text-decoration:none}img[data-v-74257266]{max-width:100%}input[data-v-74257266],select[data-v-74257266],textarea[data-v-74257266]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-74257266]:disabled,select[data-v-74257266]:disabled,textarea[data-v-74257266]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-74257266] :invalid{outline:2px solid var(--input-error-color)}label[data-v-74257266]{font-weight:700}button[data-v-74257266]{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-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-74257266]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm[data-v-74257266]:disabled,button[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-74257266]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-74257266]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-74257266]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-74257266]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-74257266]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-74257266]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-74257266]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-74257266]{display:flex;flex-direction:column}.form-box .form-items input[data-v-74257266]{margin:10px;padding:5px}.form-info[data-v-74257266]{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-74257266]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-74257266]{text-transform:uppercase}.view[data-v-74257266]{padding-bottom:35px}.fa-trophy[data-v-74257266]{color:var(--workout-trophy-color)}.mountains[data-v-74257266]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-74257266]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-74257266]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.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-74257266]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-74257266]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-74257266]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-74257266]{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-74257266]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-74257266]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-74257266]{font-weight:700}.description-list dl dd[data-v-74257266]{margin-bottom:10px}.center-card[data-v-74257266]{margin:0 auto;width:700px}.center-card.with-margin[data-v-74257266]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-74257266]{width:100%;margin:0 auto 50px auto}}.text-center[data-v-74257266]{text-align:center}.text-left[data-v-74257266]{text-align:left}.responsive-table[data-v-74257266]{margin-bottom:15px}.responsive-table table[data-v-74257266]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-74257266]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-74257266]{font-size:.95em}.responsive-table table tbody td[data-v-74257266]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:none}.responsive-table table .cell-heading[data-v-74257266]{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-74257266]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-74257266]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-74257266]{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-74257266]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-74257266]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-74257266]{width:100%}}.profile-buttons[data-v-74257266]{display:flex;gap:10px}.medium-sport-img[data-v-74257266]{height:35px;width:35px;margin:0 auto}.about-text[data-v-74257266]{margin-top:200px}@media screen and (max-width:700px){.about-text[data-v-74257266]{margin-top:0}}.about-text .fa-padding[data-v-74257266]{padding-right:10px}#bike[data-v-795f7f5f]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-795f7f5f]{max-width:200px}@media screen and (max-width:700px){#bike[data-v-795f7f5f]{margin-top:10px}#bike .bike-img[data-v-795f7f5f]{max-width:150px}}#about[data-v-bffb50d0]{display:flex;height:100%}#about .container[data-v-bffb50d0]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-bffb50d0]{min-width:50%;height:100%}#about .container .about-details[data-v-bffb50d0]{width:100%}@media screen and (max-width:1000px){#about[data-v-bffb50d0]{height:auto}#about .container .container-sub[data-v-bffb50d0]{align-items:center}#about .container .container-sub .bike-img[data-v-bffb50d0]{max-width:60%}}@media screen and (max-width:700px){#about .container[data-v-bffb50d0]{flex-direction:column}}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-c9d1f10c]{padding-right:5px}.timeline-workout[data-v-c9d1f10c]{margin-bottom:20px}.timeline-workout .box[data-v-c9d1f10c]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-c9d1f10c]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-c9d1f10c]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-c9d1f10c]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-map[data-v-c9d1f10c]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-c9d1f10c]{line-height:150px}.timeline-workout .box .workout-map[data-v-c9d1f10c] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-c9d1f10c]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-c9d1f10c]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-c9d1f10c],.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-c9d1f10c],.timeline-workout .box .workout-data .img .data-values[data-v-c9d1f10c]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-c9d1f10c],.timeline-workout .box .workout-data .elevation[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-c9d1f10c],.timeline-workout .box .workout-data.without-gpx .img[data-v-c9d1f10c]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-c9d1f10c],.timeline-workout .box .workout-map[data-v-c9d1f10c]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-c9d1f10c]{cursor:default}.timeline-workout .box .fa[data-v-c9d1f10c]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-35567bf2]{margin-bottom:20px}#timeline .more-workouts[data-v-35567bf2]{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}}.calendar-workouts-chart[data-v-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{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-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{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-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{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}.start-chart .chart-radio[data-v-58e4e79d]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-58e4e79d]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-58e4e79d]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-b5480ab0]{width:100%;padding-bottom:3px}.records-card[data-v-b5480ab0] .card{font-size:.9em}.records-card[data-v-b5480ab0] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-b5480ab0] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-b5480ab0] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-b5480ab0] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-b5480ab0] .card .card-content .record span{padding:2px 5px}.records-card[data-v-b5480ab0] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-b5480ab0] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-b5480ab0] .card,.records-card[data-v-b5480ab0] .card .card-title{font-size:1em}.records-card[data-v-b5480ab0] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-27dfbb65]{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}#dashboard .dashboard-container[data-v-20e19721]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-20e19721]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-20e19721]{width:32%}#dashboard .dashboard-container .right-container[data-v-20e19721]{width:68%}#dashboard .mobile-menu[data-v-20e19721]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-20e19721]{padding-bottom:60px}#dashboard .dashboard-container[data-v-20e19721]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-20e19721],#dashboard .dashboard-container .right-container[data-v-20e19721]{width:100%}#dashboard .mobile-menu[data-v-20e19721]{display:flex}#dashboard .mobile-menu .box[data-v-20e19721]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-20e19721]{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-20e19721]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-20e19721]{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-20e19721]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-20e19721]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}[data-v-bf09a420]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#user-auth-form[data-v-bf09a420]{display:flex}#user-auth-form #user-form[data-v-bf09a420]{width:60%}#user-auth-form #user-form .account[data-v-bf09a420]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-bf09a420]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-bf09a420]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-bf09a420]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-bf09a420]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-bf09a420]{margin-bottom:50px}#user-auth-form #user-form[data-v-bf09a420]{width:100%}}.user-form[data-v-bf09a420]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-bf09a420]{margin-top:10px}}#loginOrRegister[data-v-6a38125b]{display:flex;height:100%}#loginOrRegister .container[data-v-6a38125b]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-6a38125b]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-6a38125b]{height:auto}#loginOrRegister .container .container-sub[data-v-6a38125b]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-6a38125b]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-6a38125b]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-8cf5cc64]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-8cf5cc64]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-2d3b4eac]{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-2d3b4eac]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-2d3b4eac]:last-child{padding-bottom:5px}.dropdown-item[data-v-2d3b4eac]{cursor:default}.dropdown-item.selected[data-v-2d3b4eac]{font-weight:700}.dropdown-item.selected[data-v-2d3b4eac]:after{content:" ✔"}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{-webkit-animation:spin-4c9921ee 2s linear infinite;animation:spin-4c9921ee 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-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{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-e8fcfaba]{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-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file +#footer[data-v-2c73279e]{display:flex;bottom:0;position:fixed;width:100%;background:var(--footer-background-color);color:var(--footer-color);font-size:.9em}#footer a[data-v-2c73279e]{text-decoration:none}#footer .footer-items[data-v-2c73279e]{display:flex;align-content:center;justify-content:center;width:100%}#footer .footer-items .footer-item[data-v-2c73279e]{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-2c73279e]{font-size:.85em}#footer .footer-items .footer-item[data-v-2c73279e]{padding:5px 5px}#footer .footer-items .bullet[data-v-2c73279e]{padding:5px 0}}.user-picture{display:flex;justify-content:center;align-items:center;min-width:30%;line-height:1.2em}.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-95c1cc02]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#nav[data-v-95c1cc02]{background:var(--nav-bar-background-color);display:flex;padding:15px 10px}#nav .nav-container[data-v-95c1cc02]{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-95c1cc02]{color:var(--nav-bar-link-active);font-weight:700}#nav .app-name[data-v-95c1cc02]{font-size:1.2em;font-weight:700;margin-right:10px}#nav .app-name[data-v-95c1cc02]:hover{cursor:pointer}#nav .fa[data-v-95c1cc02]{font-size:1.2em}#nav .close-icon[data-v-95c1cc02],#nav .hamburger-icon[data-v-95c1cc02],#nav .nav-icon-open[data-v-95c1cc02]{display:none}#nav .nav-items[data-v-95c1cc02]{display:flex;flex:1;justify-content:space-between;line-height:1.8em;width:100%}#nav .nav-items .nav-items-close[data-v-95c1cc02]{display:none}#nav .nav-items .nav-items-app-menu[data-v-95c1cc02],#nav .nav-items .nav-items-user-menu[data-v-95c1cc02]{display:flex;margin:0;padding:0}#nav .nav-items .nav-items-group[data-v-95c1cc02]{display:flex}#nav .nav-items .nav-item[data-v-95c1cc02]{padding:0 10px}#nav .nav-items .nav-item.dropdown-wrapper[data-v-95c1cc02]{width:60px}#nav .nav-items .nav-item[data-v-95c1cc02] .dropdown-list{margin-left:-10px;padding-left:10px;width:75px}#nav .nav-items .nav-link[data-v-95c1cc02]{color:var(--app-a-color);cursor:pointer}#nav .nav-items .nav-profile-img[data-v-95c1cc02]{margin-bottom:-10px}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture img{height:32px;width:32px;-o-object-fit:cover;object-fit:cover}#nav .nav-items .nav-profile-img[data-v-95c1cc02] .user-picture .no-picture{font-size:1.7em}#nav .nav-items .nav-separator[data-v-95c1cc02]{display:none}@media screen and (max-width:1000px){#nav .hamburger-icon[data-v-95c1cc02]{display:block}#nav .nav-icon-open[data-v-95c1cc02]{display:block;text-align:right;width:100%}#nav .nav-icon-open.menu-open[data-v-95c1cc02]{display:none}#nav .close-icon[data-v-95c1cc02]{display:block}#nav .close-icon.menu-closed[data-v-95c1cc02],#nav .nav-items[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open[data-v-95c1cc02]{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-95c1cc02],#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02],#nav .nav-items.menu-open .nav-items-user-menu[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-items-close[data-v-95c1cc02]{align-items:center;display:flex;flex-direction:row;justify-content:space-between}#nav .nav-items.menu-open .nav-items-close .app-name[data-v-95c1cc02]{padding:15px 25px}#nav .nav-items.menu-open .nav-items-group[data-v-95c1cc02]{display:flex;flex-direction:column}#nav .nav-items.menu-open .nav-item[data-v-95c1cc02]{padding:7px 25px}#nav .nav-items.menu-open .nav-profile-img[data-v-95c1cc02]{display:none}#nav .nav-items.menu-open .nav-separator[data-v-95c1cc02]{display:flex;border-top:solid 1px var(--nav-border-color);margin:0 20px;padding:0}}#no-config[data-v-47759238]{display:flex;align-items:center;justify-content:space-around;padding:10px;height:100%}#no-config .error-page[data-v-47759238]{display:flex;flex-direction:column;align-items:center;max-width:100%}#no-config .error-page .error-img[data-v-47759238]{width:150px}#no-config .error-page .error-img svg[data-v-47759238]{stroke:none;fill-rule:nonzero;fill:var(--app-color);filter:var(--svg-filter)}#no-config .error-page .error-message[data-v-47759238]{font-size:1.2em;text-align:center}@media screen and (max-width:1000px){#no-config .error-page .error-message[data-v-47759238]{font-size:1em}}: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#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{background-color:var(--input-bg-color);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)}form.errors :invalid{outline:2px solid var(--input-error-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.confirm:disabled,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);margin:10px}.box,.info-box{border-radius:4px;padding:10px}.info-box{background-color:var(--info-background-color);color:var(--info-color);font-size:.8em}.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}.form-info{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper{text-transform:uppercase}.view{padding-bottom:35px}.fa-trophy{color:var(--workout-trophy-color)}.mountains{margin-bottom:-3px;height:16px;filter:var(--workout-img-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(/static/img/map.5b26d82b.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}}.text-center{text-align:center}.text-left{text-align:left}.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%}}.profile-buttons{display:flex;gap:10px}.medium-sport-img{height:35px;width:35px;margin:0 auto}.app-container{height:calc(100vh - 130px)}.app-container.hide-scroll{overflow:hidden}.app-container .app-loading{display:flex;align-items:center;height:100%}.scroll{display:flex;justify-content:flex-end;position:fixed;bottom:42px;right:-15px;padding:0 25px}.scroll .scroll-button{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{display:block}.user-limit-help[data-v-24ec93e2]{display:flex}.user-limit-help span[data-v-24ec93e2]{font-style:italic}.user-limit-help .fa-info-circle[data-v-24ec93e2]{margin-right:10px}.no-contact[data-v-24ec93e2]{font-style:italic}.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}}.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}#admin-menu[data-v-0dd66f89]{display:flex}#admin-menu.center-card[data-v-0dd66f89]{width:100%}#admin-menu[data-v-0dd66f89] .card{flex-grow:1}#admin-menu[data-v-0dd66f89] .card .admin-menu{padding:0 10px}#admin-menu[data-v-0dd66f89] .card .admin-menu dd{margin-bottom:30px}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details{display:flex;flex-direction:column}#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .email-sending-status,#admin-menu[data-v-0dd66f89] .card .admin-menu .application-config-details .registration-status{font-weight:700}#admin-sports table td[data-v-6d62af67]{font-size:1.1em}#admin-sports .sport-img[data-v-6d62af67]{height:35px;width:35px;margin:0 auto}#admin-sports .has-workouts[data-v-6d62af67]{font-size:.95em;font-style:italic;padding:0 10px}#admin-sports .sport-action[data-v-6d62af67]{padding-left:40px}#admin-sports .action-button[data-v-6d62af67]{display:block}#admin-sports .top-button[data-v-6d62af67]{display:none}@media screen and (max-width:700px){#admin-sports .sport-action[data-v-6d62af67]{padding-left:10px}#admin-sports .has-workouts[data-v-6d62af67]{padding-top:5px}#admin-sports .action-button[data-v-6d62af67]{display:flex;align-items:center;flex-wrap:wrap;flex-direction:column}#admin-sports .top-button[data-v-6d62af67]{display:block;margin-bottom:20px}}.table-selects[data-v-72463173]{display:flex;justify-content:space-between;margin:10px 0}.table-selects label select[data-v-72463173]{margin-left:10px;padding:5px}@media screen and (max-width:700px){.table-selects[data-v-72463173]{flex-wrap:wrap}.table-selects label[data-v-72463173]{margin-bottom:10px}.table-selects label select[data-v-72463173]{margin-left:0}}.pagination-center[data-v-3a9a4a65]{display:flex;justify-content:center;font-size:.9em}.pagination-center .pagination[data-v-3a9a4a65]{display:flex;padding-left:0;list-style:none;border-radius:.25rem}.pagination-center .pagination .page-next[data-v-3a9a4a65],.pagination-center .pagination .page-prev[data-v-3a9a4a65],.pagination-center .pagination .page[data-v-3a9a4a65]{border:solid 1px var(--card-border-color);padding:10px 15px}.pagination-center .pagination .page-next.active[data-v-3a9a4a65],.pagination-center .pagination .page-prev.active[data-v-3a9a4a65],.pagination-center .pagination .page.active[data-v-3a9a4a65]{font-weight:700}.pagination-center .pagination .page-next.disabled[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled[data-v-3a9a4a65],.pagination-center .pagination .page.disabled[data-v-3a9a4a65]{cursor:default}.pagination-center .pagination .page-next.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page-prev.disabled a[data-v-3a9a4a65],.pagination-center .pagination .page.disabled a[data-v-3a9a4a65]{cursor:default;pointer-events:none;color:var(--disabled-color)}.pagination-center .pagination .page[data-v-3a9a4a65]{margin-left:-1px}.pagination-center .pagination .page-prev[data-v-3a9a4a65]{border-top-left-radius:5px;border-bottom-left-radius:5px}.pagination-center .pagination .page-next[data-v-3a9a4a65]{border-top-right-radius:5px;border-bottom-right-radius:5px;margin-left:-1px}.pagination-center .pagination .fa[data-v-3a9a4a65]{font-size:.8em;padding:0 5px}@media screen and (max-width:1000px){.pagination-center .pagination .page[data-v-3a9a4a65]{display:none}}.users-filters[data-v-627a8e91]{display:flex;align-items:center;padding:10px 0;gap:10px}.users-filters .fa[data-v-627a8e91]{font-size:1.5em}.users-filters .fa-disabled[data-v-627a8e91]{color:var(--disabled-color)}.users-filters .search-username[data-v-627a8e91]{display:flex;align-items:center;justify-content:space-between;gap:10px;border:solid 1px var(--card-border-color);border-radius:4px;color:var(--info-color);width:45%}.users-filters .search-username input[data-v-627a8e91]{border:none;height:12px;width:90%}.users-filters .search-username input[data-v-627a8e91]:focus{outline:none}.users-filters .search-username .fa-times[data-v-627a8e91]{padding-right:10px}@media screen and (max-width:700px){.users-filters .search-username[data-v-627a8e91]{width:400px}}@media screen and (max-width:500px){.users-filters .search-username[data-v-627a8e91]{width:90%}}#admin-users .top-button[data-v-4735c10f]{display:none}#admin-users .no-users[data-v-4735c10f]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-4735c10f]{font-size:1.1em}#admin-users .left-text[data-v-4735c10f]{text-align:left}#admin-users[data-v-4735c10f] .user-picture img{height:30px;width:30px}#admin-users[data-v-4735c10f] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-4735c10f]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-4735c10f]{margin-top:-30px}}.user-header[data-v-20291951]{display:flex;align-items:stretch}.user-header .user-details[data-v-20291951]{flex-grow:1;padding:10px;display:flex;flex-direction:column;align-items:center}.user-header .user-details .user-name[data-v-20291951]{font-size:2em;height:60%}.user-header .user-details .user-stats[data-v-20291951]{display:flex;gap:40px}.user-header .user-details .user-stats .user-stat[data-v-20291951]{display:flex;flex-direction:column;align-items:center;padding-top:10px}.user-header .user-details .user-stats .user-stat .stat-label[data-v-20291951],.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951]{padding:0 5px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.5em}@media screen and (max-width:500px){.user-header .user-details .user-name[data-v-20291951]{font-size:1.5em}.user-header .user-details .user-stats[data-v-20291951]{gap:20px}.user-header .user-details .user-stats .user-stat .stat-number[data-v-20291951],.user-header .user-details .user-stats .user-stat[data-v-20291951] .distance{font-weight:700;font-size:1.2em}.user-header .user-details .user-stats .user-stat.hide-small[data-v-20291951]{display:none}}.profile-tabs-checkboxes{display:flex;justify-content:center;flex-wrap:wrap;gap:5px}#user-profile[data-v-9729cba4]{margin:auto;width:700px}@media screen and (max-width:1000px){#user-profile[data-v-9729cba4]{width:100%;margin:0 auto 50px auto}}#user-infos .user-bio[data-v-794e58e7]{white-space:pre-wrap}#user-infos .alert-message[data-v-794e58e7]{margin:0}#user-infos .profile-buttons[data-v-794e58e7]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-794e58e7]{display:flex}#user-infos .email-form form[data-v-794e58e7]{width:100%}#user-infos .email-form .form-buttons[data-v-794e58e7]{display:flex;gap:10px;margin-top:10px}.password-strength[data-v-74e71df5]{cursor:default;display:flex;flex-direction:column}.password-strength .password-slider[data-v-74e71df5]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;height:5px;outline:none;padding:0}.password-strength .strength-0[data-v-74e71df5],.password-strength .strength-1[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-weak) 0,var(--password-color-weak) 100%);background-repeat:no-repeat}.password-strength .strength-2[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-medium) 0,var(--password-color-medium) 100%);background-repeat:no-repeat}.password-strength .strength-3[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-good) 0,var(--password-color-good) 100%);background-repeat:no-repeat}.password-strength .strength-4[data-v-74e71df5]{background:var(--password-bg-color);background-image:linear-gradient(to right,var(--password-color-strong) 0,var(--password-color-strong) 100%);background-repeat:no-repeat}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb,.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{opacity:0}.password-strength .password-slider[data-v-74e71df5]::-webkit-slider-thumb{-webkit-appearance:none}.password-strength .password-slider[data-v-74e71df5]::-moz-range-thumb{-moz-appearance:none;appearance:none}.password-strength .password-strength-details[data-v-74e71df5]{margin-bottom:5px;margin-top:-10px;padding:0 10px}.password-strength .password-strength-details .password-strength-value[data-v-74e71df5]{font-size:.85em}.password-strength .password-strength-details .info-box[data-v-74e71df5]{padding:1px 10px}.password-strength .password-strength-details .info-box .password-feedback[data-v-74e71df5]{padding-left:20px}.password-input[data-v-5a126514]{display:flex;flex-direction:column}.password-input .show-password[data-v-5a126514]{font-style:italic;font-size:.85em;text-align:right;margin-top:-7.5px;padding-right:10px;cursor:pointer}.form-items .password-input[data-v-37b8c4c8] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-items .password-input[data-v-37b8c4c8] .form-info{font-weight:400;padding-left:10px}.form-items .password-input[data-v-37b8c4c8] .password-strength-details{font-weight:400;margin-top:0}.form-buttons[data-v-37b8c4c8]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-37b8c4c8]{flex-direction:column}}.form-items .password-input[data-v-b6bacea0] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-b6bacea0]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-b6bacea0]{flex-direction:column}}#user-picture-edition .user-picture-form[data-v-687e9604]{display:flex;flex-direction:column;margin-top:10px}#user-picture-edition .user-picture-form form[data-v-687e9604]{display:flex;flex-direction:column;gap:10px;justify-content:flex-start}#user-picture-edition .user-picture-form form input[data-v-687e9604]{margin-top:10px;padding:5px}#user-picture-edition .user-picture-form form span[data-v-687e9604]{font-style:italic;font-size:.9em;padding-left:5px}#user-picture-edition .user-picture-form form .picture-help[data-v-687e9604]{display:flex}#user-picture-edition .user-picture-form form .picture-help span[data-v-687e9604]{font-style:italic;padding:10px}#user-picture-edition .user-picture-form form .picture-help .fa-info-circle[data-v-687e9604]{margin-right:10px}#user-picture-edition .user-picture-form .picture-buttons[data-v-687e9604]{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-687e9604],#user-picture-edition .user-picture-form .picture-help[data-v-687e9604]{flex-direction:column;align-items:stretch}}#tz-dropdown[data-v-47ea2903]{display:flex;flex-direction:column;position:relative}#tz-dropdown .tz-dropdown-list[data-v-47ea2903]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:5px 0;position:absolute;overflow-y:auto;top:20px;left:0;right:0;max-height:200px;width:inherit}#tz-dropdown .tz-dropdown-item[data-v-47ea2903]{cursor:pointer;font-size:.9em;font-weight:400;padding:5px}#tz-dropdown .tz-dropdown-item.focus[data-v-47ea2903]{background-color:var(--dropdown-hover-color)}#user-preferences-edition .form-items[data-v-f7548012]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-f7548012]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-f7548012]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-f7548012]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-f7548012]{font-weight:400}#new-oauth2-app #new-oauth2-title[data-v-0657ee77]{font-size:1.05em;font-weight:700;padding:0 10px}#new-oauth2-app #apps-form .form-items[data-v-0657ee77]{display:flex;flex-direction:column}#new-oauth2-app #apps-form .form-items input[type=text][data-v-0657ee77]{height:20px}#new-oauth2-app #apps-form .form-items .form-item-scope[data-v-0657ee77]{padding:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-label[data-v-0657ee77]{font-weight:700}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes[data-v-0657ee77]{padding-bottom:10px}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-label[data-v-0657ee77]{height:inherit}#new-oauth2-app #apps-form .form-items .form-item-scope .form-item-scope-checkboxes .scope-description[data-v-0657ee77]{font-style:italic;margin:0 5px}#new-oauth2-app #apps-form .form-items .form-item[data-v-0657ee77]{display:flex;flex-direction:column;padding:10px}#new-oauth2-app #apps-form .form-buttons[data-v-0657ee77]{display:flex;justify-content:flex-end}#new-oauth2-app #apps-form .form-buttons button[data-v-0657ee77]{margin:5px}#authorize-oauth2-app #authorize-oauth2-title[data-v-3b2fe9ed]{font-size:1.05em;font-weight:700;padding:0 10px}#authorize-oauth2-app .oauth2-access[data-v-3b2fe9ed]{padding:0 10px}#authorize-oauth2-app .authorize-oauth2-buttons[data-v-3b2fe9ed]{display:flex}#authorize-oauth2-app .authorize-oauth2-buttons button[data-v-3b2fe9ed]{margin:5px}#oauth2-app .app-buttons[data-v-00697fc9]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-00697fc9]{word-break:break-word}#oauth2-app .client-scopes[data-v-00697fc9]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-00697fc9]{padding-right:15px}#oauth2-app .fa-copy[data-v-00697fc9]{font-size:.9em}#oauth2-app .no-description[data-v-00697fc9]{font-style:italic}#oauth2-app .no-app[data-v-00697fc9]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-a5c2cdde]{list-style:square}#oauth2-apps-list ul li[data-v-a5c2cdde]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-a5c2cdde]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-a5c2cdde]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-a5c2cdde]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-a5c2cdde]{font-style:italic;padding-bottom:20px}#user-sport-preferences .sport-img[data-v-74e52489]{height:35px;width:35px;margin:0 auto}#user-sport-preferences .sport-color[data-v-74e52489]{border:none;margin:6px 1px 6px 0;padding:0;width:40px}#user-sport-preferences .sport-label[data-v-74e52489]{width:170px}#user-sport-preferences .disabled-sport[data-v-74e52489]{font-style:italic;color:var(--disabled-sport-color)}#user-sport-preferences .disabled-sport .disabled-message[data-v-74e52489]{font-size:.9em}#user-sport-preferences .disabled-sport .cell-heading[data-v-74e52489]{font-style:normal}#user-sport-preferences .action-buttons[data-v-74e52489]{width:70px}#user-sport-preferences .edition-buttons[data-v-74e52489]{display:flex;flex-wrap:wrap;gap:5px;line-height:1.3em}#user-sport-preferences .edition-buttons button[data-v-74e52489]{text-align:center;min-width:80px}#user-sport-preferences .threshold-input[data-v-74e52489]{padding:5px;width:50px}#user-sport-preferences .mobile-display[data-v-74e52489]{display:none}#user-sport-preferences div.error-message[data-v-74e52489]{margin:0}@media screen and (max-width:700px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:45%}#user-sport-preferences .edition-buttons[data-v-74e52489]{justify-content:center}#user-sport-preferences .mobile-display[data-v-74e52489]{display:flex;margin:20px 0 10px}}@media screen and (max-width:500px){#user-sport-preferences .action-buttons[data-v-74e52489],#user-sport-preferences .sport-label[data-v-74e52489]{width:100%}}[data-v-74257266]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;src:url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot);src:local("PT Sans"),local("PTSans-Regular"),url(/static/fonts/pt-sans-v9-latin-regular.c5a514ae.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-regular.e7867499.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-regular.b5b74f16.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-regular.c43bc0a2.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-regular.59a385b4.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.8293436e.eot);src:local("PT Sans Italic"),local("PTSans-Italic"),url(/static/fonts/pt-sans-v9-latin-italic.8293436e.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-italic.10011d51.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-italic.fe36f54f.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-italic.6206408d.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-italic.0b285c83.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.01a58da9.eot);src:local("PT Sans Bold"),local("PTSans-Bold"),url(/static/fonts/pt-sans-v9-latin-700.01a58da9.eot?#iefix) format("embedded-opentype"),url(/static/fonts/pt-sans-v9-latin-700.51b1613b.woff2) format("woff2"),url(/static/fonts/pt-sans-v9-latin-700.5ff2a2d7.woff) format("woff"),url(/static/fonts/pt-sans-v9-latin-700.6514157e.ttf) format("truetype"),url(/static/img/pt-sans-v9-latin-700.b8a7047e.svg#PTSans) format("svg")}body[data-v-74257266]{margin:0}#app[data-v-74257266]{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-74257266]{color:var(--app-a-color);text-decoration:none}img[data-v-74257266]{max-width:100%}input[data-v-74257266],select[data-v-74257266],textarea[data-v-74257266]{background-color:var(--input-bg-color);border-radius:4px;border:solid 1px var(--input-border-color);padding:10px}input[data-v-74257266]:disabled,select[data-v-74257266]:disabled,textarea[data-v-74257266]:disabled{background-color:var(--disabled-background-color);border-color:var(--disabled-color)}form.errors[data-v-74257266] :invalid{outline:2px solid var(--input-error-color)}label[data-v-74257266]{font-weight:700}button[data-v-74257266]{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-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button[data-v-74257266]:enabled:active{box-shadow:2px 0 2px var(--app-shadow-color);transform:translateY(2px)}button.confirm[data-v-74257266]:disabled,button[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}button.cancel[data-v-74257266]{background:var(--button-cancel-bg-color);color:var(--button-cancel-color)}button.cancel[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.confirm[data-v-74257266]{background:var(--button-confirm-bg-color);color:var(--button-confirm-color)}button.confirm[data-v-74257266]:hover{background:var(--app-color);color:var(--button-hover-color)}button.danger[data-v-74257266]{background:var(--button-danger-bg-color);color:var(--button-danger-color)}button.danger[data-v-74257266]:hover{background:var(--button-danger-hover-bg-color);color:var(--button-danger-hover-color)}button.danger[data-v-74257266]:disabled{background:var(--disabled-background-color);border-color:var(--disabled-color);color:var(--disabled-color)}.box[data-v-74257266]{border:solid 1px var(--card-border-color);border-radius:4px;padding:10px;margin:10px}.info-box[data-v-74257266]{background-color:var(--info-background-color);border-radius:4px;color:var(--info-color);font-size:.8em;padding:10px}.container[data-v-74257266]{display:flex;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;max-width:1140px}.form-box .form-items[data-v-74257266]{display:flex;flex-direction:column}.form-box .form-items input[data-v-74257266]{margin:10px;padding:5px}.form-info[data-v-74257266]{color:var(--alert-color);font-size:.8em;margin-top:-2px;padding:0 15px}.success-message[data-v-74257266]{margin:20px 0;background-color:var(--success-background-color);color:var(--success-color)}.upper[data-v-74257266]{text-transform:uppercase}.view[data-v-74257266]{padding-bottom:35px}.fa-trophy[data-v-74257266]{color:var(--workout-trophy-color)}.mountains[data-v-74257266]{margin-bottom:-3px;height:16px;filter:var(--workout-img-color)}.section-title[data-v-74257266]{font-weight:700;padding-top:15px;padding-left:10px;text-transform:capitalize}.no-map[data-v-74257266]{background-color:var(--workout-no-map-bg-color);background-image:url(/static/img/map.5b26d82b.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-74257266]{display:flex;justify-content:space-around}.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:inline-flex}@media screen and (max-width:300px){.custom-checkboxes-group .custom-checkboxes[data-v-74257266]{display:flex;flex-direction:column;align-items:center;gap:5px}}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label[data-v-74257266]{font-weight:400;float:left;padding:0 5px;cursor:pointer}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label input[data-v-74257266]{display:none}.custom-checkboxes-group .custom-checkboxes .custom-checkbox label span[data-v-74257266]{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-74257266]{background-color:var(--custom-checkbox-checked-bg-color);color:var(--custom-checkbox-checked-color)}.description-list dl[data-v-74257266]{display:flex;flex-direction:column;width:100%}.description-list dl dt[data-v-74257266]{font-weight:700}.description-list dl dd[data-v-74257266]{margin-bottom:10px}.center-card[data-v-74257266]{margin:0 auto;width:700px}.center-card.with-margin[data-v-74257266]{margin-top:100px}@media screen and (max-width:1000px){.center-card[data-v-74257266]{width:100%;margin:0 auto 50px auto}}.text-center[data-v-74257266]{text-align:center}.text-left[data-v-74257266]{text-align:left}.responsive-table[data-v-74257266]{margin-bottom:15px}.responsive-table table[data-v-74257266]{width:100%;padding:10px;font-size:.9em;border-collapse:collapse}.responsive-table table thead th[data-v-74257266]{vertical-align:center;padding:10px;border-bottom:2px solid var(--card-border-color)}.responsive-table table tbody[data-v-74257266]{font-size:.95em}.responsive-table table tbody td[data-v-74257266]{padding:10px;border-bottom:1px solid var(--card-border-color)}.responsive-table table tbody tr:last-child td[data-v-74257266]{border:none}.responsive-table table .cell-heading[data-v-74257266]{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-74257266]{left:-9999px;position:absolute;visibility:hidden}.responsive-table table tr[data-v-74257266]{border-bottom:0;display:flex;flex-direction:row;flex-wrap:wrap;margin-bottom:40px}.responsive-table table td[data-v-74257266]{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-74257266]{border:1px solid var(--card-border-color)}.responsive-table table .cell-heading[data-v-74257266]{display:flex}}@media screen and (max-width:500px){.responsive-table table td[data-v-74257266]{width:100%}}.profile-buttons[data-v-74257266]{display:flex;gap:10px}.medium-sport-img[data-v-74257266]{height:35px;width:35px;margin:0 auto}.about-text[data-v-74257266]{margin-top:200px}@media screen and (max-width:700px){.about-text[data-v-74257266]{margin-top:0}}.about-text .fa-padding[data-v-74257266]{padding-right:10px}#bike[data-v-795f7f5f]{display:flex;justify-content:center;margin-top:180px;padding:10px}#bike .bike-img[data-v-795f7f5f]{max-width:200px}@media screen and (max-width:700px){#bike[data-v-795f7f5f]{margin-top:10px}#bike .bike-img[data-v-795f7f5f]{max-width:150px}}#about[data-v-bffb50d0]{display:flex;height:100%}#about .container[data-v-bffb50d0]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#about .container .container-sub[data-v-bffb50d0]{min-width:50%;height:100%}#about .container .about-details[data-v-bffb50d0]{width:100%}@media screen and (max-width:1000px){#about[data-v-bffb50d0]{height:auto}#about .container .container-sub[data-v-bffb50d0]{align-items:center}#about .container .container-sub .bike-img[data-v-bffb50d0]{max-width:60%}}@media screen and (max-width:700px){#about .container[data-v-bffb50d0]{flex-direction:column}}.static-map{display:flex;position:relative}.static-map.display-hover{position:absolute;margin-left:20px;margin-top:3px;width:400px;height:225px;z-index:100}.static-map .bg-map-image{background-size:cover;background-position:50%;opacity:.6;height:200px;width:100%}.static-map .map-attribution{top:0;right:0;font-size:11px;position:absolute}.static-map .map-attribution-text{background-color:hsla(0,0%,100%,.7)}.mountains[data-v-c9d1f10c]{padding-right:5px}.timeline-workout[data-v-c9d1f10c]{margin-bottom:20px}.timeline-workout .box[data-v-c9d1f10c]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-c9d1f10c]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-c9d1f10c] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-c9d1f10c]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-c9d1f10c]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-map[data-v-c9d1f10c]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-c9d1f10c]{line-height:150px}.timeline-workout .box .workout-map[data-v-c9d1f10c] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-c9d1f10c]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-c9d1f10c]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-c9d1f10c],.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-c9d1f10c],.timeline-workout .box .workout-data .img .data-values[data-v-c9d1f10c]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-c9d1f10c]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-c9d1f10c]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-c9d1f10c],.timeline-workout .box .workout-data .elevation[data-v-c9d1f10c]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-c9d1f10c],.timeline-workout .box .workout-data.without-gpx .img[data-v-c9d1f10c]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-c9d1f10c],.timeline-workout .box .workout-map[data-v-c9d1f10c]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-c9d1f10c]{cursor:default}.timeline-workout .box .fa[data-v-c9d1f10c]{padding-right:10px}.no-workouts[data-v-4b4d15fb]{display:flex;justify-content:center}#timeline[data-v-35567bf2]{margin-bottom:20px}#timeline .more-workouts[data-v-35567bf2]{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}}.calendar-workouts-chart[data-v-52d4310a]{display:flex}.calendar-workouts-chart .workouts-chart[data-v-52d4310a]{position:relative}.calendar-workouts-chart .workouts-chart .workouts-count[data-v-52d4310a]{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-52d4310a]{top:16px;left:6px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart{padding-top:12px}.calendar-workouts-chart .workouts-chart[data-v-52d4310a] .donut-chart svg g circle{stroke-width:2;stroke-opacity:.8}}.calendar-workouts-chart .workouts-pane[data-v-52d4310a]{display:flex;padding-left:40px}.calendar-workouts-chart .workouts-pane .more-workouts[data-v-52d4310a]{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-52d4310a]{min-width:70px}}.calendar-workouts-chart .workouts-pane .more-workouts .calendar-more[data-v-52d4310a]{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}.start-chart .chart-radio[data-v-58e4e79d]{display:flex;justify-content:space-between;flex-wrap:wrap;padding:10px}.start-chart .chart-radio label[data-v-58e4e79d]{font-size:.85em;font-weight:400}@media screen and (max-width:700px){.start-chart .chart-radio label[data-v-58e4e79d]{padding-bottom:10px}}.user-month-stats[data-v-1bcddc12] .card-content{padding:10px}.records-card[data-v-b5480ab0]{width:100%;padding-bottom:3px}.records-card[data-v-b5480ab0] .card{font-size:.9em}.records-card[data-v-b5480ab0] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-b5480ab0] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-b5480ab0] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-b5480ab0] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-b5480ab0] .card .card-content .record span{padding:2px 5px}.records-card[data-v-b5480ab0] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-b5480ab0] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:20px}@media screen and (max-width:1000px){.records-card[data-v-b5480ab0] .card,.records-card[data-v-b5480ab0] .card .card-title{font-size:1em}.records-card[data-v-b5480ab0] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-27dfbb65]{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}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:row}#dashboard .dashboard-container .dashboard-sub-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1]{width:32%}#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:68%}#dashboard .mobile-menu[data-v-4c0893c1]{display:none}@media screen and (max-width:1000px){#dashboard[data-v-4c0893c1]{padding-bottom:60px}#dashboard .dashboard-container[data-v-4c0893c1]{display:flex;flex-direction:column}#dashboard .dashboard-container .left-container[data-v-4c0893c1],#dashboard .dashboard-container .right-container[data-v-4c0893c1]{width:100%}#dashboard .mobile-menu[data-v-4c0893c1]{display:flex}#dashboard .mobile-menu .box[data-v-4c0893c1]{display:flex;justify-content:space-between;padding:0;width:100%}#dashboard .mobile-menu .box .mobile-menu-item[data-v-4c0893c1]{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-4c0893c1]{color:var(--app-color)}#dashboard .mobile-menu .box .mobile-menu-item.is-selected[data-v-4c0893c1]{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-4c0893c1]{color:var(--mobile-menu-selected-color)}#dashboard .is-hidden[data-v-4c0893c1]{display:none}}#error[data-v-b60bfa80]{display:flex;align-items:center;justify-content:center;height:75vh;text-align:center}#error .error-content[data-v-b60bfa80]{margin-top:50px}#error .error-content h1[data-v-b60bfa80]{font-size:6em;text-shadow:4px 4px 0 var(--app-shadow-color)}#error .error-content p[data-v-b60bfa80]{font-size:1.2em;margin:30px 0}[data-v-bf09a420]: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;--input-bg-color:#fff;--input-error-color:#dc3545;--dropdown-hover-color:#eff0f5;--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,.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:#d6dde3;--alert-color:#3f3f3f;--info-background-color:#e5e7ea;--info-color:var(--app-color);--error-background-color:#ffd2d2;--error-color:#db1924;--success-background-color:#d9ecd9;--success-color:#306430;--disabled-background-color:#e0e0e0;--disabled-color:#a3a3a3;--disabled-sport-color:#616161;--scroll-button-bg-color:hsla(0,0%,100%,.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));--password-bg-color:#d7dadf;--password-color-weak:#e46d6e;--password-color-medium:#f8bc4a;--password-color-good:#acc578;--password-color-strong:#57c255}#user-auth-form[data-v-bf09a420]{display:flex}#user-auth-form #user-form[data-v-bf09a420]{width:60%}#user-auth-form #user-form .account[data-v-bf09a420]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-bf09a420]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-bf09a420]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-bf09a420]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-bf09a420]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-bf09a420]{margin-bottom:50px}#user-auth-form #user-form[data-v-bf09a420]{width:100%}}.user-form[data-v-bf09a420]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-bf09a420]{margin-top:10px}}#loginOrRegister[data-v-6a38125b]{display:flex;height:100%}#loginOrRegister .container[data-v-6a38125b]{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:20px;width:100%}#loginOrRegister .container .container-sub[data-v-6a38125b]{min-width:50%;height:100%}@media screen and (max-width:1000px){#loginOrRegister[data-v-6a38125b]{height:auto}#loginOrRegister .container .container-sub[data-v-6a38125b]{align-items:center}#loginOrRegister .container .container-sub .bike-img[data-v-6a38125b]{max-width:60%}}@media screen and (max-width:700px){#loginOrRegister .container[data-v-6a38125b]{flex-direction:column}}.alert-message[data-v-69d7e4ff]{background:var(--alert-background-color);color:var(--alert-color);border-radius:4px;margin:10px;padding:10px}.custom-textarea[data-v-8cf5cc64]{display:flex;flex-direction:column}.custom-textarea .remaining-chars[data-v-8cf5cc64]{font-size:.8em;font-style:italic}.strong[data-v-f46ff1d6]{font-weight:700}.dropdown-list[data-v-2d3b4eac]{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-2d3b4eac]{padding-top:5px;padding-right:5px}.dropdown-list li[data-v-2d3b4eac]:last-child{padding-bottom:5px}.dropdown-item[data-v-2d3b4eac]{cursor:default}.dropdown-item.selected[data-v-2d3b4eac]{font-weight:700}.dropdown-item.selected[data-v-2d3b4eac]:after{content:" ✔"}.error-message[data-v-2659a79a]{background:var(--error-background-color);color:var(--error-color);border-radius:4px;margin:10px;padding:10px}.loader[data-v-4c9921ee]{-webkit-animation:spin-4c9921ee 2s linear infinite;animation:spin-4c9921ee 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-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-4c9921ee{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}#modal[data-v-e8fcfaba]{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-e8fcfaba]{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-e8fcfaba]{margin:15% auto;width:100%}}@media screen and (max-width:700px){#modal .custom-modal[data-v-e8fcfaba]{margin:50% 0;width:100%}}#modal .custom-modal[data-v-e8fcfaba] .card{border:0;margin:0}#modal .custom-modal[data-v-e8fcfaba] .card .card-content{display:flex;flex-direction:column}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message{padding:10px}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-message span{font-weight:700}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons{display:flex;justify-content:flex-end}#modal .custom-modal[data-v-e8fcfaba] .card .card-content .modal-buttons button{margin:5px} \ No newline at end of file diff --git a/fittrackee/dist/static/js/admin.3b0b84c0.js b/fittrackee/dist/static/js/admin.ab9e5f5f.js similarity index 96% rename from fittrackee/dist/static/js/admin.3b0b84c0.js rename to fittrackee/dist/static/js/admin.ab9e5f5f.js index 6406acc8..33b7b13d 100644 --- a/fittrackee/dist/static/js/admin.3b0b84c0.js +++ b/fittrackee/dist/static/js/admin.ab9e5f5f.js @@ -1,2 +1,2 @@ "use strict";(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[328],{6e3:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var a=i(6252),n=i(2262),s=i(8273),c=i(5801),r=i(9917);const S=t=>((0,a.dD)("data-v-64629971"),t=t(),(0,a.Cn)(),t),l={id:"admin",class:"view"},p={key:0,class:"container"},u=S((()=>(0,a._)("div",{id:"bottom"},null,-1)));var T=(0,a.aZ)({__name:"AdminView",setup(t){const e=(0,r.o)(),i=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_CONFIG])),S=(0,a.Fl)((()=>e.getters[c.SY.GETTERS.APP_STATS])),T=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.IS_ADMIN])),d=(0,a.Fl)((()=>e.getters[c.YN.GETTERS.USER_LOADING]));return(0,a.wF)((()=>e.dispatch(c.SY.ACTIONS.GET_APPLICATION_STATS))),(t,e)=>{const c=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",l,[(0,n.SU)(d)?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",p,[(0,n.SU)(T)?((0,a.wg)(),(0,a.j4)(c,{key:0,appConfig:(0,n.SU)(i),appStatistics:(0,n.SU)(S)},null,8,["appConfig","appStatistics"])):((0,a.wg)(),(0,a.j4)(s.Z,{key:1})),u]))])}}}),d=i(3744);const o=(0,d.Z)(T,[["__scopeId","data-v-64629971"]]);var _=o}}]); -//# sourceMappingURL=admin.3b0b84c0.js.map \ No newline at end of file +//# sourceMappingURL=admin.ab9e5f5f.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/admin.3b0b84c0.js.map b/fittrackee/dist/static/js/admin.ab9e5f5f.js.map similarity index 98% rename from fittrackee/dist/static/js/admin.3b0b84c0.js.map rename to fittrackee/dist/static/js/admin.ab9e5f5f.js.map index 81049e45..d1dce502 100644 --- a/fittrackee/dist/static/js/admin.3b0b84c0.js.map +++ b/fittrackee/dist/static/js/admin.ab9e5f5f.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/admin.3b0b84c0.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAVR,CAeD,I,UCvDD,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/admin.ab9e5f5f.js","mappings":"mOAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CACjBC,GAAI,QACJC,MAAO,QAEHC,EAAa,CACjBC,IAAK,EACLF,MAAO,aAEHG,EAA2BT,GAAa,KAAmBU,EAAAA,EAAAA,GAAoB,MAAO,CAAEL,GAAI,UAAY,MAAO,KAUrH,OAA4BM,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,MAAMC,GAEN,MAAMC,GAAQC,EAAAA,EAAAA,KAERC,GAAqCC,EAAAA,EAAAA,KACzC,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,cAEhBC,GAA6CH,EAAAA,EAAAA,KACjD,IAAMH,EAAMI,QAAQC,EAAAA,GAAAA,QAAAA,aAEhBE,GAAuCJ,EAAAA,EAAAA,KAC3C,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,YAEhBC,GAAoCN,EAAAA,EAAAA,KACxC,IAAMH,EAAMI,QAAQI,EAAAA,GAAAA,QAAAA,gBAKxB,OAFEE,EAAAA,EAAAA,KAAc,IAAMV,EAAMW,SAASN,EAAAA,GAAAA,QAAAA,yBAE9B,CAACO,EAAUC,KAChB,MAAMC,GAAyBC,EAAAA,EAAAA,IAAkB,eAEjD,OAAQC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO5B,EAAY,EACzD6B,EAAAA,EAAAA,IAAOT,IAWLU,EAAAA,EAAAA,IAAoB,IAAI,KAVvBH,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAOzB,EAAY,EACnD0B,EAAAA,EAAAA,IAAOX,KACHS,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaN,EAAwB,CAClDrB,IAAK,EACLS,WAAWgB,EAAAA,EAAAA,IAAOhB,GAClBI,eAAeY,EAAAA,EAAAA,IAAOZ,IACrB,KAAM,EAAG,CAAC,YAAa,qBACzBU,EAAAA,EAAAA,OAAcI,EAAAA,EAAAA,IAAaC,EAAAA,EAAU,CAAE5B,IAAK,KACjDC,MAVR,CAeD,I,UCvDD,MAAM4B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://fittrackee_client/./src/views/AdminView.vue?67de","webpack://fittrackee_client/./src/views/AdminView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64629971\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin\",\n class: \"view\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n\n import NotFound from '@/components/Common/NotFound.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig, IAppStatistics } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminView',\n setup(__props) {\n\n const store = useStore()\n\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const appStatistics: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_STATS]\n )\n const isAuthUserAmin: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_ADMIN]\n )\n const userLoading: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\n onBeforeMount(() => store.dispatch(ROOT_STORE.ACTIONS.GET_APPLICATION_STATS))\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_unref(userLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(isAuthUserAmin))\n ? (_openBlock(), _createBlock(_component_router_view, {\n key: 0,\n appConfig: _unref(appConfig),\n appStatistics: _unref(appStatistics)\n }, null, 8, [\"appConfig\", \"appStatistics\"]))\n : (_openBlock(), _createBlock(NotFound, { key: 1 })),\n _hoisted_3\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminView.vue?vue&type=style&index=0&id=64629971&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-64629971\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","class","_hoisted_2","key","_hoisted_3","_createElementVNode","_defineComponent","__name","setup","__props","store","useStore","appConfig","computed","getters","ROOT_STORE","appStatistics","isAuthUserAmin","AUTH_USER_STORE","userLoading","onBeforeMount","dispatch","_ctx","_cache","_component_router_view","_resolveComponent","_openBlock","_createElementBlock","_unref","_createCommentVNode","_createBlock","NotFound","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.01a7cbeb.js b/fittrackee/dist/static/js/app.01a7cbeb.js deleted file mode 100644 index 86fd0a55..00000000 --- a/fittrackee/dist/static/js/app.01a7cbeb.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),o=n(2894),s=n(5801),i=n(2024);const l=a().create({baseURL:(0,i.k)()});l.interceptors.request.use((e=>{const t=o.Z.getters[s.YN.GETTERS.AUTH_TOKEN];if(t){const n=`Bearer ${t}`;e.headers&&e.headers.Authorization!==n&&(e.headers.Authorization=`Bearer ${t}`)}return e}),(e=>Promise.reject(e))),t["Z"]=l},2540:function(e,t,n){"use strict";var r=n(9150);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},9923:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Kontaktiere den Administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["unter ",n(r(0))," Lizenz "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Quellkode"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Aktiviere Konto"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto."])},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(["Anwendung"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt-E-Mail des Administrators"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. Anzahl aktiver Nutzer"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Wenn 0, gibt es keine Registrierungslimitierung.."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. Dateianzahl im zip Archiv"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["keine Kontakt-E-Mail"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe der hochgeladenen Dateien (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Anwendungskonfiguration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe des zip Archives (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Zurück zu Admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Passwort zurücksetzen?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Aktuelle E-Mail"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Lösche Nutzer"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["E-Mail-Versand ist deaktiviert."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Aktivieren/Deaktivieren von Sportarten."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Neue E-Mail"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Das wasswort wurde zurückgesetzt."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit deaktiviert."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit aktiviert."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["Trainings existieren"])},IMAGE:e=>{const{normalize:t}=e;return t(["Bild"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sportarten Administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Aktualisiere E-Mail"])},USER:e=>{const{normalize:t}=e;return t(["Nutzer"])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Die E-Mail Adresse wurde aktualisiert."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte hinzufügen"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte entfernen"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["Adminstatus"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["Accountstatus"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["Trainingsanzahl"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Abrufen der Konfiguration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Aktualisieren der Konfiguration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Fehler. Die Registrierung ist deaktiviert."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Dateierweiterung ist nicht erlaubt."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["Die Datei ist größer als erlaubt."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Ungültige Anmeldedaten."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Die bereitgestellten Daten sind ungültig."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"Network Error":e=>{const{normalize:t}=e;return t(["Netzwerkfehler."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden"])},"no file part":e=>{const{normalize:t}=e;return t(["Keine Datei angegeben."])},"no selected file":e=>{const{normalize:t}=e;return t(["Keine Datei ausgewählt."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Passwort: Passwort und Passwortbestätigung stimmen nicht überein."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Gebe ein gültiges Authentifizierungstoken an."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Es tut mir leid, der Benutzername ist schon vergeben."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sportart existiert nicht."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Die Signatur ist abgelaufen. Bitte melde dich erneut an."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Registrierung erfolgreich."])},"user does not exist":e=>{const{normalize:t}=e;return t(["Der Nutzer existiert nicht."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Du hast keine Berechtigung."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["Vorhergehende"])},NEXT:e=>{const{normalize:t}=e;return t(["Nächste"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Bestätigungs-E-Mail erneut senden"])},BACK:e=>{const{normalize:t}=e;return t(["Zurück"])},CANCEL:e=>{const{normalize:t}=e;return t(["Abbrechen"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Filter löschen"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Mein Konto löschen"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Bearbeiten"])},ENABLE:e=>{const{normalize:t}=e;return t(["Aktivieren"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmelden"])},NO:e=>{const{normalize:t}=e;return t(["Nein"])},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESET:e=>{const{normalize:t}=e;return t(["Zurücksetzen"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Speichern"])},YES:e=>{const{normalize:t}=e;return t(["Ja"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["Über"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bestätigung"])},CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["Tag"]),t(["Tage"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["sortiert nach"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sortieren"])},ASC:e=>{const{normalize:t}=e;return t(["aufsteigend"])},DESC:e=>{const{normalize:t}=e;return t(["absteigend"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["pro Seite"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Insgesamt"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Dieser Monat"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Seite nicht gefunden"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Training nicht gefunden"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Etwas lief schief"])}},u={},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Wandern"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken (elektrisch)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rudern"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Laufen"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Langlauf)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Schneeschuhe"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Gehen"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistik"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["Woche"])},month:e=>{const{normalize:t}=e;return t(["Monat"])},year:e=>{const{normalize:t}=e;return t(["Jahr"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Hast du keine Anweisungen erhalten?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hast du bereits ein Konto?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Aktuelles Passwort"])},EMAIL:e=>{const{normalize:t}=e;return t(["E-Mail"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Gebe eine gültige E-Mail-Adresse an."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Gebe ein Passwort ein"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Nach Benutzernamen filtern"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort verbergen"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte fordere ein neues Passworts an."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LOG_IN:e=>{const{normalize:t}=e;return t(["Anmelden"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmeldung"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Abmelden"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Neues Passwort"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Keine Nutzer gefunden."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["Mindestens 8 Zeichen sind erforderlich."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Passwort vergessen?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["schwach"])},AVERAGE:e=>{const{normalize:t}=e;return t(["mittel"])},GOOD:e=>{const{normalize:t}=e;return t(["gut"])},STRONG:e=>{const{normalize:t}=e;return t(["start"])},LABEL:e=>{const{normalize:t}=e;return t(["Passwortstärke"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Vermeide vorhersehbare Buchstabenersetzungen wie ","@"," für a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter."])},allUppercase:e=>{const{normalize:t}=e;return t(["Schreibe einige, aber nicht alle Buchstaben groß."])},capitalization:e=>{const{normalize:t}=e;return t(["Schreibe mehr als nur den ersten Buchstaben groß."])},dates:e=>{const{normalize:t}=e;return t(["Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},recentYears:e=>{const{normalize:t}=e;return t(["Vermeide Angabe von letzten Jahreszahlen."])},associatedYears:e=>{const{normalize:t}=e;return t(["Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},sequences:e=>{const{normalize:t}=e;return t(["Vermeide gebräuchliche Zeichenfolgen."])},repeated:e=>{const{normalize:t}=e;return t(["Vermeide wiederholungen von Wörtern und Zeichen."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung."])},anotherWord:e=>{const{normalize:t}=e;return t(["Füge weitere weniger gebräuchliche Wörter hinzu."])},useWords:e=>{const{normalize:t}=e;return t(["Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke."])},noNeed:e=>{const{normalize:t}=e;return t(["Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden."])},pwned:e=>{const{normalize:t}=e;return t(["Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Dein Passwort wurde aktualisiert. Klicke ",n(r(0))," um dich anzumelden."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Kontoausgabe"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Zurück zum Profil"])},BIO:e=>{const{normalize:t}=e;return t(["Biographie"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Geburtsdatum"])},EDIT:e=>{const{normalize:t}=e;return t(["Profil bearbeiten"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen ändern"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen für Sportarten ändern"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Bitte ",n(r(0))," um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Vorname"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Erster Tag der Woche"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nachname"])},LOCATION:e=>{const{normalize:t}=e;return t(["Ort"])},MONDAY:e=>{const{normalize:t}=e;return t(["Montag"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Bildausgabe"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Bild aktualisieren"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Bild entfernen"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Einstellungsausgabe"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profil-Ausgabe"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Regirierungsdatum"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sportarten-Einstellungsausgabe"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sontag"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["Konto"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen"])},PROFILE:e=>{const{normalize:t}=e;return t(["Profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["Sportarten"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},COLOR:e=>{const{normalize:t}=e;return t(["Farbe"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["vom Admin deaktiviert"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["aktiv"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["Geschwindigkeitsschwellenwert für Stopp"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich erstellt."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Einheiten für die Distanz"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperiales System (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metrisches System (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Zeitzone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["E-Mail zur Kontobestätigung erneut senden"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Entschuldigung, die Registrierung ist deaktiviert."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort anzeigen"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Dieser Account ist inaktiv."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["Benutzerbild"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt."])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Training hinzufügen"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["Analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["Aufstieg"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschnittsgeschwindigkeit"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["zurück zum Training"])},DATE:e=>{const{normalize:t}=e;return t(["Datum"])},DESCENT:e=>{const{normalize:t}=e;return t(["Abstieg"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["zeige Filter"])},DISTANCE:e=>{const{normalize:t}=e;return t(["Entfernung"])},DURATION:e=>{const{normalize:t}=e;return t(["Dauer"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Training bearbeiten"])},ELEVATION:e=>{const{normalize:t}=e;return t(["Höhe"])},END:e=>{const{normalize:t}=e;return t(["Ende"])},FROM:e=>{const{normalize:t}=e;return t(["Von"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx Datei"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["verberge Filter"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Letzte Trainings"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Lade mehr Trainings"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["maximale Höhe"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["Maximale Dateianzahl"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["Maximalgröße"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["minimale Höhe"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Nächstes Segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Nächstes Training"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["Daten aus gpx, ohne Bereinigung"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Keine Datei angegeben"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["enthält keinen Ordner"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Keine Karte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein nächstes Segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein nächstes Training"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Keine Anmerkungen"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Training"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Keine Aufzeichnungen."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Keine Trainings."])},NOTES:e=>{const{normalize:t}=e;return t(["Anmerkungen"])},PAUSES:e=>{const{normalize:t}=e;return t(["Pausen"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Vorheriges Segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Vorheriges Training"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["Aufzeichnung"]),t(["Aufzeichnungen"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Weiteste Entfernung"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Längste Dauer"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["verbleibende Zeichen"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["Segment"]),t(["Segmente"])])},SPEED:e=>{const{normalize:t}=e;return t(["Geschwindigkeit"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["Sportart"]),t(["Sportarten"])])},START:e=>{const{normalize:t}=e;return t(["Start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start und Ziel"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["Höhenachse bei Null starten"])},TITLE:e=>{const{normalize:t}=e;return t(["Titel"])},TO:e=>{const{normalize:t}=e;return t(["bis"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["Gesamtdauer"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Füge erstes Training hinzu!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["Luftfeuchtigkeit"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["Temperatur"])},WIND:e=>{const{normalize:t}=e;return t(["Wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNO"])},NE:e=>{const{normalize:t}=e;return t(["NO"])},ENE:e=>{const{normalize:t}=e;return t(["ONO"])},E:e=>{const{normalize:t}=e;return t(["O"])},ESE:e=>{const{normalize:t}=e;return t(["OSO"])},SE:e=>{const{normalize:t}=e;return t(["SO"])},SSE:e=>{const{normalize:t}=e;return t(["SSO"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["klarer Tag"])},"clear-night":e=>{const{normalize:t}=e;return t(["klare Nacht"])},cloudy:e=>{const{normalize:t}=e;return t(["wolkig"])},fog:e=>{const{normalize:t}=e;return t(["Nebel"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["teilweise bewölkter Tag"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["teilweise bewölkte Nacht"])},rain:e=>{const{normalize:t}=e;return t(["Regen"])},sleet:e=>{const{normalize:t}=e;return t(["Schneeregen"])},snow:e=>{const{normalize:t}=e;return t(["Schnee"])},wind:e=>{const{normalize:t}=e;return t(["Wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["mit .gpx Datei"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["ohne .gpx Datei"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["Training"]),t(["Trainings"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["Trainingsdatum"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du dieses Training löschen möchtest?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip Datei"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["oder .zip Datei mit .gpx Dateien"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},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"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},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."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["Email sending is disabled."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},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 during gpx processing":e=>{const{normalize:t}=e;return t(["Error during gpx processing."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Error during gpx file parsing."])},"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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"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."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for administrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"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"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Authorize"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},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"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Displayed"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={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 to have encountered some issues.
Please try again 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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Add a new OAuth2 application"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Id"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Issue at"])},NAME:e=>{const{normalize:t}=e;return t(["Application name"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Redirect URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to application configuration."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to auth endpoints."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to auth endpoints."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to users endpoints."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to users endpoints."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to workouts endpoints."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to workouts endpoints."])}},URL:e=>{const{normalize:t}=e;return t(["Application URL"])}},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application created successfully. Make sure to copy the secret now, it won't show up again."])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["The application ",n(r(0))," is requesting:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2 applications"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Authorize ",n(r(0))," to use your account?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copy to the clipboard"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Delete application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["New OAuth App"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Revoke all tokens"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to revoke all tokens?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["All existing associated tokens have been revoked."])}},d={"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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},m={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"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},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"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide 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"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Ascent-related data (records, total)"])},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"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},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"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},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"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Your account has been created successfully."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},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"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},S={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"])},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(["Farthest distance"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Highest ascent"])},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"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},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"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous licence ",n(r(0))," (en) "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},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) "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},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(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["L'envoi d'emails est désactivé."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits 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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},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(["Courriel : une adresse électronique valide doit être fournie."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Erreur lors du traitement du fichier gpx."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Erreur lors de l'analyse du fichier."])},"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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse électronique doit être differente de l'adresse actuelle"])},"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."])},"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 username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse électronique doit être fournie pour le contact de l'administrateur"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"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"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Renvoyer le message de confirmation"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autoriser"])},BACK:e=>{const{normalize:t}=e;return t(["Retour"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},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"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Affiché"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois-ci"])}},c={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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une nouvelle application OAuth2"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Identifiant"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Créée le"])},NAME:e=>{const{normalize:t}=e;return t(["Nom de l'application"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["URL de redirection"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture à la configuration de l'application."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes auth."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes auth."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes users."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes users."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes workouts."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes workouts."])}},URL:e=>{const{normalize:t}=e;return t(["URL de l'application"])}},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus."])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["L'application ",n(r(0))," demande les accès suivants :"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["Applications OAuth2"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Autoriser ",n(r(0))," à utiliser votre compte ?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copier dans le presse papier"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Supprimer l'application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une App OAuth"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Révoquer tous les jetons"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir révoquer tous les jetons ?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Tous les jetons associés existants ont été révoqués."])}},d={"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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Électrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},m={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"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Courriel"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisissez une adresse électronique valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisissez un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},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 vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants."])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance)."])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex : date de naissance)."])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])},pwned:e=>{const{normalize:t}=e;return t(["Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Données relatives au dénivelé positif (records, total)"])},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"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse électronique ou contacter l'administrateur"])},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"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},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"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Votre compte a été créé avec succès."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},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."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau le courriel de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés."])}},S={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"])},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_HA:e=>{const{normalize:t}=e;return t(["Dénivelé positif le + élevé"])},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"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},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"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},6331:function(e,t,n){"use strict";var r=n(6775),a=n(6429),o=n(9963),s=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},_={class:"footer-items"},S={class:"footer-item"},E=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),T=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),p={class:"footer-item"},A={key:0,class:"footer-item bullet"},O={key:1,class:"footer-item"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),I={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var N=(0,l.aZ)({__name:"Footer",props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",_,[(0,l._)("div",S,[E,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),T,(0,l._)("div",p,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",O,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,U)])):(0,l.kq)("",!0),R,(0,l._)("div",I,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const h=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var w=h,f=(n(7658),n(6595)),v=n(5801),C=n(9917),D=n(6287);const k=e=>((0,l.dD)("data-v-95c1cc02"),e=e(),(0,l.Cn)(),e),P={id:"nav"},L={class:"nav-container"},M={class:"nav-app-name"},b={class:"nav-items-close"},y=k((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),G={key:0,class:"nav-items-group"},F=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),W={class:"nav-items-user-menu"},K={key:0,class:"nav-items-group"},Y={class:"nav-item nav-profile-img"},x={key:1,class:"nav-items-group"},B=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var $=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,C.o)(),r=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.AUTH_USER_PROFILE])),a=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>n.getters[v.SY.GETTERS.LANGUAGE])),s=(0,c.iH)(!1);function i(){s.value=!0,t("menuInteraction",!0)}function d(){s.value=!1,t("menuInteraction",!1)}function m(e){n.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e.value.toString())}function _(){n.dispatch(v.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),S=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",P,[(0,l._)("div",L,[(0,l._)("div",M,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":s.value}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>i())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":s.value}])},[(0,l._)("div",b,[y,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!s.value}]),onClick:t[2]||(t[2]=e=>d())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>d())},[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",G,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(a)&&(0,c.SU)(r).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),F])):(0,l.kq)("",!0)]),(0,l._)("div",W,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",K,[(0,l._)("div",Y,[(0,l.Wm)(f.Z,{user:(0,c.SU)(r)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(r).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",x,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(D.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(S,{key:2,class:"nav-item",options:(0,c.SU)(D.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[B])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const Z=(0,z.Z)($,[["__scopeId","data-v-95c1cc02"]]);var H=Z,q=n(7167);const V={id:"no-config"},j={class:"error-page"},X={class:"error-img"},J=["innerHTML"];var Q=(0,l.aZ)({__name:"NoConfig",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",j,[(0,l._)("div",X,[(0,l.Wm)(q.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,J)])]))}});const ee=(0,z.Z)(Q,[["__scopeId","data-v-47759238"]]);var te=ee;const ne=(0,l._)("div",{id:"top"},null,-1),re={key:0,class:"app-container"},ae={class:"app-loading"},oe={class:"container scroll"},se=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),ie=[se];var le=(0,l.aZ)({__name:"App",setup(e){const t=(0,C.o)(),n=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),o=(0,c.iH)(!1);function s(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{const e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{o.value=!1}),300)}function _(){let e="en";try{const t=navigator.language.split("-")[0];t in D.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{_(),t.dispatch(v.SY.ACTIONS.GET_APPLICATION_CONFIG)})),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[ne,(0,l.Wm)(H,{onMenuInteraction:s}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",re,[(0,l._)("div",ae,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(te,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":o.value}]),onClick:m},ie,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(w,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ce=le;var ue=ce,de=n(2540),me=n(5023),_e=n(2894);const Se={class:"alert-message"},Ee=["innerHTML"];var Te=(0,l.aZ)({__name:"AlertMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Se,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Ee)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],Ie={class:"remaining-chars"};var ge=(0,l.aZ)({__name:"CustomTextArea",props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=null===e?"":e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>r.value=e),onInput:a},null,40,Re),[[o.nr,r.value]]),(0,l._)("div",Ie,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)(r.value.length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const Ne=(0,z.Z)(ge,[["__scopeId","data-v-8cf5cc64"]]);var ze=Ne,he=n(3649);const we=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(0,l.aZ)({__name:"Distance",props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:o,strong:s,unitFrom:i,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?he.Dl[i.value].defaultTarget:i.value)),_=(0,l.Fl)((()=>d.value?(0,he.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(_)),3),we,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(o)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var Ce=ve,De=n(2201);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(0,l.aZ)({__name:"Dropdown",props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,De.yj)(),a=(0,c.iH)(!1),o=n.options.map((e=>e));function s(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(o),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},Fe={key:0},We={key:1};var Ke=(0,l.aZ)({__name:"ErrorMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",Fe,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",We,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const Ye=(0,z.Z)(Ke,[["__scopeId","data-v-2659a79a"]]);var xe=Ye;const Be={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"},$e=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Ze=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),He=[$e,Ze];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Be,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(0,l._)("g",{id:"g147"},[(0,l._)("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"}),(0,l._)("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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var _t=mt;const St={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"},Et=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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"}),(0,l._)("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),pt=[Et,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",St,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const It={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},gt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[gt];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",It,Nt)}var ht={name:"MountainBikingElectric"};const wt=(0,z.Z)(ht,[["render",zt]]);var ft=wt;const vt={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 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},Ct=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Dt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),kt=[Ct,Dt];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;const yt={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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Ft=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),Wt=[Gt,Ft];function Kt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Wt)}var Yt={name:"Running"};const xt=(0,z.Z)(Yt,[["render",Kt]]);var Bt=xt;const $t={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 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Zt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),qt=[Zt,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",$t,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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"},cn=(0,l.uE)('silhouette of a person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const _n=(0,z.Z)(mn,[["render",dn]]);var Sn=_n;const En={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 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",En,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var In=Rn;const gn={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function hn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gn,zn)}var wn={name:"Walking"};const fn=(0,z.Z)(wn,[["render",hn]]);var vn=fn;const Cn=["title"];var Dn=(0,l.aZ)({__name:"index",props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),o=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(o)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_t,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Bt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Sn,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Cn))}});const kn=Dn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Fn={id:"modal"},Wn={class:"custom-modal"},Kn={key:0,class:"modal-message"},Yn={key:1,class:"modal-message"},xn={class:"modal-buttons"};var Bn=(0,l.aZ)({__name:"Modal",props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,C.o)(),{title:a,message:o,strongMessage:s}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[v.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(v.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Fn,[(0,l._)("div",Wn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",Kn,[(0,l.Wm)(r,{keypath:(0,c.SU)(o)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(s)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",Yn,(0,u.zw)((0,c.SU)(o)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",xn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const $n=(0,z.Z)(Bn,[["__scopeId","data-v-e8fcfaba"]]);var Zn=$n;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:Ce,name:"Distance"},{target:ye,name:"Dropdown"},{target:xe,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:Zn,name:"Modal"},{target:Pn,name:"SportImage"}],qn={mounted:(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)}};var Vn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(_e.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},5023:function(e,t,n){"use strict";n.d(t,{Z:function(){return zl}});var r=n(2201),a=(n(7658),n(6252)),o=n(3577),s=n(9963),i=n(2262),l=n(5801),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},_=["onSubmit"],S={for:"admin_contact"},E=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I={for:"max_single_file_size"},g=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],h={for:"gpx_limit_import"},w=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},C=["onClick"],D={key:2,class:"form-buttons"};var k=(0,a.aZ)({__name:"AdminApplication",props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),k=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),L=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function M(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){M(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),k.push("/admin/application")}function y(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&M(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,s.iM)(y,["prevent"])},[(0,a._)("label",S,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||P.admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>P.admin_contact=e),disabled:!(0,i.SU)(n)},null,8,T)),[[s.nr,P.admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,E))]),(0,a._)("label",p,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>P.max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[s.nr,P.max_users]])]),(0,a._)("div",O,[(0,a._)("span",U,[R,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",I,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>P.max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[s.nr,P.max_single_file_size]])]),(0,a._)("label",N,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>P.max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",h,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>P.gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,w),[[s.nr,P.gpx_limit_import]])]),(0,i.SU)(L)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(L)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",f,[(0,a._)("button",v,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,s.iM)(b,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,C)])):((0,a.wg)(),(0,a.iD)("div",D,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,s.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,o.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,_)])),_:1})])}}}),P=n(3744);const L=(0,P.Z)(k,[["__scopeId","data-v-24ec93e2"]]);var M=L;const b={class:"stat-card"},y={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},K={class:"stat"};var Y=(0,a.aZ)({__name:"StatCard",props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:s}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",y,[(0,a._)("div",G,[(0,a._)("i",{class:(0,o.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",K,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const x=Y;var B=x;const $={id:"user-stats"};var Z=(0,a.aZ)({__name:"AppStatsCards",props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",$,[(0,a.Wm)(B,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=Z;var q=H,V=n(2531);const j=e=>((0,a.dD)("data-v-0dd66f89"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q={class:"application-config-details"},ee=j((()=>(0,a._)("br",null,null,-1))),te={class:"registration-status"},ne={key:0,class:"email-sending-status"},re=j((()=>(0,a._)("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)));var ae=(0,a.aZ)({__name:"AdminMenu",props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const s=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(V.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",Q,[(0,a.Uk)((0,o.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),ee,(0,a._)("span",te,(0,o.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1),(0,i.SU)(n).is_email_sending_enabled?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",ne,[re,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const oe=(0,P.Z)(ae,[["__scopeId","data-v-0dd66f89"]]);var se=oe,ie=n(9150),le=n(631);const ce=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ue={id:"admin-sports",class:"admin-card"},de={class:"responsive-table"},me=ce((()=>(0,a._)("th",null,"#",-1))),_e={class:"text-left"},Se={class:"text-left sport-action"},Ee=ce((()=>(0,a._)("th",null,null,-1))),Te={class:"text-center"},pe=ce((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ae={class:"cell-heading"},Oe={class:"sport-label"},Ue={class:"cell-heading"},Re={class:"text-center"},Ie={class:"cell-heading"},ge={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},he=["onClick"],we={key:0,class:"has-workouts"},fe=ce((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var ve=(0,a.aZ)({__name:"AdminSports",setup(e){const{t:t}=(0,ie.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,le.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ue,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",de,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[me,(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",_e,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",Se,(0,o.zw)(e.$t("admin.ACTION")),1),Ee])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Te,[pe,(0,a.Uk)(" "+(0,o.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ae,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",Oe,[(0,a._)("span",Ue,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(t.translatedLabel),1)]),(0,a._)("td",Re,[(0,a._)("span",Ie,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",ge,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(0,a._)("button",{class:(0,o.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,o.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,he),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[fe,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ce=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var De=Ce,ke=n(4850),Pe=n(8626),Le=n(5020),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var Fe=(0,a.aZ)({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",be,[(0,a._)("div",ye,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,s.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,Ge),[[s.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,o.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const We=(0,P.Z)(Fe,[["__scopeId","data-v-627a8e91"]]);var Ke=We,Ye=n(2766),xe=n(6558);const Be=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),$e={id:"admin-users",class:"admin-card"},Ze={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=Be((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(0,a.aZ)({__name:"AdminUsers",setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let _=(0,i.qj)((0,Ye.pm)(n.query,d,m));const S=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),T=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),p=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function O(e){R("q",e.value)}function U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){_[e]=t,"per_page"===e&&(_.page=1),u.push({path:"/admin/users",query:_})}return(0,a.wF)((()=>A(_))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{_=(0,Ye.pm)(e,d,m,{query:_}),A(_)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",$e,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ke,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(Ye.fS),order_by:d,query:(0,i.SU)(_),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",Ze,(0,o.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)(t.created_at,(0,i.SU)(S).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,o.zw)(t.nb_workouts),1)]),(0,a._)("td",at,[(0,a._)("span",ot,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",it,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",lt,[(0,a._)("span",ct,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,o.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(S).username,onClick:e=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(p)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var _t=mt,St=n(2179);const Et={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(0,a.aZ)({__name:"UserProfileTabs",props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:s}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Et,[(0,a._)("div",Tt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r).split("/")[0]===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},It={class:"box"};var gt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),o=["PROFILE","PREFERENCES","SPORTS","APPS"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(St.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",It,[(0,a.Wm)(Ut,{tabs:o,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(s,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const Nt=(0,P.Z)(gt,[["__scopeId","data-v-9729cba4"]]);var zt=Nt,ht=n(7408),wt=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Ct=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?wt.zK[t.user.language]:wt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris")),l=(0,a.Fl)((()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"));return(t,c)=>((0,a.wg)(),(0,a.iD)("div",ft,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.ASCENT_DATA"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`common.${(0,i.SU)(l)}`)),1)]),(0,a._)("div",vt,[(0,a._)("button",{onClick:c[0]||(c[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:c[1]||(c[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Dt=Ct;var kt=Dt;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:s}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Pt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t(`user.PROFILE.${(0,i.SU)(s)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Ut,{tabs:u,selectedTab:(0,i.SU)(s),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Ft={class:"profile-form form-box"},Wt={key:1,class:"info-box success-message"},Kt=["onSubmit"],Yt={class:"form-items",for:"email"},xt=["disabled"],Bt={class:"form-items",for:"password-field"},$t={class:"form-items",for:"new-password-field"},Zt={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(0,a.aZ)({__name:"UserAccountEdition",props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.APP_CONFIG])),_=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),S=(0,i.iH)(!1),E=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.iH)(!1),p=(0,i.iH)(!1);function A(){T.value=!0}function O(e){u.email=e.email}function U(e){u.password=e}function R(e){u.new_password=e}function I(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),S.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function g(e){p.value=e}function N(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&O(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>_.value),(async e=>{e&&(U(""),R(""),O(n.value),T.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{O(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Gt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>N((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>g(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Ft,[(0,i.SU)(E)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(E)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Wt,(0,o.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${S.value&&(0,i.SU)(m).is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,o.C_)({errors:T.value}),onSubmit:(0,s.iM)(I,["prevent"])},[(0,a._)("label",Yt,[(0,a.Uk)((0,o.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>u.email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:A},null,40,xt),[[s.nr,u.email]])]),(0,a._)("label",Bt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",$t,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:u.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("div",Zt,[(0,a._)("button",Ht,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,s.iM)((e=>g(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Kt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;const Xt={id:"user-infos-edition"},Jt={class:"profile-form form-box"},Qt=["onSubmit"],en={class:"form-items",for:"registrationDate"},tn=["value"],nn={class:"form-items",for:"first_name"},rn=["disabled"],an={class:"form-items",for:"last_name"},on={class:"form-items",for:"birth_date"},sn=["disabled"],ln={class:"form-items",for:"location"},cn=["disabled"],un={class:"form-items"},dn={class:"form-buttons"},mn={class:"confirm",type:"submit"};var _n=(0,a.aZ)({__name:"UserInfosEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,ke.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function S(e){r.bio=e}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",Jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(E,["prevent"])},[(0,a._)("label",en,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,tn)]),(0,a._)("label",nn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>r.first_name=e),disabled:(0,i.SU)(d)},null,8,rn),[[s.nr,r.first_name]])]),(0,a._)("label",an,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>r.last_name=e)},null,512),[[s.nr,r.last_name]])]),(0,a._)("label",on,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>r.birth_date=e),disabled:(0,i.SU)(d)},null,8,sn),[[s.nr,r.birth_date]])]),(0,a._)("label",ln,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>r.location=e),disabled:(0,i.SU)(d)},null,8,cn),[[s.nr,r.location]])]),(0,a._)("label",un,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:r.bio,disabled:(0,i.SU)(d),onUpdateValue:S},null,8,["input","disabled"])]),(0,a._)("div",dn,[(0,a._)("button",mn,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Qt)])])}}});const Sn=(0,P.Z)(_n,[["__scopeId","data-v-b6bacea0"]]);var En=Sn;const Tn=e=>((0,a.dD)("data-v-687e9604"),e=e(),(0,a.Cn)(),e),pn={id:"user-picture-edition"},An={class:"user-picture-form"},On=["onSubmit"],Un={class:"picture-help"},Rn={class:"info-box"},In=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),gn={class:"picture-buttons"},Nn=["disabled"];var zn=(0,a.aZ)({__name:"UserPictureEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),_=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",S=(0,i.iH)(null);function E(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(S.value=e.target.files[0])}function p(){S.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:S.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",pn,[(0,a._)("div",An,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(Me.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,s.iM)(p,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:T},null,32),(0,a._)("div",Un,[(0,a._)("span",Rn,[In,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(_)),1)])]),(0,a._)("div",gn,[(0,a._)("button",{type:"submit",disabled:!S.value},(0,o.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Nn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:E},(0,o.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,o.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,On)])])}}});const hn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var wn=hn;const fn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],vn={id:"tz-dropdown"},Cn=["value","disabled","onKeydown"],Dn=["onClick","onMouseover","autofocus"];var kn=(0,a.aZ)({__name:"TimezoneDropdown",props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function _(e){return e.toLowerCase().match(c.value.toLowerCase())}function S(e){m.value=e}function E(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&E(d.value?.firstElementChild?.innerHTML)}function p(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",vn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,s.D2)((e=>E((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Cn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(fn).filter((e=>_(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,o.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>E(e),onMouseover:e=>S(t),autofocus:t===m.value},(0,o.zw)(e),43,Dn)))),128))],512)):(0,a.kq)("",!0)]))}});const Pn=(0,P.Z)(kn,[["__scopeId","data-v-47ea2903"]]);var Ln=Pn;const Mn={id:"user-preferences-edition"},bn={class:"profile-form form-box"},yn=["onSubmit"],Gn={class:"form-items"},Fn=["disabled"],Wn=["value"],Kn={class:"form-items"},Yn={class:"form-items form-checkboxes"},xn={class:"checkboxes-label"},Bn={class:"checkboxes"},$n=["id","name","checked","disabled","onInput"],Zn={class:"checkbox-label"},Hn={class:"form-items form-checkboxes"},qn={class:"checkboxes-label"},Vn={class:"checkboxes"},jn=["id","name","checked","disabled","onInput"],Xn={class:"checkbox-label"},Jn={class:"form-items form-checkboxes"},Qn={class:"checkboxes-label"},er={class:"checkboxes"},tr=["id","name","checked","disabled","onInput"],nr={class:"checkbox-label"},rr={class:"form-buttons"},ar={class:"confirm",type:"submit"};var or=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({display_ascent:!0,imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],d=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],m=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){r.display_ascent=e.display_ascent,r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function T(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function p(e){r.timezone=e}function A(e){r.display_ascent=e}function O(e){r.imperial_units=e}function U(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&E(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(T,["prevent"])},[(0,a._)("label",Gn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>r.language=e),disabled:(0,i.SU)(_)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(wt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Wn)))),128))],8,Fn),[[s.bM,r.language]])]),(0,a._)("label",Kn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(_),onUpdateTimezone:p},null,8,["input","disabled"])]),(0,a._)("div",Yn,[(0,a._)("span",xn,(0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),(0,a._)("div",Bn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.weekm,disabled:(0,i.SU)(_),onInput:e=>U(t.value)},null,40,$n),(0,a._)("span",Zn,(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),1)]))),64))])]),(0,a._)("div",Hn,[(0,a._)("span",qn,(0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL")),1),(0,a._)("div",Vn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.imperial_units,disabled:(0,i.SU)(_),onInput:e=>O(t.value)},null,40,jn),(0,a._)("span",Xn,(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),1)]))),64))])]),(0,a._)("div",Jn,[(0,a._)("span",Qn,(0,o.zw)(e.$t("user.PROFILE.ASCENT_DATA")),1),(0,a._)("div",er,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(m,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.display_ascent,disabled:(0,i.SU)(_),onInput:e=>A(t.value)},null,40,tr),(0,a._)("span",nr,(0,o.zw)(e.$t(`common.${t.label}`)),1)]))),64))])]),(0,a._)("div",rr,[(0,a._)("button",ar,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const sr=(0,P.Z)(or,[["__scopeId","data-v-f7548012"]]);var ir=sr;const lr=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],cr=["application:write"],ur={id:"new-oauth2-app"},dr={id:"new-oauth2-title"},mr={id:"apps-form"},_r=["onSubmit"],Sr={class:"form-items"},Er={class:"form-item"},Tr={for:"app-name"},pr={class:"form-item"},Ar={for:"app-description"},Or={class:"form-item"},Ur={for:"app-url"},Rr={class:"form-item"},Ir={for:"app-redirect-uri"},gr={class:"form-item-scope"},Nr={class:"form-item-scope-label"},zr={class:"scope-label"},hr=["name","checked","onChange"],wr=["innerHTML"],fr={class:"form-buttons"},vr=["disabled"];var Cr=(0,a.aZ)({__name:"AddUserApp",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({client_name:"",client_uri:"",client_description:"",redirect_uri:""}),u=(0,i.qj)([]),d=(0,a.Fl)((()=>E(t.authUser,cr,lr)));function m(){const e={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:u.sort().join(" ")};n.dispatch(l.Km.ACTIONS.CREATE_CLIENT,e)}function _(e){r.client_description=e}function S(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function E(e,t,n){const r=[...n];return e.admin&&r.push(...t),r.sort()}return(e,t)=>{const n=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",ur,[(0,a._)("h1",dr,(0,o.zw)(e.$t("oauth2.ADD_A_NEW_APP")),1),(0,a._)("div",mr,[(0,a._)("form",{onSubmit:(0,s.iM)(m,["prevent"])},[(0,a._)("div",Sr,[(0,a._)("div",Er,[(0,a._)("label",Tr,(0,o.zw)(e.$t("oauth2.APP.NAME"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":t[0]||(t[0]=e=>r.client_name=e)},null,512),[[s.nr,r.client_name]])]),(0,a._)("div",pr,[(0,a._)("label",Ar,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION")),1),(0,a.Wm)(n,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:_},null,8,["input"])]),(0,a._)("div",Or,[(0,a._)("label",Ur,(0,o.zw)(e.$t("oauth2.APP.URL"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":t[1]||(t[1]=e=>r.client_uri=e)},null,512),[[s.nr,r.client_uri]])]),(0,a._)("div",Rr,[(0,a._)("label",Ir,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":t[2]||(t[2]=e=>r.redirect_uri=e)},null,512),[[s.nr,r.redirect_uri]])]),(0,a._)("div",gr,[(0,a._)("div",Nr,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"form-item-scope-checkboxes",key:t},[(0,a._)("label",zr,[(0,a._)("input",{type:"checkbox",name:t,checked:u.includes(t),onChange:e=>S(t)},null,40,hr),(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("p",{class:"scope-description",innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,wr)])))),128))])]),(0,a._)("div",fr,[(0,a._)("button",{class:"confirm",type:"submit",disabled:0===u.length},(0,o.zw)(e.$t("buttons.SUBMIT")),9,vr),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((()=>e.$router.push("/profile/apps")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,_r)])])}}});const Dr=(0,P.Z)(Cr,[["__scopeId","data-v-0657ee77"]]);var kr=Dr;const Pr={id:"authorize-oauth2-app"},Lr={key:0},Mr={id:"authorize-oauth2-title"},br={class:"oauth2-access description-list"},yr={class:"client-scope"},Gr=["innerHTML"],Fr={class:"authorize-oauth2-buttons"},Wr={key:1},Kr={class:"no-app"};var Yr=(0,a.aZ)({__name:"AuthorizeUserApp",setup(e){const t=(0,r.yj)(),n=(0,c.o)(),s=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENT])),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(){t.query.client_id&&"string"===typeof t.query.client_id&&n.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function m(){n.dispatch(l.Km.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(0,a.wF)((()=>d())),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("i18n-t"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Pr,[(0,i.SU)(s).client_id?((0,a.wg)(),(0,a.iD)("div",Lr,[(0,a._)("h1",Mr,[(0,a.Wm)(r,{keypath:"oauth2.AUTHORIZE_APP"},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).name),1)])),_:1},8,["to"])])),_:1})]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("div",br,[(0,a._)("p",null,(0,o.zw)(e.$t("oauth2.APP_REQUESTING_ACCESS")),1),(0,a._)("dl",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(s).scope.split(" "),(t=>((0,a.wg)(),(0,a.iD)(a.HY,{key:t},[(0,a._)("dt",yr,[(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("dd",{innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Gr)],64)))),128))]),(0,a._)("div",Fr,[(0,a._)("button",{class:"danger",onClick:m},(0,o.zw)(e.$t("buttons.AUTHORIZE")),1),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])])])):((0,a.wg)(),(0,a.iD)("div",Wr,[(0,a._)("p",Kr,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const xr=(0,P.Z)(Yr,[["__scopeId","data-v-3b2fe9ed"]]);var Br=xr;const $r={id:"oauth2-apps"};var Zr=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t);return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.Km.MUTATIONS.SET_CLIENTS,[])})),(e,t)=>{const n=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",$r,[(0,a.Wm)(n,{authUser:(0,i.SU)(r)},null,8,["authUser"])])}}});const Hr=Zr;var qr=Hr;const Vr={id:"oauth2-app",class:"description-list"},jr={key:1},Xr={key:0,class:"info-box success-message"},Jr=["title"],Qr={key:0},ea={key:1,class:"app-secret"},ta=["title"],na={class:"client-scopes"},ra={class:"app-buttons"},aa={key:2},oa={class:"no-app"};var sa=(0,a.aZ)({__name:"UserApp",props:{authUser:null,afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,r.yj)(),s=(0,c.o)(),{afterCreation:u,authUser:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.CLIENT])),_=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.REVOCATION_SUCCESSFUL])),S=(0,i.iH)(!1),E=(0,i.iH)(null),T=(0,i.iH)(!1),p=(0,i.iH)(!1),A=(0,i.iH)(!1);function O(){!u.value&&n.params.id&&"string"===typeof n.params.id&&s.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function U(e){E.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",R(!0)}function R(e){S.value=e,e||(E.value=null)}function I(e){"oauth2.APP_DELETION_CONFIRMATION"===E.value?s.dispatch(l.Km.ACTIONS.DELETE_CLIENT,e):s.dispatch(l.Km.ACTIONS.REVOKE_ALL_TOKENS,e)}function g(){navigator.clipboard.writeText(m.value.client_id),T.value=!0,p.value=!1,setTimeout((()=>{T.value=!1}),3e3)}function N(){m.value.client_secret&&(navigator.clipboard.writeText(m.value.client_secret),p.value=!0,T.value=!1,setTimeout((()=>{p.value=!1}),3e3))}return(0,a.wF)((()=>{O(),navigator.clipboard&&(A.value=!0)})),(0,a.Ah)((()=>{s.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),s.commit(l.Km.MUTATIONS.EMPTY_CLIENT),s.commit(l.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)})),(0,a.YP)((()=>_.value),(e=>{e&&R(!1)})),(e,t)=>{const n=(0,a.up)("Modal");return(0,a.wg)(),(0,a.iD)("div",Vr,[S.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(E.value),onConfirmAction:t[0]||(t[0]=e=>I((0,i.SU)(m).id)),onCancelAction:t[1]||(t[1]=e=>R(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,i.SU)(m)&&(0,i.SU)(m).client_id?((0,a.wg)(),(0,a.iD)("div",jr,[(0,i.SU)(u)||(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Xr,(0,o.zw)(e.$t((0,i.SU)(u)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):(0,a.kq)("",!0),(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.CLIENT_ID"))+":",1),(0,a._)("dd",null,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_id)+" ",1),(0,i.SU)(u)&&A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(T.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:g},null,10,Jr)):(0,a.kq)("",!0)]),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dt",Qr,(0,o.zw)(e.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):(0,a.kq)("",!0),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dd",ea,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_secret)+" ",1),A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(p.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:N},null,10,ta)):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("dt",null,(0,o.zw)((0,o.kC)(e.$t("oauth2.APP.ISSUE_AT")))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)((0,i.SU)(m).issued_at,(0,i.SU)(d).timezone),"dd/MM/yyyy HH:mm")),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.NAME"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).name),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION"))+":",1),(0,a._)("dd",{class:(0,o.C_)({"no-description":!(0,i.SU)(m).client_description})},(0,o.zw)((0,i.SU)(m).client_description?(0,i.SU)(m).client_description:e.$t("oauth2.NO_DESCRIPTION")),3),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).website),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).redirect_uris.length>0?(0,i.SU)(m).redirect_uris[0]:""),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+":",1),(0,a._)("dd",na,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(m).scope.split(" "),(e=>((0,a.wg)(),(0,a.iD)("span",{class:"client-scope",key:e},[(0,a._)("code",null,(0,o.zw)(e),1)])))),128))])]),(0,a._)("div",ra,[(0,a._)("button",{class:"danger",onClick:t[2]||(t[2]=e=>U(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>U(!0))},(0,o.zw)(e.$t("oauth2.DELETE_APP")),1),(0,a._)("button",{onClick:t[4]||(t[4]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)])])):((0,a.wg)(),(0,a.iD)("div",aa,[(0,a._)("p",oa,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const ia=(0,P.Z)(sa,[["__scopeId","data-v-00697fc9"]]);var la=ia;const ca={id:"oauth2-apps-list"},ua={class:"apps-list"},da={key:0},ma={class:"app-issued-at"},_a={key:1,class:"no-apps"},Sa={class:"app-list-buttons"};var Ea=(0,a.aZ)({__name:"UserAppsList",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),s=(0,r.yj)(),{authUser:u}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS])),m=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS_PAGINATION]));let _=S(s.query);function S(e){const t={};return e.page&&(t.page=(0,Ye.z_)(e.page,Ye.Hf)),t}function E(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{E(_)})),(0,a.YP)((()=>s.query),(async e=>{_=S(e),E(_)})),(e,t)=>{const n=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",ca,[(0,a._)("p",ua,(0,o.zw)(e.$t("oauth2.APPS_LIST")),1),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.iD)("ul",da,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("li",{key:t.client_id},[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:t.id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.name),1)])),_:2},1032,["to"]),(0,a._)("span",ma,(0,o.zw)(e.$t("oauth2.APP.ISSUE_AT"))+" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)(t.issued_at,(0,i.SU)(u).timezone),"dd/MM/yyyy HH:mm")),1)])))),128))])):((0,a.wg)(),(0,a.iD)("div",_a,(0,o.zw)(e.$t("oauth2.NO_APPS")),1)),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.j4)(Le.Z,{key:2,pagination:(0,i.SU)(m),path:"/profile/apps",query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,a._)("div",Sa,[(0,a._)("button",{onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps/new"))},(0,o.zw)(e.$t("oauth2.NEW_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)])])}}});const Ta=(0,P.Z)(Ea,[["__scopeId","data-v-a5c2cdde"]]);var pa=Ta;const Aa={id:"user-sport-preferences"},Oa={key:0,class:"responsive-table"},Ua={class:"mobile-display"},Ra={key:0,class:"profile-buttons mobile-display"},Ia={key:1,class:"profile-buttons"},ga={class:"text-left"},Na={key:0},za={class:"cell-heading"},ha=["value"],wa={class:"cell-heading"},fa={key:0,class:"disabled-message"},va={key:1,class:"fa fa-refresh fa-spin fa-fw"},Ca={class:"cell-heading"},Da={class:"cell-heading"},ka=["checked"],Pa={class:"cell-heading"},La=["value"],Ma={key:1},ba={key:0,class:"action-buttons"},ya={class:"cell-heading"},Ga=["onClick"],Fa={key:1,class:"edition-buttons"},Wa=["disabled"],Ka=["disabled","onClick"],Ya=["disabled"],xa={key:0,class:"profile-buttons"},Ba={key:1,class:"profile-buttons"};var $a=(0,a.aZ)({__name:"UserSportPreferences",props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ie.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m="#838383",_=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),T=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),A=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function O(e){null!==e?(A.sport_id=e.id,A.color=e.color?e.color:_?_[e.label]:m,A.is_active=e.is_active_for_user,A.stopped_speed_threshold=e.stopped_speed_threshold):N()}function U(e){return A.sport_id===e}function R(e){A.color=e.target.value}function I(e){A.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){A.is_active=e.target.checked}function N(){A.sport_id=0,A.color=null,A.is_active=!0,A.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function z(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,A)}function h(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>T.value),(e=>{e||p.value||N()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Aa,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Oa,[(0,a._)("div",Ua,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Ra,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ia,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",ga,(0,o.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",Na,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",za,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),U(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:A.color,onInput:R},null,40,ha)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(_)[s.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,o.C_)(["sport-label",{"disabled-sport":!s.is_active}])},[(0,a._)("span",wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(s.translatedLabel)+" ",1),s.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",fa," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(T)&&U(s.id)?((0,a.wg)(),(0,a.iD)("i",va)):(0,a.kq)("",!0),(0,i.SU)(p)&&A.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Ca,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(s.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Da,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),U(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:s.is_active_for_user,onChange:g},null,40,ka)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,o.C_)("fa fa"+(s.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Pa,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),U(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:A.stopped_speed_threshold,onInput:I},null,40,La)):((0,a.wg)(),(0,a.iD)("span",Ma,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",ba,[(0,a._)("span",ya,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===A.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>O(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Ga)):(0,a.kq)("",!0),U(s.id)?((0,a.wg)(),(0,a.iD)("div",Fa,[(0,a._)("button",{disabled:(0,i.SU)(T),onClick:z},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Wa),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:e=>h(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,Ka),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:t[3]||(t[3]=e=>O(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ya)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",xa,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ba,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const Za=(0,P.Z)($a,[["__scopeId","data-v-74e52489"]]);var Ha=Za,qa=n(2894);const Va=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),ja={class:"about-text"},Xa=["innerHTML"],Ja=Va((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Qa={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},eo=Va((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),to={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},no=Va((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),ro=Va((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),ao={key:0},oo=Va((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),so=["href"];var io=(0,a.aZ)({__name:"About",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",ja,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,Xa),(0,a._)("p",null,[Ja,(0,a._)("a",Qa,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[eo,(0,a._)("a",to,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[no,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[ro])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",ao,[oo,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,so)])):(0,a.kq)("",!0)])])}}});const lo=(0,P.Z)(io,[["__scopeId","data-v-74257266"]]);var co=lo;const uo={id:"bike"},mo=["src"];function _o(e,t){return(0,a.wg)(),(0,a.iD)("div",uo,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,mo)])}const So={},Eo=(0,P.Z)(So,[["render",_o],["__scopeId","data-v-795f7f5f"]]);var To=Eo;const po={id:"about",class:"view"},Ao={class:"container"},Oo={class:"container-sub"},Uo={class:"container-sub about-details"};var Ro=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",po,[(0,a._)("div",Ao,[(0,a._)("div",Oo,[(0,a.Wm)(To)]),(0,a._)("div",Uo,[(0,a.Wm)(co)])])]))}});const Io=(0,P.Z)(Ro,[["__scopeId","data-v-bffb50d0"]]);var go=Io,No=n(1818),zo=n(2056);const ho=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),wo={class:"timeline-workout"},fo={class:"box"},vo={class:"workout-user-date"},Co={class:"workout-user"},Do=["title"],ko={key:0},Po={key:1,class:"no-map"},Lo={class:"img"},Mo={class:"data"},bo=ho((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),yo={key:0},Go={class:"data"},Fo=ho((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Wo={key:0,class:"data elevation"},Ko=["alt"],Yo={class:"data-values"},xo=(0,a.Uk)("/ "),Bo={key:1,class:"data altitude"},$o=ho((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Zo={class:"data-values"},Ho=(0,a.Uk)(" +"),qo=(0,a.Uk)("/- ");var Vo=(0,a.aZ)({__name:"WorkoutCard",props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:s,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",wo,[(0,a._)("div",fo,[(0,a._)("div",vo,[(0,a._)("div",Co,[(0,a.Wm)(Me.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(s).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(ke.Z)((0,i.SU)(xe.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(No.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,Do)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,o.C_)(["workout-map",{"no-cursor":!(0,i.SU)(s)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("div",ko,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(zo.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Po,(0,o.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,o.C_)(["workout-data",{"without-gpx":(0,i.SU)(s)&&!(0,i.SU)(s).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,a._)("div",Lo,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",Mo,[bo,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",yo,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Go,[Fo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ko),(0,a._)("div",Yo,[(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),xo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",Bo,[$o,(0,a._)("div",Zo,[Ho,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),qo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const jo=(0,P.Z)(Vo,[["__scopeId","data-v-c9d1f10c"]]);var Xo=jo,Jo=n(5630),Qo=n(3768);const es={id:"timeline"},ts={class:"section-title"},ns={key:0},rs={key:1},as={key:1,class:"more-workouts"};var os=(0,a.aZ)({__name:"Timeline",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),u=(0,i.iH)(1),d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>E()));const _=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),S=(0,a.Fl)((()=>_.value.length>0&&null!==_.value[_.value.length-1].previous_workout));function E(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",es,[(0,a._)("div",ts,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.iD)("div",ns,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(Xo,{user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",rs,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(e=>((0,a.wg)(),(0,a.j4)(Xo,{workout:e,sport:(0,i.SU)(_).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.j4)(Jo.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(S)?((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const ss=(0,P.Z)(os,[["__scopeId","data-v-35567bf2"]]);var is=ss,ls=n(1640),cs=n(4559),us=n(7349),ds=n(1743),ms=n(9160),_s=n(1085);const Ss=["title"];var Es=(0,a.aZ)({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:o,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const l=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(r).id}}))},[(0,a.Wm)(l,{"sport-label":(0,i.SU)(o),title:(0,i.SU)(r).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(r).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(r).records.filter((e=>!!(0,i.SU)(n)||"HA"!==e.record_type)).map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Ss)):(0,a.kq)("",!0)])])}}});const Ts=Es;var ps=Ts;const As={class:"donut-chart"},Os={height:"34",width:"34",viewBox:"0 0 34 34"},Us=["stroke","stroke-dashoffset","transform"];var Rs=(0,a.aZ)({__name:"DonutChart",props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let o=-90;const s=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${o}, ${s}, ${l})`;return o=360*t+o,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",As,[((0,a.wg)(),(0,a.iD)("svg",Os,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:s,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Us)])))),128))]))]))}});const Is=Rs;var gs=Is;const Ns={class:"calendar-workouts-chart"},zs={class:"workouts-count"},hs={key:0,class:"workouts-pane"},ws={class:"more-workouts"};var fs=(0,a.aZ)({__name:"CalendarWorkoutsChart",props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:s,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",Ns,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",zs,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(gs,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",hs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",ws,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(s)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(s))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const vs=(0,P.Z)(fs,[["__scopeId","data-v-52d4310a"]]);var Cs=vs;const Ds={class:"calendar-workouts"},ks={class:"desktop-display"},Ps={key:0,class:"workouts-display"},Ls={key:1,class:"donut-display"},Ms={class:"mobile-display"},bs={key:0,class:"donut-display"};var ys=(0,a.aZ)({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:null,sports:null},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:o}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Qo.BN)(t.workouts))),l=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),c=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ds,[(0,a._)("div",ks,[(0,i.SU)(r).length<=c?((0,a.wg)(),(0,a.iD)("div",Ps,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r).slice(0,c),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,displayHARecord:(0,i.SU)(n),workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(o))},null,8,["displayHARecord","workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ls,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",Ms,[(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",bs,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Gs=ys;var Fs=Gs;const Ws={class:"calendar-cells"},Ks={class:"calendar-cell-day"};var Ys=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,displayHARecord:{type:Boolean},endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:s,sports:l,startDate:c,timezone:u,weekStartingMonday:d,workouts:m}=(0,i.BK)(t),_=(0,i.iH)([]);function S(){_.value=[];let e=c.value;while(e<=s.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,us.Z)(e,1);_.value.push(t)}}function E(e){return d.value?[5,6].includes(e):[0,6].includes(e)}function T(e,t){return t?t.filter((t=>(0,ds.Z)((0,xe.eB)(t.workout_date,u.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ws,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(_.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,o.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)(ms.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(_s.Z)(e)}]),key:t},[(0,a.Wm)(Fs,{workouts:T(e,(0,i.SU)(m)),sports:(0,i.SU)(l),displayHARecord:(0,i.SU)(r)},null,8,["workouts","sports","displayHARecord"]),(0,a._)("div",Ks,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const xs=Ys;var Bs=xs;const $s={class:"calendar-days"};var Zs=(0,a.aZ)({__name:"CalendarDays",props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,us.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",$s,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,o.zw)((0,i.SU)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const Hs=Zs;var qs=Hs;const Vs={class:"calendar-header"},js=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),Xs=[js],Js={class:"calendar-month"},Qs=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ei=[Qs];var ti=(0,a.aZ)({__name:"CalendarHeader",props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:s}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",Vs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},Xs),(0,a._)("div",Js,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(s)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ei)]))}});const ni=ti;var ri=ni;const ai={id:"user-calendar"},oi={class:"calendar-card box"};var si=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t),s="yyyy-MM-dd",u=(0,i.iH)(new Date),d=(0,i.iH)((0,xe.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),_=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function S(){d.value=(0,xe.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Qo.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function E(){u.value=(0,ls.Z)(u.value,1),S()}function T(){u.value=(0,cs.Z)(u.value,1),S()}return(0,a.wF)((()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ai,[(0,a._)("div",oi,[(0,a.Wm)(ri,{day:u.value,"locale-options":(0,i.SU)(_),onDisplayNextMonth:E,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(qs,{"start-date":d.value.start,"locale-options":(0,i.SU)(_)},null,8,["start-date","locale-options"]),(0,a.Wm)(Bs,{currentDay:u.value,displayHARecord:(0,i.SU)(o).display_ascent,"end-date":d.value.end,sports:(0,i.SU)(r),"start-date":d.value.start,timezone:(0,i.SU)(o).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(o).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const ii=si;var li=ii,ci=n(3703),ui=n(4135),di=n(4998);const mi={class:"user-month-stats"};var _i=(0,a.aZ)({__name:"UserMonthStats",props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),s=new Date,l={duration:"week",start:(0,ci.Z)(s),end:(0,ui.Z)(s)},c=t.sports.map((e=>e.id));return(e,t)=>{const s=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",mi,[(0,a.Wm)(s,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(di.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Si=(0,P.Z)(_i,[["__scopeId","data-v-1bcddc12"]]);var Ei=Si,Ti=(n(1703),n(3649));const pi=(e,t,n)=>{const r="km",a=n?Ti.Dl[r].defaultTarget:r,o="m",s=n?Ti.Dl[o].defaultTarget:o;let i;switch(e.record_type){case"AS":case"MS":i=`${(0,Ti.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":i=`${(0,Ti.sC)(+e.value,r,a,3)} ${a}`;break;case"HA":i=`${(0,Ti.sC)(+e.value,o,s,2)} ${s}`;break;case"LD":i=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,xe.Jo)((0,xe.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:i}},Ai=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.filter((e=>!!a||"HA"!==e.record_type)).reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(pi(a,n,r))),e}),{}),Ui={class:"records-card"},Ri={class:"record-type"},Ii={class:"record-value"},gi={class:"record-date"};var Ni=(0,a.aZ)({__name:"RecordsCard",props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t),{t:s}=(0,ie.QT)();function l(e){const t=[];return e.map((e=>{t.push({...e,label:s(`workouts.RECORD_${e.record_type}`)})})),t.sort(Ai)}return(e,t)=>{const s=(0,a.up)("SportImage"),c=(0,a.up)("router-link"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Ui,[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Wm)(s,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(l((0,i.SU)(n).records),(e=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:e.id},[(0,a._)("span",Ri,(0,o.zw)(e.label),1),(0,a._)("span",Ii,(0,o.zw)(e.value),1),(0,a._)("span",gi,[(0,a.Wm)(c,{to:{name:"Workout",params:{workoutId:e.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const zi=(0,P.Z)(Ni,[["__scopeId","data-v-b5480ab0"]]);var hi=zi;const wi=e=>((0,a.dD)("data-v-27dfbb65"),e=e(),(0,a.Cn)(),e),fi={class:"user-records-section"},vi={class:"section-title"},Ci=wi((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),Di={class:"user-records"},ki={key:0,class:"no-records"};var Pi=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>Oi(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",fi,[(0,a._)("div",vi,[Ci,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",Di,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",ki,(0,o.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(hi,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const Li=(0,P.Z)(Pi,[["__scopeId","data-v-27dfbb65"]]);var Mi=Li;const bi={id:"user-stats"};var yi=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),{user:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>t.user.total_duration)),s=(0,a.Fl)((()=>S(o))),l="km",c=r.value.imperial_units?Ti.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Ti.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2)))),d="m",m=r.value.imperial_units?Ti.Dl[d].defaultTarget:d,_=(0,a.Fl)((()=>r.value.imperial_units?(0,Ti.sC)(r.value.total_ascent,d,m,2):parseFloat(r.value.total_ascent.toFixed(2))));function S(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",bi,[(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,i.SU)(r).display_ascent?((0,a.wg)(),(0,a.j4)(B,{key:0,icon:"location-arrow",value:(0,i.SU)(_),text:"ft"===(0,i.SU)(m)?"feet":(0,i.SU)(m)},null,8,["value","text"])):(0,a.kq)("",!0),(0,a.Wm)(B,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,i.SU)(r).display_ascent?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(B,{key:1,icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"]))]))}});const Gi=yi;var Fi=Gi;const Wi=e=>((0,a.dD)("data-v-20e19721"),e=e(),(0,a.Cn)(),e),Ki={key:0,id:"dashboard",class:"view"},Yi={class:"container mobile-menu"},xi={class:"box"},Bi=Wi((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),$i=[Bi],Zi=Wi((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),Hi=[Zi],qi=Wi((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Vi=[qi],ji=Wi((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),Xi=[ji],Ji={class:"container"},Qi={class:"container dashboard-container"},el={class:"left-container dashboard-sub-container"},tl={class:"right-container dashboard-sub-container"},nl=Wi((()=>(0,a._)("div",{id:"bottom"},null,-1))),rl={key:1,class:"app-loading"};var al=(0,a.aZ)({__name:"Dashboard",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),s=(0,i.iH)("calendar");function u(e){s.value=e}return(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ki,[(0,a._)("div",Yi,[(0,a._)("div",xi,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},$i,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},Hi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Vi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},Xi,2)])]),(0,a._)("div",Ji,[(0,a.Wm)(Fi,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Qi,[(0,a._)("div",el,[(0,a.Wm)(Ei,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("chart"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(Mi,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("records"===s.value)})},null,8,["sports","user","class"])]),(0,a._)("div",tl,[(0,a.Wm)(li,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("calendar"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(is,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),nl])):((0,a.wg)(),(0,a.iD)("div",rl,[(0,a.Wm)(l)]))}}});const ol=(0,P.Z)(al,[["__scopeId","data-v-20e19721"]]);var sl=ol,il=n(8273);const ll={class:"not-found view"};var cl=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ll,[(0,a.Wm)(il.Z)]))}});const ul=cl;var dl=ul,ml=n(6735);const _l={id:"loginOrRegister",class:"view"},Sl={class:"container"},El={class:"container-sub"},Tl={class:"container-sub"};var pl=(0,a.aZ)({__name:"LoginOrRegister",props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",_l,[(0,a._)("div",Sl,[(0,a._)("div",El,[(0,a.Wm)(To)]),(0,a._)("div",Tl,[(0,a.Wm)(ml.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Al=(0,P.Z)(pl,[["__scopeId","data-v-6a38125b"]]);var Ol=Al;const Ul=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Rl=[{path:"/",name:"Dashboard",component:sl},{path:"/login",name:"Login",component:Ol,props:{action:"login"}},{path:"/register",name:"Register",component:Ol,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfos",component:ht.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:Ha,props:{isEdition:!1}},{path:"apps",name:"UserApps",component:qr,children:[{path:"",name:"UserAppsList",component:pa},{path:":id",name:"UserApp",component:la},{path:":id/created",name:"CreatedUserApp",component:la,props:{afterCreation:!0}},{path:"new",name:"AddUserApp",component:kr},{path:"authorize",name:"AuthorizeUserApp",component:Br}]}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfosEdition",component:En},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:ir},{path:"sports",name:"UserSportPreferencesEdition",component:Ha,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7885))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,6466)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,6466)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:se},{path:"application",name:"ApplicationAdministration",component:M},{path:"application/edit",name:"ApplicationAdministrationEdition",component:M,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:De},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:_t}]},{path:"/about",name:"About",component:go},{path:"/:pathMatch(.*)*",name:"not-found",component:dl}],Il=(0,r.p7)({history:(0,r.PO)("/"),routes:Rl}),gl=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],Nl=["/email-update","/about"];Il.beforeEach(((e,t,n)=>{qa.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(Nl.includes(e.path))return n();if(qa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&gl.includes(e.path))return n("/");if(qa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||gl.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var zl=Il},5801:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,_,S,E,T,p,A,O,U;n.d(t,{YN:function(){return z},Km:function(){return h},SY:function(){return I},O8:function(){return g},gu:function(){return N},RT:function(){return w},aX:function(){return f}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",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["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),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["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),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_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["AUTHORIZE_CLIENT"]="AUTHORIZE_CLIENT",e["CREATE_CLIENT"]="CREATE_CLIENT",e["DELETE_CLIENT"]="DELETE_CLIENT",e["GET_CLIENTS"]="GET_CLIENTS",e["GET_CLIENT_BY_CLIENT_ID"]="GET_CLIENT_BY_CLIENT_ID",e["GET_CLIENT_BY_ID"]="GET_CLIENT_BY_ID",e["REVOKE_ALL_TOKENS"]="REVOKE_ALL_TOKENS"}(s||(s={})),function(e){e["CLIENT"]="CLIENT",e["CLIENTS"]="CLIENTS",e["CLIENTS_PAGINATION"]="CLIENTS_PAGINATION",e["REVOCATION_SUCCESSFUL"]="REVOCATION_SUCCESSFUL"}(i||(i={})),function(e){e["EMPTY_CLIENT"]="EMPTY_CLIENT",e["SET_CLIENT"]="SET_CLIENT",e["SET_CLIENTS"]="SET_CLIENTS",e["SET_CLIENTS_PAGINATION"]="SET_CLIENTS_PAGINATION",e["SET_REVOCATION_SUCCESSFUL"]="SET_REVOCATION_SUCCESSFUL"}(l||(l={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LANGUAGE"]="UPDATE_APPLICATION_LANGUAGE"}(c||(c={})),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"}(u||(u={})),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"}(d||(d={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(m||(m={})),function(e){e["SPORTS"]="SPORTS"}(_||(_={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(S||(S={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(E||(E={})),function(e){e["USER_STATS"]="USER_STATS"}(T||(T={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(p||(p={})),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",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(A||(A={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(O||(O={})),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["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(U||(U={}));var R=n(52);const I={ACTIONS:c,GETTERS:u,MUTATIONS:d},g={ACTIONS:m,GETTERS:_,MUTATIONS:S},N={ACTIONS:E,GETTERS:T,MUTATIONS:p},z={ACTIONS:r,GETTERS:a,MUTATIONS:o},h={ACTIONS:s,GETTERS:i,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:U},f={ACTIONS:R.tW,GETTERS:R.JP,MUTATIONS:R.CW}},2894:function(e,t,n){"use strict";n.d(t,{Z:function(){return de}});var r=n(3907),a=(n(7658),n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(2024);const l=s().create({baseURL:(0,i.k)()});var c=l,u=n(5023),d=n(5801);const m=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?u.Z.push("/admin/users"):e.dispatch(d.YN.ACTIONS.LOGOUT).then((()=>u.Z.push("/"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},_={[d.RT.ACTIONS.EMPTY_USER](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USER,{})},[d.RT.ACTIONS.EMPTY_USERS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[d.RT.ACTIONS.GET_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(d.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.GET_USERS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(d.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.UPDATE_USER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(d.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(d.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[d.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){m(e,{username:t.username,fromAdmin:!0})}},S=e=>{localStorage.removeItem("authToken"),e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(d.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),u.Z.push("/login")},E={[d.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE)),!window.localStorage.authToken&&e.getters[d.YN.GETTERS.IS_AUTHENTICATED]&&S(e)},[d.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/")))}else(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[d.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),c.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile/edit/account"))),u.Z.push("/profile/edit/account")):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t)}))},[d.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language),e.dispatch(d.O8.ACTIONS.GET_SPORTS)):((0,i.S)(e,null),S(e))})).catch((t=>{(0,i.S)(e,t),S(e)}))},[d.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),c.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(d.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else u.Z.push("/login").then((()=>e.commit(d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.LOGOUT](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("auth/logout").then((t=>{"success"===t.data.status?S(e):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),u.Z.push("/profile")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(d.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.dispatch(d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language).then((()=>u.Z.push("/profile/preferences")))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>{(0,i.S)(e,t),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[d.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.DELETE_ACCOUNT](e,t){m(e,t)},[d.YN.ACTIONS.DELETE_PICTURE](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE).then((()=>u.Z.push("/profile"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[d.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?u.Z.push("/account-confirmation/email-sent"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),c.post("auth/password/update",t).then((t=>{"success"===t.data.status?u.Z.push("/password-reset/password-updated"):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},T={[d.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[d.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[d.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[d.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[d.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[d.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[d.YN.GETTERS.USER_LOADING]:e=>e.loading},p={[d.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[d.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[d.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[d.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[d.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[d.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},A={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},O={state:A,actions:E,getters:T,mutations:p};var U=O;const R=(e,t)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(t).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},I={[d.Km.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),a.Z.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then((t=>{200==t.status&&t.data.redirect_url?window.location.href=t.data.redirect_url:(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.CREATE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("oauth/apps",t).then((t=>{"created"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENT,t.data.data.client),u.Z.push(`/profile/apps/${t.data.data.client.id}/created`)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.DELETE_CLIENT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`oauth/apps/${t}`).then((t=>{204===t.status?e.dispatch(d.Km.ACTIONS.GET_CLIENTS).then((()=>u.Z.push("/profile/apps"))):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){R(e,`oauth/apps/${t}`)},[d.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){R(e,`oauth/apps/${t}/by_id`)},[d.Km.ACTIONS.GET_CLIENTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("oauth/apps",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.Km.MUTATIONS.SET_CLIENTS,t.data.data.clients),e.commit(d.Km.MUTATIONS.SET_CLIENTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.Km.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),a.Z.post(`oauth/apps/${t}/revoke`).then((t=>{"success"===t.data.status?e.commit(d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},g={[d.Km.GETTERS.CLIENT]:e=>e.client,[d.Km.GETTERS.CLIENTS]:e=>e.clients,[d.Km.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[d.Km.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},N={[d.Km.MUTATIONS.SET_CLIENT](e,t){e.client=t},[d.Km.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[d.Km.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[d.Km.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[d.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},z={client:{},clients:[],pagination:{},revocationSuccessful:!1},h={state:z,actions:I,getters:g,mutations:N};var w=h,f=n(2540);const{locale:v}=f.Z.global,C={[d.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t))).finally((()=>e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[d.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),u.Z.push("/admin/application")):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){document.querySelector("html")?.setAttribute("lang",t),e.commit(d.SY.MUTATIONS.UPDATE_LANG,t),v.value=t}},D={[d.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[d.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[d.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[d.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[d.SY.GETTERS.LANGUAGE]:e=>e.language,[d.SY.GETTERS.LOCALE]:e=>e.locale};var k=n(6287);const P={[d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[d.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[d.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[d.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=k.v1[t]}};var L=n(5826);const M={root:!0,language:"en",locale:L.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},b={[d.O8.ACTIONS.GET_SPORTS](e){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(d.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(d.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},[d.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(d.O8.ACTIONS.GET_SPORTS):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},y={[d.O8.GETTERS.SPORTS]:e=>e.sports},G={[d.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},F={sports:[]},W={state:F,actions:b,getters:y,mutations:G};var K=W;const Y={[d.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(d.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))}},x={[d.gu.GETTERS.USER_STATS]:e=>e.statistics},B={[d.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[d.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},$={statistics:{}},Z={state:$,actions:Y,getters:x,mutations:B};var H=Z;const q={[d.RT.GETTERS.USER]:e=>e.user,[d.RT.GETTERS.USERS]:e=>e.users,[d.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[d.RT.GETTERS.USERS_LOADING]:e=>e.loading,[d.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},V={[d.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[d.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[d.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[d.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[d.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[d.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},j={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},X={state:j,actions:_,getters:q,mutations:V};var J=X,Q=n(52);const ee=(e,t,n)=>{e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(d.aX.MUTATIONS[n],t.data.data.workouts),n===Q.CW.SET_USER_WORKOUTS&&e.commit(d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,i.S)(e,null)})).catch((t=>(0,i.S)(e,t)))},te={[d.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),ee(e,t,Q.CW.SET_CALENDAR_WORKOUTS)},[d.aX.ACTIONS.GET_USER_WORKOUTS](e,t){ee(e,t,Q.CW.SET_USER_WORKOUTS)},[d.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.SET_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){ee(e,t,Q.CW.ADD_TIMELINE_WORKOUTS)},[d.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const 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(d.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(d.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,null)})).catch((t=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(d.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),u.Z.push("/")})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(d.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{u.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[d.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(d.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(d.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];u.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,i.S)(e,t)})).finally((()=>e.commit(d.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},ne={[d.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[d.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[d.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[d.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[d.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},re={[d.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[d.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[d.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[d.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[d.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[d.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[d.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[d.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[d.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[d.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[d.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},ae={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},oe={state:ae,actions:te,getters:ne,mutations:re};var se=oe;const ie={authUserModule:U,oAuthModule:w,sportsModule:K,statsModule:H,usersModule:J,workoutsModule:se},le={state:M,actions:C,getters:D,mutations:P,modules:ie};var ce=le;const ue=(0,r.MT)(ce);var de=ue},52:function(e,t,n){"use strict";var r,a,o;n.d(t,{CW:function(){return o},JP:function(){return a},tW:function(){return r}}),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"}(a||(a={})),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"}(o||(o={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Hf:function(){return a},Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l},z_:function(){return s}});const r=["asc","desc"],a=1,o=10,s=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=s(e.page,a),d.per_page=s(e.per_page,o),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,o.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},S=(e,t)=>{switch(e){case"week":return(0,s.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},E=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(e,t)=>{const n=(0,o.Z)(e),a=(0,c.Z)(e),s=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:s}),end:(0,u.Z)(a,{weekStartsOn:s})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return o}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?`${a}${o}`:{size:a,suffix:o}},o=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return o},k:function(){return a}});var r=n(5801);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{if(401===t?.response?.status&&"invalid_token"===t.response.data.error)return localStorage.removeItem("authToken"),void e.dispatch(r.YN.ACTIONS.CHECK_AUTH_USER);const a=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.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return u},v1:function(){return i},zK:function(){return l}});var r=n(879),a=n(5826),o=n(5830),s=n(2540);const i={de:r.Z,en:a.Z,fr:o.Z},l={de:"Deutsch",en:"English",fr:"Français"},{availableLocales:c}=s.Z.global,u=c.map((e=>({label:l[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return i},Yx:function(){return a},Zo:function(){return r},xH:function(){return s}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},o=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(o),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return w},aZ:function(){return h},v1:function(){return z}});n(7658);var r=n(4850),a=n(8148),o=n(9319),s=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),_=n(7982),S=n(3500),E=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},U=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},I=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},g=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:p.Zo[e.label];t.average_speed.push(I(e.label,n,!0)),t.nb_workouts.push(I(e.label,n)),t.total_distance.push(I(e.label,n)),t.total_duration.push(I(e.label,n)),t.total_ascent.push(I(e.label,n)),t.total_descent.push(I(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=g(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},h=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,o.Z)(e,9)):"week"===t?(0,s.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),_="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:_,start:m}},w=(e,t,n)=>{const{duration:r,start:T,end:p}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,o.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,u.Z)(t?(0,_.Z)(p,1):(0,S.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,E.Z)(p,1)),start:"year"===r?(0,a.Z)(t?(0,o.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,s.Z)(t?(0,_.Z)(T,1):(0,S.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,E.Z)(T,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return s},sC:function(){return o}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=(e,t,n,o=3)=>{const s=r[t],i=r[n],l=e*s.multiplier*a[s.system][i.system]/i.multiplier;return null!==o?parseFloat(l.toFixed(o)):l},s=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?o(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return o},EX:function(){return a},eR:function(){return s}});n(7658);var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},o=[],s=[],i=[];return e.map((e=>{o.push(e.distance),s.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:o,duration_labels:s,datasets:a,coordinates:i}},o=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},s={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},o={class:"card-title"},s={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",o,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",s,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262);const s={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var _=(0,r.aZ)({__name:"FilterSelects",props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:_,query:S,sort:E,message:T}=(0,o.BK)(n),p=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,o.SU)(S).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(_),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,o.SU)(T)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,o.SU)(S).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,o.SU)(S).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(p,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),S=n(3744);const E=(0,S.Z)(_,[["__scopeId","data-v-72463173"]]);var T=E},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},o=(0,r.uE)('',1),s=[o];function i(e,t,n,o,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,s)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),o=(n(7658),n(3577));const s={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({__name:"Error",props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",i,[(0,r._)("h1",null,(0,o.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,o.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,o.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const _=m;var S=_},5020:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262),s=n(2766);const i=e=>((0,r.dD)("data-v-3a9a4a65"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var _=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:_}=(0,o.BK)(t);function S(e,t){const n=Object.assign({},_.value);return n.page=t?e+t:e,n}return(e,t)=>{const _=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,o.SU)(n).has_prev}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:S((0,o.SU)(n).page,-1)},disabled:!(0,o.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(s.lM)((0,o.SU)(n).pages,(0,o.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,o.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(_,{key:1,class:"page-link",to:{path:(0,o.SU)(i),query:S(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,o.SU)(n).has_next}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:S((0,o.SU)(n).page,1)},disabled:!(0,o.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),S=n(3744);const E=(0,S.Z)(_,[["__scopeId","data-v-3a9a4a65"]]);var T=E},8403:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(6252),a=n(2262),o=n(9963),s=n(3577),i=n(4366),l=n(5801),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),o={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},_=["value"],S={key:0,class:"password-strength-details"},E={class:"password-strength-value"},T={key:0,class:"info-box"},p={class:"password-feedback"};var A=(0,r.aZ)({__name:"PasswordStength",props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),o=(0,c.o)(),A=(0,r.Fl)((()=>o.getters[l.SY.GETTERS.LANGUAGE])),O=(0,r.Fl)((()=>o.getters[l.YN.GETTERS.IS_SUCCESS])),U=(0,a.iH)(0),R=(0,a.iH)(""),I=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),I.value=t.feedback.suggestions,g.value=100*U.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{O.value?R.value="":N(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,s.C_)(["password-slider",`strength-${U.value}`]),style:(0,s.j5)({backgroundSize:g.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,_),R.value?((0,r.wg)(),(0,r.iD)("div",S,[(0,r._)("span",E,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),I.value.length>0?((0,r.wg)(),(0,r.iD)("div",T,[(0,r._)("ul",p,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(I.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const I=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},h=I((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var w=(0,r.aZ)({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),_=(0,a.iH)(!1),S=(0,a.iH)("");function E(){_.value=!_.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(S.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:_.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>S.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,N),[[o.YZ,S.value]]),(0,r._)("div",{class:"show-password",onClick:E},[(0,r.Uk)((0,s.zw)(e.$t(`user.${_.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(_.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[h,(0,r.Uk)(" "+(0,s.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:S.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const f=(0,O.Z)(w,[["__scopeId","data-v-5a126514"]]);var v=f},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),o=n(2262),s=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({__name:"StaticMap",props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,o.BK)(t),l=`${(0,s.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,o.SU)(n)}])},[(0,o.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},4998:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(6252),a=n(3577);const o={class:"start-chart"},s={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},_=["checked"],S={key:1},E=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",o,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",s,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,_),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",S,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",T,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,p),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var O=n(4850),U=n(2262);const R={class:"chart"};function I(e,t,n,a,o,s){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(6518),N=n(9150);const z=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),o=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${o}s`:`${"00"===r?"":`${r}:`}${a}:${o}`};var h=n(3649);const w=(e,t,n,r=!0,a="km")=>{const o=n?h.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},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},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,N.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}function o(e){return["total_ascent","total_descent"].includes(e)?"m":"km"}const s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}))),i=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return w(e.displayedData,+t,e.useImperialUnits,!1,o(e.displayedData))}},afterFit:function(t){t.width=e.fullStats?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return w(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?w(e.displayedData,t,e.useImperialUnits,!1,o(e.displayedData)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=w(e.displayedData,n.parsed.y,e.useImperialUnits,!0,o(e.displayedData))),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+w(e.displayedData,r,e.useImperialUnits,!0,o(e.displayedData))}}}}}))),{barChartProps:l}=(0,g.xZ)({chartData:s,options:i});return{barChartProps:l}}}),v=n(3744);const C=(0,v.Z)(f,[["render",I]]);var D=C,k=n(5801),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:D},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)(),n=(0,U.iH)("total_distance"),a=(0,r.Fl)((()=>t.getters[k.gu.GETTERS.USER_STATS])),o=(0,r.Fl)((()=>(0,L.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function s(n){t.dispatch(k.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,O.Z)(e.start,"yyyy-MM-dd"),to:(0,O.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>s(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{s(l(t,e.user))})),{datasets:(0,r.Fl)((()=>o.value.datasets[n.value])),labels:(0,r.Fl)((()=>o.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,v.Z)(M,[["render",A],["__scopeId","data-v-58e4e79d"]]);var y=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return N}});var r=n(6252),a=n(2262),o=n(3577),s=n(6595),i=n(5801),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},_={class:"user-stat"},S={class:"stat-number"},E={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={class:"stat-label"};var R=(0,r.aZ)({__name:"UserHeader",props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),I=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(s.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,o.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",_,[(0,r._)("span",S,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",E,(0,o.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",T,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(I).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(I).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",O,(0,o.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),I=n(3744);const g=(0,I.Z)(R,[["__scopeId","data-v-20291951"]]);var N=g},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});n(7658);var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(5801),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},_={class:"form-items",for:"email"},S={class:"form-items",for:"email"},E={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],I={key:1,class:"profile-buttons"};var g=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:g,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),h=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),w=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),D=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){D.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function F(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function W(){x(),L.value=g.value.email_to_confirm?g.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function K(){L.value="",P.value=!1}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function x(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>x())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),K())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[D.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===D.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(g).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===D.value?y((0,a.SU)(g).username):G((0,a.SU)(g).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>Y((0,a.SU)(g).username)),["prevent"]))},[(0,r._)("label",_,[(0,r.Uk)((0,o.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(g).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(g).email]])]),(0,r._)("label",S,[(0,r.Uk)((0,o.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",E,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(K,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).first_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).last_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(w)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(g).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>F((0,a.SU)(g).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(W,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(g).username&&(0,a.SU)(C).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("reset")),["prevent"]))},(0,o.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,o.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]))])}}}),N=n(3744);const z=(0,N.Z)(g,[["__scopeId","data-v-794e58e7"]]);var h=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2201),l=n(8403),c=n(5801),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},_={key:2,class:"info-box success-message"},S={class:"form-items"},E=["disabled","placeholder"],T={key:1,class:"form-info"},p=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],O={key:3,class:"form-info"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],I={key:3},g={key:0},N={key:4},z={class:"account"},h={key:5};var w=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:w}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),C=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),L=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.LANGUAGE])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),b=(0,r.Fl)((()=>["reset-request","account-confirmation-resend"].includes(t.action)&&!P.value.is_email_sending_enabled)),y=(0,o.iH)(!1);function G(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function F(){y.value=!0}function W(e){f.password=e}function K(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:f.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:f.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:f.email});default:f["language"]=L.value,d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:f,redirectUrl:n.query.from})}}function Y(){f.username="",f.email="",f.password=""}return(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,Y()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,o.SU)(w))?(0,o.SU)(w):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,o.SU)(M)}])},[(0,o.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(b)?((0,r.wg)(),(0,r.j4)(n,{key:1,message:"admin.EMAIL_SENDING_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(k)||(0,o.SU)(D)?((0,r.wg)(),(0,r.iD)("div",_,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(D)?"REGISTRATION"+((0,o.SU)(P).is_email_sending_enabled?"_WITH_EMAIL":""):"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,s.iM)((e=>K((0,o.SU)(w))),["prevent"]))},[(0,r._)("div",S,["register"===(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,o.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:F,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,E)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",T,[p,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,o.SU)(M)||(0,o.SU)(b),required:"",onInvalid:F,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>f.email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[s.nr,f.email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,o.SU)(w))?((0,r.wg)(),(0,r.iD)("div",O,[U,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,o.SU)(w))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,o.SU)(M),required:!0,placeholder:"reset"===(0,o.SU)(w)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(w)),onUpdatePassword:W,onPasswordError:F},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,o.SU)(M)||(0,o.SU)(b)},(0,a.zw)(e.$t((0,o.SU)(v))),9,R)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",I,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("span",g,"-")):(0,r.kq)("",!0),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.j4)(i,{key:1,class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})):(0,r.kq)("",!0)])):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,o.SU)(w))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",h,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,o.SU)(C)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(C)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(w,[["__scopeId","data-v-bf09a420"]]);var C=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),o=n(2024);const s={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({__name:"UserPicture",props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,o.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var _=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const o={class:"no-workouts box"};function s(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",s],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./de/de.ts":9923,"./en/en.ts":8757,"./fr/fr.ts":6625};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,o){if(!r){var s=1/0;for(u=0;u=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var o=Object.create(null);n.r(o);var s={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){s[e]=function(){return r[e]}}));return s["default"]=function(){return r},n.d(o,s),o}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"ff863bd6",93:"97ccdf6e",193:"eaf4afd3",243:"27c8fef5",328:"3b0b84c0",401:"766f2fad",431:"5976068e",633:"9a092c9a",845:"4d6d6e47",858:"0441e3cc",881:"d0f613fa"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"40e24e75",328:"73df498d",401:"dd7c6bdb",845:"203e78e2"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,o,s){if(e[r])e[r].push(a);else{var i,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u {\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && 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 { 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(): Record> {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: Record> = {}\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","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontaktiere den Administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"unter \", _interpolate(_list(0)), \" Lizenz \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellkode\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiviere Konto\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt-E-Mail des Administrators\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Anzahl aktiver Nutzer\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn 0, gibt es keine Registrierungslimitierung..\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Dateianzahl im zip Archiv\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Kontakt-E-Mail\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe der hochgeladenen Dateien (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungskonfiguration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe des zip Archives (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zu Admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Passwort zurücksetzen?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelle E-Mail\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lösche Nutzer\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail-Versand ist deaktiviert.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren/Deaktivieren von Sportarten.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue E-Mail\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das wasswort wurde zurückgesetzt.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit deaktiviert.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit aktiviert.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainings existieren\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten Administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere E-Mail\"])},\n \"USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzer\"])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die E-Mail Adresse wurde aktualisiert.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte hinzufügen\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte entfernen\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adminstatus\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accountstatus\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsanzahl\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail: Eine gültige E-Mail muss angegeben werden.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Abrufen der Konfiguration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Aktualisieren der Konfiguration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Die Registrierung ist deaktiviert.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dateierweiterung ist nicht erlaubt.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Datei ist größer als erlaubt.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Anmeldedaten.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die bereitgestellten Daten sind ungültig.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzwerkfehler.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei ausgewählt.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort: Passwort und Passwortbestätigung stimmen nicht überein.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein gültiges Authentifizierungstoken an.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es tut mir leid, der Benutzername ist schon vergeben.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportart existiert nicht.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Signatur ist abgelaufen. Bitte melde dich erneut an.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung erfolgreich.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Nutzer existiert nicht.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du hast keine Berechtigung.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhergehende\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächste\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigungs-E-Mail erneut senden\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter löschen\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Konto löschen\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bearbeiten\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurücksetzen\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Über\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigung\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Tag\"]), _normalize([\"Tage\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortiert nach\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortieren\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aufsteigend\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"absteigend\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pro Seite\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Insgesamt\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Monat\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Seite nicht gefunden\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training nicht gefunden\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etwas lief schief\"])}\n}","export default {\n \n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Pendeln)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wandern\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken (elektrisch)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rudern\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Laufen\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Langlauf)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeschuhe\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gehen\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistik\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Woche\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monat\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jahr\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du keine Anweisungen erhalten?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du bereits ein Konto?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelles Passwort\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe eine gültige E-Mail-Adresse an.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein Passwort ein\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nach Benutzernamen filtern\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort verbergen\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte fordere ein neues Passworts an.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Nutzer gefunden.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens 8 Zeichen sind erforderlich.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort vergessen?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"schwach\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mittel\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gut\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwortstärke\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide vorhersehbare Buchstabenersetzungen wie \", \"@\", \" für a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe einige, aber nicht alle Buchstaben groß.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe mehr als nur den ersten Buchstaben groß.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Angabe von letzten Jahreszahlen.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide gebräuchliche Zeichenfolgen.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide wiederholungen von Wörtern und Zeichen.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge weitere weniger gebräuchliche Wörter hinzu.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Dein Passwort wurde aktualisiert. Klicke \", _interpolate(_list(0)), \" um dich anzumelden.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontoausgabe\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zum Profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Biographie\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geburtsdatum\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil bearbeiten\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen ändern\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen für Sportarten ändern\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Bitte \", _interpolate(_list(0)), \" um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erster Tag der Woche\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ort\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Montag\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bildausgabe\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild aktualisieren\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild entfernen\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungsausgabe\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil-Ausgabe\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regirierungsdatum\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten-Einstellungsausgabe\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sontag\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Konto\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farbe\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vom Admin deaktiviert\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aktiv\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeitsschwellenwert für Stopp\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich erstellt.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einheiten für die Distanz\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperiales System (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metrisches System (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zeitzone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail zur Kontobestätigung erneut senden\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entschuldigung, die Registrierung ist deaktiviert.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort anzeigen\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Account ist inaktiv.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzerbild\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training hinzufügen\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aufstieg\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschnittsgeschwindigkeit\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zurück zum Training\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abstieg\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zeige Filter\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entfernung\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dauer\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training bearbeiten\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhe\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ende\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Von\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx Datei\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberge Filter\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Letzte Trainings\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lade mehr Trainings\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"maximale Höhe\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Dateianzahl\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximalgröße\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimale Höhe\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Training\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Daten aus gpx, ohne Bereinigung\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"enthält keinen Ordner\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Karte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Training\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Anmerkungen\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Training\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Aufzeichnungen.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Trainings.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmerkungen\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pausen\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Training\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Aufzeichnung\"]), _normalize([\"Aufzeichnungen\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiteste Entfernung\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Längste Dauer\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verbleibende Zeichen\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Segment\"]), _normalize([\"Segmente\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeit\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Sportart\"]), _normalize([\"Sportarten\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start und Ziel\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhenachse bei Null starten\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bis\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gesamtdauer\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge erstes Training hinzu!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Luftfeuchtigkeit\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Temperatur\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klarer Tag\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klare Nacht\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wolkig\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nebel\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkter Tag\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkte Nacht\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regen\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeregen\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schnee\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mit .gpx Datei\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ohne .gpx Datei\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Training\"]), _normalize([\"Trainings\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsdatum\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du dieses Training löschen möchtest?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip Datei\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"oder .zip Datei mit .gpx Dateien\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email sending is disabled.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx processing.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx file parsing.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for administrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Authorize\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Displayed\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a new OAuth2 application\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Issue at\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application name\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Redirect URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to application configuration.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to auth endpoints.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to auth endpoints.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to users endpoints.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to users endpoints.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to workouts endpoints.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to workouts endpoints.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application URL\"])}\n },\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application created successfully. Make sure to copy the secret now, it won't show up again.\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"The application \", _interpolate(_list(0)), \" is requesting:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2 applications\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Authorize \", _interpolate(_list(0)), \" to use your account?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copy to the clipboard\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New OAuth App\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application not found!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no applications\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revoke all tokens\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to revoke all tokens?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"All existing associated tokens have been revoked.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ascent-related data (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been created successfully.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Highest ascent\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous licence \", _interpolate(_list(0)), \" (en) \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'envoi d'emails est désactivé.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel : une adresse électronique valide doit être fournie.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors du traitement du fichier gpx.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de l'analyse du fichier.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse électronique doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse électronique doit être fournie pour le contact de l'administrateur\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Renvoyer le message de confirmation\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autoriser\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retour\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Affiché\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois-ci\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une nouvelle application OAuth2\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiant\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Créée le\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom de l'application\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de redirection\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture à la configuration de l'application.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes auth.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes auth.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes users.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes users.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes workouts.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes workouts.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de l'application\"])}\n },\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus.\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"L'application \", _interpolate(_list(0)), \" demande les accès suivants :\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applications OAuth2\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Autoriser \", _interpolate(_list(0)), \" à utiliser votre compte ?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copier dans le presse papier\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une App OAuth\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application introuvable !\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de applications\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Révoquer tous les jetons\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir révoquer tous les jetons ?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tous les jetons associés existants ont été révoqués.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Électrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez une adresse électronique valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance).\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex : date de naissance).\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données relatives au dénivelé positif (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse électronique ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été créé avec succès.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau le courriel de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dénivelé positif le + élevé\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* 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","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Footer',\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n }\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-95c1cc02\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NavBar',\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const 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 store.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n option.value.toString()\n )\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !isMenuOpen.value }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=95c1cc02&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-95c1cc02\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NoConfig',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } 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 import { localeFromLanguage } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\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 initLanguage()\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 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 const bottom = document.querySelector('#bottom')\n displayScrollButton.value = 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 function initLanguage() {\n let language = 'en'\n try {\n const navigatorLanguage = navigator.language.split('-')[0]\n if (navigatorLanguage in localeFromLanguage) {\n language = navigatorLanguage\n }\n } catch (e) {\n language = 'en'\n }\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE, language)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=2930d5e0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8cf5cc64\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomTextArea',\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string | null }\n\n \n\n \n\n const 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 === null ? '' : value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((text).value = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, text.value]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(text.value.length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=8cf5cc64&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8cf5cc64\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Distance',\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2d3b4eac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dropdown',\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n const isOpen = ref(false)\n const 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=2d3b4eac&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2d3b4eac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ErrorMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } 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 MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Modal',\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\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\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.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 { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: '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'\nimport VueFullscreen from 'vue-fullscreen'\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 .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\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 interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminApplication',\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\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 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\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !appData.admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appData.admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, appData.admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appData.max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, appData.max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appData.max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, appData.max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((appData.max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, appData.max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((appData.gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, appData.gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatCard',\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } 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 interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AppStatsCards',\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0dd66f89\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = { class: \"application-config-details\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = { class: \"registration-status\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"email-sending-status\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-exclamation-triangle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { capitalize, toRefs, withDefaults } 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 interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminMenu',\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_4,\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1),\n (!_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.EMAIL_SENDING_DISABLED')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=0dd66f89&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0dd66f89\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } 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 \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminSports',\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\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\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UsersNameFilter',\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4735c10f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\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 UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, 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 \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminUsers',\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\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 const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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 onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\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 onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4735c10f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4735c10f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserProfileTabs',\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'APPS':\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab).split('/')[0] === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=01b05f01&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9729cba4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } 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 interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS', 'APPS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9729cba4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9729cba4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IAuthUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferences',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n const display_ascent = computed(() =>\n props.user.display_ascent ? 'DISPLAYED' : 'HIDDEN'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`common.${_unref(display_ascent)}`)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37b8c4c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAccountEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n emailUpdate.value && _unref(appConfig).is_email_sending_enabled ? 'EMAIL_' : ''\n }UPDATE`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, userForm.email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: userForm.password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: userForm.new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=37b8c4c8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-37b8c4c8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b6bacea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfosEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\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[AUTH_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.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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, userForm.first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.last_name) = $event))\n }, null, 512), [\n [_vModelText, userForm.last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, userForm.birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((userForm.location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, userForm.location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: userForm.bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=b6bacea0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b6bacea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-687e9604\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_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 interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPictureEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\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 const pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !pictureFile.value\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=687e9604&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-687e9604\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'TimezoneDropdown',\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f7548012\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_9 = { class: \"checkboxes-label\" }\nconst _hoisted_10 = { class: \"checkboxes\" }\nconst _hoisted_11 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_12 = { class: \"checkbox-label\" }\nconst _hoisted_13 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_14 = { class: \"checkboxes-label\" }\nconst _hoisted_15 = { class: \"checkboxes\" }\nconst _hoisted_16 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_17 = { class: \"checkbox-label\" }\nconst _hoisted_18 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_19 = { class: \"checkboxes-label\" }\nconst _hoisted_20 = { class: \"checkboxes\" }\nconst _hoisted_21 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_22 = { class: \"checkbox-label\" }\nconst _hoisted_23 = { class: \"form-buttons\" }\nconst _hoisted_24 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserPreferencesPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferencesEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n display_ascent: true,\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'SUNDAY',\n value: false,\n },\n {\n label: 'MONDAY',\n value: true,\n },\n ]\n const imperialUnits = [\n {\n label: 'METRIC',\n value: false,\n },\n {\n label: 'IMPERIAL',\n value: true,\n },\n ]\n const ascentData = [\n {\n label: 'DISPLAYED',\n value: true,\n },\n {\n label: 'HIDDEN',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_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: IAuthUserProfile) {\n userForm.display_ascent = user.display_ascent\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n function updateAscentDisplay(value: boolean) {\n userForm.display_ascent = value\n }\n function updateImperialUnit(value: boolean) {\n userForm.imperial_units = value\n }\n function updateWeekM(value: boolean) {\n userForm.weekm = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, userForm.language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: userForm.timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')), 1),\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"label\", {\n key: start.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: start.label,\n name: start.label,\n checked: start.value === userForm.weekm,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateWeekM(start.value))\n }, null, 40, _hoisted_11),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')), 1),\n _createElementVNode(\"div\", _hoisted_15, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"label\", {\n key: unit.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: unit.label,\n name: unit.label,\n checked: unit.value === userForm.imperial_units,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateImperialUnit(unit.value))\n }, null, 40, _hoisted_16),\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')), 1),\n _createElementVNode(\"div\", _hoisted_20, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(ascentData, (status) => {\n return _createElementVNode(\"label\", {\n key: status.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: status.label,\n name: status.label,\n checked: status.value === userForm.display_ascent,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateAscentDisplay(status.value))\n }, null, 40, _hoisted_21),\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(`common.${status.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"button\", _hoisted_24, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPreferencesEdition.vue?vue&type=style&index=0&id=f7548012&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f7548012\"]])\n\nexport default __exports__","export const oauth2_scopes = [\n 'profile:read',\n 'profile:write',\n 'users:read',\n 'users:write',\n 'workouts:read',\n 'workouts:write',\n]\n\nexport const admin_oauth2_scopes = ['application:write']\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0657ee77\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"new-oauth2-app\" }\nconst _hoisted_2 = { id: \"new-oauth2-title\" }\nconst _hoisted_3 = { id: \"apps-form\" }\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = { class: \"form-items\" }\nconst _hoisted_6 = { class: \"form-item\" }\nconst _hoisted_7 = { for: \"app-name\" }\nconst _hoisted_8 = { class: \"form-item\" }\nconst _hoisted_9 = { for: \"app-description\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = { for: \"app-url\" }\nconst _hoisted_12 = { class: \"form-item\" }\nconst _hoisted_13 = { for: \"app-redirect-uri\" }\nconst _hoisted_14 = { class: \"form-item-scope\" }\nconst _hoisted_15 = { class: \"form-item-scope-label\" }\nconst _hoisted_16 = { class: \"scope-label\" }\nconst _hoisted_17 = [\"name\", \"checked\", \"onChange\"]\nconst _hoisted_18 = [\"innerHTML\"]\nconst _hoisted_19 = { class: \"form-buttons\" }\nconst _hoisted_20 = [\"disabled\"]\n\nimport { computed, reactive } from 'vue'\n\n import { OAUTH2_STORE } from '@/store/constants'\n import { IOAuth2ClientPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { admin_oauth2_scopes, oauth2_scopes } from '@/utils/oauth'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AddUserApp',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n const appForm = reactive({\n client_name: '',\n client_uri: '',\n client_description: '',\n redirect_uri: '',\n })\n const scopes: string[] = reactive([])\n const filtered_scopes = computed(() =>\n getScopes(props.authUser, admin_oauth2_scopes, oauth2_scopes)\n )\n\n function createApp() {\n const payload: IOAuth2ClientPayload = {\n client_name: appForm.client_name,\n client_description: appForm.client_description,\n client_uri: appForm.client_uri,\n redirect_uris: [appForm.redirect_uri],\n scope: scopes.sort().join(' '),\n }\n store.dispatch(OAUTH2_STORE.ACTIONS.CREATE_CLIENT, payload)\n }\n function updateDescription(value: string) {\n appForm.client_description = value\n }\n function updateScopes(scope: string) {\n const index = scopes.indexOf(scope)\n if (index > -1) {\n scopes.splice(index, 1)\n } else {\n scopes.push(scope)\n }\n }\n function getScopes(\n authUser: IAuthUserProfile,\n admin_scopes: string[],\n scopes: string[]\n ) {\n const filtered_scopes = [...scopes]\n if (authUser.admin) {\n filtered_scopes.push(...admin_scopes)\n }\n return filtered_scopes.sort()\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.ADD_A_NEW_APP')), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(createApp, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-name\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appForm.client_name) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_name]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')), 1),\n _createVNode(_component_CustomTextArea, {\n name: \"app-description\",\n charLimit: 200,\n input: appForm.description,\n onUpdateValue: updateDescription\n }, null, 8, [\"input\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-url\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appForm.client_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-redirect-uri\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appForm.redirect_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.redirect_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \"* \", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(filtered_scopes), (scope) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"form-item-scope-checkboxes\",\n key: scope\n }, [\n _createElementVNode(\"label\", _hoisted_16, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n name: scope,\n checked: scopes.includes(scope),\n onChange: ($event: any) => (updateScopes(scope))\n }, null, 40, _hoisted_17),\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"scope-description\",\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_18)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: scopes.length === 0\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_20),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(() => _ctx.$router.push('/profile/apps'), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AddUserApp.vue?vue&type=style&index=0&id=0657ee77&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0657ee77\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b2fe9ed\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"authorize-oauth2-app\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { id: \"authorize-oauth2-title\" }\nconst _hoisted_4 = { class: \"oauth2-access description-list\" }\nconst _hoisted_5 = { class: \"client-scope\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"authorize-oauth2-buttons\" }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = { class: \"no-app\" }\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AuthorizeUserApp',\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadApp())\n\n function loadApp() {\n if (route.query.client_id && typeof route.query.client_id === 'string') {\n store.dispatch(\n OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID,\n route.query.client_id\n )\n }\n }\n\n function authorizeApp() {\n store.dispatch(OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT, {\n client_id: `${route.query.client_id}`,\n redirect_uri: `${route.query.redirect_uri}`,\n response_type: `${route.query.response_type}`,\n scope: `${route.query.scope}`,\n state: `${route.query.state ? route.query.state : ''}`,\n code_challenge: `${\n route.query.code_challenge ? route.query.code_challenge : ''\n }`,\n code_challenge_method: `${\n route.query.code_challenge_method\n ? route.query.code_challenge_method\n : ''\n }`,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"oauth2.AUTHORIZE_APP\" }, {\n default: _withCtx(() => [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: _unref(client).id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(client).name), 1)\n ]),\n _: 1\n }, 8, [\"to\"])\n ]),\n _: 1\n })\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t('oauth2.APP_REQUESTING_ACCESS')), 1),\n _createElementVNode(\"dl\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: scope }, [\n _createElementVNode(\"dt\", _hoisted_5, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"dd\", {\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_6)\n ], 64))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: authorizeApp\n }, _toDisplayString(_ctx.$t('buttons.AUTHORIZE')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AuthorizeUserApp.vue?vue&type=style&index=0&id=3b2fe9ed&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b2fe9ed\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"oauth2-apps\" }\n\nimport { onUnmounted, toRefs } from 'vue'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENTS, [])\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_view, { authUser: _unref(user) }, null, 8, [\"authUser\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-00697fc9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"oauth2-app\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = {\n key: 0,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"title\"]\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = {\n key: 1,\n class: \"app-secret\"\n}\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { class: \"client-scopes\" }\nconst _hoisted_9 = { class: \"app-buttons\" }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { class: \"no-app\" }\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n capitalize,\n computed,\n onBeforeMount,\n toRefs,\n ref,\n onUnmounted,\n withDefaults,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n afterCreation?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserApp',\n props: {\n authUser: null,\n afterCreation: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, afterCreation: boolean }\n\n \n const route = useRoute()\n const store = useStore()\n\n const { afterCreation, authUser } = toRefs(props)\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const revocationSuccessful: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]\n )\n const displayModal: Ref = ref(false)\n const messageToDisplay: Ref = ref(null)\n const idCopied: Ref = ref(false)\n const secretCopied: Ref = ref(false)\n const clipboardSupport: Ref = ref(false)\n\n onBeforeMount(() => {\n loadClient()\n if (navigator.clipboard) {\n clipboardSupport.value = true\n }\n })\n\n function loadClient() {\n // after creation, client is already in store\n if (\n !afterCreation.value &&\n route.params.id &&\n typeof route.params.id === 'string'\n ) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID, +route.params.id)\n }\n }\n function updateMessageToDisplay(forDelete: boolean) {\n messageToDisplay.value = forDelete\n ? 'oauth2.APP_DELETION_CONFIRMATION'\n : 'oauth2.TOKENS_REVOCATION_CONFIRMATION'\n updateDisplayModal(true)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n if (!value) {\n messageToDisplay.value = null\n }\n }\n function confirmAction(clientId: number) {\n if (messageToDisplay.value === 'oauth2.APP_DELETION_CONFIRMATION') {\n store.dispatch(OAUTH2_STORE.ACTIONS.DELETE_CLIENT, clientId)\n } else {\n store.dispatch(OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS, clientId)\n }\n }\n function copyIdToClipboard() {\n navigator.clipboard.writeText(client.value.client_id)\n idCopied.value = true\n secretCopied.value = false\n setTimeout(() => {\n idCopied.value = false\n }, 3000)\n }\n function copySecretToClipboard() {\n if (client.value.client_secret) {\n navigator.clipboard.writeText(client.value.client_secret)\n secretCopied.value = true\n idCopied.value = false\n setTimeout(() => {\n secretCopied.value = false\n }, 3000)\n }\n }\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n })\n\n watch(\n () => revocationSuccessful.value,\n (newValue) => {\n if (newValue) {\n updateDisplayModal(false)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t(messageToDisplay.value),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (confirmAction(_unref(client).id))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(client) && _unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(afterCreation) || _unref(revocationSuccessful))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n _unref(afterCreation)\n ? 'oauth2.APP_CREATED_SUCCESSFULLY'\n : 'oauth2.TOKENS_REVOKED'\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_ID')) + \":\", 1),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_unref(client).client_id) + \" \", 1),\n (_unref(afterCreation) && clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${idCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copyIdToClipboard\n }, null, 10, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dt\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_SECRET')) + \": \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dd\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_unref(client).client_secret) + \" \", 1),\n (clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${secretCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copySecretToClipboard\n }, null, 10, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dt\", null, _toDisplayString(capitalize(_ctx.$t('oauth2.APP.ISSUE_AT'))) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(_unref(client).issued_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')) + \":\", 1),\n _createElementVNode(\"dd\", {\n class: _normalizeClass({ 'no-description': !_unref(client).client_description })\n }, _toDisplayString(_unref(client).client_description\n ? _unref(client).client_description\n : _ctx.$t('oauth2.NO_DESCRIPTION')), 3),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).website), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).redirect_uris.length > 0 ? _unref(client).redirect_uris[0] : ''), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"client-scope\",\n key: scope\n }, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateMessageToDisplay(false)))\n }, _toDisplayString(_ctx.$t('oauth2.REVOKE_ALL_TOKENS')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateMessageToDisplay(true)))\n }, _toDisplayString(_ctx.$t('oauth2.DELETE_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserApp.vue?vue&type=style&index=0&id=00697fc9&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-00697fc9\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5c2cdde\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"oauth2-apps-list\" }\nconst _hoisted_2 = { class: \"apps-list\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"app-issued-at\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"no-apps\"\n}\nconst _hoisted_6 = { class: \"app-list-buttons\" }\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, onBeforeMount, toRefs, watch } from 'vue'\n import { LocationQuery, useRoute } from 'vue-router'\n\n import Pagination from '@/components/Common/Pagination.vue'\n import { OAUTH2_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { IOAuth2Client, IOauth2ClientsPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { defaultPage, getNumberQueryValue } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAppsList',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n\n const { authUser } = toRefs(props)\n const clients: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS]\n )\n\n const pagination: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]\n )\n let query: IOauth2ClientsPayload = getClientsQuery(route.query)\n\n onBeforeMount(() => {\n loadClients(query)\n })\n\n function getClientsQuery(newQuery: LocationQuery): IOauth2ClientsPayload {\n const clientsQuery: IOauth2ClientsPayload = {}\n if (newQuery.page) {\n clientsQuery.page = getNumberQueryValue(newQuery.page, defaultPage)\n }\n return clientsQuery\n }\n function loadClients(payload: IOauth2ClientsPayload) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS, payload)\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getClientsQuery(newQuery)\n loadClients(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.APPS_LIST')), 1),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(clients), (client) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: client.client_id\n }, [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: client.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(client.name), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('oauth2.APP.ISSUE_AT')) + \" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(client.issued_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.NO_APPS')), 1)),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 2,\n pagination: _unref(pagination),\n path: \"/profile/apps\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps/new')))\n }, _toDisplayString(_ctx.$t('oauth2.NEW_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAppsList.vue?vue&type=style&index=0&id=a5c2cdde&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5c2cdde\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e52489\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserSportPreferences',\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const defaultColor = '#838383'\n const sportColors: Record | undefined = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color\n ? sport.color\n : sportColors\n ? sportColors[sport.label]\n : defaultColor\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: sportPayload.color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && sportPayload.sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: sportPayload.stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (sportPayload.sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=74e52489&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e52489\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'About',\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AboutView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } 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 interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutCard',\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-35567bf2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } 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 interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Timeline',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const 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 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=35567bf2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-35567bf2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkout',\n props: {\n displayHARecord: { type: Boolean },\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { displayHARecord, workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records\n .filter((record) =>\n _unref(displayHARecord) ? true : record.record_type !== 'HA'\n )\n .map((record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`)\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=331e1c8b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'DonutChart',\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } 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 { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkoutsChart',\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } 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 { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkouts',\n props: {\n displayHARecord: { type: Boolean },\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { displayHARecord, workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n displayHARecord: _unref(displayHARecord),\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"displayHARecord\", \"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=5aab7455&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } 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 interface Props {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarCells',\n props: {\n currentDay: null,\n displayHARecord: { type: Boolean },\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n displayHARecord,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\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 function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports),\n displayHARecord: _unref(displayHARecord)\n }, null, 8, [\"workouts\", \"sports\", \"displayHARecord\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=34b99f0e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarDays',\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarHeader',\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } 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 { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } 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 interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n const day = ref(new Date())\n const calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\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 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: day.value,\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": calendarDates.value.start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: day.value,\n displayHARecord: _unref(user).display_ascent,\n \"end-date\": calendarDates.value.end,\n sports: _unref(sports),\n \"start-date\": calendarDates.value.start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"displayHARecord\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=3e7444d9&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } 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 interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserMonthStats',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = useImperialUnits\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = useImperialUnits\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 2\n )} ${distanceUnitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 3\n )} ${distanceUnitTo}`\n break\n case 'HA':\n value = `${convertDistance(\n +record.value,\n ascentUnitFrom,\n ascentUnitTo,\n 2\n )} ${ascentUnitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"HA\", \"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 sortRecords = (a: ICardRecord, b: ICardRecord): number => {\n const recordALabel = a.label.toLowerCase()\n const recordBLabel = b.label.toLowerCase()\n return recordALabel > recordBLabel ? 1 : recordALabel < recordBLabel ? -1 : 0\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean,\n display_ascent: boolean\n): IRecordsBySports =>\n records\n .filter((r) => (display_ascent ? true : r.record_type !== 'HA'))\n .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 color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b5480ab0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\n import { sortRecords } from '@/utils/records'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'RecordsCard',\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\n const { t } = useI18n()\n\n function getTranslatedRecords(records: IRecord[]): ICardRecord[] {\n const translatedRecords: ICardRecord[] = []\n records.map((record) => {\n translatedRecords.push({\n ...record,\n label: t(`workouts.RECORD_${record.record_type}`),\n })\n })\n return translatedRecords.sort(sortRecords)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(getTranslatedRecords(_unref(records).records), (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(record.label), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=b5480ab0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b5480ab0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27dfbb65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } 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 { IAuthUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units,\n props.user.display_ascent\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=27dfbb65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-27dfbb65\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = user.value.imperial_units\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, distanceUnitFrom, distanceUnitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2)))\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = user.value.imperial_units\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n const totalAscent: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_ascent, ascentUnitFrom, ascentUnitTo, 2)\n : parseFloat(user.value.total_ascent.toFixed(2)))\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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(distanceUnitTo) === 'mi' ? 'miles' : _unref(distanceUnitTo)\n }, null, 8, [\"value\", \"text\"]),\n (_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 0,\n icon: \"location-arrow\",\n value: _unref(totalAscent),\n text: _unref(ascentUnitTo) === 'ft' ? 'feet' : _unref(ascentUnitTo)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n (!_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 1,\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=22dcb990&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20e19721\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, 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 { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dashboard',\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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('calendar')\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=20e19721&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20e19721\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFoundView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoginOrRegister',\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","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 UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.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 AddUserApp from '@/components/User/UserApps/AddUserApp.vue'\nimport AuthorizeUserApp from '@/components/User/UserApps/AuthorizeUserApp.vue'\nimport UserApps from '@/components/User/UserApps/index.vue'\nimport UserApp from '@/components/User/UserApps/UserApp.vue'\nimport UserAppsList from '@/components/User/UserApps/UserAppsList.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\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: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\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: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\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 path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n {\n path: 'apps',\n name: 'UserApps',\n component: UserApps,\n children: [\n {\n path: '',\n name: 'UserAppsList',\n component: UserAppsList,\n },\n {\n path: ':id',\n name: 'UserApp',\n component: UserApp,\n },\n {\n path: ':id/created',\n name: 'CreatedUserApp',\n component: UserApp,\n props: { afterCreation: true },\n },\n {\n path: 'new',\n name: 'AddUserApp',\n component: AddUserApp,\n },\n {\n path: 'authorize',\n name: 'AuthorizeUserApp',\n component: AuthorizeUserApp,\n },\n ],\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: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\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 path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/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/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\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 '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n if (\n !store.getters[AUTH_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","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\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 RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\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_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum OAuth2Actions {\n AUTHORIZE_CLIENT = 'AUTHORIZE_CLIENT',\n CREATE_CLIENT = 'CREATE_CLIENT',\n DELETE_CLIENT = 'DELETE_CLIENT',\n GET_CLIENTS = 'GET_CLIENTS',\n GET_CLIENT_BY_CLIENT_ID = 'GET_CLIENT_BY_CLIENT_ID',\n GET_CLIENT_BY_ID = 'GET_CLIENT_BY_ID',\n REVOKE_ALL_TOKENS = 'REVOKE_ALL_TOKENS',\n}\n\nexport enum OAuth2Getters {\n CLIENT = 'CLIENT',\n CLIENTS = 'CLIENTS',\n CLIENTS_PAGINATION = 'CLIENTS_PAGINATION',\n REVOCATION_SUCCESSFUL = 'REVOCATION_SUCCESSFUL',\n}\n\nexport enum OAuth2Mutations {\n EMPTY_CLIENT = 'EMPTY_CLIENT',\n SET_CLIENT = 'SET_CLIENT',\n SET_CLIENTS = 'SET_CLIENTS',\n SET_CLIENTS_PAGINATION = 'SET_CLIENTS_PAGINATION',\n SET_REVOCATION_SUCCESSFUL = 'SET_REVOCATION_SUCCESSFUL',\n}\n","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 UPDATE_APPLICATION_LANGUAGE = 'UPDATE_APPLICATION_LANGUAGE',\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 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 DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\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 UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n OAuth2Actions,\n OAuth2Getters,\n OAuth2Mutations,\n} from '@/store/modules/oauth2/enums'\nimport {\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 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 AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\nexport const OAUTH2_STORE = {\n ACTIONS: OAuth2Actions,\n GETTERS: OAuth2Getters,\n MUTATIONS: OAuth2Mutations,\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","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 router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | 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 if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\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 context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\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 if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\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.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\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(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n // after logout in another tab\n if (\n !window.localStorage.authToken &&\n context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n removeAuthUserData(context)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\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(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_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 AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n handleError(context, error)\n removeAuthUserData(context)\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('auth/logout')\n .then((res) => {\n if (res.data.status === 'success') {\n removeAuthUserData(context)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_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(AUTH_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 AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_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(AUTH_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 AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context\n .dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n .then(() => router.push('/profile/preferences'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\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) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_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(AUTH_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(AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_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(AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\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 [AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_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 { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\nimport { IOAuth2Actions, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IOauth2ClientsPayload,\n IOAuth2ClientPayload,\n IOAuth2ClientAuthorizePayload,\n} from '@/types/oauth'\nimport { handleError } from '@/utils'\n\nconst get_client = (\n context: ActionContext,\n url: string\n) => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(url)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENT, res.data.data.client)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IOAuth2Actions = {\n [OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientAuthorizePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n const form = new FormData()\n form.set('client_id', payload.client_id)\n form.set('response_type', payload.response_type)\n form.set('scope', payload.scope)\n form.set('confirm', 'true')\n if (payload.state) {\n form.set('state', payload.state)\n }\n if (payload.code_challenge) {\n form.set('code_challenge', payload.code_challenge)\n }\n if (payload.code_challenge_method) {\n form.set('code_challenge_method', payload.code_challenge_method)\n }\n\n authApi\n .post('oauth/authorize', form, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.status == 200 && res.data.redirect_url) {\n window.location.href = res.data.redirect_url\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.CREATE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('oauth/apps', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENT,\n res.data.data.client\n )\n router.push(`/profile/apps/${res.data.data.client.id}/created`)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.DELETE_CLIENT](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`oauth/apps/${id}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS)\n .then(() => router.push('/profile/apps'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID](\n context: ActionContext,\n client_id: string\n ): void {\n get_client(context, `oauth/apps/${client_id}`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID](\n context: ActionContext,\n id: number\n ): void {\n get_client(context, `oauth/apps/${id}/by_id`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENTS](\n context: ActionContext,\n payload: IOauth2ClientsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('oauth/apps', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS,\n res.data.data.clients\n )\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n authApi\n .post(`oauth/apps/${id}/revoke`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2Getters, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IOAuth2Getters = {\n [OAUTH2_STORE.GETTERS.CLIENT]: (state: IOAuth2State) => state.client,\n [OAUTH2_STORE.GETTERS.CLIENTS]: (state: IOAuth2State) => state.clients,\n [OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]: (state: IOAuth2State) =>\n state.pagination,\n [OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]: (state: IOAuth2State) =>\n state.revocationSuccessful,\n}\n","import { MutationTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2State, TOAuth2Mutations } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const mutations: MutationTree & TOAuth2Mutations = {\n [OAUTH2_STORE.MUTATIONS.SET_CLIENT](\n state: IOAuth2State,\n client: IOAuth2Client\n ) {\n state.client = client\n },\n [OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT](state: IOAuth2State) {\n state.client = {}\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS](\n state: IOAuth2State,\n clients: IOAuth2Client[]\n ) {\n state.clients = clients\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION](\n state: IOAuth2State,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL](\n state: IOAuth2State,\n revocationSuccessful: boolean\n ) {\n state.revocationSuccessful = revocationSuccessful\n },\n}\n","import { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const oAuth2State: IOAuth2State = {\n client: {},\n clients: [],\n pagination: {},\n revocationSuccessful: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/oauth2/actions'\nimport { getters } from '@/store/modules/oauth2/getters'\nimport { mutations } from '@/store/modules/oauth2/mutations'\nimport { oAuth2State } from '@/store/modules/oauth2/state'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst oauth2: Module = {\n state: oAuth2State,\n actions,\n getters,\n mutations,\n}\n\nexport default oauth2\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport createI18n from '@/i18n'\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\nconst { locale } = createI18n.global\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 [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE](\n context: ActionContext,\n language: string\n ): void {\n document.querySelector('html')?.setAttribute('lang', language)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, language)\n locale.value = language\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 statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, 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 context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\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 { 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_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\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 [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 isSuccess: 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, AUTH_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(AUTH_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(AUTH_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(AUTH_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(AUTH_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 state.timeline_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 authUserModule from '@/store/modules/authUser'\nimport oAuthModule from '@/store/modules/oauth2'\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'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n oAuthModule,\n sportsModule,\n statsModule,\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","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","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","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 = {}\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 if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\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","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","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","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/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 | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n // if stored token is blacklisted\n if (\n error?.response?.status === 401 &&\n error.response.data.error === 'invalid_token'\n ) {\n localStorage.removeItem('authToken')\n context.dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n return\n }\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","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { de, enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n de: de,\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\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","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\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 activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\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\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\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'\nimport { convertStatsDistance } from '@/utils/units'\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 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\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 isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\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 datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\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 date in apiStats && sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\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","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\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(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\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","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'FilterSelects',\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Error',\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFound',\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a9a4a65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IOauth2ClientsPayload } from '@/types/oauth'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Pagination',\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TPaginationPayload | IOauth2ClientsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=3a9a4a65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a9a4a65\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e71df5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordStength',\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n }\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n const zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=74e71df5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e71df5\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordInput',\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean }\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StaticMap',\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58e4e79d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\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'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true,\n unitFrom = 'km'\n): string => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return `${value.toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\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 useImperialUnits: {\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 function getUnit(displayedData: string) {\n return ['total_ascent', 'total_descent'].includes(displayedData)\n ? 'm'\n : 'km'\n }\n const 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: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 90 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\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 ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\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(\n props.displayedData,\n total,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\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 props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\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=6c8b76cd&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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 { IAuthUserProfile } 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 const 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 props.user.imperial_units\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: IAuthUserProfile\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=58e4e79d&scoped=true&ts=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=58e4e79d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-58e4e79d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserHeader',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-794e58e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfos',\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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 const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\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 displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n displayModal.value === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n displayModal.value === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (\n _unref(authUser).username !== _unref(user).username &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=794e58e7&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-794e58e7\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bf09a420\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 2,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 3 }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { key: 4 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 5 }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAuthForm',\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\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 isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const sendingEmailDisabled: ComputedRef = computed(\n () =>\n ['reset-request', 'account-confirmation-resend'].includes(props.action) &&\n !appConfig.value.is_email_sending_enabled\n )\n const formErrors = ref(false)\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 invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\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(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n formData['language'] = language.value\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(sendingEmailDisabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 1,\n message: \"admin.EMAIL_SENDING_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess)\n ? `REGISTRATION${\n _unref(appConfig).is_email_sending_enabled ? '_WITH_EMAIL' : ''\n }`\n : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((formData.username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, formData.username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((formData.email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, formData.email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: formData.password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, \"-\"))\n : _createCommentVNode(\"\", true),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (\n ['login', 'register'].includes(_unref(action)) &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 6,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=bf09a420&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bf09a420\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPicture',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./de/de.ts\": 9923,\n\t\"./en/en.ts\": 8757,\n\t\"./fr/fr.ts\": 6625\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 = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"ff863bd6\",\"93\":\"97ccdf6e\",\"193\":\"eaf4afd3\",\"243\":\"27c8fef5\",\"328\":\"3b0b84c0\",\"401\":\"766f2fad\",\"431\":\"5976068e\",\"633\":\"9a092c9a\",\"845\":\"4d6d6e47\",\"858\":\"0441e3cc\",\"881\":\"d0f613fa\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"40e24e75\",\"328\":\"73df498d\",\"401\":\"dd7c6bdb\",\"845\":\"203e78e2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(6331); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","oauth2","OAuth2Translations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","__name","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","dispatch","toString","logout","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","initLanguage","navigatorLanguage","navigator","split","localeFromLanguage","e","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","message","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","commit","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","is_email_sending_enabled","t","useI18n","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","display_ascent","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","weekStart","imperialUnits","ascentData","updateTZ","updateAscentDisplay","updateImperialUnit","updateWeekM","lang","_vModelSelect","TimezoneDropdown","start","unit","status","oauth2_scopes","admin_oauth2_scopes","appForm","client_name","client_uri","client_description","redirect_uri","scopes","filtered_scopes","getScopes","redirect_uris","scope","join","OAUTH2_STORE","updateDescription","updateScopes","indexOf","splice","admin_scopes","description","onChange","client","loadApp","client_id","authorizeApp","response_type","state","code_challenge","code_challenge_method","params","afterCreation","revocationSuccessful","messageToDisplay","idCopied","secretCopied","clipboardSupport","loadClient","updateMessageToDisplay","forDelete","confirmAction","clientId","copyIdToClipboard","clipboard","writeText","copySecretToClipboard","client_secret","newValue","issued_at","website","clients","getClientsQuery","clientsQuery","getNumberQueryValue","defaultPage","loadClients","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","defaultColor","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","src","alt","BikePic","About","workout","_component_Distance","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","displayHARecord","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","data","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","distanceUnitFrom","distanceUnitTo","ascentUnitFrom","ascentUnitTo","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","totalDistance","total_distance","totalAscent","total_ascent","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","UserApps","UserAppsList","UserApp","AddUserApp","AuthorizeUserApp","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","OAuth2Actions","OAuth2Getters","OAuth2Mutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","authUserProfile","isRegistrationSuccess","mutations","authUserState","get_client","url","set","redirect_url","oAuth2State","setAttribute","application","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","oAuthModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPerPage","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","response","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","getUnit","JSON","parse","stringify","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","sendingEmailDisabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","get","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.f098903e.js b/fittrackee/dist/static/js/app.f098903e.js new file mode 100644 index 00000000..e4e6141b --- /dev/null +++ b/fittrackee/dist/static/js/app.f098903e.js @@ -0,0 +1,2 @@ +(function(){var e={5167:function(e,t,n){"use strict";var r=n(9669),a=n.n(r),o=n(8566),s=n(2894),i=n(5801),l=n(2024);const c=a().create({baseURL:(0,l.k)()});c.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,o.a)(e);o.j.set(n,t);const r=s.Z.getters[i.YN.GETTERS.AUTH_TOKEN];if(r){const t=`Bearer ${r}`;e.headers&&e.headers.Authorization!==t&&(e.headers.Authorization=`Bearer ${r}`)}return e}),(e=>Promise.reject(e))),c.interceptors.response.use((e=>((0,o.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,o.a)(e.response.config),Promise.reject(e)))),t["Z"]=c},8566:function(e,t,n){"use strict";n.d(t,{a:function(){return o},j:function(){return r}});const r=new Map,a=e=>{const{method:t,url:n,params:r={},data:a={}}=e;return[t,n,JSON.stringify(r),JSON.stringify(a)].join("")},o=e=>{const t=a(e);if(r.has(t)){const e=r.get(t)||{};e?.abort(),r.delete(t)}return t}},2540:function(e,t,n){"use strict";var r=n(9150);function a(){const e=n(4612),t={};return e.keys().forEach((n=>{const r=n.match(/([A-Za-z0-9-_]+)\./i);if(r&&r.length>1){const a=r[1];t[a]=e(n).default}})),t}t["Z"]=(0,r.o)({legacy:!1,locale:"en",fallbackLocale:"en",globalInjection:!0,messages:a()})},9923:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Kontaktiere den Administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["unter ",n(r(0))," Lizenz "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Quellkode"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Aktiviere Konto"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},ADMIN_RIGHTS_DELETE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto."])},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(["Anwendung"])},APP_CONFIG:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt-E-Mail des Administrators"])},MAX_USERS_LABEL:e=>{const{normalize:t}=e;return t(["Max. Anzahl aktiver Nutzer"])},MAX_USERS_HELP:e=>{const{normalize:t}=e;return t(["Wenn 0, gibt es keine Registrierungslimitierung.."])},MAX_FILES_IN_ZIP_LABEL:e=>{const{normalize:t}=e;return t(["Max. Dateianzahl im zip Archiv"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["keine Kontakt-E-Mail"])},SINGLE_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe der hochgeladenen Dateien (in Mb)"])},TITLE:e=>{const{normalize:t}=e;return t(["Anwendungskonfiguration"])},ZIP_UPLOAD_MAX_SIZE_LABEL:e=>{const{normalize:t}=e;return t(["Max. Größe des zip Archives (in Mb)"])}},BACK_TO_ADMIN:e=>{const{normalize:t}=e;return t(["Zurück zu Admin"])},CONFIRM_USER_ACCOUNT_DELETION:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Möchtest du wirklich das ",n(r(0))," Passwort zurücksetzen?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Aktuelle E-Mail"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Lösche Nutzer"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["E-Mail-Versand ist deaktiviert."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Aktivieren/Deaktivieren von Sportarten."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Neue E-Mail"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Das wasswort wurde zurückgesetzt."])},REGISTRATION_DISABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit deaktiviert."])},REGISTRATION_ENABLED:e=>{const{normalize:t}=e;return t(["Registrierung ist derzeit aktiviert."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SPORTS:{TABLE:{ACTIVE:e=>{const{normalize:t}=e;return t(["Aktiv"])},HAS_WORKOUTS:e=>{const{normalize:t}=e;return t(["Trainings existieren"])},IMAGE:e=>{const{normalize:t}=e;return t(["Bild"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])}},TITLE:e=>{const{normalize:t}=e;return t(["Sportarten Administration"])}},UPDATE_APPLICATION_DESCRIPTION:e=>{const{normalize:t}=e;return t(["Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Aktualisiere E-Mail"])},USER:e=>{const{normalize:t}=e;return t(["Nutzer"])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Die E-Mail Adresse wurde aktualisiert."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte hinzufügen"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Administratorrechte entfernen"])}},SELECTS:{ORDER_BY:{ADMIN:e=>{const{normalize:t}=e;return t(["Adminstatus"])},CREATED_AT:e=>{const{normalize:t}=e;return t(["Registrierungsdatum"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["Accountstatus"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},WORKOUTS_COUNT:e=>{const{normalize:t}=e;return t(["Trainingsanzahl"])}}}}},o={ERROR:{UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"email: valid email must be provided":e=>{const{normalize:t}=e;return t(["E-Mail: Eine gültige E-Mail muss angegeben werden."])},"error on getting configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Abrufen der Konfiguration."])},"error when updating configuration":e=>{const{normalize:t}=e;return t(["Fehler beim Aktualisieren der Konfiguration"])},"error, please try again or contact the administrator":e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},"error, registration is disabled":e=>{const{normalize:t}=e;return t(["Fehler. Die Registrierung ist deaktiviert."])},"file extension not allowed":e=>{const{normalize:t}=e;return t(["Dateierweiterung ist nicht erlaubt."])},"file size is greater than the allowed size":e=>{const{normalize:t}=e;return t(["Die Datei ist größer als erlaubt."])},"invalid credentials":e=>{const{normalize:t}=e;return t(["Ungültige Anmeldedaten."])},"invalid payload":e=>{const{normalize:t}=e;return t(["Die bereitgestellten Daten sind ungültig."])},"invalid token, please log in again":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"invalid token, please request a new token":e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte erneut anmelden."])},"Network Error":e=>{const{normalize:t}=e;return t(["Netzwerkfehler."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden"])},"no file part":e=>{const{normalize:t}=e;return t(["Keine Datei angegeben."])},"no selected file":e=>{const{normalize:t}=e;return t(["Keine Datei ausgewählt."])},"password: password and password confirmation do not match":e=>{const{normalize:t}=e;return t(["Passwort: Passwort und Passwortbestätigung stimmen nicht überein."])},"provide a valid auth token":e=>{const{normalize:t}=e;return t(["Gebe ein gültiges Authentifizierungstoken an."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Es tut mir leid, der Benutzername ist schon vergeben."])},"sport does not exist":e=>{const{normalize:t}=e;return t(["Sportart existiert nicht."])},"signature expired, please log in again":e=>{const{normalize:t}=e;return t(["Die Signatur ist abgelaufen. Bitte melde dich erneut an."])},"successfully registered":e=>{const{normalize:t}=e;return t(["Registrierung erfolgreich."])},"user does not exist":e=>{const{normalize:t}=e;return t(["Der Nutzer existiert nicht."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt."])},"you do not have permissions":e=>{const{normalize:t}=e;return t(["Du hast keine Berechtigung."])}},PAGINATION:{PREVIOUS:e=>{const{normalize:t}=e;return t(["Vorhergehende"])},NEXT:e=>{const{normalize:t}=e;return t(["Nächste"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Bestätigungs-E-Mail erneut senden"])},BACK:e=>{const{normalize:t}=e;return t(["Zurück"])},CANCEL:e=>{const{normalize:t}=e;return t(["Abbrechen"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Filter löschen"])},DELETE_MY_ACCOUNT:e=>{const{normalize:t}=e;return t(["Mein Konto löschen"])},DISABLE:e=>{const{normalize:t}=e;return t(["Deaktivieren"])},EDIT:e=>{const{normalize:t}=e;return t(["Bearbeiten"])},ENABLE:e=>{const{normalize:t}=e;return t(["Aktivieren"])},FILTER:e=>{const{normalize:t}=e;return t(["Filter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmelden"])},NO:e=>{const{normalize:t}=e;return t(["Nein"])},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESET:e=>{const{normalize:t}=e;return t(["Zurücksetzen"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Speichern"])},YES:e=>{const{normalize:t}=e;return t(["Ja"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["Über"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bestätigung"])},CONTACT:e=>{const{normalize:t}=e;return t(["Kontakt"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["Tag"]),t(["Tage"])])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},SELECTS:{ORDER_BY:{LABEL:e=>{const{normalize:t}=e;return t(["sortiert nach"])}},ORDER:{LABEL:e=>{const{normalize:t}=e;return t(["sortieren"])},ASC:e=>{const{normalize:t}=e;return t(["aufsteigend"])},DESC:e=>{const{normalize:t}=e;return t(["absteigend"])}},PER_PAGE:{LABEL:e=>{const{normalize:t}=e;return t(["pro Seite"])}}},TOTAL:e=>{const{normalize:t}=e;return t(["Insgesamt"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Dieser Monat"])}},c={UNKNOWN:e=>{const{normalize:t}=e;return t(["Fehler. Bitte versuche es erneut oder kontaktiere den Administrator."])},APP_ERROR:e=>{const{normalize:t}=e;return t(["Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator."])},NOT_FOUND:{PAGE:e=>{const{normalize:t}=e;return t(["Seite nicht gefunden"])},WORKOUT:e=>{const{normalize:t}=e;return t(["Training nicht gefunden"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Etwas lief schief"])}},u={},d={"Cycling (Sport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Sport)"])}},"Cycling (Transport)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Pendeln)"])}},Hiking:{LABEL:e=>{const{normalize:t}=e;return t(["Wandern"])}},"Mountain Biking":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountainbiken (elektrisch)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rudern"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Laufen"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skifahren (Langlauf)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Schneeschuhe"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Gehen"])}}},m={STATISTICS:e=>{const{normalize:t}=e;return t(["Statistik"])},TIME_FRAMES:{week:e=>{const{normalize:t}=e;return t(["Woche"])},month:e=>{const{normalize:t}=e;return t(["Monat"])},year:e=>{const{normalize:t}=e;return t(["Jahr"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Hast du keine Anweisungen erhalten?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Hast du bereits ein Konto?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Aktuelles Passwort"])},EMAIL:e=>{const{normalize:t}=e;return t(["E-Mail"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Gebe eine gültige E-Mail-Adresse an."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Gebe ein Passwort ein"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Nach Benutzernamen filtern"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort verbergen"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Ungültiges Token, bitte fordere ein neues Passworts an."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LOG_IN:e=>{const{normalize:t}=e;return t(["Anmelden"])},LOGIN:e=>{const{normalize:t}=e;return t(["Anmeldung"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Abmelden"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Neues Passwort"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Keine Nutzer gefunden."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["Mindestens 8 Zeichen sind erforderlich."])},PASSWORD_FORGOTTEN:e=>{const{normalize:t}=e;return t(["Passwort vergessen?"])},PASSWORD_RESET:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},PASSWORD_SENT_EMAIL_TEXT:e=>{const{normalize:t}=e;return t(["Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["schwach"])},AVERAGE:e=>{const{normalize:t}=e;return t(["mittel"])},GOOD:e=>{const{normalize:t}=e;return t(["gut"])},STRONG:e=>{const{normalize:t}=e;return t(["start"])},LABEL:e=>{const{normalize:t}=e;return t(["Passwortstärke"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Vermeide vorhersehbare Buchstabenersetzungen wie ","@"," für a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter."])},allUppercase:e=>{const{normalize:t}=e;return t(["Schreibe einige, aber nicht alle Buchstaben groß."])},capitalization:e=>{const{normalize:t}=e;return t(["Schreibe mehr als nur den ersten Buchstaben groß."])},dates:e=>{const{normalize:t}=e;return t(["Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},recentYears:e=>{const{normalize:t}=e;return t(["Vermeide Angabe von letzten Jahreszahlen."])},associatedYears:e=>{const{normalize:t}=e;return t(["Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden."])},sequences:e=>{const{normalize:t}=e;return t(["Vermeide gebräuchliche Zeichenfolgen."])},repeated:e=>{const{normalize:t}=e;return t(["Vermeide wiederholungen von Wörtern und Zeichen."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung."])},anotherWord:e=>{const{normalize:t}=e;return t(["Füge weitere weniger gebräuchliche Wörter hinzu."])},useWords:e=>{const{normalize:t}=e;return t(["Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke."])},noNeed:e=>{const{normalize:t}=e;return t(["Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden."])},pwned:e=>{const{normalize:t}=e;return t(["Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern."])}}},PASSWORD_UPDATED:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Dein Passwort wurde aktualisiert. Klicke ",n(r(0))," um dich anzumelden."])},PROFILE:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Kontoausgabe"])},BACK_TO_PROFILE:e=>{const{normalize:t}=e;return t(["Zurück zum Profil"])},BIO:e=>{const{normalize:t}=e;return t(["Biographie"])},BIRTH_DATE:e=>{const{normalize:t}=e;return t(["Geburtsdatum"])},EDIT:e=>{const{normalize:t}=e;return t(["Profil bearbeiten"])},EDIT_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen ändern"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen für Sportarten ändern"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Bitte ",n(r(0))," um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator"])},FIRST_NAME:e=>{const{normalize:t}=e;return t(["Vorname"])},FIRST_DAY_OF_WEEK:e=>{const{normalize:t}=e;return t(["Erster Tag der Woche"])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Sprache"])},LAST_NAME:e=>{const{normalize:t}=e;return t(["Nachname"])},LOCATION:e=>{const{normalize:t}=e;return t(["Ort"])},MONDAY:e=>{const{normalize:t}=e;return t(["Montag"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PICTURE_EDITION:e=>{const{normalize:t}=e;return t(["Bildausgabe"])},PICTURE_UPDATE:e=>{const{normalize:t}=e;return t(["Bild aktualisieren"])},PICTURE_REMOVE:e=>{const{normalize:t}=e;return t(["Bild entfernen"])},PREFERENCES_EDITION:e=>{const{normalize:t}=e;return t(["Einstellungsausgabe"])},PROFILE_EDITION:e=>{const{normalize:t}=e;return t(["Profil-Ausgabe"])},REGISTRATION_DATE:e=>{const{normalize:t}=e;return t(["Regirierungsdatum"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sportarten-Einstellungsausgabe"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sontag"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["Konto"])},PICTURE:e=>{const{normalize:t}=e;return t(["Bild"])},PREFERENCES:e=>{const{normalize:t}=e;return t(["Einstellungen"])},PROFILE:e=>{const{normalize:t}=e;return t(["Profil"])},SPORTS:e=>{const{normalize:t}=e;return t(["Sportarten"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["Aktion"])},COLOR:e=>{const{normalize:t}=e;return t(["Farbe"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["vom Admin deaktiviert"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["aktiv"])},LABEL:e=>{const{normalize:t}=e;return t(["Titel"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["Geschwindigkeitsschwellenwert für Stopp"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich erstellt."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Dein Konto wurde erfolgreich aktualisiert."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Einheiten für die Distanz"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperiales System (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metrisches System (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Zeitzone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Registrieren"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["E-Mail zur Kontobestätigung erneut senden"])},REGISTER_DISABLED:e=>{const{normalize:t}=e;return t(["Entschuldigung, die Registrierung ist deaktiviert."])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort zurücksetzen"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["Passwort anzeigen"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Dieser Account ist inaktiv."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["Benutzerbild"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nutzername"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt."])}},S={ADD_WORKOUT:e=>{const{normalize:t}=e;return t(["Training hinzufügen"])},ANALYSIS:e=>{const{normalize:t}=e;return t(["Analyse"])},ASCENT:e=>{const{normalize:t}=e;return t(["Aufstieg"])},AVE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},AVERAGE_SPEED:e=>{const{normalize:t}=e;return t(["Durchschnittsgeschwindigkeit"])},BACK_TO_WORKOUT:e=>{const{normalize:t}=e;return t(["zurück zum Training"])},DATE:e=>{const{normalize:t}=e;return t(["Datum"])},DESCENT:e=>{const{normalize:t}=e;return t(["Abstieg"])},DISPLAY_FILTERS:e=>{const{normalize:t}=e;return t(["zeige Filter"])},DISTANCE:e=>{const{normalize:t}=e;return t(["Entfernung"])},DURATION:e=>{const{normalize:t}=e;return t(["Dauer"])},EDIT_WORKOUT:e=>{const{normalize:t}=e;return t(["Training bearbeiten"])},ELEVATION:e=>{const{normalize:t}=e;return t(["Höhe"])},END:e=>{const{normalize:t}=e;return t(["Ende"])},FROM:e=>{const{normalize:t}=e;return t(["Von"])},GPX_FILE:e=>{const{normalize:t}=e;return t([".gpx Datei"])},HIDE_FILTERS:e=>{const{normalize:t}=e;return t(["verberge Filter"])},LATEST_WORKOUTS:e=>{const{normalize:t}=e;return t(["Letzte Trainings"])},LOAD_MORE_WORKOUT:e=>{const{normalize:t}=e;return t(["Lade mehr Trainings"])},MAX_ALTITUDE:e=>{const{normalize:t}=e;return t(["maximale Höhe"])},MAX_FILES:e=>{const{normalize:t}=e;return t(["Maximale Dateianzahl"])},MAX_SIZE:e=>{const{normalize:t}=e;return t(["Maximalgröße"])},MAX_SPEED:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},MIN_ALTITUDE:e=>{const{normalize:t}=e;return t(["minimale Höhe"])},NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Nächstes Segment"])},NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Nächstes Training"])},NO_DATA_CLEANING:e=>{const{normalize:t}=e;return t(["Daten aus gpx, ohne Bereinigung"])},NO_FILE_PROVIDED:e=>{const{normalize:t}=e;return t(["Keine Datei angegeben"])},NO_FOLDER:e=>{const{normalize:t}=e;return t(["enthält keinen Ordner"])},NO_MAP:e=>{const{normalize:t}=e;return t(["Keine Karte"])},NO_NEXT_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein nächstes Segment"])},NO_NEXT_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein nächstes Training"])},NO_NOTES:e=>{const{normalize:t}=e;return t(["Keine Anmerkungen"])},NO_PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Segment"])},NO_PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Kein vorheriges Training"])},NO_RECORDS:e=>{const{normalize:t}=e;return t(["Keine Aufzeichnungen."])},NO_WORKOUTS:e=>{const{normalize:t}=e;return t(["Keine Trainings."])},NOTES:e=>{const{normalize:t}=e;return t(["Anmerkungen"])},PAUSES:e=>{const{normalize:t}=e;return t(["Pausen"])},PREVIOUS_SEGMENT:e=>{const{normalize:t}=e;return t(["Vorheriges Segment"])},PREVIOUS_WORKOUT:e=>{const{normalize:t}=e;return t(["Vorheriges Training"])},RECORD:e=>{const{normalize:t,plural:n}=e;return n([t(["Aufzeichnung"]),t(["Aufzeichnungen"])])},RECORD_AS:e=>{const{normalize:t}=e;return t(["Durchschn. Geschwindigkeit"])},RECORD_FD:e=>{const{normalize:t}=e;return t(["Weiteste Entfernung"])},RECORD_LD:e=>{const{normalize:t}=e;return t(["Längste Dauer"])},RECORD_MS:e=>{const{normalize:t}=e;return t(["Max. Geschwindigkeit"])},REMAINING_CHARS:e=>{const{normalize:t}=e;return t(["verbleibende Zeichen"])},SEGMENT:e=>{const{normalize:t,plural:n}=e;return n([t(["Segment"]),t(["Segmente"])])},SPEED:e=>{const{normalize:t}=e;return t(["Geschwindigkeit"])},SPORT:e=>{const{normalize:t,plural:n}=e;return n([t(["Sportart"]),t(["Sportarten"])])},START:e=>{const{normalize:t}=e;return t(["Start"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start und Ziel"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["Höhenachse bei Null starten"])},TITLE:e=>{const{normalize:t}=e;return t(["Titel"])},TO:e=>{const{normalize:t}=e;return t(["bis"])},TOTAL_DURATION:e=>{const{normalize:t}=e;return t(["Gesamtdauer"])},UPLOAD_FIRST_WORKOUT:e=>{const{normalize:t}=e;return t(["Füge erstes Training hinzu!"])},WEATHER:{HUMIDITY:e=>{const{normalize:t}=e;return t(["Luftfeuchtigkeit"])},TEMPERATURE:e=>{const{normalize:t}=e;return t(["Temperatur"])},WIND:e=>{const{normalize:t}=e;return t(["Wind"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNO"])},NE:e=>{const{normalize:t}=e;return t(["NO"])},ENE:e=>{const{normalize:t}=e;return t(["ONO"])},E:e=>{const{normalize:t}=e;return t(["O"])},ESE:e=>{const{normalize:t}=e;return t(["OSO"])},SE:e=>{const{normalize:t}=e;return t(["SO"])},SSE:e=>{const{normalize:t}=e;return t(["SSO"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},DARK_SKY:{"clear-day":e=>{const{normalize:t}=e;return t(["klarer Tag"])},"clear-night":e=>{const{normalize:t}=e;return t(["klare Nacht"])},cloudy:e=>{const{normalize:t}=e;return t(["wolkig"])},fog:e=>{const{normalize:t}=e;return t(["Nebel"])},"partly-cloudy-day":e=>{const{normalize:t}=e;return t(["teilweise bewölkter Tag"])},"partly-cloudy-night":e=>{const{normalize:t}=e;return t(["teilweise bewölkte Nacht"])},rain:e=>{const{normalize:t}=e;return t(["Regen"])},sleet:e=>{const{normalize:t}=e;return t(["Schneeregen"])},snow:e=>{const{normalize:t}=e;return t(["Schnee"])},wind:e=>{const{normalize:t}=e;return t(["Wind"])}}},WITH_GPX:e=>{const{normalize:t}=e;return t(["mit .gpx Datei"])},WITHOUT_GPX:e=>{const{normalize:t}=e;return t(["ohne .gpx Datei"])},WORKOUT:e=>{const{normalize:t,plural:n}=e;return n([t(["Training"]),t(["Trainings"])])},WORKOUT_DATE:e=>{const{normalize:t}=e;return t(["Trainingsdatum"])},WORKOUT_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du dieses Training löschen möchtest?"])},ZIP_ARCHIVE:e=>{const{normalize:t}=e;return t([".zip Datei"])},ZIP_ARCHIVE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["oder .zip Datei mit .gpx Dateien"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contact the administrator"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee is a self-hosted outdoor activity tracker."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["under ",n(r(0))," license "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Source code"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activate account"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Active"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Administrator email for contact"])},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"])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["no contact email"])},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."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Are you sure you want to reset ",n(r(0))," password?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Current email"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Delete user"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["Email sending is disabled."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Enable/disable sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["New email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The password has been reset."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Reset password"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Update email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["user"]),t(["users"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["The email address has been updated."])},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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["account status"])},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 during gpx processing":e=>{const{normalize:t}=e;return t(["Error during gpx processing."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Error during gpx file parsing."])},"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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["The new email must be different than curent email"])},"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."])},"sorry, that username is already taken":e=>{const{normalize:t}=e;return t(["Sorry, that username is already taken."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["A valid email must be provided for administrator contact"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["You can not delete your account, no other user has admin rights."])},"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"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Resend confirmation email"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Authorize"])},BACK:e=>{const{normalize:t}=e;return t(["Back"])},CANCEL:e=>{const{normalize:t}=e;return t(["Cancel"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Clear filters"])},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"])},RESET:e=>{const{normalize:t}=e;return t(["Reset"])},SUBMIT:e=>{const{normalize:t}=e;return t(["Submit"])},YES:e=>{const{normalize:t}=e;return t(["Yes"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["about"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["day"]),t(["days"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Displayed"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Dashboard"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["This month"])}},c={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 to have encountered some issues.
Please try again 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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Something went wrong"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Add a new OAuth2 application"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Id"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Issue at"])},NAME:e=>{const{normalize:t}=e;return t(["Application name"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Redirect URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to application configuration."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to auth endpoints."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to auth endpoints."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to users endpoints."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to users endpoints."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants read access to workouts endpoints."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["grants write access to workouts endpoints."])}},URL:e=>{const{normalize:t}=e;return t(["Application URL"])}},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application created successfully. Make sure to copy the secret now, it won't show up again."])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["The application ",n(r(0))," is requesting:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2 applications"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Authorize ",n(r(0))," to use your account?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copy to the clipboard"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Delete application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["New OAuth App"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Revoke all tokens"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to revoke all tokens?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["All existing associated tokens have been revoked."])}},d={"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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["Mountain Biking (Electric)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Rowing"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Running"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Alpine)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Skiing (Cross Country)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Snowshoes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Walking"])}}},m={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"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Didn't received instructions?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Check your email. A new confirmation email has been sent to the address provided."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Already have an account?"])},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"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Current password"])},EMAIL:e=>{const{normalize:t}=e;return t(["Email"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Enter a valid email address."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Enter a password"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filter on username"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["hide 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"])},LOG_IN:e=>{const{normalize:t}=e;return t(["log in"])},LOGIN:e=>{const{normalize:t}=e;return t(["Login"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Logout"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["New password"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["No users found."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Password"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["At least 8 characters required."])},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_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["weak"])},AVERAGE:e=>{const{normalize:t}=e;return t(["average"])},GOOD:e=>{const{normalize:t}=e;return t(["good"])},STRONG:e=>{const{normalize:t}=e;return t(["strong"])},LABEL:e=>{const{normalize:t}=e;return t(["password strength"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Avoid predictable letter substitutions like ","@"," for a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Avoid reversed spellings of common words."])},allUppercase:e=>{const{normalize:t}=e;return t(["Capitalize some, but not all letters."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalize more than the first letter."])},dates:e=>{const{normalize:t}=e;return t(["Avoid dates and years that are associated with you."])},recentYears:e=>{const{normalize:t}=e;return t(["Avoid recent years."])},associatedYears:e=>{const{normalize:t}=e;return t(["Avoid years that are associated with you."])},sequences:e=>{const{normalize:t}=e;return t(["Avoid common character sequences."])},repeated:e=>{const{normalize:t}=e;return t(["Avoid repeated words and characters."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Use longer keyboard patterns and change typing direction multiple times."])},anotherWord:e=>{const{normalize:t}=e;return t(["Add more words that are less common."])},useWords:e=>{const{normalize:t}=e;return t(["Use multiple words, but avoid common phrases."])},noNeed:e=>{const{normalize:t}=e;return t(["You can create strong passwords without using symbols, numbers, or uppercase letters."])},pwned:e=>{const{normalize:t}=e;return t(["If you use this password elsewhere, you should change it."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Account edition"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Ascent-related data (records, total)"])},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"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Edit sports preferences"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Please ",n(r(0))," to change your email address again or contact the administrator"])},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"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Sports preferences edition"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Sunday"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["account"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},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"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["color"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["disabled by admin"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["active"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["stopped speed threshold"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully. Please check your email to confirm your new email address."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Your account has been created successfully."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["A link to activate your account has been emailed to the address provided."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Your account has been updated successfully."])},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Units for distance"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Imperial system (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Metric system (m, km)"])}},TIMEZONE:e=>{const{normalize:t}=e;return t(["Timezone"])}},REGISTER:e=>{const{normalize:t}=e;return t(["Register"])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Resend account confirmation email"])},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"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["show password"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["This user account is inactive."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["user picture"])},USERNAME:e=>{const{normalize:t}=e;return t(["Username"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(['3 to 30 characters required, only alphanumeric characters and the underscore character "_" allowed.'])}},S={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"])},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(["Farthest distance"])},RECORD_HA:e=>{const{normalize:t}=e;return t(["Highest ascent"])},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"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Start and finish"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["start elevation axis at zero"])},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"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSW"])},SW:e=>{const{normalize:t}=e;return t(["SW"])},WSW:e=>{const{normalize:t}=e;return t(["WSW"])},W:e=>{const{normalize:t}=e;return t(["W"])},WNW:e=>{const{normalize:t}=e;return t(["WNW"])},NW:e=>{const{normalize:t}=e;return t(["NW"])},NNW:e=>{const{normalize:t}=e;return t(["NNW"])}},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return E}});var r={CONTACT_ADMIN:e=>{const{normalize:t}=e;return t(["Contacter l'administrateur"])},FITTRACKEE_DESCRIPTION:e=>{const{normalize:t}=e;return t(["FitTrackee est un tracker d'activités sportives (en extérieur)."])},FITTRACKEE_LICENSE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["sous licence ",n(r(0))," (en) "])},SOURCE_CODE:e=>{const{normalize:t}=e;return t(["Code source (en)"])}},a={ACTION:e=>{const{normalize:t}=e;return t(["Action"])},ACTIVATE_USER_ACCOUNT:e=>{const{normalize:t}=e;return t(["Activer le compte"])},ACTIVE:e=>{const{normalize:t}=e;return t(["Actif"])},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:{ADMIN_CONTACT:e=>{const{normalize:t}=e;return t(["Email de l'administrateur pour contact "])},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) "])},NO_CONTACT_EMAIL:e=>{const{normalize:t}=e;return t(["non renseigné"])},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(["Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur ",n(r(0))," ? Toutes les données seront définitivement."])},CONFIRM_USER_PASSWORD_RESET:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur ",n(r(0))," ?"])},CURRENT_EMAIL:e=>{const{normalize:t}=e;return t(["Adresse email actuelle"])},DELETE_USER:e=>{const{normalize:t}=e;return t(["Supprimer l'utilisateur"])},EMAIL_SENDING_DISABLED:e=>{const{normalize:t}=e;return t(["L'envoi d'emails est désactivé."])},ENABLE_DISABLE_SPORTS:e=>{const{normalize:t}=e;return t(["Activer/désactiver des sports."])},NEW_EMAIL:e=>{const{normalize:t}=e;return t(["Nouvelle adresse email"])},PASSWORD_RESET_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["Le mot de passe a été réinitialisé."])},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."])},RESET_USER_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinit. le mot de passe"])},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)."])},UPDATE_USER_EMAIL:e=>{const{normalize:t}=e;return t(["Changer l'email"])},USER:e=>{const{normalize:t,plural:n}=e;return n([t(["utilisateur"]),t(["utilisateurs"])])},USER_EMAIL_UPDATE_SUCCESSFUL:e=>{const{normalize:t}=e;return t(["L'adresse email a été mise à jour."])},USERS:{TABLE:{ADD_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Ajouter les droits d'admin"])},REMOVE_ADMIN_RIGHTS:e=>{const{normalize:t}=e;return t(["Retirer les droits 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"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["statut du compte"])},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(["Courriel : une adresse électronique valide doit être fournie."])},"error during gpx processing":e=>{const{normalize:t}=e;return t(["Erreur lors du traitement du fichier gpx."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Erreur lors de l'analyse du fichier."])},"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."])},"new email must be different than curent email":e=>{const{normalize:t}=e;return t(["La nouvelle addresse électronique doit être differente de l'adresse actuelle"])},"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."])},"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 username is already taken":e=>{const{normalize:t}=e;return t(["Désolé, ce nom d'utilisateur est déjà utilisé."])},"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."])},"valid email must be provided for admin contact":e=>{const{normalize:t}=e;return t(["Une adresse électronique doit être fournie pour le contact de l'administrateur"])},"you can not delete your account, no other user has admin rights":e=>{const{normalize:t}=e;return t(["Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration."])},"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"])}}},s={"ACCOUNT-CONFIRMATION-RESEND":e=>{const{normalize:t}=e;return t(["Renvoyer le message de confirmation"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autoriser"])},BACK:e=>{const{normalize:t}=e;return t(["Retour"])},CANCEL:e=>{const{normalize:t}=e;return t(["Annuler"])},CLEAR_FILTER:e=>{const{normalize:t}=e;return t(["Réinitialiser"])},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"])},RESET:e=>{const{normalize:t}=e;return t(["Réinit."])},SUBMIT:e=>{const{normalize:t}=e;return t(["Valider"])},YES:e=>{const{normalize:t}=e;return t(["Oui"])}},i={ABOUT:e=>{const{normalize:t}=e;return t(["à propos"])},CONFIRMATION:e=>{const{normalize:t}=e;return t(["Confirmation"])},CONTACT:e=>{const{normalize:t}=e;return t(["contact"])},DAY:e=>{const{normalize:t,plural:n}=e;return n([t(["jour"]),t(["jours"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Affiché"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["documentation (en)"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},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"])}},l={DASHBOARD:e=>{const{normalize:t}=e;return t(["Tableau de bord"])},THIS_MONTH:e=>{const{normalize:t}=e;return t(["Ce mois-ci"])}},c={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"])}},SOMETHING_WRONG:e=>{const{normalize:t}=e;return t(["Une erreur s'est produite"])}},u={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une nouvelle application OAuth2"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["Identifiant"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Secret"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Application description"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Créée le"])},NAME:e=>{const{normalize:t}=e;return t(["Nom de l'application"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["URL de redirection"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Scope"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture à la configuration de l'application."])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes auth."])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes auth."])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes users."])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes users."])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en lecture aux routes workouts."])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["donne les droits en écriture aux routes workouts."])}},URL:e=>{const{normalize:t}=e;return t(["URL de l'application"])}},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus."])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["L'application ",n(r(0))," demande les accès suivants :"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["Applications OAuth2"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Autoriser ",n(r(0))," à utiliser votre compte ?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["copier dans le presse papier"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Supprimer l'application"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Ajouter une App OAuth"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Révoquer tous les jetons"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir révoquer tous les jetons ?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Tous les jetons associés existants ont été révoqués."])}},d={"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"])}},"Mountain Biking (Electric)":{LABEL:e=>{const{normalize:t}=e;return t(["VTT (Électrique)"])}},Rowing:{LABEL:e=>{const{normalize:t}=e;return t(["Aviron"])}},Running:{LABEL:e=>{const{normalize:t}=e;return t(["Course"])}},"Skiing (Alpine)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Alpin)"])}},"Skiing (Cross Country)":{LABEL:e=>{const{normalize:t}=e;return t(["Ski (Randonnée)"])}},Snowshoes:{LABEL:e=>{const{normalize:t}=e;return t(["Raquettes"])}},Trail:{LABEL:e=>{const{normalize:t}=e;return t(["Trail"])}},Walking:{LABEL:e=>{const{normalize:t}=e;return t(["Marche"])}}},m={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"])}}},_={ACCOUNT_CONFIRMATION_NOT_RECEIVED:e=>{const{normalize:t}=e;return t(["Vous n'avez pas reçu les instructions ?"])},ACCOUNT_CONFIRMATION_SENT:e=>{const{normalize:t}=e;return t(["Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie."])},ADMIN:e=>{const{normalize:t}=e;return t(["Admin"])},ALREADY_HAVE_ACCOUNT:e=>{const{normalize:t}=e;return t(["Vous avez déjà un compte ?"])},CONFIRM_ACCOUNT_DELETION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés"])},CURRENT_PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe actuel"])},EMAIL:e=>{const{normalize:t}=e;return t(["Courriel"])},EMAIL_INFO:e=>{const{normalize:t}=e;return t(["Saisissez une adresse électronique valide."])},ENTER_PASSWORD:e=>{const{normalize:t}=e;return t(["Saisissez un mot de passe"])},FILTER_ON_USERNAME:e=>{const{normalize:t}=e;return t(["Filtrer sur le nom d'utilisateur"])},HIDE_PASSWORD:e=>{const{normalize:t}=e;return t(["masquer le mot de passe"])},INVALID_TOKEN:e=>{const{normalize:t}=e;return t(["Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe."])},LANGUAGE:e=>{const{normalize:t}=e;return t(["Langue"])},LOG_IN:e=>{const{normalize:t}=e;return t(["connecter"])},LOGIN:e=>{const{normalize:t}=e;return t(["Se connecter"])},LOGOUT:e=>{const{normalize:t}=e;return t(["Se déconnecter"])},NEW_PASSWORD:e=>{const{normalize:t}=e;return t(["Nouveau mot de passe"])},NO_USERS_FOUND:e=>{const{normalize:t}=e;return t(["Aucun utilisateur trouvé."])},PASSWORD:e=>{const{normalize:t}=e;return t(["Mot de passe"])},PASSWORD_INFO:e=>{const{normalize:t}=e;return t(["8 caractères minimum."])},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 vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe."])},PASSWORD_STRENGTH:{WEAK:e=>{const{normalize:t}=e;return t(["faible"])},AVERAGE:e=>{const{normalize:t}=e;return t(["moyenne"])},GOOD:e=>{const{normalize:t}=e;return t(["bonne"])},STRONG:e=>{const{normalize:t}=e;return t(["forte"])},LABEL:e=>{const{normalize:t}=e;return t(["robustesse du mot de passe"])},SUGGESTIONS:{l33t:e=>{const{normalize:t}=e;return t(["Évitez les substitutions de lettres prévisibles comme ","@"," pour a."])},reverseWords:e=>{const{normalize:t}=e;return t(["Évitez les orthographes inversées des mots courants."])},allUppercase:e=>{const{normalize:t}=e;return t(["Mettez quelques lettres en majuscules, mais pas toutes."])},capitalization:e=>{const{normalize:t}=e;return t(["Capitalisez mais pas seulement la première lettre."])},dates:e=>{const{normalize:t}=e;return t(["Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance)."])},recentYears:e=>{const{normalize:t}=e;return t(["Évitez les dernières années."])},associatedYears:e=>{const{normalize:t}=e;return t(["Évitez les années qui vous sont associées. (ex : date de naissance)."])},sequences:e=>{const{normalize:t}=e;return t(["Évitez les séquences de caractères courantes."])},repeated:e=>{const{normalize:t}=e;return t(["Évitez les mots et les caractères répétés."])},longerKeyboardPattern:e=>{const{normalize:t}=e;return t(["Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois."])},anotherWord:e=>{const{normalize:t}=e;return t(["Ajoutez des mots moins courants."])},useWords:e=>{const{normalize:t}=e;return t(["Utilisez plusieurs mots, mais évitez les phrases courantes."])},noNeed:e=>{const{normalize:t}=e;return t(["Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules."])},pwned:e=>{const{normalize:t}=e;return t(["Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier."])}}},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:{ACCOUNT_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour du compte"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Données relatives au dénivelé positif (records, total)"])},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"])},EDIT_SPORTS_PREFERENCES:e=>{const{normalize:t}=e;return t(["Modifier les préférences des sports"])},ERRORED_EMAIL_UPDATE:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Veuillez vous ",n(r(0))," pour changer de nouveau votre adresse électronique ou contacter l'administrateur"])},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"])},SPORTS_EDITION:e=>{const{normalize:t}=e;return t(["Mise à jour des préférences des sports"])},SUNDAY:e=>{const{normalize:t}=e;return t(["Dimanche"])},TABS:{ACCOUNT:e=>{const{normalize:t}=e;return t(["compte"])},APPS:e=>{const{normalize:t}=e;return t(["apps"])},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"])},SPORTS:e=>{const{normalize:t}=e;return t(["sports"])}},UNITS:{LABEL:e=>{const{normalize:t}=e;return t(["Unités pour les distances"])},IMPERIAL:e=>{const{normalize:t}=e;return t(["Système impérial (ft, mi)"])},METRIC:e=>{const{normalize:t}=e;return t(["Système métrique (m, km)"])}},SPORT:{ACTION:e=>{const{normalize:t}=e;return t(["action"])},COLOR:e=>{const{normalize:t}=e;return t(["couleur"])},DISABLED_BY_ADMIN:e=>{const{normalize:t}=e;return t(["désactivé par l'administrateur"])},IS_ACTIVE:e=>{const{normalize:t}=e;return t(["actif"])},LABEL:e=>{const{normalize:t}=e;return t(["label"])},STOPPED_SPEED_THRESHOLD:e=>{const{normalize:t}=e;return t(["seuil de vitesse arrêtée"])}},SUCCESSFUL_EMAIL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique."])},SUCCESSFUL_REGISTRATION:e=>{const{normalize:t}=e;return t(["Votre compte a été créé avec succès."])},SUCCESSFUL_REGISTRATION_WITH_EMAIL:e=>{const{normalize:t}=e;return t(["Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie."])},SUCCESSFUL_UPDATE:e=>{const{normalize:t}=e;return t(["Votre compte a été modifié avec succès."])},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."])},RESENT_ACCOUNT_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Envoyer à nouveau le courriel de confirmation de compte"])},RESET_PASSWORD:e=>{const{normalize:t}=e;return t(["Réinitialiser votre mot de passe"])},SHOW_PASSWORD:e=>{const{normalize:t}=e;return t(["afficher le mot de passe"])},THIS_USER_ACCOUNT_IS_INACTIVE:e=>{const{normalize:t}=e;return t(["Le compte de cet utilisateur est inactif."])},USER_PICTURE:e=>{const{normalize:t}=e;return t(["photo de l'utilisateur"])},USERNAME:e=>{const{normalize:t}=e;return t(["Nom d'utilisateur"])},USERNAME_INFO:e=>{const{normalize:t}=e;return t(["3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés."])}},S={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"])},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_HA:e=>{const{normalize:t}=e;return t(["Dénivelé positif le + élevé"])},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"])},START_AND_FINISH:e=>{const{normalize:t}=e;return t(["Départ et arrivée"])},START_ELEVATION_AT_ZERO:e=>{const{normalize:t}=e;return t(["démarrer l'axe de l'altitude à 0"])},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"])},WIND_DIRECTIONS:{N:e=>{const{normalize:t}=e;return t(["N"])},NNE:e=>{const{normalize:t}=e;return t(["NNE"])},NE:e=>{const{normalize:t}=e;return t(["NE"])},ENE:e=>{const{normalize:t}=e;return t(["ENE"])},E:e=>{const{normalize:t}=e;return t(["E"])},ESE:e=>{const{normalize:t}=e;return t(["ESE"])},SE:e=>{const{normalize:t}=e;return t(["SE"])},SSE:e=>{const{normalize:t}=e;return t(["SSE"])},S:e=>{const{normalize:t}=e;return t(["S"])},SSW:e=>{const{normalize:t}=e;return t(["SSO"])},SW:e=>{const{normalize:t}=e;return t(["SO"])},WSW:e=>{const{normalize:t}=e;return t(["OSO"])},W:e=>{const{normalize:t}=e;return t(["O"])},WNW:e=>{const{normalize:t}=e;return t(["ONO"])},NW:e=>{const{normalize:t}=e;return t(["NO"])},NNW:e=>{const{normalize:t}=e;return t(["NNO"])}},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"])}},E={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:S}},6331:function(e,t,n){"use strict";var r=n(6775),a=n(6429),o=n(9963),s=n(2343),i=n(5205);(0,i.z)("/service-worker.js",{ready(){console.log("App is being served from cache by a service worker.\nFor more details, visit https://goo.gl/AFskqB")},registered(){console.log("Service worker has been registered.")},cached(){console.log("Content has been cached for offline use.")},updatefound(){console.log("New content is downloading.")},updated(){console.log("New content is available; please refresh.")},offline(){console.log("No internet connection found. App is running in offline mode.")},error(e){console.error("Error during service worker registration:",e)}});var l=n(6252),c=n(2262),u=n(3577);const d=e=>((0,l.dD)("data-v-2c73279e"),e=e(),(0,l.Cn)(),e),m={id:"footer"},_={class:"footer-items"},S={class:"footer-item"},E=d((()=>(0,l._)("strong",null,"FitTrackee",-1))),T=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),p={class:"footer-item"},A={key:0,class:"footer-item bullet"},O={key:1,class:"footer-item"},U=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),I={class:"footer-item"},g={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"};var N=(0,l.aZ)({__name:"Footer",props:{version:null,adminContact:null},setup(e){const t=e,{adminContact:n,version:r}=(0,c.BK)(t);return(e,t)=>{const a=(0,l.up)("router-link");return(0,l.wg)(),(0,l.iD)("div",m,[(0,l._)("div",_,[(0,l._)("div",S,[E,(0,l.Uk)(" v"+(0,u.zw)((0,c.SU)(r)),1)]),T,(0,l._)("div",p,[(0,l.Wm)(a,{to:"/about"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("common.ABOUT")),1)])),_:1})]),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",A,"•")):(0,l.kq)("",!0),(0,c.SU)(n)?((0,l.wg)(),(0,l.iD)("div",O,[(0,l._)("a",{href:`mailto:${(0,c.SU)(n)}`},(0,u.zw)(e.$t("common.CONTACT")),9,U)])):(0,l.kq)("",!0),R,(0,l._)("div",I,[(0,l._)("a",g,(0,u.zw)(e.$t("common.DOCUMENTATION")),1)])])])}}}),z=n(3744);const h=(0,z.Z)(N,[["__scopeId","data-v-2c73279e"]]);var w=h,f=(n(7658),n(6595)),v=n(5801),C=n(9917),D=n(6287);const k=e=>((0,l.dD)("data-v-95c1cc02"),e=e(),(0,l.Cn)(),e),P={id:"nav"},L={class:"nav-container"},M={class:"nav-app-name"},b={class:"nav-items-close"},y=k((()=>(0,l._)("div",{class:"app-name"},"FitTrackee",-1))),G={key:0,class:"nav-items-group"},F=k((()=>(0,l._)("div",{class:"nav-item nav-separator"},null,-1))),W={class:"nav-items-user-menu"},K={key:0,class:"nav-items-group"},Y={class:"nav-item nav-profile-img"},x={key:1,class:"nav-items-group"},B=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var $=(0,l.aZ)({__name:"NavBar",emits:["menuInteraction"],setup(e,{emit:t}){const n=(0,C.o)(),r=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.AUTH_USER_PROFILE])),a=(0,l.Fl)((()=>n.getters[v.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>n.getters[v.SY.GETTERS.LANGUAGE])),s=(0,c.iH)(!1);function i(){s.value=!0,t("menuInteraction",!0)}function d(){s.value=!1,t("menuInteraction",!1)}function m(e){n.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e.value.toString())}function _(){n.dispatch(v.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),S=(0,l.up)("Dropdown");return(0,l.wg)(),(0,l.iD)("div",P,[(0,l._)("div",L,[(0,l._)("div",M,[(0,l._)("div",{class:"nav-item app-name",onClick:t[0]||(t[0]=t=>e.$router.push("/"))}," FitTrackee ")]),(0,l._)("div",{class:(0,u.C_)(["nav-icon-open",{"menu-open":s.value}])},[(0,l._)("i",{class:"fa fa-bars hamburger-icon",onClick:t[1]||(t[1]=e=>i())})],2),(0,l._)("div",{class:(0,u.C_)(["nav-items",{"menu-open":s.value}])},[(0,l._)("div",b,[y,(0,l._)("i",{class:(0,u.C_)(["fa fa-close close-icon nav-item",{"menu-closed":!s.value}]),onClick:t[2]||(t[2]=e=>d())},null,2)]),(0,l._)("div",{class:"nav-items-app-menu",onClick:t[3]||(t[3]=e=>d())},[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",G,[(0,l.Wm)(n,{class:"nav-item",to:"/"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("dashboard.DASHBOARD")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,u.kC)(e.$t("workouts.WORKOUT",2))),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/statistics"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("statistics.STATISTICS")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/workouts/add"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("workouts.ADD_WORKOUT")),1)])),_:1}),(0,c.SU)(a)&&(0,c.SU)(r).admin?((0,l.wg)(),(0,l.j4)(n,{key:0,class:"nav-item",to:"/admin"},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("admin.ADMIN")),1)])),_:1})):(0,l.kq)("",!0),F])):(0,l.kq)("",!0)]),(0,l._)("div",W,[(0,c.SU)(a)?((0,l.wg)(),(0,l.iD)("div",K,[(0,l._)("div",Y,[(0,l.Wm)(f.Z,{user:(0,c.SU)(r)},null,8,["user"])]),(0,l.Wm)(n,{class:"nav-item",to:"/profile",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(r).username),1)])),_:1}),(0,l._)("div",{class:"nav-item nav-link",onClick:_},(0,u.zw)(e.$t("user.LOGOUT")),1)])):((0,l.wg)(),(0,l.iD)("div",x,[(0,l.Wm)(n,{class:"nav-item",to:"/login",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.LOGIN")),1)])),_:1}),(0,l.Wm)(n,{class:"nav-item",to:"/register",onClick:d},{default:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)(e.$t("user.REGISTER")),1)])),_:1})])),(0,c.SU)(D.mT)&&(0,c.SU)(o)?((0,l.wg)(),(0,l.j4)(S,{key:2,class:"nav-item",options:(0,c.SU)(D.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[B])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const Z=(0,z.Z)($,[["__scopeId","data-v-95c1cc02"]]);var H=Z,q=n(7167);const V={id:"no-config"},j={class:"error-page"},X={class:"error-img"},J=["innerHTML"];var Q=(0,l.aZ)({__name:"NoConfig",setup(e){return(e,t)=>((0,l.wg)(),(0,l.iD)("div",V,[(0,l._)("div",j,[(0,l._)("div",X,[(0,l.Wm)(q.Z)]),(0,l._)("p",{class:"error-message",innerHTML:e.$t("error.APP_ERROR")},null,8,J)])]))}});const ee=(0,z.Z)(Q,[["__scopeId","data-v-47759238"]]);var te=ee;const ne=(0,l._)("div",{id:"top"},null,-1),re={key:0,class:"app-container"},ae={class:"app-loading"},oe={class:"container scroll"},se=(0,l._)("i",{class:"fa fa-chevron-up","aria-hidden":"true"},null,-1),ie=[se];var le=(0,l.aZ)({__name:"App",setup(e){const t=(0,C.o)(),n=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[v.SY.GETTERS.APP_LOADING])),a=(0,c.iH)(!1),o=(0,c.iH)(!1);function s(e){a.value=e}function i(e){return e.getBoundingClientRect().top=0}function d(){window.onscroll=()=>{const e=document.querySelector("#bottom");o.value=null!==e&&i(e)}}function m(){window.scrollTo({top:0,behavior:"smooth"}),setTimeout((()=>{o.value=!1}),300)}function _(){let e="en";try{const t=navigator.language.split("-")[0];t in D.v1&&(e=t)}catch(n){e="en"}t.dispatch(v.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{_(),t.dispatch(v.SY.ACTIONS.GET_APPLICATION_CONFIG)})),(0,l.bv)((()=>d())),(e,t)=>{const i=(0,l.up)("Loader"),d=(0,l.up)("router-view");return(0,l.wg)(),(0,l.iD)(l.HY,null,[ne,(0,l.Wm)(H,{onMenuInteraction:s}),(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("div",re,[(0,l._)("div",ae,[(0,l.Wm)(i)])])):((0,l.wg)(),(0,l.iD)("div",{key:1,class:(0,u.C_)(["app-container",{"hide-scroll":a.value}])},[(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(d,{key:0})):((0,l.wg)(),(0,l.j4)(te,{key:1}))],2)),(0,l._)("div",oe,[(0,l._)("div",{class:(0,u.C_)(["scroll-button",{"display-button":o.value}]),onClick:m},ie,2)]),(0,c.SU)(n)?((0,l.wg)(),(0,l.j4)(w,{key:2,version:(0,c.SU)(n)?(0,c.SU)(n).version:"",adminContact:(0,c.SU)(n).admin_contact},null,8,["version","adminContact"])):(0,l.kq)("",!0)],64)}}});const ce=le;var ue=ce,de=n(2540),me=n(9160),_e=n(2894);const Se={class:"alert-message"},Ee=["innerHTML"];var Te=(0,l.aZ)({__name:"AlertMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Se,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Ee)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ue={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],Ie={class:"remaining-chars"};var ge=(0,l.aZ)({__name:"CustomTextArea",props:{name:null,charLimit:{default:500},disabled:{type:Boolean,default:!1},input:{default:""}},emits:["updateValue"],setup(e,{emit:t}){const n=e,r=(0,c.iH)("");function a(e){t("updateValue",e.target.value)}return(0,l.YP)((()=>n.input),(e=>{r.value=null===e?"":e})),(t,n)=>((0,l.wg)(),(0,l.iD)("div",Ue,[(0,l.wy)((0,l._)("textarea",{id:e.name,name:e.name,maxLenght:e.charLimit,disabled:e.disabled,"onUpdate:modelValue":n[0]||(n[0]=e=>r.value=e),onInput:a},null,40,Re),[[o.nr,r.value]]),(0,l._)("div",Ie,(0,u.zw)(t.$t("workouts.REMAINING_CHARS"))+": "+(0,u.zw)(r.value.length)+"/"+(0,u.zw)(e.charLimit),1)]))}});const Ne=(0,z.Z)(ge,[["__scopeId","data-v-8cf5cc64"]]);var ze=Ne,he=n(3649);const we=(0,l.Uk)(" "+(0,u.zw)(" ")+" ");var fe=(0,l.aZ)({__name:"Distance",props:{distance:null,unitFrom:null,useImperialUnits:{type:Boolean},digits:{default:2},displayUnit:{type:Boolean,default:!0},speed:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(e){const t=e,{digits:n,displayUnit:r,distance:a,speed:o,strong:s,unitFrom:i,useImperialUnits:d}=(0,c.BK)(t),m=(0,l.Fl)((()=>d.value?he.Dl[i.value].defaultTarget:i.value)),_=(0,l.Fl)((()=>d.value?(0,he.sC)(a.value,i.value,m.value,n.value):parseFloat(a.value.toFixed(n.value))));return(e,t)=>((0,l.wg)(),(0,l.iD)(l.HY,null,[(0,l._)("span",{class:(0,u.C_)(["distance",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(_)),3),we,(0,c.SU)(r)?((0,l.wg)(),(0,l.iD)("span",{key:0,class:(0,u.C_)(["unit",{strong:(0,c.SU)(s)}])},(0,u.zw)((0,c.SU)(m))+(0,u.zw)((0,c.SU)(o)?"/h":""),3)):(0,l.kq)("",!0)],64))}});const ve=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var Ce=ve,De=n(2201);const ke={class:"dropdown-wrapper"},Pe={key:0,class:"dropdown-list"},Le=["onClick"];var Me=(0,l.aZ)({__name:"Dropdown",props:{options:null,selected:null},emits:{selected:e=>e},setup(e,{emit:t}){const n=e,r=(0,De.yj)(),a=(0,c.iH)(!1),o=n.options.map((e=>e));function s(){a.value=!a.value}function i(e){t("selected",e),a.value=!1}return(0,l.YP)((()=>r.path),(()=>a.value=!1)),(t,n)=>((0,l.wg)(),(0,l.iD)("div",ke,[(0,l._)("div",{class:"dropdown-selected",onClick:s},[(0,l.WI)(t.$slots,"default")]),a.value?((0,l.wg)(),(0,l.iD)("ul",Pe,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(o),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{class:(0,u.C_)(["dropdown-item",{selected:t.value===e.selected}]),key:n,onClick:e=>i(t)},(0,u.zw)(t.label),11,Le)))),128))])):(0,l.kq)("",!0)]))}});const be=(0,z.Z)(Me,[["__scopeId","data-v-2d3b4eac"]]);var ye=be;const Ge={class:"error-message"},Fe={key:0},We={key:1};var Ke=(0,l.aZ)({__name:"ErrorMessage",props:{message:null},setup(e){const t=e,{message:n}=(0,c.BK)(t);return(e,t)=>((0,l.wg)(),(0,l.iD)("div",Ge,[Array.isArray((0,c.SU)(n))?((0,l.wg)(),(0,l.iD)("ul",Fe,[((0,l.wg)(!0),(0,l.iD)(l.HY,null,(0,l.Ko)((0,c.SU)(n),((t,n)=>((0,l.wg)(),(0,l.iD)("li",{key:n},(0,u.zw)(e.$t(t)),1)))),128))])):((0,l.wg)(),(0,l.iD)("div",We,(0,u.zw)(e.$t((0,c.SU)(n))),1))]))}});const Ye=(0,z.Z)(Ke,[["__scopeId","data-v-2659a79a"]]);var xe=Ye;const Be={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"},$e=(0,l._)("desc",{id:"cyclingSportDescription"}," silhouette of a person riding a bicycle ",-1),Ze=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),He=[$e,Ze];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Be,He)}var Ve={name:"CyclingSport"};const je=(0,z.Z)(Ve,[["render",qe]]);var Xe=je;const Je={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"},Qe=(0,l._)("desc",{id:"cyclingTransportDescription"}," silhouette of a person riding a bicycle (for transportation) ",-1),et=(0,l._)("g",{id:"g147"},[(0,l._)("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"}),(0,l._)("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),tt=[Qe,et];function nt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Je,tt)}var rt={name:"CyclingTransport"};const at=(0,z.Z)(rt,[["render",nt]]);var ot=at;const st={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"},it=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),lt=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),ct=[it,lt];function ut(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,ct)}var dt={name:"Hiking"};const mt=(0,z.Z)(dt,[["render",ut]]);var _t=mt;const St={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"},Et=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),Tt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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"}),(0,l._)("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),pt=[Et,Tt];function At(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",St,pt)}var Ot={name:"MountainBiking"};const Ut=(0,z.Z)(Ot,[["render",At]]);var Rt=Ut;const It={version:"1.1",id:"Capa_1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg",x:"0px",y:"0px",viewBox:"0 0 503.162 503.162",style:{"enable-background":"new 0 0 503.162 503.162"},"xml:space":"preserve"},gt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Nt=[gt];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",It,Nt)}var ht={name:"MountainBikingElectric"};const wt=(0,z.Z)(ht,[["render",zt]]);var ft=wt;const vt={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 534.51 534.51",style:{"enable-background":"new 0 0 534.51 534.51"},"xml:space":"preserve"},Ct=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Dt=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M70.517,393.857h132.622l-67.205,68.631c-3.28,3.385-3.204,8.797,0.172,12.076c1.597,1.568,3.72,2.43,5.958,2.43\n\t\t\tc2.305,0,4.533-0.947,6.12-2.572l78.881-80.555h221.315c12.45,0,30.676-6.006,40.296-13.914\n\t\t\tc8.788-7.229,19.049-16.217,26.345-24.299c10.375-9.811,22.214-23.639-4.255-22.834c-6.98,0.248-206.789,0.02-223.926,0\n\t\t\tl47.144-48.139l22.176-22.032l28.209,9.17c10.414,3.385,22.472-0.803,26.919-9.362c4.446-8.558,0.268-18.407-9.343-21.993\n\t\t\tl-17.404-6.512l54.698-54.774c12.507,6.617,28.362,4.867,38.899-5.671l46.541-46.607c13.11-13.015,13.11-33.957,0-46.923\n\t\t\tc-12.909-13.034-34.042-13.034-46.942,0l-46.512,46.598c-10.892,10.815-12.508,27.139-5.26,39.742l-57.853,59.077L253.744,183.09\n\t\t\tc-1.482-0.851-14.153-5.786-26.833-10.643c-14.898-5.719-30.371,0.583-34.53,13.971l-7.525,24.241l-35.324,118.451\n\t\t\tc-0.468,1.34-0.603,2.562-0.746,3.711H14.136c-12.45,0-17.662,8.836-11.618,19.727l23.237,21.592\n\t\t\tC39.123,385.068,58.066,393.857,70.517,393.857z M272.63,248.727c1.797-5.967,8.099-9.39,14.075-7.64l51.37,14.975l-33.038,33.737\n\t\t\tl-43.453,43.012h-14.2L272.63,248.727z"}),(0,l._)("circle",{cx:"248.953",cy:"109.842",r:"52.326"})])],-1),kt=[Ct,Dt];function Pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,kt)}var Lt={name:"Rowing"};const Mt=(0,z.Z)(Lt,[["render",Pt]]);var bt=Mt;const yt={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"},Gt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Ft=(0,l._)("g",null,[(0,l._)("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"}),(0,l._)("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),Wt=[Gt,Ft];function Kt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",yt,Wt)}var Yt={name:"Running"};const xt=(0,z.Z)(Yt,[["render",Kt]]);var Bt=xt;const $t={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 522.362 522.362",style:{"enable-background":"new 0 0 522.362 522.362"},"xml:space":"preserve"},Zt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),Ht=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M14.314,351.859L408.088,461.78c4.484,1.311,9.104,1.97,13.731,1.97l0,0c17.471,0,33.746-9.429,42.467-24.604\n\t\t\tc2.716-4.724,3.137-10.27,1.157-15.214c-1.912-4.762-5.767-8.31-10.576-9.744c-7.373-2.237-15.481,1.109-22.146,9.229\n\t\t\tc-3.548,4.303-9.496,6.244-15.07,4.714l-136.467-38.078c1.396-0.555,2.812-1.195,4.236-2.065l103.266-63.15\n\t\t\tc15.443-9.362,18.493-33.957,7.812-43.883l-64.758-60.233l39.972-21.688l69.682,9.744c5.23,0.736,9.744-2.037,10.079-6.187\n\t\t\tc0.344-4.141-3.624-8.1-8.855-8.826l-48.605-6.828l22.472-12.192c39.895-23.275,5.823-85.192-35.334-63.112l-87.554,61.19\n\t\t\tl-117.503-16.515l2.543-12.087c0.545-2.582-1.109-5.116-3.691-5.661c-2.572-0.593-5.116,1.1-5.661,3.701l-2.678,12.709\n\t\t\tl-18.331-2.582c-5.231-0.727-9.467,2.123-9.467,6.369s4.236,8.281,9.467,9.017l15.176,2.123l-2.544,12.087\n\t\t\tc-0.545,2.582,1.109,5.125,3.691,5.671c0.334,0.076,0.66,0.105,0.994,0.105c2.209,0,4.198-1.54,4.676-3.787l2.678-12.737\n\t\t\tl102.414,14.315l-5.308,3.72c-4.332,3.022-10.155,9.151-11.723,14.201c-3.844,12.45-1.473,26.717,10.452,37.705l68.802,62.175\n\t\t\tc0,0-50.978,31.776-74.998,46.397c-14.219,8.606-13.674,23.858-6.129,33.393L23.705,318.199\n\t\t\tc-10.012-2.792-20.569,2.554-23.113,11.695C-2,339.169,4.159,349.029,14.314,351.859z"}),(0,l._)("path",{d:"M450.842,72.003c-15.291,16.715-14.201,42.667,2.639,58.121c16.706,15.31,42.716,14.086,58.073-2.668\n\t\t\tc15.386-16.677,14.172-42.734-2.544-58.016C492.305,54.064,466.17,55.192,450.842,72.003z"})])],-1),qt=[Zt,Ht];function Vt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",$t,qt)}var jt={name:"SkiingAlpine"};const Xt=(0,z.Z)(jt,[["render",Vt]]);var Jt=Xt;const Qt={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 296 296",style:{"enable-background":"new 0 0 296 296"},"xml:space":"preserve"},en=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),tn=(0,l._)("g",null,[(0,l._)("path",{d:"M241.313,246.906h-39.564l0.456-1.273c5.62-18.374,3.479-37.58-6.027-54.278c-5.653-9.929-13.443-18.018-22.745-23.959\n\t\tl12.886-51.126c3.035-12.05-4.272-24.266-16.322-27.301c-2.634-0.664-5.278-0.826-7.833-0.559\n\t\tc-0.151-0.011-0.299-0.032-0.452-0.038c-26.03-1.077-51.443,8.485-70.33,25.993L41.586,82.855\n\t\tc-4.332-2.741-10.065-1.451-12.806,2.881s-1.451,10.065,2.88,12.806l47.625,30.136c-2.557,6.013-0.962,13.224,4.375,17.531\n\t\tc2.774,2.24,6.104,3.33,9.413,3.33c4.377-0.001,8.717-1.907,11.68-5.579l0.478-0.591c8.686-10.766,20.465-18.479,33.484-22.317\n\t\tl-11.095,44.046c-1.061,4.214-0.854,8.448,0.374,12.305c-12.908,17.917-28.398,33.68-46.198,46.979l-14.649,10.727\n\t\tc-3.938,2.943-6.001,7.798-6.005,11.798H8.25c-4.556,0-8.083,4.131-8.083,8.688v2.063c0,4.556,3.527,8.25,8.083,8.25h55.188\n\t\th161.375H280c9.113,0,16.167-7.387,16.167-16.5v-2.5H241.313z M153.974,192.398c0.741-0.153,1.471-0.231,2.188-0.457\n\t\tc5.742,3.406,10.53,8.313,13.945,14.311c5.378,9.447,6.59,20.402,3.41,30.797l-1.799,5.674c-0.447,1.461-0.656,3.184-0.657,4.184\n\t\th-69.909C121.581,231.906,139.297,213.274,153.974,192.398z M167,57.938c0-15.378,12.466-27.844,27.844-27.844\n\t\ts27.844,12.466,27.844,27.844s-12.466,27.844-27.844,27.844S167,73.315,167,57.938z"})],-1),nn=[en,tn];function rn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Qt,nn)}var an={name:"SkiingCrossCountry"};const on=(0,z.Z)(an,[["render",rn]]);var sn=on;const ln={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"},cn=(0,l.uE)('silhouette of a person with snowshoes',6),un=[cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",ln,un)}var mn={name:"Snowshoes"};const _n=(0,z.Z)(mn,[["render",dn]]);var Sn=_n;const En={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 535.876 535.876",style:{"enable-background":"new 0 0 535.876 535.876"},"xml:space":"preserve"},Tn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),pn=(0,l._)("g",null,[(0,l._)("g",null,[(0,l._)("path",{d:"M505.204,326.949c-5.805-10.892-15.176-10.862-20.923,0.067l-7.114,13.512c-5.757,10.92-20.416,19.775-32.752,19.775\n\t\t\th-16.753c-12.346,0-29.645,6.847-38.643,15.29l-32.35,30.342l-1.233-105.388c0.822-18.446-10.596-24.634-10.596-24.634\n\t\t\tl-56.543-25.972l33.67-67.645l38.527,22.912c0,0,15.472,9.715,26.727-9.324l37.026-63.093c1.625-3.519,2.094-7.564,1.052-11.609\n\t\t\tc-2.381-9.256-11.81-14.86-21.095-12.479c-4.083,1.042-7.459,3.49-9.754,6.713l-30.772,51.962l-62.777-37.102\n\t\t\tc-4.733-2.716-10.519-3.691-16.257-2.209l-78.345,20.12c-5.03,1.291-8.96,4.762-11.017,9.142l-38.097,76.165\n\t\t\tc-2.591,3.854-3.624,8.73-2.371,13.607c2.285,8.941,11.456,14.363,20.435,12.059c5.04-1.291,8.951-4.743,10.997-9.161\n\t\t\tl35.314-70.858l28.936-7.296l-76.203,149.921l-65.981,16.734c-1.759,0.393-3.48,1.023-5.163,1.836\n\t\t\tc-10.596,5.412-14.679,18.179-9.267,28.803c4.733,9.266,15.252,13.636,24.901,10.978l78.067-20.187\n\t\t\tc18.6-4.093,23.313-14.449,23.313-14.449l30.581-58.79l62.28,35.678l0.593,86.216c0.01,1.08,0.259,2.161,0.421,3.241l-11.6-4.188\n\t\t\tc-11.608-4.188-30.57-4.608-42.361-0.956l-26.135,8.128c-11.79,3.663-30.791,3.338-42.447-0.717l-19.221-6.694\n\t\t\tc-11.657-4.054-28.831-0.984-38.374,6.838L109.9,433.954c-9.544,7.822-26.67,10.72-38.25,6.483L40.84,429.135\n\t\t\tc-11.58-4.256-25.608,1.157-31.336,12.097l-7.21,13.789c-5.728,10.93-0.354,19.794,11.982,19.794H500.27\n\t\t\tc12.336,0,24.309-9.802,26.728-21.907l8.004-39.981c2.409-12.097-0.325-30.733-6.14-41.616L505.204,326.949z"}),(0,l._)("path",{d:"M326.395,126.625c17.806-4.562,28.563-22.721,23.983-40.526c-4.581-17.844-22.74-28.554-40.555-23.983\n\t\t\tc-17.796,4.581-28.535,22.711-23.964,40.535C290.439,120.476,308.599,131.205,326.395,126.625z"})])],-1),An=[Tn,pn];function On(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",En,An)}var Un={name:"Trail"};const Rn=(0,z.Z)(Un,[["render",On]]);var In=Rn;const gn={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"},Nn=(0,l.uE)('silhouette of a walking person',3),zn=[Nn];function hn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",gn,zn)}var wn={name:"Walking"};const fn=(0,z.Z)(wn,[["render",hn]]);var vn=fn;const Cn=["title"];var Dn=(0,l.aZ)({__name:"index",props:{sportLabel:null,color:null,title:{default:""}},setup(e){const t=e,{color:n,sportLabel:r,title:a}=(0,c.BK)(t),o=(0,l.f3)("sportColors");return(e,t)=>((0,l.wg)(),(0,l.iD)("div",{class:"sport-img",style:(0,u.j5)({fill:(0,c.SU)(n)?(0,c.SU)(n):(0,c.SU)(o)[(0,c.SU)(r)]}),title:(0,c.SU)(a)?(0,c.SU)(a):e.$t(`sports.${(0,c.SU)(r)}.LABEL`)},["Cycling (Sport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Xe,{key:0})):(0,l.kq)("",!0),"Cycling (Transport)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ot,{key:1})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(_t,{key:2})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bt,{key:5})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Bt,{key:6})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Jt,{key:7})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(sn,{key:8})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Sn,{key:9})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:10})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0)],12,Cn))}});const kn=Dn;var Pn=kn;const Ln={class:"loader"};function Mn(e,t){return(0,l.wg)(),(0,l.iD)("div",Ln)}const bn={},yn=(0,z.Z)(bn,[["render",Mn],["__scopeId","data-v-4c9921ee"]]);var Gn=yn;const Fn={id:"modal"},Wn={class:"custom-modal"},Kn={key:0,class:"modal-message"},Yn={key:1,class:"modal-message"},xn={class:"modal-buttons"};var Bn=(0,l.aZ)({__name:"Modal",props:{title:null,message:null,strongMessage:{default:()=>null}},emits:["cancelAction","confirmAction"],setup(e,{emit:t}){const n=e,r=(0,C.o)(),{title:a,message:o,strongMessage:s}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[v.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(v.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(e,n)=>{const r=(0,l.up)("i18n-t"),d=(0,l.up)("ErrorMessage"),m=(0,l.up)("Card");return(0,l.wg)(),(0,l.iD)("div",Fn,[(0,l._)("div",Wn,[(0,l.Wm)(m,null,{title:(0,l.w5)((()=>[(0,l.Uk)((0,u.zw)((0,c.SU)(a)),1)])),content:(0,l.w5)((()=>[(0,c.SU)(s)?((0,l.wg)(),(0,l.iD)("div",Kn,[(0,l.Wm)(r,{keypath:(0,c.SU)(o)},{default:(0,l.w5)((()=>[(0,l._)("span",null,(0,u.zw)((0,c.SU)(s)),1)])),_:1},8,["keypath"])])):((0,l.wg)(),(0,l.iD)("div",Yn,(0,u.zw)((0,c.SU)(o)),1)),(0,c.SU)(i)?((0,l.wg)(),(0,l.j4)(d,{key:2,message:(0,c.SU)(i)},null,8,["message"])):(0,l.kq)("",!0),(0,l._)("div",xn,[(0,c.SU)(i)?(0,l.kq)("",!0):((0,l.wg)(),(0,l.iD)("button",{key:0,class:"confirm",onClick:n[0]||(n[0]=e=>t("confirmAction"))},(0,u.zw)(e.$t("buttons.YES")),1)),(0,l._)("button",{class:"cancel",onClick:n[1]||(n[1]=e=>t("cancelAction"))},(0,u.zw)(e.$t("buttons."+((0,c.SU)(i)?"CANCEL":"NO"))),1)])])),_:1})])])}}});const $n=(0,z.Z)(Bn,[["__scopeId","data-v-e8fcfaba"]]);var Zn=$n;const Hn=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:Ce,name:"Distance"},{target:ye,name:"Dropdown"},{target:xe,name:"ErrorMessage"},{target:Gn,name:"Loader"},{target:Zn,name:"Modal"},{target:Pn,name:"SportImage"}],qn={mounted:(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)}};var Vn=n(631);r.kL.register(r.ZL,r.jn,r.od,r.De,r.Dx,r.u,r.Gu,r.vn,r.uw,r.ST,r.f$,a.Z);const jn=(0,o.ri)(ue).provide("sportColors",Vn.Zo).use(de.Z).use(_e.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",qn);Hn.forEach((e=>{jn.component(e.name,e.target)})),jn.mount("#app")},9160:function(e,t,n){"use strict";n.d(t,{Z:function(){return zl}});var r=n(2201),a=(n(7658),n(6252)),o=n(3577),s=n(9963),i=n(2262),l=n(5801),c=n(9917),u=n(8966);const d=e=>((0,a.dD)("data-v-24ec93e2"),e=e(),(0,a.Cn)(),e),m={id:"admin-app",class:"admin-card"},_=["onSubmit"],S={for:"admin_contact"},E=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},U={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I={for:"max_single_file_size"},g=["disabled"],N={for:"max_zip_file_size"},z=["disabled"],h={for:"gpx_limit_import"},w=["disabled"],f={key:1,class:"form-buttons"},v={class:"confirm",type:"submit"},C=["onClick"],D={key:2,class:"form-buttons"};var k=(0,a.aZ)({__name:"AdminApplication",props:{appConfig:null,edition:{type:Boolean,default:!1}},setup(e){const t=e,{edition:n}=(0,i.BK)(t),d=(0,c.o)(),k=(0,r.tv)(),P=(0,i.qj)({admin_contact:"",max_users:0,max_single_file_size:0,max_zip_file_size:0,gpx_limit_import:0}),L=(0,a.Fl)((()=>d.getters[l.SY.GETTERS.ERROR_MESSAGES]));function M(e){Object.keys(P).map((t=>{["max_single_file_size","max_zip_file_size"].includes(t)?P[t]=(0,u.j)(e[t]):P[t]=e[t]}))}function b(){M(t.appConfig),d.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),k.push("/admin/application")}function y(){const e=Object.assign({},P);e.max_single_file_size*=1048576,e.max_zip_file_size*=1048576,d.dispatch(l.SY.ACTIONS.UPDATE_APPLICATION_CONFIG,e)}return(0,a.wF)((()=>{t.appConfig&&M(t.appConfig)})),(e,t)=>{const r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",m,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("form",{class:"admin-form",onSubmit:(0,s.iM)(y,["prevent"])},[(0,a._)("label",S,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ADMIN_CONTACT"))+": ",1),(0,i.SU)(n)||P.admin_contact?(0,a.wy)(((0,a.wg)(),(0,a.iD)("input",{key:1,id:"admin_contact",name:"admin_contact",type:"email","onUpdate:modelValue":t[0]||(t[0]=e=>P.admin_contact=e),disabled:!(0,i.SU)(n)},null,8,T)),[[s.nr,P.admin_contact]]):((0,a.wg)(),(0,a.iD)("input",{key:0,class:"no-contact",value:e.$t("admin.APP_CONFIG.NO_CONTACT_EMAIL"),disabled:""},null,8,E))]),(0,a._)("label",p,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_users",name:"max_users",type:"number",min:"0","onUpdate:modelValue":t[1]||(t[1]=e=>P.max_users=e),disabled:!(0,i.SU)(n)},null,8,A),[[s.nr,P.max_users]])]),(0,a._)("div",O,[(0,a._)("span",U,[R,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",I,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_single_file_size",name:"max_single_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[2]||(t[2]=e=>P.max_single_file_size=e),disabled:!(0,i.SU)(n)},null,8,g),[[s.nr,P.max_single_file_size]])]),(0,a._)("label",N,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"max_zip_file_size",name:"max_zip_file_size",type:"number",step:"0.1",min:"0","onUpdate:modelValue":t[3]||(t[3]=e=>P.max_zip_file_size=e),disabled:!(0,i.SU)(n)},null,8,z),[[s.nr,P.max_zip_file_size]])]),(0,a._)("label",h,[(0,a.Uk)((0,o.zw)(e.$t("admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL"))+": ",1),(0,a.wy)((0,a._)("input",{id:"gpx_limit_import",name:"gpx_limit_import",type:"number",min:"0","onUpdate:modelValue":t[4]||(t[4]=e=>P.gpx_limit_import=e),disabled:!(0,i.SU)(n)},null,8,w),[[s.nr,P.gpx_limit_import]])]),(0,i.SU)(L)?((0,a.wg)(),(0,a.j4)(r,{key:0,message:(0,i.SU)(L)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(n)?((0,a.wg)(),(0,a.iD)("div",f,[(0,a._)("button",v,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:(0,s.iM)(b,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,C)])):((0,a.wg)(),(0,a.iD)("div",D,[(0,a._)("button",{class:"confirm",onClick:t[5]||(t[5]=(0,s.iM)((t=>e.$router.push("/admin/application/edit")),["prevent"]))},(0,o.zw)(e.$t("buttons.EDIT")),1),(0,a._)("button",{class:"cancel",onClick:t[6]||(t[6]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))],40,_)])),_:1})])}}}),P=n(3744);const L=(0,P.Z)(k,[["__scopeId","data-v-24ec93e2"]]);var M=L;const b={class:"stat-card"},y={class:"stat-content box"},G={class:"stat-icon"},F={class:"stat-details"},W={class:"stat-huge"},K={class:"stat"};var Y=(0,a.aZ)({__name:"StatCard",props:{icon:null,text:null,value:null},setup(e){const t=e,{icon:n,text:r,value:s}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",b,[(0,a._)("div",y,[(0,a._)("div",G,[(0,a._)("i",{class:(0,o.C_)(["fa",`fa-${(0,i.SU)(n)}`])},null,2)]),(0,a._)("div",F,[(0,a._)("div",W,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("div",K,(0,o.zw)((0,i.SU)(r)),1)])])]))}});const x=Y;var B=x;const $={id:"user-stats"};var Z=(0,a.aZ)({__name:"AppStatsCards",props:{appStatistics:null},setup(e){const t=e,{appStatistics:n}=(0,i.BK)(t),r=(0,a.Fl)((()=>(0,u.Z)(n.value.uploads_dir_size,!1)));return(e,t)=>((0,a.wg)(),(0,a.iD)("div",$,[(0,a.Wm)(B,{icon:"users",value:(0,i.SU)(n).users,text:e.$t("admin.USER",(0,i.SU)(n).users)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"tags",value:(0,i.SU)(n).sports,text:e.$t("workouts.SPORT",(0,i.SU)(n).sports)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(n).workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(n).workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"folder-open",value:(0,i.SU)(r).size,text:(0,i.SU)(r).suffix},null,8,["value","text"])]))}});const H=Z;var q=H,V=n(2531);const j=e=>((0,a.dD)("data-v-0dd66f89"),e=e(),(0,a.Cn)(),e),X={id:"admin-menu",class:"center-card"},J={class:"admin-menu description-list"},Q={class:"application-config-details"},ee=j((()=>(0,a._)("br",null,null,-1))),te={class:"registration-status"},ne={key:0,class:"email-sending-status"},re=j((()=>(0,a._)("i",{class:"fa fa-exclamation-triangle","aria-hidden":"true"},null,-1)));var ae=(0,a.aZ)({__name:"AdminMenu",props:{appConfig:null,appStatistics:{default:()=>({})}},setup(e){const t=e,{appConfig:n,appStatistics:r}=(0,i.BK)(t);return(e,t)=>{const s=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",X,[(0,a.Wm)(V.Z,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.ADMINISTRATION")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(q,{appStatistics:(0,i.SU)(r)},null,8,["appStatistics"]),(0,a._)("div",J,[(0,a._)("dl",null,[(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/application"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.APPLICATION")),1)])),_:1})]),(0,a._)("dd",Q,[(0,a.Uk)((0,o.zw)(e.$t("admin.UPDATE_APPLICATION_DESCRIPTION")),1),ee,(0,a._)("span",te,(0,o.zw)(e.$t("admin.REGISTRATION_"+((0,i.SU)(n).is_registration_enabled?"ENABLED":"DISABLED"))),1),(0,i.SU)(n).is_email_sending_enabled?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",ne,[re,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.EMAIL_SENDING_DISABLED")),1)]))]),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/sports"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("workouts.SPORT",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ENABLE_DISABLE_SPORTS")),1),(0,a._)("dt",null,[(0,a.Wm)(s,{to:"/admin/users"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),_:1})]),(0,a._)("dd",null,(0,o.zw)(e.$t("admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT")),1)])])])),_:1})])}}});const oe=(0,P.Z)(ae,[["__scopeId","data-v-0dd66f89"]]);var se=oe,ie=n(9150),le=n(631);const ce=e=>((0,a.dD)("data-v-6d62af67"),e=e(),(0,a.Cn)(),e),ue={id:"admin-sports",class:"admin-card"},de={class:"responsive-table"},me=ce((()=>(0,a._)("th",null,"#",-1))),_e={class:"text-left"},Se={class:"text-left sport-action"},Ee=ce((()=>(0,a._)("th",null,null,-1))),Te={class:"text-center"},pe=ce((()=>(0,a._)("span",{class:"cell-heading"},"id",-1))),Ae={class:"cell-heading"},Oe={class:"sport-label"},Ue={class:"cell-heading"},Re={class:"text-center"},Ie={class:"cell-heading"},ge={class:"sport-action"},Ne={class:"cell-heading"},ze={class:"action-button"},he=["onClick"],we={key:0,class:"has-workouts"},fe=ce((()=>(0,a._)("i",{class:"fa fa-warning","aria-hidden":"true"},null,-1)));var ve=(0,a.aZ)({__name:"AdminSports",setup(e){const{t:t}=(0,ie.QT)(),n=(0,c.o)(),r=(0,a.Fl)((()=>(0,le.xH)(n.getters[l.O8.GETTERS.SPORTS],t))),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(e,t){n.dispatch(l.O8.ACTIONS.UPDATE_SPORTS,{id:e,isActive:t})}return(e,t)=>{const n=(0,a.up)("SportImage"),l=(0,a.up)("ErrorMessage"),c=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",ue,[(0,a.Wm)(c,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("admin.SPORTS.TITLE")),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a._)("div",de,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[me,(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a._)("th",_e,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("th",Se,(0,o.zw)(e.$t("admin.ACTION")),1),Ee])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.id},[(0,a._)("td",Te,[pe,(0,a.Uk)(" "+(0,o.zw)(t.id),1)]),(0,a._)("td",null,[(0,a._)("span",Ae,(0,o.zw)(e.$t("admin.SPORTS.TABLE.IMAGE")),1),(0,a.Wm)(n,{title:t.translatedLabel,"sport-label":t.label,color:t.color},null,8,["title","sport-label","color"])]),(0,a._)("td",Oe,[(0,a._)("span",Ue,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(t.translatedLabel),1)]),(0,a._)("td",Re,[(0,a._)("span",Ie,(0,o.zw)(e.$t("admin.SPORTS.TABLE.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+(t.is_active?"-check":"")),"aria-hidden":"true"},null,2)]),(0,a._)("td",ge,[(0,a._)("span",Ne,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("div",ze,[(0,a._)("button",{class:(0,o.C_)({danger:t.is_active}),onClick:e=>d(t.id,!t.is_active)},(0,o.zw)(e.$t(`buttons.${t.is_active?"DIS":"EN"}ABLE`)),11,he),t.has_workouts?((0,a.wg)(),(0,a.iD)("span",we,[fe,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.SPORTS.TABLE.HAS_WORKOUTS")),1)])):(0,a.kq)("",!0)])])])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)])])),_:1})])}}});const Ce=(0,P.Z)(ve,[["__scopeId","data-v-6d62af67"]]);var De=Ce,ke=n(4850),Pe=n(8626),Le=n(5020),Me=n(6595);const be={class:"users-filters"},ye={class:"search-username"},Ge=["onKeyup","placeholder"];var Fe=(0,a.aZ)({__name:"UsersNameFilter",emits:["filterOnUsername"],setup(e,{emit:t}){const n=(0,r.yj)(),l=(0,i.iH)(n.query.q?n.query.q:"");function c(){""!==l.value&&t("filterOnUsername",l)}function u(){l.value="",t("filterOnUsername",l.value)}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",be,[(0,a._)("div",ye,[(0,a.wy)((0,a._)("input",{id:"username",name:"username","onUpdate:modelValue":t[0]||(t[0]=e=>l.value=e),onKeyup:(0,s.D2)(c,["enter"]),placeholder:e.$t("user.FILTER_ON_USERNAME")},null,40,Ge),[[s.nr,l.value,void 0,{trim:!0}]]),""!==l.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-times","aria-hidden":"true",onClick:u})):(0,a.kq)("",!0)]),(0,a._)("i",{class:(0,o.C_)(["fa fa-search",{"fa-disabled":""===l.value}]),"aria-hidden":"true",onClick:c},null,2)]))}});const We=(0,P.Z)(Fe,[["__scopeId","data-v-627a8e91"]]);var Ke=We,Ye=n(2766),xe=n(6558);const Be=e=>((0,a.dD)("data-v-4735c10f"),e=e(),(0,a.Cn)(),e),$e={id:"admin-users",class:"admin-card"},Ze={key:0,class:"no-users"},He={key:1,class:"responsive-table"},qe=Be((()=>(0,a._)("th",null,"#",-1))),Ve={class:"left-text"},je={class:"left-text"},Xe={class:"left-text"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"cell-heading"},nt={class:"text-center"},rt={class:"cell-heading"},at={class:"text-center"},ot={class:"cell-heading"},st={class:"text-center"},it={class:"cell-heading"},lt={class:"text-center"},ct={class:"cell-heading"},ut=["disabled","onClick"];var dt=(0,a.aZ)({__name:"AdminUsers",setup(e){const t=(0,c.o)(),n=(0,r.yj)(),u=(0,r.tv)(),d=["is_active","admin","created_at","username","workouts_count"],m="created_at";let _=(0,i.qj)((0,Ye.pm)(n.query,d,m));const S=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),E=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS])),T=(0,a.Fl)((()=>t.getters[l.RT.GETTERS.USERS_PAGINATION])),p=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.ERROR_MESSAGES]));function A(e){t.dispatch(l.RT.ACTIONS.GET_USERS,e)}function O(e){R("q",e.value)}function U(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function R(e,t){_[e]=t,"per_page"===e&&(_.page=1),u.push({path:"/admin/users",query:_})}return(0,a.wF)((()=>A(_))),(0,a.Ah)((()=>{t.dispatch(l.RT.ACTIONS.EMPTY_USERS)})),(0,a.YP)((()=>n.query),(e=>{_=(0,Ye.pm)(e,d,m,{query:_}),A(_)})),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("ErrorMessage"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",$e,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,o.kC)(e.$t("admin.USER",0))),1)])),content:(0,a.w5)((()=>[(0,a._)("button",{class:"top-button",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1),(0,a.Wm)(Ke,{onFilterOnUsername:O}),(0,a.Wm)(Pe.Z,{sort:(0,i.SU)(Ye.fS),order_by:d,query:(0,i.SU)(_),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:R},null,8,["sort","query"]),0===(0,i.SU)(E).length?((0,a.wg)(),(0,a.iD)("div",Ze,(0,o.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",He,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[qe,(0,a._)("th",Ve,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",je,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",Xe,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a._)("th",null,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("th",null,(0,o.zw)(e.$t("admin.ACTION")),1)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Je,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Me.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Qe,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a.Wm)(n,{to:`/admin/users/${t.username}`},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.username),1)])),_:2},1032,["to"])]),(0,a._)("td",null,[(0,a._)("span",et,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",tt,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)(t.created_at,(0,i.SU)(S).timezone),"dd/MM/yyyy HH:mm")),1)]),(0,a._)("td",nt,[(0,a._)("span",rt,(0,o.zw)((0,o.kC)(e.$t("workouts.WORKOUT",0))),1),(0,a.Uk)(" "+(0,o.zw)(t.nb_workouts),1)]),(0,a._)("td",at,[(0,a._)("span",ot,(0,o.zw)(e.$t("admin.ACTIVE")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.is_active?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",st,[(0,a._)("span",it,(0,o.zw)(e.$t("user.ADMIN")),1),(0,a._)("i",{class:(0,o.C_)(`fa fa${t.admin?"-check":""}-square-o`),"aria-hidden":"true"},null,2)]),(0,a._)("td",lt,[(0,a._)("span",ct,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,o.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(S).username,onClick:e=>U(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ut)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Le.Z,{key:0,path:"/admin/users",pagination:(0,i.SU)(T),query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,i.SU)(p)?((0,a.wg)(),(0,a.j4)(r,{key:1,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("button",{onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/admin")),["prevent"]))},(0,o.zw)(e.$t("admin.BACK_TO_ADMIN")),1)]))])),_:1})])}}});const mt=(0,P.Z)(dt,[["__scopeId","data-v-4735c10f"]]);var _t=mt,St=n(2179);const Et={class:"profile-tabs custom-checkboxes-group"},Tt={class:"profile-tabs-checkboxes custom-checkboxes"},pt=["id","name","checked","disabled","onInput"];var At=(0,a.aZ)({__name:"UserProfileTabs",props:{tabs:null,selectedTab:null,edition:{type:Boolean},disabled:{type:Boolean,default:!1}},setup(e){const t=e,{tabs:n,selectedTab:r,disabled:s}=(0,i.BK)(t);function l(e){switch(e){case"ACCOUNT":case"PICTURE":return`/profile/edit/${e.toLocaleLowerCase()}`;case"APPS":case"PREFERENCES":case"SPORTS":return`/profile${t.edition?"/edit":""}/${e.toLocaleLowerCase()}`;default:case"PROFILE":return"/profile"+(t.edition?"/edit":"")}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Et,[(0,a._)("div",Tt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(n),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"profile-tab custom-checkbox",key:t},[(0,a._)("label",null,[(0,a._)("input",{type:"radio",id:t,name:t,checked:(0,i.SU)(r).split("/")[0]===t,disabled:(0,i.SU)(s),onInput:n=>e.$router.push(l(t))},null,40,pt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const Ot=At;var Ut=Ot;const Rt={id:"user-profile"},It={class:"box"};var gt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,{user:n,tab:r}=(0,i.BK)(t),o=["PROFILE","PREFERENCES","SPORTS","APPS"];return(e,t)=>{const s=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",Rt,[(0,a.Wm)(St.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",It,[(0,a.Wm)(Ut,{tabs:o,selectedTab:(0,i.SU)(r),edition:!1},null,8,["selectedTab"]),(0,a.Wm)(s,{user:(0,i.SU)(n)},null,8,["user"])])])}}});const Nt=(0,P.Z)(gt,[["__scopeId","data-v-9729cba4"]]);var zt=Nt,ht=n(7408),wt=n(6287);const ft={id:"user-preferences",class:"description-list"},vt={class:"profile-buttons"};var Ct=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,a.Fl)((()=>t.user.language?wt.zK[t.user.language]:wt.zK.en)),r=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),s=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris")),l=(0,a.Fl)((()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"));return(t,c)=>((0,a.wg)(),(0,a.iD)("div",ft,[(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.LANGUAGE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(n)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(s)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.FIRST_DAY_OF_WEEK"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`user.PROFILE.${(0,i.SU)(r)}`)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.UNITS.LABEL"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t("user.PROFILE.UNITS."+(e.user.imperial_units?"IMPERIAL":"METRIC"))),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.ASCENT_DATA"))+":",1),(0,a._)("dd",null,(0,o.zw)(t.$t(`common.${(0,i.SU)(l)}`)),1)]),(0,a._)("div",vt,[(0,a._)("button",{onClick:c[0]||(c[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:c[1]||(c[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Dt=Ct;var kt=Dt;const Pt={id:"user-profile-edition",class:"center-card"};var Lt=(0,a.aZ)({__name:"index",props:{user:null,tab:null},setup(e){const t=e,n=(0,c.o)(),{user:r,tab:s}=(0,i.BK)(t),u=["PROFILE","ACCOUNT","PICTURE","PREFERENCES","SPORTS"],d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING]));return(e,t)=>{const n=(0,a.up)("router-view"),l=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Pt,[(0,a.Wm)(l,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t(`user.PROFILE.${(0,i.SU)(s)}_EDITION`)),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(Ut,{tabs:u,selectedTab:(0,i.SU)(s),edition:!0,disabled:(0,i.SU)(d)},null,8,["selectedTab","disabled"]),(0,a.Wm)(n,{user:(0,i.SU)(r)},null,8,["user"])])),_:1})])}}});const Mt=Lt;var bt=Mt,yt=n(8403);const Gt={id:"user-infos-edition"},Ft={class:"profile-form form-box"},Wt={key:1,class:"info-box success-message"},Kt=["onSubmit"],Yt={class:"form-items",for:"email"},xt=["disabled"],Bt={class:"form-items",for:"password-field"},$t={class:"form-items",for:"new-password-field"},Zt={class:"form-buttons"},Ht={class:"confirm",type:"submit"};var qt=(0,a.aZ)({__name:"UserAccountEdition",props:{user:null},setup(e){const t=e,{user:n}=(0,i.BK)(t),r=(0,c.o)(),u=(0,i.qj)({email:"",password:"",new_password:""}),d=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.APP_CONFIG])),_=(0,a.Fl)((()=>r.getters[l.YN.GETTERS.IS_SUCCESS])),S=(0,i.iH)(!1),E=(0,a.Fl)((()=>r.getters[l.SY.GETTERS.ERROR_MESSAGES])),T=(0,i.iH)(!1),p=(0,i.iH)(!1);function A(){T.value=!0}function O(e){u.email=e.email}function U(e){u.password=e}function R(e){u.new_password=e}function I(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),S.value=u.email!==n.value.email,r.dispatch(l.YN.ACTIONS.UPDATE_USER_ACCOUNT,e)}function g(e){p.value=e}function N(e){r.dispatch(l.YN.ACTIONS.DELETE_ACCOUNT,{username:e})}return(0,a.bv)((()=>{t.user&&O(t.user)})),(0,a.Ah)((()=>{r.commit(l.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),r.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(0,a.YP)((()=>_.value),(async e=>{e&&(U(""),R(""),O(n.value),T.value=!1)})),(0,a.YP)((()=>n.value.email),(async()=>{O(n.value)})),(e,t)=>{const r=(0,a.up)("Modal"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Gt,[p.value?((0,a.wg)(),(0,a.j4)(r,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t("user.CONFIRM_ACCOUNT_DELETION"),onConfirmAction:t[0]||(t[0]=e=>N((0,i.SU)(n).username)),onCancelAction:t[1]||(t[1]=e=>g(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,a._)("div",Ft,[(0,i.SU)(E)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(E)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Wt,(0,o.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${S.value&&(0,i.SU)(m).is_email_sending_enabled?"EMAIL_":""}UPDATE`)),1)):(0,a.kq)("",!0),(0,a._)("form",{class:(0,o.C_)({errors:T.value}),onSubmit:(0,s.iM)(I,["prevent"])},[(0,a._)("label",Yt,[(0,a.Uk)((0,o.zw)(e.$t("user.EMAIL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=e=>u.email=e),disabled:(0,i.SU)(d),required:!0,onInvalid:A},null,40,xt),[[s.nr,u.email]])]),(0,a._)("label",Bt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(yt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:U,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("label",$t,[(0,a.Uk)((0,o.zw)(e.$t("user.NEW_PASSWORD"))+" ",1),(0,a.Wm)(yt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:u.new_password,isSuccess:!1,onUpdatePassword:R,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("div",Zt,[(0,a._)("button",Ht,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1),(0,a._)("button",{class:"danger",onClick:t[4]||(t[4]=(0,s.iM)((e=>g(!0)),["prevent"]))},(0,o.zw)(e.$t("buttons.DELETE_MY_ACCOUNT")),1)])],42,Kt)])])}}});const Vt=(0,P.Z)(qt,[["__scopeId","data-v-37b8c4c8"]]);var jt=Vt;const Xt={id:"user-infos-edition"},Jt={class:"profile-form form-box"},Qt=["onSubmit"],en={class:"form-items",for:"registrationDate"},tn=["value"],nn={class:"form-items",for:"first_name"},rn=["disabled"],an={class:"form-items",for:"last_name"},on={class:"form-items",for:"birth_date"},sn=["disabled"],ln={class:"form-items",for:"location"},cn=["disabled"],un={class:"form-items"},dn={class:"form-buttons"},mn={class:"confirm",type:"submit"};var _n=(0,a.aZ)({__name:"UserInfosEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({first_name:"",last_name:"",birth_date:"",location:"",bio:""}),u=(0,a.Fl)((()=>t.user.created_at?(0,ke.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),d=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function _(e){r.first_name=e.first_name?e.first_name:"",r.last_name=e.last_name?e.last_name:"",r.birth_date=e.birth_date?(0,ke.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function S(e){r.bio=e}function E(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PROFILE,r)}return(0,a.bv)((()=>{t.user&&_(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage"),l=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",Jt,[(0,i.SU)(m)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(m)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(E,["prevent"])},[(0,a._)("label",en,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+" ",1),(0,a._)("input",{id:"registrationDate",value:(0,i.SU)(u),disabled:""},null,8,tn)]),(0,a._)("label",nn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"first_name","onUpdate:modelValue":t[0]||(t[0]=e=>r.first_name=e),disabled:(0,i.SU)(d)},null,8,rn),[[s.nr,r.first_name]])]),(0,a._)("label",an,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+" ",1),(0,a.wy)((0,a._)("input",{id:"last_name","onUpdate:modelValue":t[1]||(t[1]=e=>r.last_name=e)},null,512),[[s.nr,r.last_name]])]),(0,a._)("label",on,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+" ",1),(0,a.wy)((0,a._)("input",{id:"birth_date",type:"date",class:"birth-date","onUpdate:modelValue":t[2]||(t[2]=e=>r.birth_date=e),disabled:(0,i.SU)(d)},null,8,sn),[[s.nr,r.birth_date]])]),(0,a._)("label",ln,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LOCATION"))+" ",1),(0,a.wy)((0,a._)("input",{id:"location","onUpdate:modelValue":t[3]||(t[3]=e=>r.location=e),disabled:(0,i.SU)(d)},null,8,cn),[[s.nr,r.location]])]),(0,a._)("label",un,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.BIO"))+" ",1),(0,a.Wm)(l,{name:"bio",charLimit:200,input:r.bio,disabled:(0,i.SU)(d),onUpdateValue:S},null,8,["input","disabled"])]),(0,a._)("div",dn,[(0,a._)("button",mn,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,Qt)])])}}});const Sn=(0,P.Z)(_n,[["__scopeId","data-v-b6bacea0"]]);var En=Sn;const Tn=e=>((0,a.dD)("data-v-687e9604"),e=e(),(0,a.Cn)(),e),pn={id:"user-picture-edition"},An={class:"user-picture-form"},On=["onSubmit"],Un={class:"picture-help"},Rn={class:"info-box"},In=Tn((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),gn={class:"picture-buttons"},Nn=["disabled"];var zn=(0,a.aZ)({__name:"UserPictureEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),_=m.value.max_single_file_size?(0,u.Z)(m.value.max_single_file_size):"",S=(0,i.iH)(null);function E(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(S.value=e.target.files[0])}function p(){S.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:S.value})}return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",pn,[(0,a._)("div",An,[(0,i.SU)(d)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(d)},null,8,["message"])):(0,a.kq)("",!0),(0,a.Wm)(Me.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,a._)("form",{onSubmit:(0,s.iM)(p,["prevent"])},[(0,a._)("input",{type:"file",name:"picture",accept:".png,.jpg,.gif",onInput:T},null,32),(0,a._)("div",Un,[(0,a._)("span",Rn,[In,(0,a.Uk)(" "+(0,o.zw)(e.$t("workouts.MAX_SIZE"))+": "+(0,o.zw)((0,i.SU)(_)),1)])]),(0,a._)("div",gn,[(0,a._)("button",{type:"submit",disabled:!S.value},(0,o.zw)(e.$t("user.PROFILE.PICTURE_UPDATE")),9,Nn),(0,i.SU)(r).picture?((0,a.wg)(),(0,a.iD)("button",{key:0,class:"danger",onClick:E},(0,o.zw)(e.$t("user.PROFILE.PICTURE_REMOVE")),1)):(0,a.kq)("",!0),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile"))},(0,o.zw)(e.$t("user.PROFILE.BACK_TO_PROFILE")),1)])],40,On)])])}}});const hn=(0,P.Z)(zn,[["__scopeId","data-v-687e9604"]]);var wn=hn;const fn=["Africa/Abidjan","Africa/Accra","Africa/Algiers","Africa/Bissau","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/El_Aaiun","Africa/Johannesburg","Africa/Juba","Africa/Khartoum","Africa/Lagos","Africa/Maputo","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Chicago","America/Chihuahua","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fortaleza","America/Fort_Nelson","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/La_Paz","America/Lima","America/Los_Angeles","America/Maceio","America/Managua","America/Manaus","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Johns","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Helsinki","Europe/Istanbul","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/Saratov","Europe/Simferopol","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zaporozhye","Europe/Zurich","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis"],vn={id:"tz-dropdown"},Cn=["value","disabled","onKeydown"],Dn=["onClick","onMouseover","autofocus"];var kn=(0,a.aZ)({__name:"TimezoneDropdown",props:{input:null,disabled:{type:Boolean,default:!1}},emits:["updateTimezone"],setup(e,{emit:t}){const n=e,{input:r,disabled:l}=(0,i.BK)(n),c=(0,i.iH)(n.input),u=(0,i.iH)(!1),d=(0,i.iH)(null),m=(0,i.iH)(0);function _(e){return e.toLowerCase().match(c.value.toLowerCase())}function S(e){m.value=e}function E(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&E(d.value?.firstElementChild?.innerHTML)}function p(e){e.preventDefault(),u.value=!0,c.value=e.target.value.trim()}return(0,a.YP)((()=>n.input),(e=>{c.value=e})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",vn,[(0,a._)("input",{class:"tz-dropdown-input",id:"timezone",name:"timezone",value:c.value,disabled:(0,i.SU)(l),required:"",onKeydown:[t[0]||(t[0]=(0,s.D2)((e=>E((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,Cn),u.value?((0,a.wg)(),(0,a.iD)("ul",{key:0,class:"tz-dropdown-list",ref_key:"tzList",ref:d},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(fn).filter((e=>_(e))),((e,t)=>((0,a.wg)(),(0,a.iD)("li",{key:e,class:(0,o.C_)(["tz-dropdown-item",{focus:t===m.value}]),onClick:t=>E(e),onMouseover:e=>S(t),autofocus:t===m.value},(0,o.zw)(e),43,Dn)))),128))],512)):(0,a.kq)("",!0)]))}});const Pn=(0,P.Z)(kn,[["__scopeId","data-v-47ea2903"]]);var Ln=Pn;const Mn={id:"user-preferences-edition"},bn={class:"profile-form form-box"},yn=["onSubmit"],Gn={class:"form-items"},Fn=["disabled"],Wn=["value"],Kn={class:"form-items"},Yn={class:"form-items form-checkboxes"},xn={class:"checkboxes-label"},Bn={class:"checkboxes"},$n=["id","name","checked","disabled","onInput"],Zn={class:"checkbox-label"},Hn={class:"form-items form-checkboxes"},qn={class:"checkboxes-label"},Vn={class:"checkboxes"},jn=["id","name","checked","disabled","onInput"],Xn={class:"checkbox-label"},Jn={class:"form-items form-checkboxes"},Qn={class:"checkboxes-label"},er={class:"checkboxes"},tr=["id","name","checked","disabled","onInput"],nr={class:"checkbox-label"},rr={class:"form-buttons"},ar={class:"confirm",type:"submit"};var or=(0,a.aZ)({__name:"UserPreferencesEdition",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({display_ascent:!0,imperial_units:!1,language:"",timezone:"Europe/Paris",weekm:!1}),u=[{label:"SUNDAY",value:!1},{label:"MONDAY",value:!0}],d=[{label:"METRIC",value:!1},{label:"IMPERIAL",value:!0}],m=[{label:"DISPLAYED",value:!0},{label:"HIDDEN",value:!1}],_=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),S=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function E(e){r.display_ascent=e.display_ascent,r.imperial_units=!!e.imperial_units&&e.imperial_units,r.language=e.language?e.language:"en",r.timezone=e.timezone?e.timezone:"Europe/Paris",r.weekm=!!e.weekm&&e.weekm}function T(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function p(e){r.timezone=e}function A(e){r.display_ascent=e}function O(e){r.imperial_units=e}function U(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&E(t.user)})),(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)})),(e,t)=>{const n=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Mn,[(0,a._)("div",bn,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(T,["prevent"])},[(0,a._)("label",Gn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.LANGUAGE"))+" ",1),(0,a.wy)((0,a._)("select",{id:"language","onUpdate:modelValue":t[0]||(t[0]=e=>r.language=e),disabled:(0,i.SU)(_)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(wt.mT),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,Wn)))),128))],8,Fn),[[s.bM,r.language]])]),(0,a._)("label",Kn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.TIMEZONE"))+" ",1),(0,a.Wm)(Ln,{input:r.timezone,disabled:(0,i.SU)(_),onUpdateTimezone:p},null,8,["input","disabled"])]),(0,a._)("div",Yn,[(0,a._)("span",xn,(0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),(0,a._)("div",Bn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(u,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.weekm,disabled:(0,i.SU)(_),onInput:e=>U(t.value)},null,40,$n),(0,a._)("span",Zn,(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),1)]))),64))])]),(0,a._)("div",Hn,[(0,a._)("span",qn,(0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL")),1),(0,a._)("div",Vn,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(d,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.imperial_units,disabled:(0,i.SU)(_),onInput:e=>O(t.value)},null,40,jn),(0,a._)("span",Xn,(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),1)]))),64))])]),(0,a._)("div",Jn,[(0,a._)("span",Qn,(0,o.zw)(e.$t("user.PROFILE.ASCENT_DATA")),1),(0,a._)("div",er,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(m,(t=>(0,a._)("label",{key:t.label},[(0,a._)("input",{type:"radio",id:t.label,name:t.label,checked:t.value===r.display_ascent,disabled:(0,i.SU)(_),onInput:e=>A(t.value)},null,40,tr),(0,a._)("span",nr,(0,o.zw)(e.$t(`common.${t.label}`)),1)]))),64))])]),(0,a._)("div",rr,[(0,a._)("button",ar,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[1]||(t[1]=(0,s.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const sr=(0,P.Z)(or,[["__scopeId","data-v-f7548012"]]);var ir=sr;const lr=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],cr=["application:write"],ur={id:"new-oauth2-app"},dr={id:"new-oauth2-title"},mr={id:"apps-form"},_r=["onSubmit"],Sr={class:"form-items"},Er={class:"form-item"},Tr={for:"app-name"},pr={class:"form-item"},Ar={for:"app-description"},Or={class:"form-item"},Ur={for:"app-url"},Rr={class:"form-item"},Ir={for:"app-redirect-uri"},gr={class:"form-item-scope"},Nr={class:"form-item-scope-label"},zr={class:"scope-label"},hr=["name","checked","onChange"],wr=["innerHTML"],fr={class:"form-buttons"},vr=["disabled"];var Cr=(0,a.aZ)({__name:"AddUserApp",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),r=(0,i.qj)({client_name:"",client_uri:"",client_description:"",redirect_uri:""}),u=(0,i.qj)([]),d=(0,a.Fl)((()=>E(t.authUser,cr,lr)));function m(){const e={client_name:r.client_name,client_description:r.client_description,client_uri:r.client_uri,redirect_uris:[r.redirect_uri],scope:u.sort().join(" ")};n.dispatch(l.Km.ACTIONS.CREATE_CLIENT,e)}function _(e){r.client_description=e}function S(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function E(e,t,n){const r=[...n];return e.admin&&r.push(...t),r.sort()}return(e,t)=>{const n=(0,a.up)("CustomTextArea");return(0,a.wg)(),(0,a.iD)("div",ur,[(0,a._)("h1",dr,(0,o.zw)(e.$t("oauth2.ADD_A_NEW_APP")),1),(0,a._)("div",mr,[(0,a._)("form",{onSubmit:(0,s.iM)(m,["prevent"])},[(0,a._)("div",Sr,[(0,a._)("div",Er,[(0,a._)("label",Tr,(0,o.zw)(e.$t("oauth2.APP.NAME"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-name",type:"text",required:"","onUpdate:modelValue":t[0]||(t[0]=e=>r.client_name=e)},null,512),[[s.nr,r.client_name]])]),(0,a._)("div",pr,[(0,a._)("label",Ar,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION")),1),(0,a.Wm)(n,{name:"app-description",charLimit:200,input:r.description,onUpdateValue:_},null,8,["input"])]),(0,a._)("div",Or,[(0,a._)("label",Ur,(0,o.zw)(e.$t("oauth2.APP.URL"))+"*",1),(0,a.wy)((0,a._)("input",{id:"app-url",type:"text",required:"","onUpdate:modelValue":t[1]||(t[1]=e=>r.client_uri=e)},null,512),[[s.nr,r.client_uri]])]),(0,a._)("div",Rr,[(0,a._)("label",Ir,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+"* ",1),(0,a.wy)((0,a._)("input",{id:"app-redirect-uri",type:"text",required:"","onUpdate:modelValue":t[2]||(t[2]=e=>r.redirect_uri=e)},null,512),[[s.nr,r.redirect_uri]])]),(0,a._)("div",gr,[(0,a._)("div",Nr,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+"* ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("div",{class:"form-item-scope-checkboxes",key:t},[(0,a._)("label",zr,[(0,a._)("input",{type:"checkbox",name:t,checked:u.includes(t),onChange:e=>S(t)},null,40,hr),(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("p",{class:"scope-description",innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,wr)])))),128))])]),(0,a._)("div",fr,[(0,a._)("button",{class:"confirm",type:"submit",disabled:0===u.length},(0,o.zw)(e.$t("buttons.SUBMIT")),9,vr),(0,a._)("button",{class:"cancel",onClick:t[3]||(t[3]=(0,s.iM)((()=>e.$router.push("/profile/apps")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,_r)])])}}});const Dr=(0,P.Z)(Cr,[["__scopeId","data-v-0657ee77"]]);var kr=Dr;const Pr={id:"authorize-oauth2-app"},Lr={key:0},Mr={id:"authorize-oauth2-title"},br={class:"oauth2-access description-list"},yr={class:"client-scope"},Gr=["innerHTML"],Fr={class:"authorize-oauth2-buttons"},Wr={key:1},Kr={class:"no-app"};var Yr=(0,a.aZ)({__name:"AuthorizeUserApp",setup(e){const t=(0,r.yj)(),n=(0,c.o)(),s=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENT])),u=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function d(){t.query.client_id&&"string"===typeof t.query.client_id&&n.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID,t.query.client_id)}function m(){n.dispatch(l.Km.ACTIONS.AUTHORIZE_CLIENT,{client_id:`${t.query.client_id}`,redirect_uri:`${t.query.redirect_uri}`,response_type:`${t.query.response_type}`,scope:`${t.query.scope}`,state:`${t.query.state?t.query.state:""}`,code_challenge:`${t.query.code_challenge?t.query.code_challenge:""}`,code_challenge_method:`${t.query.code_challenge_method?t.query.code_challenge_method:""}`})}return(0,a.wF)((()=>d())),(e,t)=>{const n=(0,a.up)("router-link"),r=(0,a.up)("i18n-t"),l=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Pr,[(0,i.SU)(s).client_id?((0,a.wg)(),(0,a.iD)("div",Lr,[(0,a._)("h1",Mr,[(0,a.Wm)(r,{keypath:"oauth2.AUTHORIZE_APP"},{default:(0,a.w5)((()=>[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).name),1)])),_:1},8,["to"])])),_:1})]),(0,i.SU)(u)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(u)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("div",br,[(0,a._)("p",null,(0,o.zw)(e.$t("oauth2.APP_REQUESTING_ACCESS")),1),(0,a._)("dl",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(s).scope.split(" "),(t=>((0,a.wg)(),(0,a.iD)(a.HY,{key:t},[(0,a._)("dt",yr,[(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("dd",{innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Gr)],64)))),128))]),(0,a._)("div",Fr,[(0,a._)("button",{class:"danger",onClick:m},(0,o.zw)(e.$t("buttons.AUTHORIZE")),1),(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])])])):((0,a.wg)(),(0,a.iD)("div",Wr,[(0,a._)("p",Kr,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const xr=(0,P.Z)(Yr,[["__scopeId","data-v-3b2fe9ed"]]);var Br=xr;const $r={id:"oauth2-apps"};var Zr=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,n=(0,c.o)(),{user:r}=(0,i.BK)(t);return(0,a.Ah)((()=>{n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.Km.MUTATIONS.SET_CLIENTS,[])})),(e,t)=>{const n=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",$r,[(0,a.Wm)(n,{authUser:(0,i.SU)(r)},null,8,["authUser"])])}}});const Hr=Zr;var qr=Hr;const Vr={id:"oauth2-app",class:"description-list"},jr={key:1},Xr={key:0,class:"info-box success-message"},Jr=["title"],Qr={key:0},ea={key:1,class:"app-secret"},ta=["title"],na={class:"client-scopes"},ra={class:"app-buttons"},aa={key:2},oa={class:"no-app"};var sa=(0,a.aZ)({__name:"UserApp",props:{authUser:null,afterCreation:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,r.yj)(),s=(0,c.o)(),{afterCreation:u,authUser:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.CLIENT])),_=(0,a.Fl)((()=>s.getters[l.Km.GETTERS.REVOCATION_SUCCESSFUL])),S=(0,i.iH)(!1),E=(0,i.iH)(null),T=(0,i.iH)(!1),p=(0,i.iH)(!1),A=(0,i.iH)(!1);function O(){!u.value&&n.params.id&&"string"===typeof n.params.id&&s.dispatch(l.Km.ACTIONS.GET_CLIENT_BY_ID,+n.params.id)}function U(e){E.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",R(!0)}function R(e){S.value=e,e||(E.value=null)}function I(e){"oauth2.APP_DELETION_CONFIRMATION"===E.value?s.dispatch(l.Km.ACTIONS.DELETE_CLIENT,e):s.dispatch(l.Km.ACTIONS.REVOKE_ALL_TOKENS,e)}function g(){navigator.clipboard.writeText(m.value.client_id),T.value=!0,p.value=!1,setTimeout((()=>{T.value=!1}),3e3)}function N(){m.value.client_secret&&(navigator.clipboard.writeText(m.value.client_secret),p.value=!0,T.value=!1,setTimeout((()=>{p.value=!1}),3e3))}return(0,a.wF)((()=>{O(),navigator.clipboard&&(A.value=!0)})),(0,a.Ah)((()=>{s.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),s.commit(l.Km.MUTATIONS.EMPTY_CLIENT),s.commit(l.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1)})),(0,a.YP)((()=>_.value),(e=>{e&&R(!1)})),(e,t)=>{const n=(0,a.up)("Modal");return(0,a.wg)(),(0,a.iD)("div",Vr,[S.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(E.value),onConfirmAction:t[0]||(t[0]=e=>I((0,i.SU)(m).id)),onCancelAction:t[1]||(t[1]=e=>R(!1))},null,8,["title","message"])):(0,a.kq)("",!0),(0,i.SU)(m)&&(0,i.SU)(m).client_id?((0,a.wg)(),(0,a.iD)("div",jr,[(0,i.SU)(u)||(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Xr,(0,o.zw)(e.$t((0,i.SU)(u)?"oauth2.APP_CREATED_SUCCESSFULLY":"oauth2.TOKENS_REVOKED")),1)):(0,a.kq)("",!0),(0,a._)("dl",null,[(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.CLIENT_ID"))+":",1),(0,a._)("dd",null,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_id)+" ",1),(0,i.SU)(u)&&A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(T.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:g},null,10,Jr)):(0,a.kq)("",!0)]),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dt",Qr,(0,o.zw)(e.$t("oauth2.APP.CLIENT_SECRET"))+": ",1)):(0,a.kq)("",!0),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dd",ea,[(0,a.Uk)((0,o.zw)((0,i.SU)(m).client_secret)+" ",1),A.value?((0,a.wg)(),(0,a.iD)("i",{key:0,class:(0,o.C_)("fa fa-"+(p.value?"check":"copy")),"aria-hidden":"true",title:e.$t("oauth2.COPY_TO_CLIPBOARD"),onClick:N},null,10,ta)):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("dt",null,(0,o.zw)((0,o.kC)(e.$t("oauth2.APP.ISSUE_AT")))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)((0,i.SU)(m).issued_at,(0,i.SU)(d).timezone),"dd/MM/yyyy HH:mm")),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.NAME"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).name),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.DESCRIPTION"))+":",1),(0,a._)("dd",{class:(0,o.C_)({"no-description":!(0,i.SU)(m).client_description})},(0,o.zw)((0,i.SU)(m).client_description?(0,i.SU)(m).client_description:e.$t("oauth2.NO_DESCRIPTION")),3),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).website),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.REDIRECT_URL"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(m).redirect_uris.length>0?(0,i.SU)(m).redirect_uris[0]:""),1),(0,a._)("dt",null,(0,o.zw)(e.$t("oauth2.APP.SCOPE.LABEL"))+":",1),(0,a._)("dd",na,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(m).scope.split(" "),(e=>((0,a.wg)(),(0,a.iD)("span",{class:"client-scope",key:e},[(0,a._)("code",null,(0,o.zw)(e),1)])))),128))])]),(0,a._)("div",ra,[(0,a._)("button",{class:"danger",onClick:t[2]||(t[2]=e=>U(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>U(!0))},(0,o.zw)(e.$t("oauth2.DELETE_APP")),1),(0,a._)("button",{onClick:t[4]||(t[4]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)])])):((0,a.wg)(),(0,a.iD)("div",aa,[(0,a._)("p",oa,(0,o.zw)(e.$t("oauth2.NO_APP")),1),(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/apps"))},(0,o.zw)(e.$t("buttons.BACK")),1)]))])}}});const ia=(0,P.Z)(sa,[["__scopeId","data-v-00697fc9"]]);var la=ia;const ca={id:"oauth2-apps-list"},ua={class:"apps-list"},da={key:0},ma={class:"app-issued-at"},_a={key:1,class:"no-apps"},Sa={class:"app-list-buttons"};var Ea=(0,a.aZ)({__name:"UserAppsList",props:{authUser:null},setup(e){const t=e,n=(0,c.o)(),s=(0,r.yj)(),{authUser:u}=(0,i.BK)(t),d=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS])),m=(0,a.Fl)((()=>n.getters[l.Km.GETTERS.CLIENTS_PAGINATION]));let _=S(s.query);function S(e){const t={};return e.page&&(t.page=(0,Ye.z_)(e.page,Ye.Hf)),t}function E(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{E(_)})),(0,a.YP)((()=>s.query),(async e=>{_=S(e),E(_)})),(e,t)=>{const n=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",ca,[(0,a._)("p",ua,(0,o.zw)(e.$t("oauth2.APPS_LIST")),1),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.iD)("ul",da,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(d),(t=>((0,a.wg)(),(0,a.iD)("li",{key:t.client_id},[(0,a.Wm)(n,{to:{name:"UserApp",params:{id:t.id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(t.name),1)])),_:2},1032,["to"]),(0,a._)("span",ma,(0,o.zw)(e.$t("oauth2.APP.ISSUE_AT"))+" "+(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(xe.eB)(t.issued_at,(0,i.SU)(u).timezone),"dd/MM/yyyy HH:mm")),1)])))),128))])):((0,a.wg)(),(0,a.iD)("div",_a,(0,o.zw)(e.$t("oauth2.NO_APPS")),1)),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.j4)(Le.Z,{key:2,pagination:(0,i.SU)(m),path:"/profile/apps",query:(0,i.SU)(_)},null,8,["pagination","query"])):(0,a.kq)("",!0),(0,a._)("div",Sa,[(0,a._)("button",{onClick:t[0]||(t[0]=t=>e.$router.push("/profile/apps/new"))},(0,o.zw)(e.$t("oauth2.NEW_APP")),1),(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)])])}}});const Ta=(0,P.Z)(Ea,[["__scopeId","data-v-a5c2cdde"]]);var pa=Ta;const Aa={id:"user-sport-preferences"},Oa={key:0,class:"responsive-table"},Ua={class:"mobile-display"},Ra={key:0,class:"profile-buttons mobile-display"},Ia={key:1,class:"profile-buttons"},ga={class:"text-left"},Na={key:0},za={class:"cell-heading"},ha=["value"],wa={class:"cell-heading"},fa={key:0,class:"disabled-message"},va={key:1,class:"fa fa-refresh fa-spin fa-fw"},Ca={class:"cell-heading"},Da={class:"cell-heading"},ka=["checked"],Pa={class:"cell-heading"},La=["value"],Ma={key:1},ba={key:0,class:"action-buttons"},ya={class:"cell-heading"},Ga=["onClick"],Fa={key:1,class:"edition-buttons"},Wa=["disabled"],Ka=["disabled","onClick"],Ya=["disabled"],xa={key:0,class:"profile-buttons"},Ba={key:1,class:"profile-buttons"};var $a=(0,a.aZ)({__name:"UserSportPreferences",props:{user:null,isEdition:{type:Boolean}},setup(e){const t=e,n=(0,c.o)(),{t:r}=(0,ie.QT)(),{isEdition:u,user:d}=(0,i.BK)(t),m="#838383",_=(0,a.f3)("sportColors"),S=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),E=(0,a.Fl)((()=>(0,le.xH)(S.value,r,"is_active",d.value.sports_list))),T=(0,a.Fl)((()=>n.getters[l.YN.GETTERS.USER_LOADING])),p=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),A=(0,i.qj)({sport_id:0,color:null,is_active:!0,stopped_speed_threshold:1});function O(e){null!==e?(A.sport_id=e.id,A.color=e.color?e.color:_?_[e.label]:m,A.is_active=e.is_active_for_user,A.stopped_speed_threshold=e.stopped_speed_threshold):N()}function U(e){return A.sport_id===e}function R(e){A.color=e.target.value}function I(e){A.stopped_speed_threshold=parseFloat(e.target.value)}function g(e){A.is_active=e.target.checked}function N(){A.sport_id=0,A.color=null,A.is_active=!0,A.stopped_speed_threshold=1,n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES)}function z(e){e.preventDefault(),n.dispatch(l.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,A)}function h(e,t){e.preventDefault(),n.dispatch(l.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES,t)}return(0,a.YP)((()=>T.value),(e=>{e||p.value||N()})),(e,t)=>{const n=(0,a.up)("SportImage"),r=(0,a.up)("ErrorMessage");return(0,a.wg)(),(0,a.iD)("div",Aa,[(0,i.SU)(S).length>0?((0,a.wg)(),(0,a.iD)("div",Oa,[(0,a._)("div",Ua,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Ra,[(0,a._)("button",{class:"cancel",onClick:t[0]||(t[0]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ia,[(0,a._)("button",{onClick:t[1]||(t[1]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[2]||(t[2]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]),(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),(0,a._)("th",ga,(0,o.zw)(e.$t("workouts.SPORT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),(0,a._)("th",null,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("th",Na,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1)):(0,a.kq)("",!0)])]),(0,a._)("tbody",null,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(E),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",za,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),U(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:A.color,onInput:R},null,40,ha)):((0,a.wg)(),(0,a.j4)(n,{key:1,title:s.translatedLabel,"sport-label":s.label,color:s.color?s.color:(0,i.SU)(_)[s.label]},null,8,["title","sport-label","color"]))]),(0,a._)("td",{class:(0,o.C_)(["sport-label",{"disabled-sport":!s.is_active}])},[(0,a._)("span",wa,(0,o.zw)(e.$t("user.PROFILE.SPORT.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(s.translatedLabel)+" ",1),s.is_active?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("span",fa," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(T)&&U(s.id)?((0,a.wg)(),(0,a.iD)("i",va)):(0,a.kq)("",!0),(0,i.SU)(p)&&A.sport_id===s.id?((0,a.wg)(),(0,a.j4)(r,{key:2,message:(0,i.SU)(p)},null,8,["message"])):(0,a.kq)("",!0)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Ca,(0,o.zw)(e.$t("workouts.WORKOUT",0)),1),(0,a._)("i",{class:(0,o.C_)("fa fa"+((0,i.SU)(d).sports_list.includes(s.id)?"-check":"")),"aria-hidden":"true"},null,2)],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Da,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),U(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,type:"checkbox",checked:s.is_active_for_user,onChange:g},null,40,ka)):((0,a.wg)(),(0,a.iD)("i",{key:1,class:(0,o.C_)("fa fa"+(s.is_active_for_user?"-check":"")),"aria-hidden":"true"},null,2))],2),(0,a._)("td",{class:(0,o.C_)(["text-center",{"disabled-sport":!s.is_active}])},[(0,a._)("span",Pa,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),U(s.id)&&s.is_active?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"threshold-input",type:"number",min:"0",step:"0.1",value:A.stopped_speed_threshold,onInput:I},null,40,La)):((0,a.wg)(),(0,a.iD)("span",Ma,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",ba,[(0,a._)("span",ya,(0,o.zw)(e.$t("user.PROFILE.SPORT.ACTION")),1),0===A.sport_id?((0,a.wg)(),(0,a.iD)("button",{key:0,onClick:e=>O(s)},(0,o.zw)(e.$t("buttons.EDIT")),9,Ga)):(0,a.kq)("",!0),U(s.id)?((0,a.wg)(),(0,a.iD)("div",Fa,[(0,a._)("button",{disabled:(0,i.SU)(T),onClick:z},(0,o.zw)(e.$t("buttons.SUBMIT")),9,Wa),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:e=>h(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,Ka),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:t[3]||(t[3]=e=>O(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ya)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",xa,[(0,a._)("button",{class:"cancel",onClick:t[4]||(t[4]=(0,s.iM)((t=>e.$router.push("/profile/sports")),["prevent"]))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,a.wg)(),(0,a.iD)("div",Ba,[(0,a._)("button",{onClick:t[5]||(t[5]=t=>e.$router.push("/profile/edit/sports"))},(0,o.zw)(e.$t("user.PROFILE.EDIT_SPORTS_PREFERENCES")),1),(0,a._)("button",{onClick:t[6]||(t[6]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))])):(0,a.kq)("",!0)])}}});const Za=(0,P.Z)($a,[["__scopeId","data-v-74e52489"]]);var Ha=Za,qa=n(2894);const Va=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),ja={class:"about-text"},Xa=["innerHTML"],Ja=Va((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),Qa={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},eo=Va((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),to={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},no=Va((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),ro=Va((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),ao={key:0},oo=Va((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),so=["href"];var io=(0,a.aZ)({__name:"About",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.SY.GETTERS.APP_CONFIG]));return(e,t)=>{const r=(0,a.up)("i18n-t");return(0,a.wg)(),(0,a.iD)("div",ja,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,Xa),(0,a._)("p",null,[Ja,(0,a._)("a",Qa,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[eo,(0,a._)("a",to,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[no,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[ro])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",ao,[oo,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,so)])):(0,a.kq)("",!0)])])}}});const lo=(0,P.Z)(io,[["__scopeId","data-v-74257266"]]);var co=lo;const uo={id:"bike"},mo=["src"];function _o(e,t){return(0,a.wg)(),(0,a.iD)("div",uo,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,mo)])}const So={},Eo=(0,P.Z)(So,[["render",_o],["__scopeId","data-v-795f7f5f"]]);var To=Eo;const po={id:"about",class:"view"},Ao={class:"container"},Oo={class:"container-sub"},Uo={class:"container-sub about-details"};var Ro=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",po,[(0,a._)("div",Ao,[(0,a._)("div",Oo,[(0,a.Wm)(To)]),(0,a._)("div",Uo,[(0,a.Wm)(co)])])]))}});const Io=(0,P.Z)(Ro,[["__scopeId","data-v-bffb50d0"]]);var go=Io,No=n(1818),zo=n(2056);const ho=e=>((0,a.dD)("data-v-c9d1f10c"),e=e(),(0,a.Cn)(),e),wo={class:"timeline-workout"},fo={class:"box"},vo={class:"workout-user-date"},Co={class:"workout-user"},Do=["title"],ko={key:0},Po={key:1,class:"no-map"},Lo={class:"img"},Mo={class:"data"},bo=ho((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),yo={key:0},Go={class:"data"},Fo=ho((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),Wo={key:0,class:"data elevation"},Ko=["alt"],Yo={class:"data-values"},xo=(0,a.Uk)("/ "),Bo={key:1,class:"data altitude"},$o=ho((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Zo={class:"data-values"},Ho=(0,a.Uk)(" +"),qo=(0,a.Uk)("/- ");var Vo=(0,a.aZ)({__name:"WorkoutCard",props:{user:null,useImperialUnits:{type:Boolean},workout:{default:()=>({})},sport:{default:()=>({})}},setup(e){const t=e,n=(0,c.o)(),{user:r,workout:s,sport:u,useImperialUnits:d}=(0,i.BK)(t),m=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));return(e,t)=>{const n=(0,a.up)("router-link"),l=(0,a.up)("SportImage"),c=(0,a.up)("Distance");return(0,a.wg)(),(0,a.iD)("div",wo,[(0,a._)("div",fo,[(0,a._)("div",vo,[(0,a._)("div",Co,[(0,a.Wm)(Me.Z,{user:(0,i.SU)(r)},null,8,["user"]),(0,i.SU)(r).username?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-user-name",to:{name:"User",params:{username:(0,i.SU)(r).username}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(r).username),1)])),_:1},8,["to"])):(0,a.kq)("",!0)]),(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(n,{key:0,class:"workout-title",to:{name:"Workout",params:{workoutId:(0,i.SU)(s).id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)((0,i.SU)(s).title),1)])),_:1},8,["to"])):(0,a.kq)("",!0),(0,i.SU)(s).workout_date&&(0,i.SU)(r)?((0,a.wg)(),(0,a.iD)("div",{key:1,class:"workout-date",title:(0,i.SU)(ke.Z)((0,i.SU)(xe.eB)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone),"dd/MM/yyyy HH:mm")},(0,o.zw)((0,i.SU)(No.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,Do)):(0,a.kq)("",!0)]),(0,a._)("div",{class:(0,o.C_)(["workout-map",{"no-cursor":!(0,i.SU)(s)}]),onClick:t[0]||(t[0]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("div",ko,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(zo.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",Po,(0,o.zw)(e.$t("workouts.NO_MAP")),1))])):(0,a.kq)("",!0)],2),(0,a._)("div",{class:(0,o.C_)(["workout-data",{"without-gpx":(0,i.SU)(s)&&!(0,i.SU)(s).with_gpx}]),onClick:t[1]||(t[1]=t=>(0,i.SU)(s).id?e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(s).id}}):null)},[(0,a._)("div",Lo,[(0,i.SU)(u).label?((0,a.wg)(),(0,a.j4)(l,{key:0,"sport-label":(0,i.SU)(u).label,color:(0,i.SU)(u).color},null,8,["sport-label","color"])):(0,a.kq)("",!0)]),(0,a._)("div",Mo,[bo,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",yo,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Go,[Fo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).distance,digits:3,unitFrom:"km",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)]),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",Wo,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,Ko),(0,a._)("div",Yo,[(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).min_alt,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),xo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).max_alt,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),(0,i.SU)(s)&&(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.iD)("div",Bo,[$o,(0,a._)("div",Zo,[Ho,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:0,distance:(0,i.SU)(s).ascent,unitFrom:"m",displayUnit:!1,useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0),qo,(0,i.SU)(s).id?((0,a.wg)(),(0,a.j4)(c,{key:1,distance:(0,i.SU)(s).descent,unitFrom:"m",useImperialUnits:(0,i.SU)(d)},null,8,["distance","useImperialUnits"])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0)],2)])])}}});const jo=(0,P.Z)(Vo,[["__scopeId","data-v-c9d1f10c"]]);var Xo=jo,Jo=n(5630),Qo=n(3768);const es={id:"timeline"},ts={class:"section-title"},ns={key:0},rs={key:1},as={key:1,class:"more-workouts"};var os=(0,a.aZ)({__name:"Timeline",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:s}=(0,i.BK)(t),u=(0,i.iH)(1),d=5,m=t.user.nb_workouts>=d?d:t.user.nb_workouts;(0,a.wF)((()=>E()));const _=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),S=(0,a.Fl)((()=>_.value.length>0&&null!==_.value[_.value.length-1].previous_workout));function E(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...Qo.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",es,[(0,a._)("div",ts,(0,o.zw)(e.$t("workouts.LATEST_WORKOUTS")),1),(0,i.SU)(s).nb_workouts>0&&0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.iD)("div",ns,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)([...Array((0,i.SU)(m)).keys()],(e=>((0,a.wg)(),(0,a.j4)(Xo,{user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e},null,8,["user","useImperialUnits"])))),128))])):((0,a.wg)(),(0,a.iD)("div",rs,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(e=>((0,a.wg)(),(0,a.j4)(Xo,{workout:e,sport:(0,i.SU)(_).length>0?(0,i.SU)(r).filter((t=>t.id===e.sport_id))[0]:null,user:(0,i.SU)(s),useImperialUnits:(0,i.SU)(s).imperial_units,key:e.id},null,8,["workout","sport","user","useImperialUnits"])))),128)),0===(0,i.SU)(_).length?((0,a.wg)(),(0,a.j4)(Jo.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(S)?((0,a.wg)(),(0,a.iD)("div",as,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const ss=(0,P.Z)(os,[["__scopeId","data-v-35567bf2"]]);var is=ss,ls=n(1640),cs=n(4559),us=n(7349),ds=n(1743),ms=n(4703),_s=n(1085);const Ss=["title"];var Es=(0,a.aZ)({__name:"CalendarWorkout",props:{displayHARecord:{type:Boolean},workout:null,sportLabel:null,sportColor:null},setup(e){const t=e,{displayHARecord:n,workout:r,sportLabel:o,sportColor:s}=(0,i.BK)(t);return(e,t)=>{const l=(0,a.up)("SportImage");return(0,a.wg)(),(0,a.iD)("div",{class:"calendar-workout",onClick:t[0]||(t[0]=t=>e.$router.push({name:"Workout",params:{workoutId:(0,i.SU)(r).id}}))},[(0,a.Wm)(l,{"sport-label":(0,i.SU)(o),title:(0,i.SU)(r).title,color:(0,i.SU)(s)},null,8,["sport-label","title","color"]),(0,a._)("sup",null,[(0,i.SU)(r).records.length>0?((0,a.wg)(),(0,a.iD)("i",{key:0,class:"fa fa-trophy custom-fa-small","aria-hidden":"true",title:(0,i.SU)(r).records.filter((e=>!!(0,i.SU)(n)||"HA"!==e.record_type)).map((t=>` ${e.$t(`workouts.RECORD_${t.record_type}`)}`))},null,8,Ss)):(0,a.kq)("",!0)])])}}});const Ts=Es;var ps=Ts;const As={class:"donut-chart"},Os={height:"34",width:"34",viewBox:"0 0 34 34"},Us=["stroke","stroke-dashoffset","transform"];var Rs=(0,a.aZ)({__name:"DonutChart",props:{colors:null,datasets:null},setup(e){const t=e,{colors:n,datasets:r}=(0,i.BK)(t);let o=-90;const s=16,l=16,c=14,u=2*Math.PI*c;function d(e,t){return t-e*t}function m(e,t){const n=`rotate(${o}, ${s}, ${l})`;return o=360*t+o,n}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",As,[((0,a.wg)(),(0,a.iD)("svg",Os,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.entries((0,i.SU)(r)),((e,t)=>((0,a.wg)(),(0,a.iD)("g",{key:t},[(0,a._)("circle",{cx:s,cy:l,r:c,fill:"transparent",stroke:(0,i.SU)(n)[+e[0]],"stroke-dashoffset":d(e[1].percentage,u),"stroke-dasharray":u,"stroke-width":"3","stroke-opacity":"0.8",transform:m(t,e[1].percentage)},null,8,Us)])))),128))]))]))}});const Is=Rs;var gs=Is;const Ns={class:"calendar-workouts-chart"},zs={class:"workouts-count"},hs={key:0,class:"workouts-pane"},ws={class:"more-workouts"};var fs=(0,a.aZ)({__name:"CalendarWorkoutsChart",props:{colors:null,datasets:null,sports:null,workouts:null},setup(e){const t=e,{colors:n,datasets:r,sports:s,workouts:l}=(0,i.BK)(t),c=(0,i.iH)(!0);function u(e){e.stopPropagation(),c.value=!c.value}return(e,t)=>{const d=(0,a.Q2)("click-outside");return(0,a.wg)(),(0,a.iD)("div",Ns,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",zs,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(gs,{datasets:(0,i.SU)(r),colors:(0,i.SU)(n)},null,8,["datasets","colors"])]),c.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",hs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",ws,[(0,a._)("i",{class:"fa fa-times calendar-more","aria-hidden":"true",onClick:u}),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(l),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(s)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(s))},null,8,["workout","sportLabel","sportColor"])))),128))])),[[d,u]])]))])}}});const vs=(0,P.Z)(fs,[["__scopeId","data-v-52d4310a"]]);var Cs=vs;const Ds={class:"calendar-workouts"},ks={class:"desktop-display"},Ps={key:0,class:"workouts-display"},Ls={key:1,class:"donut-display"},Ms={class:"mobile-display"},bs={key:0,class:"donut-display"};var ys=(0,a.aZ)({__name:"CalendarWorkouts",props:{displayHARecord:{type:Boolean},workouts:null,sports:null},setup(e){const t=e,{displayHARecord:n,workouts:r,sports:o}=(0,i.BK)(t),s=(0,a.Fl)((()=>(0,Qo.BN)(t.workouts))),l=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),c=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ds,[(0,a._)("div",ks,[(0,i.SU)(r).length<=c?((0,a.wg)(),(0,a.iD)("div",Ps,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(r).slice(0,c),((e,t)=>((0,a.wg)(),(0,a.j4)(ps,{key:t,displayHARecord:(0,i.SU)(n),workout:e,sportLabel:(0,i.SU)(le.PA)(e,(0,i.SU)(o)),sportColor:(0,i.SU)(le.CM)(e,(0,i.SU)(o))},null,8,["displayHARecord","workout","sportLabel","sportColor"])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ls,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])]))]),(0,a._)("div",Ms,[(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",bs,[(0,a.Wm)(Cs,{workouts:(0,i.SU)(r),sports:(0,i.SU)(o),datasets:(0,i.SU)(s),colors:(0,i.SU)(l)},null,8,["workouts","sports","datasets","colors"])])):(0,a.kq)("",!0)])]))}});const Gs=ys;var Fs=Gs;const Ws={class:"calendar-cells"},Ks={class:"calendar-cell-day"};var Ys=(0,a.aZ)({__name:"CalendarCells",props:{currentDay:null,displayHARecord:{type:Boolean},endDate:null,sports:null,startDate:null,timezone:null,weekStartingMonday:{type:Boolean},workouts:null},setup(e){const t=e,{currentDay:n,displayHARecord:r,endDate:s,sports:l,startDate:c,timezone:u,weekStartingMonday:d,workouts:m}=(0,i.BK)(t),_=(0,i.iH)([]);function S(){_.value=[];let e=c.value;while(e<=s.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,us.Z)(e,1);_.value.push(t)}}function E(e){return d.value?[5,6].includes(e):[0,6].includes(e)}function T(e,t){return t?t.filter((t=>(0,ds.Z)((0,xe.eB)(t.workout_date,u.value),e))).reverse():[]}return(0,a.bv)((()=>S())),(0,a.YP)((()=>t.currentDay),(()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ws,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(_.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:"calendar-row",key:t},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,o.C_)(["calendar-cell",{"disabled-cell":!(0,i.SU)(ms.Z)(e,(0,i.SU)(n)),"week-end":E(t),today:(0,i.SU)(_s.Z)(e)}]),key:t},[(0,a.Wm)(Fs,{workouts:T(e,(0,i.SU)(m)),sports:(0,i.SU)(l),displayHARecord:(0,i.SU)(r)},null,8,["workouts","sports","displayHARecord"]),(0,a._)("div",Ks,(0,o.zw)((0,i.SU)(ke.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const xs=Ys;var Bs=xs;const $s={class:"calendar-days"};var Zs=(0,a.aZ)({__name:"CalendarDays",props:{startDate:null,localeOptions:null},setup(e){const t=e,n=[];for(let r=0;r<7;r++)n.push((0,us.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",$s,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(n,((t,n)=>(0,a._)("div",{class:"calendar-day",key:n},(0,o.zw)((0,i.SU)(ke.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const Hs=Zs;var qs=Hs;const Vs={class:"calendar-header"},js=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),Xs=[js],Js={class:"calendar-month"},Qs=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ei=[Qs];var ti=(0,a.aZ)({__name:"CalendarHeader",props:{day:null,localeOptions:null},emits:["displayNextMonth","displayPreviousMonth"],setup(e,{emit:t}){const n=e,{day:r,localeOptions:s}=(0,i.BK)(n);return(e,n)=>((0,a.wg)(),(0,a.iD)("div",Vs,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},Xs),(0,a._)("div",Js,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(ke.Z)((0,i.SU)(r),"MMM yyyy",{locale:(0,i.SU)(s)})),1)]),(0,a._)("div",{class:"calendar-arrow calendar-arrow-right",onClick:n[1]||(n[1]=e=>t("displayNextMonth"))},ei)]))}});const ni=ti;var ri=ni;const ai={id:"user-calendar"},oi={class:"calendar-card box"};var si=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,n=(0,c.o)(),{sports:r,user:o}=(0,i.BK)(t),s="yyyy-MM-dd",u=(0,i.iH)(new Date),d=(0,i.iH)((0,xe.yx)(u.value,t.user.weekm)),m=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.CALENDAR_WORKOUTS])),_=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LOCALE]));function S(){d.value=(0,xe.yx)(u.value,t.user.weekm);const e={from:(0,ke.Z)(d.value.start,s),to:(0,ke.Z)(d.value.end,s),page:1,per_page:100,...Qo.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function E(){u.value=(0,ls.Z)(u.value,1),S()}function T(){u.value=(0,cs.Z)(u.value,1),S()}return(0,a.wF)((()=>S())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ai,[(0,a._)("div",oi,[(0,a.Wm)(ri,{day:u.value,"locale-options":(0,i.SU)(_),onDisplayNextMonth:E,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(qs,{"start-date":d.value.start,"locale-options":(0,i.SU)(_)},null,8,["start-date","locale-options"]),(0,a.Wm)(Bs,{currentDay:u.value,displayHARecord:(0,i.SU)(o).display_ascent,"end-date":d.value.end,sports:(0,i.SU)(r),"start-date":d.value.start,timezone:(0,i.SU)(o).timezone,workouts:(0,i.SU)(m),weekStartingMonday:(0,i.SU)(o).weekm},null,8,["currentDay","displayHARecord","end-date","sports","start-date","timezone","workouts","weekStartingMonday"])])]))}});const ii=si;var li=ii,ci=n(3703),ui=n(4135),di=n(4998);const mi={class:"user-month-stats"};var _i=(0,a.aZ)({__name:"UserMonthStats",props:{sports:null,user:null},setup(e){const t=e,{sports:n,user:r}=(0,i.BK)(t),s=new Date,l={duration:"week",start:(0,ci.Z)(s),end:(0,ui.Z)(s)},c=t.sports.map((e=>e.id));return(e,t)=>{const s=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",mi,[(0,a.Wm)(s,null,{title:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.$t("dashboard.THIS_MONTH")),1)])),content:(0,a.w5)((()=>[(0,a.Wm)(di.Z,{sports:(0,i.SU)(n),user:(0,i.SU)(r),"chart-params":l,"displayed-sport-ids":(0,i.SU)(c),"hide-chart-if-no-data":!0},null,8,["sports","user","displayed-sport-ids"])])),_:1})])}}});const Si=(0,P.Z)(_i,[["__scopeId","data-v-1bcddc12"]]);var Ei=Si,Ti=(n(1703),n(3649));const pi=(e,t,n)=>{const r="km",a=n?Ti.Dl[r].defaultTarget:r,o="m",s=n?Ti.Dl[o].defaultTarget:o;let i;switch(e.record_type){case"AS":case"MS":i=`${(0,Ti.sC)(+e.value,r,a,2)} ${a}/h`;break;case"FD":i=`${(0,Ti.sC)(+e.value,r,a,3)} ${a}`;break;case"HA":i=`${(0,Ti.sC)(+e.value,o,s,2)} ${s}`;break;case"LD":i=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,xe.Jo)((0,xe.eB)(e.workout_date,t)).workout_date,workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:i}},Ai=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:ne.filter((e=>!!a||"HA"!==e.record_type)).reduce(((e,a)=>{const o=t.find((e=>e.id===a.sport_id));return o&&o.label&&(void 0===e[o.translatedLabel]&&(e[o.translatedLabel]={label:o.label,color:o.color,records:[]}),e[o.translatedLabel].records.push(pi(a,n,r))),e}),{}),Ui={class:"records-card"},Ri={class:"record-type"},Ii={class:"record-value"},gi={class:"record-date"};var Ni=(0,a.aZ)({__name:"RecordsCard",props:{records:null,sportTranslatedLabel:null},setup(e){const t=e,{records:n,sportTranslatedLabel:r}=(0,i.BK)(t),{t:s}=(0,ie.QT)();function l(e){const t=[];return e.map((e=>{t.push({...e,label:s(`workouts.RECORD_${e.record_type}`)})})),t.sort(Ai)}return(e,t)=>{const s=(0,a.up)("SportImage"),c=(0,a.up)("router-link"),u=(0,a.up)("Card");return(0,a.wg)(),(0,a.iD)("div",Ui,[(0,a.Wm)(u,null,{title:(0,a.w5)((()=>[(0,a.Wm)(s,{"sport-label":(0,i.SU)(n).label,color:(0,i.SU)(n).color},null,8,["sport-label","color"]),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(r)),1)])),content:(0,a.w5)((()=>[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(l((0,i.SU)(n).records),(e=>((0,a.wg)(),(0,a.iD)("div",{class:"record",key:e.id},[(0,a._)("span",Ri,(0,o.zw)(e.label),1),(0,a._)("span",Ii,(0,o.zw)(e.value),1),(0,a._)("span",gi,[(0,a.Wm)(c,{to:{name:"Workout",params:{workoutId:e.workout_id}}},{default:(0,a.w5)((()=>[(0,a.Uk)((0,o.zw)(e.workout_date),1)])),_:2},1032,["to"])])])))),128))])),_:1})])}}});const zi=(0,P.Z)(Ni,[["__scopeId","data-v-b5480ab0"]]);var hi=zi;const wi=e=>((0,a.dD)("data-v-27dfbb65"),e=e(),(0,a.Cn)(),e),fi={class:"user-records-section"},vi={class:"section-title"},Ci=wi((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),Di={class:"user-records"},ki={key:0,class:"no-records"};var Pi=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>Oi(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",fi,[(0,a._)("div",vi,[Ci,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",Di,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",ki,(0,o.zw)(t.$t("workouts.NO_RECORDS")),1)):(0,a.kq)("",!0),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(Object.keys((0,i.SU)(r)).sort(),(t=>((0,a.wg)(),(0,a.j4)(hi,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const Li=(0,P.Z)(Pi,[["__scopeId","data-v-27dfbb65"]]);var Mi=Li;const bi={id:"user-stats"};var yi=(0,a.aZ)({__name:"index",props:{user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),{user:r}=(0,i.BK)(t),o=(0,a.Fl)((()=>t.user.total_duration)),s=(0,a.Fl)((()=>S(o))),l="km",c=r.value.imperial_units?Ti.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Ti.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2)))),d="m",m=r.value.imperial_units?Ti.Dl[d].defaultTarget:d,_=(0,a.Fl)((()=>r.value.imperial_units?(0,Ti.sC)(r.value.total_ascent,d,m,2):parseFloat(r.value.total_ascent.toFixed(2))));function S(e){const t=e.value.match(/day/g)?e.value.split(", ")[1]:e.value;return{days:e.value.match(/day/g)?`${e.value.split(" ")[0]} ${e.value.match(/days/g)?n("common.DAY",2):n("common.DAY",1)}`:`0 ${n("common.DAY",2)},`,duration:`${t.split(":")[0]}h ${t.split(":")[1]}min`}}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",bi,[(0,a.Wm)(B,{icon:"calendar",value:(0,i.SU)(r).nb_workouts,text:e.$t("workouts.WORKOUT",(0,i.SU)(r).nb_workouts)},null,8,["value","text"]),(0,a.Wm)(B,{icon:"road",value:(0,i.SU)(u),text:"mi"===(0,i.SU)(c)?"miles":(0,i.SU)(c)},null,8,["value","text"]),(0,i.SU)(r).display_ascent?((0,a.wg)(),(0,a.j4)(B,{key:0,icon:"location-arrow",value:(0,i.SU)(_),text:"ft"===(0,i.SU)(m)?"feet":(0,i.SU)(m)},null,8,["value","text"])):(0,a.kq)("",!0),(0,a.Wm)(B,{icon:"clock-o",value:(0,i.SU)(s).days,text:(0,i.SU)(s).duration},null,8,["value","text"]),(0,i.SU)(r).display_ascent?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(B,{key:1,icon:"tags",value:(0,i.SU)(r).nb_sports,text:e.$t("workouts.SPORT",(0,i.SU)(r).nb_sports)},null,8,["value","text"]))]))}});const Gi=yi;var Fi=Gi;const Wi=e=>((0,a.dD)("data-v-4c0893c1"),e=e(),(0,a.Cn)(),e),Ki={key:0,id:"dashboard",class:"view"},Yi={class:"container mobile-menu"},xi={class:"box"},Bi=Wi((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),$i=[Bi],Zi=Wi((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),Hi=[Zi],qi=Wi((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),Vi=[qi],ji=Wi((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),Xi=[ji],Ji={class:"container"},Qi={class:"container dashboard-container"},el={class:"left-container dashboard-sub-container"},tl={class:"right-container dashboard-sub-container"},nl=Wi((()=>(0,a._)("div",{id:"bottom"},null,-1))),rl={key:1,class:"app-loading"};var al=(0,a.aZ)({__name:"Dashboard",setup(e){const t=(0,c.o)(),n=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),r=(0,a.Fl)((()=>t.getters[l.O8.GETTERS.SPORTS])),s=(0,i.iH)("calendar");function u(e){s.value=e}return(0,a.wF)((()=>t.dispatch(l.YN.ACTIONS.GET_USER_PROFILE))),(e,t)=>{const l=(0,a.up)("Loader");return(0,i.SU)(n).username&&(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Ki,[(0,a._)("div",Yi,[(0,a._)("div",xi,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},$i,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},Hi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},Vi,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},Xi,2)])]),(0,a._)("div",Ji,[(0,a.Wm)(Fi,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",Qi,[(0,a._)("div",el,[(0,a.Wm)(Ei,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("chart"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(Mi,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("records"===s.value)})},null,8,["sports","user","class"])]),(0,a._)("div",tl,[(0,a.Wm)(li,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("calendar"===s.value)})},null,8,["sports","user","class"]),(0,a.Wm)(is,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),nl])):((0,a.wg)(),(0,a.iD)("div",rl,[(0,a.Wm)(l)]))}}});const ol=(0,P.Z)(al,[["__scopeId","data-v-4c0893c1"]]);var sl=ol,il=n(8273);const ll={class:"not-found view"};var cl=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",ll,[(0,a.Wm)(il.Z)]))}});const ul=cl;var dl=ul,ml=n(6735);const _l={id:"loginOrRegister",class:"view"},Sl={class:"container"},El={class:"container-sub"},Tl={class:"container-sub"};var pl=(0,a.aZ)({__name:"LoginOrRegister",props:{action:null},setup(e){const t=e,{action:n}=(0,i.BK)(t);return(e,t)=>((0,a.wg)(),(0,a.iD)("div",_l,[(0,a._)("div",Sl,[(0,a._)("div",El,[(0,a.Wm)(To)]),(0,a._)("div",Tl,[(0,a.Wm)(ml.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const Al=(0,P.Z)(pl,[["__scopeId","data-v-6a38125b"]]);var Ol=Al;const Ul=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},Rl=[{path:"/",name:"Dashboard",component:sl},{path:"/login",name:"Login",component:Ol,props:{action:"login"}},{path:"/register",name:"Register",component:Ol,props:{action:"register"}},{path:"/account-confirmation",name:"AccountConfirmation",component:()=>n.e(845).then(n.bind(n,4264))},{path:"/account-confirmation/resend",name:"AccountConfirmationResend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"account-confirmation-resend"}},{path:"/account-confirmation/email-sent",name:"AccountConfirmationEmailSend",component:()=>n.e(24).then(n.bind(n,5639)),props:{action:"email-sent"}},{path:"/password-reset/sent",name:"PasswordEmailSent",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"request-sent"}},{path:"/password-reset/request",name:"PasswordResetRequest",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset-request"}},{path:"/password-reset/password-updated",name:"PasswordUpdated",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"password-updated"}},{path:"/password-reset",name:"PasswordReset",component:()=>n.e(24).then(n.bind(n,1627)),props:{action:"reset"}},{path:"/email-update",name:"EmailUpdate",component:()=>n.e(845).then(n.bind(n,8160))},{path:"/profile",name:"Profile",component:()=>n.e(845).then(n.bind(n,6266)),children:[{path:"",name:"UserProfile",component:zt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfos",component:ht.Z},{path:"preferences",name:"UserPreferences",component:kt},{path:"sports",name:"UserSportPreferences",component:Ha,props:{isEdition:!1}},{path:"apps",name:"UserApps",component:qr,children:[{path:"",name:"UserAppsList",component:pa},{path:":id",name:"UserApp",component:la},{path:":id/created",name:"CreatedUserApp",component:la,props:{afterCreation:!0}},{path:"new",name:"AddUserApp",component:kr},{path:"authorize",name:"AuthorizeUserApp",component:Br}]}]},{path:"edit",name:"UserProfileEdition",component:bt,props:e=>({tab:Ul(e.path)}),children:[{path:"",name:"UserInfosEdition",component:En},{path:"account",name:"UserAccountEdition",component:jt},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:ir},{path:"sports",name:"UserSportPreferencesEdition",component:Ha,props:{isEdition:!0}}]}]},{path:"/statistics",name:"Statistics",component:()=>n.e(193).then(n.bind(n,7885))},{path:"/users/:username",name:"User",component:()=>n.e(845).then(n.bind(n,9453))},{path:"/workouts",name:"Workouts",component:()=>n.e(401).then(n.bind(n,7017))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,6466)),props:{displaySegment:!1}},{path:"/workouts/:workoutId/edit",name:"EditWorkout",component:()=>n.e(401).then(n.bind(n,8237))},{path:"/workouts/:workoutId/segment/:segmentId",name:"WorkoutSegment",component:()=>n.e(401).then(n.bind(n,6466)),props:{displaySegment:!0}},{path:"/workouts/add",name:"AddWorkout",component:()=>n.e(401).then(n.bind(n,4189))},{path:"/admin",name:"Administration",component:()=>n.e(328).then(n.bind(n,6e3)),children:[{path:"",name:"AdministrationMenu",component:se},{path:"application",name:"ApplicationAdministration",component:M},{path:"application/edit",name:"ApplicationAdministrationEdition",component:M,props:{edition:!0}},{path:"sports",name:"SportsAdministration",component:De},{path:"users/:username",name:"UserFromAdmin",component:()=>n.e(845).then(n.bind(n,9453)),props:{fromAdmin:!0}},{path:"users",name:"UsersAdministration",component:_t}]},{path:"/about",name:"About",component:go},{path:"/:pathMatch(.*)*",name:"not-found",component:dl}],Il=(0,r.p7)({history:(0,r.PO)("/"),routes:Rl}),gl=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],Nl=["/email-update","/about"];Il.beforeEach(((e,t,n)=>{qa.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(Nl.includes(e.path))return n();if(qa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&gl.includes(e.path))return n("/");if(qa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||gl.includes(e.path))n();else{const t="/"===e.path?{path:"/login"}:{path:"/login",query:{from:e.fullPath}};n(t)}})).catch((e=>{console.error(e),n()}))}));var zl=Il},5801:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,_,S,E,T,p,A,O,U;n.d(t,{YN:function(){return z},Km:function(){return h},SY:function(){return I},O8:function(){return g},gu:function(){return N},RT:function(){return w},aX:function(){return f}}),function(e){e["CHECK_AUTH_USER"]="CHECK_AUTH_USER",e["CONFIRM_ACCOUNT"]="CONFIRM_ACCOUNT",e["CONFIRM_EMAIL"]="CONFIRM_EMAIL",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["RESEND_ACCOUNT_CONFIRMATION_EMAIL"]="RESEND_ACCOUNT_CONFIRMATION_EMAIL",e["RESET_USER_PASSWORD"]="RESET_USER_PASSWORD",e["RESET_USER_SPORT_PREFERENCES"]="RESET_USER_SPORT_PREFERENCES",e["UPDATE_USER_ACCOUNT"]="UPDATE_USER_ACCOUNT",e["UPDATE_USER_PICTURE"]="UPDATE_USER_PICTURE",e["UPDATE_USER_PROFILE"]="UPDATE_USER_PROFILE",e["UPDATE_USER_PREFERENCES"]="UPDATE_USER_PREFERENCES",e["UPDATE_USER_SPORT_PREFERENCES"]="UPDATE_USER_SPORT_PREFERENCES"}(r||(r={})),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["IS_SUCCESS"]="IS_SUCCESS",e["IS_REGISTRATION_SUCCESS"]="IS_REGISTRATION_SUCCESS",e["USER_LOADING"]="USER_LOADING"}(a||(a={})),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_IS_SUCCESS"]="UPDATE_USER_IS_SUCCESS",e["UPDATE_IS_REGISTRATION_SUCCESS"]="UPDATE_IS_REGISTRATION_SUCCESS",e["UPDATE_USER_LOADING"]="UPDATE_USER_LOADING"}(o||(o={})),function(e){e["AUTHORIZE_CLIENT"]="AUTHORIZE_CLIENT",e["CREATE_CLIENT"]="CREATE_CLIENT",e["DELETE_CLIENT"]="DELETE_CLIENT",e["GET_CLIENTS"]="GET_CLIENTS",e["GET_CLIENT_BY_CLIENT_ID"]="GET_CLIENT_BY_CLIENT_ID",e["GET_CLIENT_BY_ID"]="GET_CLIENT_BY_ID",e["REVOKE_ALL_TOKENS"]="REVOKE_ALL_TOKENS"}(s||(s={})),function(e){e["CLIENT"]="CLIENT",e["CLIENTS"]="CLIENTS",e["CLIENTS_PAGINATION"]="CLIENTS_PAGINATION",e["REVOCATION_SUCCESSFUL"]="REVOCATION_SUCCESSFUL"}(i||(i={})),function(e){e["EMPTY_CLIENT"]="EMPTY_CLIENT",e["SET_CLIENT"]="SET_CLIENT",e["SET_CLIENTS"]="SET_CLIENTS",e["SET_CLIENTS_PAGINATION"]="SET_CLIENTS_PAGINATION",e["SET_REVOCATION_SUCCESSFUL"]="SET_REVOCATION_SUCCESSFUL"}(l||(l={})),function(e){e["GET_APPLICATION_CONFIG"]="GET_APPLICATION_CONFIG",e["GET_APPLICATION_STATS"]="GET_APPLICATION_STATS",e["UPDATE_APPLICATION_CONFIG"]="UPDATE_APPLICATION_CONFIG",e["UPDATE_APPLICATION_LANGUAGE"]="UPDATE_APPLICATION_LANGUAGE"}(c||(c={})),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"}(u||(u={})),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"}(d||(d={})),function(e){e["GET_SPORTS"]="GET_SPORTS",e["UPDATE_SPORTS"]="UPDATE_SPORTS"}(m||(m={})),function(e){e["SPORTS"]="SPORTS"}(_||(_={})),function(e){e["SET_SPORTS"]="SET_SPORTS"}(S||(S={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(E||(E={})),function(e){e["USER_STATS"]="USER_STATS"}(T||(T={})),function(e){e["EMPTY_USER_STATS"]="EMPTY_USER_STATS",e["UPDATE_USER_STATS"]="UPDATE_USER_STATS"}(p||(p={})),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",e["DELETE_USER_ACCOUNT"]="DELETE_USER_ACCOUNT"}(A||(A={})),function(e){e["USER"]="USER",e["USERS"]="USERS",e["USERS_IS_SUCCESS"]="USERS_IS_SUCCESS",e["USERS_LOADING"]="USERS_LOADING",e["USERS_PAGINATION"]="USERS_PAGINATION"}(O||(O={})),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["UPDATE_IS_SUCCESS"]="UPDATE_IS_SUCCESS"}(U||(U={}));var R=n(52);const I={ACTIONS:c,GETTERS:u,MUTATIONS:d},g={ACTIONS:m,GETTERS:_,MUTATIONS:S},N={ACTIONS:E,GETTERS:T,MUTATIONS:p},z={ACTIONS:r,GETTERS:a,MUTATIONS:o},h={ACTIONS:s,GETTERS:i,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:U},f={ACTIONS:R.tW,GETTERS:R.JP,MUTATIONS:R.CW}},2894:function(e,t,n){"use strict";n.d(t,{Z:function(){return me}});var r=n(3907),a=(n(7658),n(1703),n(5167)),o=n(9669),s=n.n(o),i=n(8566),l=n(2024);const c=s().create({baseURL:(0,l.k)()});c.interceptors.request.use((e=>{const t=new AbortController;e.signal=t.signal;const n=(0,i.a)(e);return i.j.set(n,t),e}),(e=>Promise.reject(e))),c.interceptors.response.use((e=>((0,i.a)(e.config),e)),(e=>("canceled"!==e.message&&(0,i.a)(e.response.config),Promise.reject(e))));var u=c,d=n(9160),m=n(5801);const _=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`users/${t.username}`).then((n=>{204===n.status?t.fromAdmin?d.Z.push("/admin/users"):e.dispatch(m.YN.ACTIONS.LOGOUT).then((()=>d.Z.push("/"))):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},S={[m.RT.ACTIONS.EMPTY_USER](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USER,{})},[m.RT.ACTIONS.EMPTY_USERS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,{})},[m.RT.ACTIONS.GET_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get(`users/${t}`).then((t=>{"success"===t.data.status?e.commit(m.RT.MUTATIONS.UPDATE_USER,t.data.data.users[0]):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.GET_USERS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!0),a.Z.get("users",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USERS,t.data.data.users),e.commit(m.RT.MUTATIONS.UPDATE_USERS_PAGINATION,t.data.pagination)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.UPDATE_USER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1);const n={};void 0!==t.admin&&(n.admin=t.admin),t.resetPassword&&(n.reset_password=t.resetPassword),t.activate&&(n.activate=t.activate),void 0!==t.new_email&&(n.new_email=t.new_email),a.Z.patch(`users/${t.username}`,n).then((n=>{"success"===n.data.status?(e.commit(m.RT.MUTATIONS.UPDATE_USER_IN_USERS,n.data.data.users[0]),(t.resetPassword||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_IS_SUCCESS,!0),(t.activate||t.new_email)&&e.commit(m.RT.MUTATIONS.UPDATE_USER,n.data.data.users[0])):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.RT.MUTATIONS.UPDATE_USERS_LOADING,!1)))},[m.RT.ACTIONS.DELETE_USER_ACCOUNT](e,t){_(e,{username:t.username,fromAdmin:!0})}},E=e=>{localStorage.removeItem("authToken"),e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.gu.MUTATIONS.EMPTY_USER_STATS),e.commit(m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN),e.commit(m.RT.MUTATIONS.UPDATE_USERS,[]),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUTS),e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),d.Z.push("/login")},T={[m.YN.ACTIONS.CHECK_AUTH_USER](e){window.localStorage.authToken&&!e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,window.localStorage.authToken),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE)),!window.localStorage.authToken&&e.getters[m.YN.GETTERS.IS_AUTHENTICATED]&&E(e)},[m.YN.ACTIONS.CONFIRM_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),u.post("auth/account/confirm",{token:t.token}).then((t=>{if("success"===t.data.status){const n=t.data.auth_token;window.localStorage.setItem("authToken",n),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,n),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/")))}else(0,l.S)(e,null)})).catch((t=>{(0,l.S)(e,t)}))},[m.YN.ACTIONS.CONFIRM_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),u.post("/auth/email/update",{token:t.token}).then((n=>{"success"===n.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0),t.refreshUser&&e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile/edit/account"))),d.Z.push("/profile/edit/account")):(0,l.S)(e,null)})).catch((t=>{(0,l.S)(e,t)}))},[m.YN.ACTIONS.GET_USER_PROFILE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("auth/profile").then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),t.data.data.language&&e.dispatch(m.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language),e.dispatch(m.O8.ACTIONS.GET_SPORTS)):((0,l.S)(e,null),E(e))})).catch((t=>{"canceled"!==t.message&&((0,l.S)(e,t),E(e))}))},[m.YN.ACTIONS.LOGIN_OR_REGISTER](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),u.post(`/auth/${t.actionType}`,t.formData).then((n=>{if("success"===n.data.status)if("login"===t.actionType){const r=n.data.auth_token;window.localStorage.setItem("authToken",r),e.commit(m.YN.MUTATIONS.UPDATE_AUTH_TOKEN,r),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("string"===typeof t.redirectUrl?t.redirectUrl:"/")))}else d.Z.push("/login").then((()=>e.commit(m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!0)));else(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.YN.ACTIONS.LOGOUT](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("auth/logout").then((t=>{"success"===t.data.status?E(e):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.YN.ACTIONS.UPDATE_USER_PROFILE](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),d.Z.push("/profile")):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_ACCOUNT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),a.Z.patch("auth/profile/edit/account",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.commit(m.YN.MUTATIONS.UPDATE_IS_SUCCESS,!0)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.UPDATE_USER_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/preferences",t).then((t=>{"success"===t.data.status?(e.commit(m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE,t.data.data),e.dispatch(m.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,t.data.data.language).then((()=>d.Z.push("/profile/preferences")))):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.RESET_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"](`auth/profile/reset/sports/${t}`).then((t=>{204===t.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,l.S)(e,null)})).catch((t=>{(0,l.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z.post("auth/profile/edit/sports",t).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,l.S)(e,null)})).catch((t=>{(0,l.S)(e,t),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)}))},[m.YN.ACTIONS.UPDATE_USER_PICTURE](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),!t.picture)throw new Error("No file part");const n=new FormData;n.append("file",t.picture),a.Z.post("auth/picture",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{"success"===t.data.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.DELETE_ACCOUNT](e,t){_(e,t)},[m.YN.ACTIONS.DELETE_PICTURE](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!0),a.Z["delete"]("auth/picture").then((t=>{204===t.status?e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE).then((()=>d.Z.push("/profile"))):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)))},[m.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),u.post("auth/password/reset-request",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/sent"):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),u.post("auth/account/resend-confirmation",t).then((t=>{"success"===t.data.status?d.Z.push("/account-confirmation/email-sent"):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.YN.ACTIONS.RESET_USER_PASSWORD](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),u.post("auth/password/update",t).then((t=>{"success"===t.data.status?d.Z.push("/password-reset/password-updated"):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))}},p={[m.YN.GETTERS.AUTH_TOKEN]:e=>e.authToken,[m.YN.GETTERS.AUTH_USER_PROFILE]:e=>e.authUserProfile,[m.YN.GETTERS.IS_AUTHENTICATED]:e=>null!==e.authToken,[m.YN.GETTERS.IS_ADMIN]:e=>e.authUserProfile&&e.authUserProfile.admin,[m.YN.GETTERS.IS_REGISTRATION_SUCCESS]:e=>e.isRegistrationSuccess,[m.YN.GETTERS.IS_SUCCESS]:e=>e.isSuccess,[m.YN.GETTERS.USER_LOADING]:e=>e.loading},A={[m.YN.MUTATIONS.CLEAR_AUTH_USER_TOKEN](e){e.authToken=null,e.authUserProfile={}},[m.YN.MUTATIONS.UPDATE_AUTH_TOKEN](e,t){e.authToken=t},[m.YN.MUTATIONS.UPDATE_AUTH_USER_PROFILE](e,t){e.authUserProfile=t},[m.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](e,t){e.isRegistrationSuccess=t},[m.YN.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t},[m.YN.MUTATIONS.UPDATE_USER_LOADING](e,t){e.loading=t}},O={authToken:null,authUserProfile:{},isSuccess:!1,isRegistrationSuccess:!1,loading:!1},U={state:O,actions:T,getters:p,mutations:A};var R=U;const I=(e,t)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(t).then((t=>{"success"===t.data.status?e.commit(m.Km.MUTATIONS.SET_CLIENT,t.data.data.client):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},g={[m.Km.ACTIONS.AUTHORIZE_CLIENT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES);const n=new FormData;n.set("client_id",t.client_id),n.set("response_type",t.response_type),n.set("scope",t.scope),n.set("confirm","true"),t.state&&n.set("state",t.state),t.code_challenge&&n.set("code_challenge",t.code_challenge),t.code_challenge_method&&n.set("code_challenge_method",t.code_challenge_method),a.Z.post("oauth/authorize",n,{headers:{"Content-Type":"multipart/form-data"}}).then((t=>{200==t.status&&t.data.redirect_url?window.location.href=t.data.redirect_url:(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.Km.ACTIONS.CREATE_CLIENT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.post("oauth/apps",t).then((t=>{"created"===t.data.status?(e.commit(m.Km.MUTATIONS.SET_CLIENT,t.data.data.client),d.Z.push(`/profile/apps/${t.data.data.client.id}/created`)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.Km.ACTIONS.DELETE_CLIENT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z["delete"](`oauth/apps/${t}`).then((t=>{204===t.status?e.dispatch(m.Km.ACTIONS.GET_CLIENTS).then((()=>d.Z.push("/profile/apps"))):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.Km.ACTIONS.GET_CLIENT_BY_CLIENT_ID](e,t){I(e,`oauth/apps/${t}`)},[m.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){I(e,`oauth/apps/${t}/by_id`)},[m.Km.ACTIONS.GET_CLIENTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("oauth/apps",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.Km.MUTATIONS.SET_CLIENTS,t.data.data.clients),e.commit(m.Km.MUTATIONS.SET_CLIENTS_PAGINATION,t.data.pagination)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.Km.ACTIONS.REVOKE_ALL_TOKENS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!1),a.Z.post(`oauth/apps/${t}/revoke`).then((t=>{"success"===t.data.status?e.commit(m.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL,!0):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))}},N={[m.Km.GETTERS.CLIENT]:e=>e.client,[m.Km.GETTERS.CLIENTS]:e=>e.clients,[m.Km.GETTERS.CLIENTS_PAGINATION]:e=>e.pagination,[m.Km.GETTERS.REVOCATION_SUCCESSFUL]:e=>e.revocationSuccessful},z={[m.Km.MUTATIONS.SET_CLIENT](e,t){e.client=t},[m.Km.MUTATIONS.EMPTY_CLIENT](e){e.client={}},[m.Km.MUTATIONS.SET_CLIENTS](e,t){e.clients=t},[m.Km.MUTATIONS.SET_CLIENTS_PAGINATION](e,t){e.pagination=t},[m.Km.MUTATIONS.SET_REVOCATION_SUCCESSFUL](e,t){e.revocationSuccessful=t}},h={client:{},clients:[],pagination:{},revocationSuccessful:!1},w={state:h,actions:g,getters:N,mutations:z};var f=w,v=n(2540);const{locale:C}=v.Z.global,D={[m.SY.ACTIONS.GET_APPLICATION_CONFIG](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!0),a.Z.get("config").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t))).finally((()=>e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING,!1)))},[m.SY.ACTIONS.GET_APPLICATION_STATS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("stats/all").then((t=>{"success"===t.data.status?e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_STATS,t.data.data):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_CONFIG](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch("config",t).then((t=>{"success"===t.data.status?(e.commit(m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG,t.data.data),d.Z.push("/admin/application")):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE](e,t){document.querySelector("html")?.setAttribute("lang",t),e.commit(m.SY.MUTATIONS.UPDATE_LANG,t),C.value=t}},k={[m.SY.GETTERS.APP_CONFIG]:e=>e.application.config,[m.SY.GETTERS.APP_LOADING]:e=>e.appLoading,[m.SY.GETTERS.APP_STATS]:e=>e.application.statistics,[m.SY.GETTERS.ERROR_MESSAGES]:e=>e.errorMessages,[m.SY.GETTERS.LANGUAGE]:e=>e.language,[m.SY.GETTERS.LOCALE]:e=>e.locale};var P=n(6287);const L={[m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES](e){e.errorMessages=null},[m.SY.MUTATIONS.SET_ERROR_MESSAGES](e,t){e.errorMessages=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_CONFIG](e,t){e.application.config=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_LOADING](e,t){e.appLoading=t},[m.SY.MUTATIONS.UPDATE_APPLICATION_STATS](e,t){e.application.statistics=t},[m.SY.MUTATIONS.UPDATE_LANG](e,t){e.language=t,e.locale=P.v1[t]}};var M=n(5826);const b={root:!0,language:"en",locale:M.Z,errorMessages:null,application:{statistics:{sports:0,uploads_dir_size:0,users:0,workouts:0}},appLoading:!1},y={[m.O8.ACTIONS.GET_SPORTS](e){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("sports").then((t=>{"success"===t.data.status?(e.commit(m.O8.MUTATIONS.SET_SPORTS,t.data.data.sports),e.commit(m.YN.MUTATIONS.UPDATE_USER_LOADING,!1)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},[m.O8.ACTIONS.UPDATE_SPORTS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.patch(`sports/${t.id}`,{is_active:t.isActive}).then((t=>{"success"===t.data.status?e.dispatch(m.O8.ACTIONS.GET_SPORTS):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))}},G={[m.O8.GETTERS.SPORTS]:e=>e.sports},F={[m.O8.MUTATIONS.SET_SPORTS](e,t){e.sports=t}},W={sports:[]},K={state:W,actions:y,getters:G,mutations:F};var Y=K;const x={[m.gu.ACTIONS.GET_USER_STATS](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get(`stats/${t.username}/${t.filterType}`,{params:t.params}).then((t=>{"success"===t.data.status?e.commit(m.gu.MUTATIONS.UPDATE_USER_STATS,t.data.data.statistics):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))}},B={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},$={[m.gu.MUTATIONS.UPDATE_USER_STATS](e,t){e.statistics=t},[m.gu.MUTATIONS.EMPTY_USER_STATS](e){e.statistics={}}},Z={statistics:{}},H={state:Z,actions:x,getters:B,mutations:$};var q=H;const V={[m.RT.GETTERS.USER]:e=>e.user,[m.RT.GETTERS.USERS]:e=>e.users,[m.RT.GETTERS.USERS_IS_SUCCESS]:e=>e.isSuccess,[m.RT.GETTERS.USERS_LOADING]:e=>e.loading,[m.RT.GETTERS.USERS_PAGINATION]:e=>e.pagination},j={[m.RT.MUTATIONS.UPDATE_USER](e,t){e.user=t},[m.RT.MUTATIONS.UPDATE_USER_IN_USERS](e,t){e.users=e.users.map((e=>e.username===t.username?t:e))},[m.RT.MUTATIONS.UPDATE_USERS](e,t){e.users=t},[m.RT.MUTATIONS.UPDATE_USERS_LOADING](e,t){e.loading=t},[m.RT.MUTATIONS.UPDATE_USERS_PAGINATION](e,t){e.pagination=t},[m.RT.MUTATIONS.UPDATE_IS_SUCCESS](e,t){e.isSuccess=t}},X={user:{},users:[],loading:!1,isSuccess:!1,pagination:{}},J={state:X,actions:S,getters:V,mutations:j};var Q=J,ee=n(52);const te=(e,t,n)=>{e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),a.Z.get("workouts",{params:t}).then((t=>{"success"===t.data.status?(e.commit(m.aX.MUTATIONS[n],t.data.data.workouts),n===ee.CW.SET_USER_WORKOUTS&&e.commit(m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION,t.data.pagination)):(0,l.S)(e,null)})).catch((t=>(0,l.S)(e,t)))},ne={[m.aX.ACTIONS.GET_CALENDAR_WORKOUTS](e,t){e.commit(m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS),te(e,t,ee.CW.SET_CALENDAR_WORKOUTS)},[m.aX.ACTIONS.GET_USER_WORKOUTS](e,t){te(e,t,ee.CW.SET_USER_WORKOUTS)},[m.aX.ACTIONS.GET_TIMELINE_WORKOUTS](e,t){te(e,t,ee.CW.SET_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS](e,t){te(e,t,ee.CW.ADD_TIMELINE_WORKOUTS)},[m.aX.ACTIONS.GET_WORKOUT_DATA](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0);const n=t.segmentId?`/segment/${t.segmentId}`:"";a.Z.get(`workouts/${t.workoutId}`).then((r=>{const 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(m.aX.MUTATIONS.SET_WORKOUT,r.data.data.workouts[0]),r.data.data.workouts[0].with_gpx&&(a.Z.get(`workouts/${t.workoutId}/chart_data${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA,t.data.data.chart_data)})),a.Z.get(`workouts/${t.workoutId}/gpx${n}`).then((t=>{"success"===t.data.status&&e.commit(m.aX.MUTATIONS.SET_WORKOUT_GPX,t.data.data.gpx)})))}else e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,l.S)(e,null)})).catch((t=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),(0,l.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.DELETE_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z["delete"](`workouts/${t.workoutId}`).then((()=>{e.commit(m.aX.MUTATIONS.EMPTY_WORKOUT),e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),d.Z.push("/")})).catch((t=>{(0,l.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.EDIT_WORKOUT](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.patch(`workouts/${t.workoutId}`,t.data).then((()=>{e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE),e.dispatch(m.aX.ACTIONS.GET_WORKOUT_DATA,{workoutId:t.workoutId}).then((()=>{d.Z.push({name:"Workout",params:{workoutId:t.workoutId}})}))})).catch((t=>{(0,l.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT](e,t){if(e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),!t.file)throw new Error("No file part");const n=new FormData;n.append("file",t.file),n.append("data",`{"sport_id": ${t.sport_id}, "notes": "${t.notes}"}`),a.Z.post("workouts",n,{headers:{"content-type":"multipart/form-data"}}).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(1===t.data.data.workouts.length?`/workouts/${n.id}`:"/")}})).catch((t=>{(0,l.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))},[m.aX.ACTIONS.ADD_WORKOUT_WITHOUT_GPX](e,t){e.commit(m.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!0),a.Z.post("workouts/no_gpx",t).then((t=>{if("created"===t.data.status){e.dispatch(m.YN.ACTIONS.GET_USER_PROFILE);const n=t.data.data.workouts[0];d.Z.push(`/workouts/${n.id}`)}})).catch((t=>{(0,l.S)(e,t)})).finally((()=>e.commit(m.aX.MUTATIONS.SET_WORKOUT_LOADING,!1)))}},re={[m.aX.GETTERS.CALENDAR_WORKOUTS]:e=>e.calendar_workouts,[m.aX.GETTERS.TIMELINE_WORKOUTS]:e=>e.timeline_workouts,[m.aX.GETTERS.USER_WORKOUTS]:e=>e.user_workouts,[m.aX.GETTERS.WORKOUT_DATA]:e=>e.workoutData,[m.aX.GETTERS.WORKOUTS_PAGINATION]:e=>e.pagination},ae={[m.aX.MUTATIONS.ADD_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=e.timeline_workouts.concat(t)},[m.aX.MUTATIONS.SET_CALENDAR_WORKOUTS](e,t){e.calendar_workouts=t},[m.aX.MUTATIONS.SET_TIMELINE_WORKOUTS](e,t){e.timeline_workouts=t},[m.aX.MUTATIONS.SET_USER_WORKOUTS](e,t){e.user_workouts=t},[m.aX.MUTATIONS.SET_WORKOUTS_PAGINATION](e,t){e.pagination=t},[m.aX.MUTATIONS.SET_WORKOUT](e,t){e.workoutData.workout=t},[m.aX.MUTATIONS.SET_WORKOUT_CHART_DATA](e,t){e.workoutData.chartData=t},[m.aX.MUTATIONS.SET_WORKOUT_GPX](e,t){e.workoutData.gpx=t},[m.aX.MUTATIONS.SET_WORKOUT_LOADING](e,t){e.workoutData.loading=t},[m.aX.MUTATIONS.EMPTY_CALENDAR_WORKOUTS](e){e.calendar_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUTS](e){e.calendar_workouts=[],e.user_workouts=[],e.timeline_workouts=[]},[m.aX.MUTATIONS.EMPTY_WORKOUT](e){e.workoutData={gpx:"",loading:!1,workout:{},chartData:[]}}},oe={calendar_workouts:[],timeline_workouts:[],pagination:{},user_workouts:[],workoutData:{gpx:"",loading:!1,workout:{},chartData:[]}},se={state:oe,actions:ne,getters:re,mutations:ae};var ie=se;const le={authUserModule:R,oAuthModule:f,sportsModule:Y,statsModule:q,usersModule:Q,workoutsModule:ie},ce={state:b,actions:D,getters:k,mutations:L,modules:le};var ue=ce;const de=(0,r.MT)(ue);var me=de},52:function(e,t,n){"use strict";var r,a,o;n.d(t,{CW:function(){return o},JP:function(){return a},tW:function(){return r}}),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"}(a||(a={})),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"}(o||(o={}))},9917:function(e,t,n){"use strict";n.d(t,{o:function(){return a}});var r=n(3907);function a(){return(0,r.oR)()}},2766:function(e,t,n){"use strict";n.d(t,{Hf:function(){return a},Ne:function(){return c},fS:function(){return r},lM:function(){return d},pm:function(){return l},z_:function(){return s}});const r=["asc","desc"],a=1,o=10,s=(e,t)=>e&&"string"===typeof e&&+e>0?+e:t,i=(e,t,n)=>e&&"string"===typeof e&&t.includes(e)?e:n,l=(e,t,n,l)=>{const c=l||{},u=c.defaultSort||"asc",d={};return d.page=s(e.page,a),d.per_page=s(e.per_page,o),d.order=i(e.order,r,u),d.order_by=i(e.order_by,t,n),"string"===typeof e.q?d.q=e.q:delete d.q,d},c=["from","to","ave_speed_from","ave_speed_to","max_speed_from","max_speed_to","distance_from","distance_to","duration_from","duration_to","sport_id"],u=(e,t=1)=>Array.from({length:e-t+1},((e,n)=>t+n)),d=(e,t)=>{if(e<0)return[];if(e<9)return u(e);let n=[1,2];return t<4?n=n.concat([3,4,5]):t<6?n=n.concat(u(t+2,3)):(n=n.concat(["..."]),t=e-2&&n[n.length-1]{switch(e){case"week":return(0,r.Z)(t,{weekStartsOn:n?1:0});case"year":return(0,a.Z)(t);case"month":return(0,o.Z)(t);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},S=(e,t)=>{switch(e){case"week":return(0,s.Z)(t,7);case"year":return(0,i.Z)(t,1);case"month":return(0,l.Z)(t,1);default:throw new Error(`Invalid duration, expected: "week", "month", "year", got: "${e}"`)}},E=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),T=(e,t)=>{const n=(0,o.Z)(e),a=(0,c.Z)(e),s=t?1:0;return{start:(0,r.Z)(n,{weekStartsOn:s}),end:(0,u.Z)(a,{weekStartsOn:s})}},p=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t),workout_time:(0,d.Z)(e,n)})},8966:function(e,t,n){"use strict";n.d(t,{Z:function(){return a},j:function(){return o}});const r=["bytes","KB","MB","GB","TB"],a=(e,t=!0)=>{const n=Math.floor(Math.log(e)/Math.log(1024));if(!e)return t?"0 bytes":{size:"0",suffix:"bytes"};const a=(e/Math.pow(1024,n)).toFixed(1),o=r[n];return t?`${a}${o}`:{size:a,suffix:o}},o=e=>{const t=e/1048576;return+t.toFixed(2)}},2024:function(e,t,n){"use strict";n.d(t,{S:function(){return o},k:function(){return a}});var r=n(5801);const a=()=>"/api/",o=(e,t,n="UNKNOWN")=>{if(t&&"canceled"===t.message)return;if(401===t?.response?.status&&"invalid_token"===t.response.data.error)return localStorage.removeItem("authToken"),void e.dispatch(r.YN.ACTIONS.CHECK_AUTH_USER);const a=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.SY.MUTATIONS.SET_ERROR_MESSAGES,a.includes("\n")?a.split("\n").filter((e=>""!==e)).map((e=>`api.ERROR.${e}`)):`api.ERROR.${a}`)}},6287:function(e,t,n){"use strict";n.d(t,{mT:function(){return u},v1:function(){return i},zK:function(){return l}});var r=n(879),a=n(5826),o=n(5830),s=n(2540);const i={de:r.Z,en:a.Z,fr:o.Z},l={de:"Deutsch",en:"English",fr:"Français"},{availableLocales:c}=s.Z.global,u=c.map((e=>({label:l[e],value:e})))},631:function(e,t,n){"use strict";n.d(t,{CM:function(){return l},PA:function(){return i},Yx:function(){return a},Zo:function(){return r},xH:function(){return s}});const r={"Cycling (Sport)":"#4c9792","Cycling (Transport)":"#88af98",Hiking:"#bb757c","Mountain Biking":"#d4b371","Mountain Biking (Electric)":"#fc9d6f",Rowing:"#fcce72",Running:"#835b83","Skiing (Alpine)":"#67a4bd","Skiing (Cross Country)":"#9498d0",Snowshoes:"#5780a8",Trail:"#09a98a",Walking:"#838383"},a=e=>{const t={};return e.map((e=>t[e.id]=e.color?e.color:r[e.label])),t},o=(e,t)=>{const n=e.translatedLabel.toLowerCase(),r=t.translatedLabel.toLowerCase();return n>r?1:ne.filter((e=>"all"===n||(r.includes(e.id)||e[n]))).map((e=>({...e,translatedLabel:t(`sports.${e.label}.LABEL`)}))).sort(o),i=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.label))[0],l=(e,t)=>t.filter((t=>t.id===e.sport_id)).map((e=>e.color))[0]},9318:function(e,t,n){"use strict";n.d(t,{FN:function(){return w},aZ:function(){return h},v1:function(){return z}});n(7658);var r=n(4850),a=n(8148),o=n(9319),s=n(584),i=n(4559),l=n(3703),c=n(876),u=n(7090),d=n(4135),m=n(1593),_=n(7982),S=n(3500),E=n(1640),T=n(6558),p=n(631),A=n(3649);const O={week:{api:"yyyy-MM-dd",chart:"dd/MM/yyyy"},month:{api:"yyyy-MM",chart:"MM/yyyy"},year:{api:"yyyy",chart:"yyyy"}},U=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],R=(e,t)=>{const n=[];for(let r=(0,T.Nh)(e.duration,e.start,t);r<=e.end;r=(0,T.xA)(e.duration,r))n.push(r);return n},I=(e,t,n=!1)=>{const r={label:e,backgroundColor:[t],data:[]};return n&&(r.type="line",r.borderColor=[t],r.spanGaps=!0),r},g=e=>{const t={average_speed:[],nb_workouts:[],total_distance:[],total_duration:[],total_ascent:[],total_descent:[]};return e.map((e=>{const n=e.color?e.color:p.Zo[e.label];t.average_speed.push(I(e.label,n,!0)),t.nb_workouts.push(I(e.label,n)),t.total_distance.push(I(e.label,n)),t.total_duration.push(I(e.label,n)),t.total_ascent.push(I(e.label,n)),t.total_descent.push(I(e.label,n))})),t},N=(e,t,n)=>{switch(e){case"average_speed":case"total_distance":case"total_ascent":case"total_descent":return(0,A.f3)(["average_speed","total_distance"].includes(e)?"km":"m",t,n);default:case"nb_workouts":case"total_duration":return t}},z=(e,t,n,a,o,s)=>{const i=R(e,t),l=O[e.duration],c=n.filter((e=>a.includes(e.id))),u=[],d=g(c),m={};return c.map((e=>m[e.label]=e.id)),i.map((e=>{const t=(0,r.Z)(e,l.api),n=(0,r.Z)(e,l.chart);u.push(n),U.map((e=>{d[e].map((n=>{n.data.push(t in o&&m[n.label]in o[t]?N(e,o[t][m[n.label]][e],s):"average_speed"===e?null:0)}))}))})),{labels:u,datasets:d}},h=(e,t,n)=>{const r=n?1:0,m="year"===t?(0,a.Z)((0,o.Z)(e,9)):"week"===t?(0,s.Z)((0,i.Z)(e,2),{weekStartsOn:r}):(0,l.Z)((0,i.Z)(e,11)),_="year"===t?(0,c.Z)(e):"week"===t?(0,u.Z)(e,{weekStartsOn:r}):(0,d.Z)(e);return{duration:t,end:_,start:m}},w=(e,t,n)=>{const{duration:r,start:T,end:p}=e,A=n?1:0;return{duration:r,end:"year"===r?(0,c.Z)(t?(0,o.Z)(p,1):(0,m.Z)(p,1)):"week"===r?(0,u.Z)(t?(0,_.Z)(p,1):(0,S.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,E.Z)(p,1)),start:"year"===r?(0,a.Z)(t?(0,o.Z)(T,1):(0,m.Z)(T,1)):"week"===r?(0,s.Z)(t?(0,_.Z)(T,1):(0,S.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,E.Z)(T,1))}}},3649:function(e,t,n){"use strict";n.d(t,{Dl:function(){return r},f3:function(){return s},sC:function(){return o}});const r={ft:{unit:"ft",system:"imperial",multiplier:1,defaultTarget:"m"},mi:{unit:"mi",system:"imperial",multiplier:5280,defaultTarget:"km"},m:{unit:"m",system:"metric",multiplier:1,defaultTarget:"ft"},km:{unit:"m",system:"metric",multiplier:1e3,defaultTarget:"mi"}},a={metric:{imperial:3.280839895,metric:1},imperial:{metric:1/3.280839895,imperial:1}},o=(e,t,n,o=3)=>{const s=r[t],i=r[n],l=e*s.multiplier*a[s.system][i.system]/i.multiplier;return null!==o?parseFloat(l.toFixed(o)):l},s=(e,t,n)=>{const a=n?r[e].defaultTarget:e;return n?o(t,e,a,2):t}},3768:function(e,t,n){"use strict";n.d(t,{BN:function(){return o},EX:function(){return a},eR:function(){return s}});n(7658);var r=n(3649);const a=(e,t,n)=>{const a={speed:{label:t("workouts.SPEED"),backgroundColor:["#FFFFFF"],borderColor:["#8884d8"],borderWidth:2,data:[],yAxisID:"ySpeed"},elevation:{label:t("workouts.ELEVATION"),backgroundColor:["#e5e5e5"],borderColor:["#cccccc"],borderWidth:1,fill:!0,data:[],yAxisID:"yElevation"}},o=[],s=[],i=[];return e.map((e=>{o.push(e.distance),s.push(e.duration),a.speed.data.push((0,r.f3)("km",e.speed,n)),a.elevation.data.push((0,r.f3)("m",e.elevation,n)),i.push({latitude:e.latitude,longitude:e.longitude})})),{distance_labels:o,duration_labels:s,datasets:a,coordinates:i}},o=e=>{const t=e.length;if(0===t)return{};const n={};return e.map((e=>{n[e.sport_id]||(n[e.sport_id]={count:0,percentage:0}),n[e.sport_id].count+=1,n[e.sport_id].percentage=n[e.sport_id].count/t})),n},s={order:"desc",order_by:"workout_date"}},2531:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={class:"card"},o={class:"card-title"},s={class:"card-content"};function i(e,t){return(0,r.wg)(),(0,r.iD)("div",a,[(0,r._)("div",o,[(0,r.WI)(e.$slots,"title")]),(0,r._)("div",s,[(0,r.WI)(e.$slots,"content")])])}var l=n(3744);const c={},u=(0,l.Z)(c,[["render",i]]);var d=u},8626:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262);const s={class:"table-selects"},i=["value"],l=["value"],c=["value"],u=["value"],d=["value"],m=["value"];var _=(0,r.aZ)({__name:"FilterSelects",props:{order_by:null,query:null,sort:null,message:null},emits:["updateSelect"],setup(e,{emit:t}){const n=e,{order_by:_,query:S,sort:E,message:T}=(0,o.BK)(n),p=[10,25,50,100];function A(e){t("updateSelect",e.target.id,e.target.value)}return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER_BY.LABEL"))+": ",1),(0,r._)("select",{name:"order_by",id:"order_by",value:(0,o.SU)(S).order_by,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(_),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`${(0,o.SU)(T)}.${t.toUpperCase()}`)),9,l)))),128))],40,i)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.ORDER.LABEL"))+": ",1),(0,r._)("select",{name:"order",id:"order",value:(0,o.SU)(S).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(E),(t=>((0,r.wg)(),(0,r.iD)("option",{value:t,key:t},(0,a.zw)(e.$t(`common.SELECTS.ORDER.${t.toUpperCase()}`)),9,u)))),128))],40,c)]),(0,r._)("label",null,[(0,r.Uk)((0,a.zw)(e.$t("common.SELECTS.PER_PAGE.LABEL"))+": ",1),(0,r._)("select",{name:"per_page",id:"per_page",value:(0,o.SU)(S).per_page,onChange:A},[((0,r.wg)(),(0,r.iD)(r.HY,null,(0,r.Ko)(p,(e=>(0,r._)("option",{value:e,key:e},(0,a.zw)(e),9,m))),64))],40,d)])]))}}),S=n(3744);const E=(0,S.Z)(_,[["__scopeId","data-v-72463173"]]);var T=E},7167:function(e,t,n){"use strict";n.d(t,{Z:function(){return d}});var r=n(6252);const a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 -51 512 512"},o=(0,r.uE)('',1),s=[o];function i(e,t,n,o,i,l){return(0,r.wg)(),(0,r.iD)("svg",a,s)}var l={name:"ErrorImg"},c=n(3744);const u=(0,c.Z)(l,[["render",i]]);var d=u},8273:function(e,t,n){"use strict";n.d(t,{Z:function(){return S}});var r=n(6252),a=n(2262),o=(n(7658),n(3577));const s={id:"error"},i={class:"error-content"};var l=(0,r.aZ)({__name:"Error",props:{title:null,message:null,buttonText:null,path:{default:"/"}},setup(e){const t=e,{buttonText:n,title:l,message:c,path:u}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[(0,r._)("div",i,[(0,r._)("h1",null,(0,o.zw)((0,a.SU)(l)),1),(0,r._)("p",null,(0,o.zw)((0,a.SU)(c)),1),(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("button",{key:0,onClick:t[0]||(t[0]=t=>e.$router.push((0,a.SU)(u))),class:"upper"},(0,o.zw)((0,a.SU)(n)),1)):(0,r.kq)("",!0)])]))}}),c=n(3744);const u=(0,c.Z)(l,[["__scopeId","data-v-b60bfa80"]]);var d=u,m=(0,r.aZ)({__name:"NotFound",props:{target:{default:"PAGE"}},setup(e){const t=e,{target:n}=(0,a.BK)(t);return(e,t)=>((0,r.wg)(),(0,r.j4)(d,{title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"]))}});const _=m;var S=_},5020:function(e,t,n){"use strict";n.d(t,{Z:function(){return T}});var r=n(6252),a=n(3577),o=n(2262),s=n(2766);const i=e=>((0,r.dD)("data-v-3a9a4a65"),e=e(),(0,r.Cn)(),e),l={class:"pagination-center","aria-label":"navigation"},c={class:"pagination"},u=i((()=>(0,r._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1))),d={key:0},m=i((()=>(0,r._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1)));var _=(0,r.aZ)({__name:"Pagination",props:{pagination:null,path:null,query:null},setup(e){const t=e,{pagination:n,path:i,query:_}=(0,o.BK)(t);function S(e,t){const n=Object.assign({},_.value);return n.page=t?e+t:e,n}return(e,t)=>{const _=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("nav",l,[(0,r._)("ul",c,[(0,r._)("li",{class:(0,a.C_)(["page-prev",{disabled:!(0,o.SU)(n).has_prev}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:S((0,o.SU)(n).page,-1)},disabled:!(0,o.SU)(n).has_prev},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.PREVIOUS"))+" ",1),u]))])),_:3},8,["to","disabled"])],2),((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(s.lM)((0,o.SU)(n).pages,(0,o.SU)(n).page),(e=>((0,r.wg)(),(0,r.iD)("li",{key:e,class:(0,a.C_)(["page",{active:e===(0,o.SU)(n).page}])},["..."===e?((0,r.wg)(),(0,r.iD)("span",d," ... ")):((0,r.wg)(),(0,r.j4)(_,{key:1,class:"page-link",to:{path:(0,o.SU)(i),query:S(+e)}},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e),1)])),_:2},1032,["to"]))],2)))),128)),(0,r._)("li",{class:(0,a.C_)(["page-next",{disabled:!(0,o.SU)(n).has_next}])},[(0,r.Wm)(_,{class:"page-link",to:{path:(0,o.SU)(i),query:S((0,o.SU)(n).page,1)},disabled:!(0,o.SU)(n).has_next},{default:(0,r.w5)((({navigate:t})=>[(0,r.WI)(e.$slots,"default",{onClick:e=>(0,o.SU)(n).has_next?t:null},(()=>[(0,r.Uk)((0,a.zw)(e.$t("api.PAGINATION.NEXT"))+" ",1),m]))])),_:3},8,["to","disabled"])],2)])])}}}),S=n(3744);const E=(0,S.Z)(_,[["__scopeId","data-v-3a9a4a65"]]);var T=E},8403:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});var r=n(6252),a=n(2262),o=n(9963),s=n(3577),i=n(4366),l=n(5801),c=n(9917);const u=async e=>{const t=await n.e(881).then(n.bind(n,410)),r=await n.e(881).then(n.bind(n,8288)),a=await n.e(881).then(n.bind(n,6947)),o={en:r,fr:a},s=o[e],l={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...s.default.dictionary}};i.Mu.setOptions(l)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},_=["value"],S={key:0,class:"password-strength-details"},E={class:"password-strength-value"},T={key:0,class:"info-box"},p={class:"password-feedback"};var A=(0,r.aZ)({__name:"PasswordStength",props:{password:null},setup(e){const t=e,{password:n}=(0,a.BK)(t),o=(0,c.o)(),A=(0,r.Fl)((()=>o.getters[l.SY.GETTERS.LANGUAGE])),O=(0,r.Fl)((()=>o.getters[l.YN.GETTERS.IS_SUCCESS])),U=(0,a.iH)(0),R=(0,a.iH)(""),I=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);U.value=t.score,R.value=d(U.value),I.value=t.feedback.suggestions,g.value=100*U.value/4+"% 100%"}return(0,r.wF)((async()=>await u(A.value))),(0,r.YP)((()=>A.value),(async e=>{await u(e)})),(0,r.YP)((()=>n.value),(async e=>{O.value?R.value="":N(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,s.C_)(["password-slider",`strength-${U.value}`]),style:(0,s.j5)({backgroundSize:g.value}),type:"range",value:U.value,min:"0",max:"4",step:"1"},null,14,_),R.value?((0,r.wg)(),(0,r.iD)("div",S,[(0,r._)("span",E,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),I.value.length>0?((0,r.wg)(),(0,r.iD)("div",T,[(0,r._)("ul",p,[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)(I.value,(t=>((0,r.wg)(),(0,r.iD)("li",{key:t},(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${t}`)),1)))),128))])])):(0,r.kq)("",!0)])):(0,r.kq)("",!0)]))}}),O=n(3744);const U=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=U;const I=e=>((0,r.dD)("data-v-5a126514"),e=e(),(0,r.Cn)(),e),g={class:"password-input"},N=["id","disabled","placeholder","required","type"],z={key:0,class:"form-info"},h=I((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1)));var w=(0,r.aZ)({__name:"PasswordInput",props:{checkStrength:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{default:"password"},password:{default:""},placeholder:null,required:{type:Boolean,default:!1}},emits:["updatePassword","passwordError"],setup(e,{emit:t}){const n=e,{checkStrength:i,disabled:l,id:c,password:u,placeholder:d,required:m}=(0,a.BK)(n),_=(0,a.iH)(!1),S=(0,a.iH)("");function E(){_.value=!_.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(S.value="")})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",g,[(0,r.wy)((0,r._)("input",{id:(0,a.SU)(c),disabled:(0,a.SU)(l),placeholder:(0,a.SU)(d),required:(0,a.SU)(m),type:_.value?"text":"password","onUpdate:modelValue":t[0]||(t[0]=e=>S.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,N),[[o.YZ,S.value]]),(0,r._)("div",{class:"show-password",onClick:E},[(0,r.Uk)((0,s.zw)(e.$t(`user.${_.value?"HIDE":"SHOW"}_PASSWORD`))+" ",1),(0,r._)("i",{class:(0,s.C_)(["fa","fa-eye"+(_.value?"-slash":"")]),"aria-hidden":"true"},null,2)]),(0,a.SU)(i)?((0,r.wg)(),(0,r.iD)("div",z,[h,(0,r.Uk)(" "+(0,s.zw)(e.$t("user.PASSWORD_INFO")),1)])):(0,r.kq)("",!0),(0,a.SU)(i)?((0,r.wg)(),(0,r.j4)(R,{key:1,password:S.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const f=(0,O.Z)(w,[["__scopeId","data-v-5a126514"]]);var v=f},2056:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577),o=n(2262),s=n(2024);const i=(0,r._)("div",{class:"map-attribution"},[(0,r._)("span",{class:"map-attribution-text"},"©"),(0,r._)("a",{class:"map-attribution-text",href:"https://www.openstreetmap.org/copyright",target:"_blank",rel:"noopener noreferrer"}," OpenStreetMap ")],-1);var l=(0,r.aZ)({__name:"StaticMap",props:{workout:null,displayHover:{type:Boolean,default:!1}},setup(e){const t=e,{displayHover:n}=(0,o.BK)(t),l=`${(0,s.k)()}workouts/map/${t.workout.map}`;return(e,t)=>((0,r.wg)(),(0,r.iD)("div",{class:(0,a.C_)(["static-map",{"display-hover":(0,o.SU)(n)}])},[(0,o.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,src:l,alt:""})):((0,r.wg)(),(0,r.iD)("div",{key:1,class:"bg-map-image",style:(0,a.j5)({backgroundImage:`url(${l})`})},null,4)),i],2))}});const c=l;var u=c},4998:function(e,t,n){"use strict";n.d(t,{Z:function(){return y}});var r=n(6252),a=n(3577);const o={class:"start-chart"},s={key:0},i={key:1},l={class:"chart-radio"},c=["checked"],u=["checked"],d=["checked"],m={key:0},_=["checked"],S={key:1},E=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,U){const R=(0,r.up)("Chart");return(0,r.wg)(),(0,r.iD)("div",o,[e.hideChartIfNoData&&e.emptyStats?((0,r.wg)(),(0,r.iD)("div",s,(0,a.zw)(e.$t("workouts.NO_WORKOUTS")),1)):((0,r.wg)(),(0,r.iD)("div",i,[(0,r._)("div",l,[(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_distance",checked:"total_distance"===e.displayedData,onClick:t[0]||(t[0]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,c),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DISTANCE")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"total_duration",checked:"total_duration"===e.displayedData,onClick:t[1]||(t[1]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,u),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DURATION")),1)]),(0,r._)("label",null,[(0,r._)("input",{type:"radio",name:"nb_workouts",checked:"nb_workouts"===e.displayedData,onClick:t[2]||(t[2]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,d),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.WORKOUT",2)),1)]),e.fullStats?((0,r.wg)(),(0,r.iD)("label",m,[(0,r._)("input",{type:"radio",name:"average_speed",checked:"average_speed"===e.displayedData,onClick:t[3]||(t[3]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,_),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.AVERAGE_SPEED")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",S,[(0,r._)("input",{type:"radio",name:"total_ascent",checked:"total_ascent"===e.displayedData,onClick:t[4]||(t[4]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,E),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.ASCENT")),1)])):(0,r.kq)("",!0),e.fullStats?((0,r.wg)(),(0,r.iD)("label",T,[(0,r._)("input",{type:"radio",name:"total_descent",checked:"total_descent"===e.displayedData,onClick:t[5]||(t[5]=(...t)=>e.updateDisplayData&&e.updateDisplayData(...t))},null,8,p),(0,r.Uk)(" "+(0,a.zw)(e.$t("workouts.DESCENT")),1)])):(0,r.kq)("",!0)]),e.labels.length>0?((0,r.wg)(),(0,r.j4)(R,{key:0,datasets:e.datasets,labels:e.labels,displayedData:e.displayedData,displayedSportIds:e.displayedSportIds,fullStats:e.fullStats,useImperialUnits:e.user.imperial_units},null,8,["datasets","labels","displayedData","displayedSportIds","fullStats","useImperialUnits"])):(0,r.kq)("",!0)]))])}var O=n(4850),U=n(2262);const R={class:"chart"};function I(e,t,n,a,o,s){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",R,[(0,r.Wm)(i,(0,r.dG)(e.barChartProps,{class:"bar-chart"}),null,16)])}var g=n(6518),N=n(9150);const z=(e,t=!1)=>{let n="0";t&&(n=String(Math.floor(e/86400)),e%=86400);const r=String(Math.floor(e/3600)).padStart(2,"0");e%=3600;const a=String(Math.floor(e/60)).padStart(2,"0"),o=String(e%60).padStart(2,"0");return t?`${"0"===n?"":`${n}d `}${"00"===r?"":`${r}h `}${a}m ${o}s`:`${"00"===r?"":`${r}:`}${a}:${o}`};var h=n(3649);const w=(e,t,n,r=!0,a="km")=>{const o=n?h.Dl[a].defaultTarget:a;switch(e){case"average_speed":return`${t.toFixed(2)} ${o}/h`;case"total_duration":return z(t,r);case"total_distance":case"total_ascent":case"total_descent":return`${t.toFixed(2)} ${o}`;default:return t.toString()}};var f=(0,r.aZ)({name:"Chart",components:{BarChart:g.vz},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},useImperialUnits:{type:Boolean,required:!0}},setup(e){const{t:t}=(0,N.QT)();function n(e){return isNaN(e)?0:+e}function a(e,t){return n(e)+n(t)}function o(e){return["total_ascent","total_descent"].includes(e)?"m":"km"}const s=(0,r.Fl)((()=>({labels:e.labels,datasets:JSON.parse(JSON.stringify(e.datasets))}))),i=(0,r.Fl)((()=>({responsive:!0,maintainAspectRatio:!0,animation:!1,layout:{padding:{top:e.fullStats?40:22}},scales:{x:{stacked:!0,grid:{drawOnChartArea:!1}},y:{stacked:"average_speed"!==e.displayedData,grid:{drawOnChartArea:!1},ticks:{maxTicksLimit:6,callback:function(t){return w(e.displayedData,+t,e.useImperialUnits,!1,o(e.displayedData))}},afterFit:function(t){t.width=e.fullStats?90:60}}},plugins:{datalabels:{anchor:"end",align:"end",color:function(t){return"average_speed"===e.displayedData&&t.dataset.backgroundColor?t.dataset.backgroundColor[0]:"#666666"},rotation:function(t){return e.fullStats&&t.chart.chartArea.width<580?310:0},display:function(t){return!(e.fullStats&&t.chart.chartArea.width<300)&&("average_speed"!==e.displayedData||1==e.displayedSportIds.length&&"auto")},formatter:function(t,n){if("average_speed"===e.displayedData)return w(e.displayedData,t,e.useImperialUnits,!1);{const t=n.chart.data.datasets.map((e=>e.data[n.dataIndex])).reduce(((e,t)=>a(e,t)),0);return n.datasetIndex===e.displayedSportIds.length-1&&t>0?w(e.displayedData,t,e.useImperialUnits,!1,o(e.displayedData)):null}}},legend:{display:!1},tooltip:{interaction:{intersect:!0,mode:"index",position:"average_speed"===e.displayedData?"nearest":"average"},filter:function(e){return"0"!==e.formattedValue},callbacks:{label:function(n){let r=t(`sports.${n.dataset.label}.LABEL`)||"";return r&&(r+=": "),null!==n.parsed.y&&(r+=w(e.displayedData,n.parsed.y,e.useImperialUnits,!0,o(e.displayedData))),r},footer:function(n){if("average_speed"===e.displayedData)return"";let r=0;return n.map((e=>{r+=e.parsed.y})),`${t("common.TOTAL")}: `+w(e.displayedData,r,e.useImperialUnits,!0,o(e.displayedData))}}}}}))),{barChartProps:l}=(0,g.xZ)({chartData:s,options:i});return{barChartProps:l}}}),v=n(3744);const C=(0,v.Z)(f,[["render",I]]);var D=C,k=n(5801),P=n(9917),L=n(9318),M=(0,r.aZ)({name:"UserMonthStats",components:{Chart:D},props:{sports:{type:Object,required:!0},user:{type:Object,required:!0},chartParams:{type:Object,required:!0},displayedSportIds:{type:Array,default:()=>[]},fullStats:{type:Boolean,default:!1},hideChartIfNoData:{type:Boolean,default:!1}},setup(e){const t=(0,P.o)(),n=(0,U.iH)("total_distance"),a=(0,r.Fl)((()=>t.getters[k.gu.GETTERS.USER_STATS])),o=(0,r.Fl)((()=>(0,L.v1)(e.chartParams,e.user.weekm,e.sports,e.displayedSportIds,a.value,e.user.imperial_units)));function s(n){t.dispatch(k.gu.ACTIONS.GET_USER_STATS,{username:e.user.username,filterType:"by_time",params:n})}function i(e){n.value=e.target.name}function l(e,t){return{from:(0,O.Z)(e.start,"yyyy-MM-dd"),to:(0,O.Z)(e.end,"yyyy-MM-dd"),time:"week"===e.duration?"week"+(t.weekm?"m":""):e.duration}}return(0,r.wF)((()=>s(l(e.chartParams,e.user)))),(0,r.YP)((()=>e.chartParams),(async t=>{s(l(t,e.user))})),{datasets:(0,r.Fl)((()=>o.value.datasets[n.value])),labels:(0,r.Fl)((()=>o.value.labels)),emptyStats:(0,r.Fl)((()=>0===Object.keys(a.value).length)),displayedData:n,updateDisplayData:i}}});const b=(0,v.Z)(M,[["render",A],["__scopeId","data-v-58e4e79d"]]);var y=b},2179:function(e,t,n){"use strict";n.d(t,{Z:function(){return N}});var r=n(6252),a=n(2262),o=n(3577),s=n(6595),i=n(5801),l=n(9917);const c={class:"box user-header"},u={class:"user-details"},d={class:"user-name"},m={class:"user-stats"},_={class:"user-stat"},S={class:"stat-number"},E={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},U={class:"stat-label"};var R=(0,r.aZ)({__name:"UserHeader",props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),R=(0,l.o)(),I=(0,r.Fl)((()=>R.getters[i.YN.GETTERS.AUTH_USER_PROFILE]));return(e,t)=>{const i=(0,r.up)("Distance");return(0,r.wg)(),(0,r.iD)("div",c,[(0,r.Wm)(s.Z,{user:(0,a.SU)(n)},null,8,["user"]),(0,r._)("div",u,[(0,r._)("div",d,(0,o.zw)((0,a.SU)(n).username),1),(0,r._)("div",m,[(0,r._)("div",_,[(0,r._)("span",S,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",E,(0,o.zw)(e.$t("workouts.WORKOUT",(0,a.SU)(n).nb_workouts)),1)]),(0,r._)("div",T,[(0,r.Wm)(i,{distance:(0,a.SU)(n).total_distance,unitFrom:"km",digits:0,displayUnit:!1,useImperialUnits:(0,a.SU)(I).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(I).imperial_units?"miles":"km"),1)]),(0,r._)("div",A,[(0,r._)("span",O,(0,o.zw)((0,a.SU)(n).nb_sports),1),(0,r._)("span",U,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),I=n(3744);const g=(0,I.Z)(R,[["__scopeId","data-v-20291951"]]);var N=g},7408:function(e,t,n){"use strict";n.d(t,{Z:function(){return h}});n(7658);var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(5801),c=n(9917);const u={id:"user-infos",class:"description-list"},d={key:1,class:"info-box success-message"},m={key:4,class:"email-form form-box"},_={class:"form-items",for:"email"},S={class:"form-items",for:"email"},E={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},U={key:0,class:"profile-buttons"},R=["onClick"],I={key:1,class:"profile-buttons"};var g=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:g,fromAdmin:N}=(0,a.BK)(t),z=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),h=(0,r.Fl)((()=>t.user.created_at?(0,i.Z)(new Date(t.user.created_at),"dd/MM/yyyy HH:mm"):"")),w=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),"dd/MM/yyyy"):"")),f=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),v=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),D=(0,a.iH)(""),k=(0,a.iH)(!1),P=(0,a.iH)(!1),L=(0,a.iH)(""),M=(0,a.iH)("");function b(e){D.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function y(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function G(e){M.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function F(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function W(){x(),L.value=g.value.email_to_confirm?g.value.email_to_confirm:"",P.value=!0,M.value="email-update"}function K(){L.value="",P.value=!1}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:L.value})}function x(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),M.value=""}return(0,r.Ah)((()=>x())),(0,r.YP)((()=>f.value),(e=>{e&&(b(""),K())})),(e,t)=>{const n=(0,r.up)("Modal"),i=(0,r.up)("AlertMessage"),l=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",u,[D.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===D.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(g).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===D.value?y((0,a.SU)(g).username):G((0,a.SU)(g).username)),onCancelAction:t[1]||(t[1]=e=>b(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(f)?((0,r.wg)(),(0,r.iD)("div",d,(0,o.zw)(e.$t(`admin.${"password-reset"===M.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(i,{key:2,message:"user.THIS_USER_ACCOUNT_IS_INACTIVE"})),(0,a.SU)(v)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(v)},null,8,["message"])):(0,r.kq)("",!0),P.value?((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("form",{class:(0,o.C_)({errors:k.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>Y((0,a.SU)(g).username)),["prevent"]))},[(0,r._)("label",_,[(0,r.Uk)((0,o.zw)(e.$t("admin.CURRENT_EMAIL"))+" ",1),(0,r.wy)((0,r._)("input",{id:"email",type:"email","onUpdate:modelValue":t[2]||(t[2]=e=>(0,a.SU)(g).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(g).email]])]),(0,r._)("label",S,[(0,r.Uk)((0,o.zw)(e.$t("admin.NEW_EMAIL"))+"* ",1),(0,r.wy)((0,r._)("input",{id:"new-email",type:"email",required:"","onUpdate:modelValue":t[3]||(t[3]=e=>L.value=e)},null,512),[[s.nr,L.value]])]),(0,r._)("div",E,[(0,r._)("button",T,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)(K,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,p)])],34)])):((0,r.wg)(),(0,r.iD)("div",A,[(0,r._)("dl",null,[(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(h)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.FIRST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).first_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LAST_NAME"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).last_name),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIRTH_DATE"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(w)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(g).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",O,(0,o.zw)((0,a.SU)(g).bio),1)]),(0,a.SU)(N)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(z).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>b("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(g).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>F((0,a.SU)(g).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(z).username!==(0,a.SU)(g).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(W,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,R)):(0,r.kq)("",!0),(0,a.SU)(z).username!==(0,a.SU)(g).username&&(0,a.SU)(C).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>b("reset")),["prevent"]))},(0,o.zw)(e.$t("admin.RESET_USER_PASSWORD")),1)):(0,r.kq)("",!0),(0,r._)("button",{onClick:t[8]||(t[8]=t=>e.$router.go(-1))},(0,o.zw)(e.$t("buttons.BACK")),1)])):((0,r.wg)(),(0,r.iD)("div",I,[(0,r._)("button",{onClick:t[9]||(t[9]=t=>e.$router.push("/profile/edit"))},(0,o.zw)(e.$t("user.PROFILE.EDIT")),1),(0,r._)("button",{onClick:t[10]||(t[10]=t=>e.$router.push("/"))},(0,o.zw)(e.$t("common.HOME")),1)]))]))])}}}),N=n(3744);const z=(0,N.Z)(g,[["__scopeId","data-v-794e58e7"]]);var h=z},6735:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});var r=n(6252),a=n(3577),o=n(2262),s=n(9963),i=n(2201),l=n(8403),c=n(5801),u=n(9917);const d=e=>((0,r.dD)("data-v-bf09a420"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},_={key:2,class:"info-box success-message"},S={class:"form-items"},E=["disabled","placeholder"],T={key:1,class:"form-info"},p=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),A=["disabled","placeholder"],O={key:3,class:"form-info"},U=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],I={key:3},g={key:0},N={key:4},z={class:"account"},h={key:5};var w=(0,r.aZ)({__name:"UserAuthForm",props:{action:null,token:{default:""}},setup(e){const t=e,n=(0,i.yj)(),d=(0,u.o)(),{action:w}=(0,o.BK)(t),f=(0,o.qj)({username:"",email:"",password:""}),v=(0,r.Fl)((()=>G(t.action))),C=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.ERROR_MESSAGES])),D=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_REGISTRATION_SUCCESS])),k=(0,r.Fl)((()=>d.getters[c.YN.GETTERS.IS_SUCCESS])),P=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.APP_CONFIG])),L=(0,r.Fl)((()=>d.getters[c.SY.GETTERS.LANGUAGE])),M=(0,r.Fl)((()=>"register"===t.action&&!P.value.is_registration_enabled)),b=(0,r.Fl)((()=>["reset-request","account-confirmation-resend"].includes(t.action)&&!P.value.is_email_sending_enabled)),y=(0,o.iH)(!1);function G(e){switch(e){case"reset-request":case"reset":return"buttons.SUBMIT";default:return`buttons.${t.action.toUpperCase()}`}}function F(){y.value=!0}function W(e){f.password=e}function K(e){switch(e){case"reset":return t.token?d.dispatch(c.YN.ACTIONS.RESET_USER_PASSWORD,{password:f.password,token:t.token}):d.commit(c.SY.MUTATIONS.SET_ERROR_MESSAGES,"user.INVALID_TOKEN");case"reset-request":return d.dispatch(c.YN.ACTIONS.SEND_PASSWORD_RESET_REQUEST,{email:f.email});case"account-confirmation-resend":return d.dispatch(c.YN.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,{email:f.email});default:f["language"]=L.value,d.dispatch(c.YN.ACTIONS.LOGIN_OR_REGISTER,{actionType:e,formData:f,redirectUrl:n.query.from})}}function Y(){f.username="",f.email="",f.password=""}return(0,r.YP)((()=>n.path),(async()=>{d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),d.commit(c.YN.MUTATIONS.UPDATE_IS_SUCCESS,!1),d.commit(c.YN.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,!1),y.value=!1,Y()})),(e,t)=>{const n=(0,r.up)("AlertMessage"),i=(0,r.up)("router-link"),c=(0,r.up)("ErrorMessage");return(0,r.wg)(),(0,r.iD)("div",{id:"user-auth-form",class:(0,a.C_)(`${["reset","reset-request"].includes((0,o.SU)(w))?(0,o.SU)(w):"user-form"}`)},[(0,r._)("div",m,[(0,r._)("div",{class:(0,a.C_)(["form-box",{disabled:(0,o.SU)(M)}])},[(0,o.SU)(M)?((0,r.wg)(),(0,r.j4)(n,{key:0,message:"user.REGISTER_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(b)?((0,r.wg)(),(0,r.j4)(n,{key:1,message:"admin.EMAIL_SENDING_DISABLED"})):(0,r.kq)("",!0),(0,o.SU)(k)||(0,o.SU)(D)?((0,r.wg)(),(0,r.iD)("div",_,(0,a.zw)(e.$t("user.PROFILE.SUCCESSFUL_"+((0,o.SU)(D)?"REGISTRATION"+((0,o.SU)(P).is_email_sending_enabled?"_WITH_EMAIL":""):"UPDATE"))),1)):(0,r.kq)("",!0),(0,r._)("form",{class:(0,a.C_)({errors:y.value}),onSubmit:t[2]||(t[2]=(0,s.iM)((e=>K((0,o.SU)(w))),["prevent"]))},[(0,r._)("div",S,["register"===(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:0,id:"username",disabled:(0,o.SU)(M),required:"",pattern:"[a-zA-Z0-9_]+",minlength:"3",maxlength:"30",onInvalid:F,"onUpdate:modelValue":t[0]||(t[0]=e=>f.username=e),placeholder:e.$t("user.USERNAME")},null,40,E)),[[s.nr,f.username]]):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",T,[p,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.USERNAME_INFO")),1)])):(0,r.kq)("",!0),"reset"!==(0,o.SU)(w)?(0,r.wy)(((0,r.wg)(),(0,r.iD)("input",{key:2,id:"email",disabled:(0,o.SU)(M)||(0,o.SU)(b),required:"",onInvalid:F,type:"email","onUpdate:modelValue":t[1]||(t[1]=e=>f.email=e),placeholder:e.$t("user.EMAIL")},null,40,A)),[[s.nr,f.email]]):(0,r.kq)("",!0),["reset-request","register","account-confirmation-resend"].includes((0,o.SU)(w))?((0,r.wg)(),(0,r.iD)("div",O,[U,(0,r.Uk)(" "+(0,a.zw)(e.$t("user.EMAIL_INFO")),1)])):(0,r.kq)("",!0),["account-confirmation-resend","reset-request"].includes((0,o.SU)(w))?(0,r.kq)("",!0):((0,r.wg)(),(0,r.j4)(l.Z,{key:4,disabled:(0,o.SU)(M),required:!0,placeholder:"reset"===(0,o.SU)(w)?e.$t("user.ENTER_PASSWORD"):e.$t("user.PASSWORD"),password:f.password,checkStrength:["reset","register"].includes((0,o.SU)(w)),onUpdatePassword:W,onPasswordError:F},null,8,["disabled","placeholder","password","checkStrength"]))]),(0,r._)("button",{type:"submit",disabled:(0,o.SU)(M)||(0,o.SU)(b)},(0,a.zw)(e.$t((0,o.SU)(v))),9,R)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",I,[(0,r.Wm)(i,{class:"links",to:"/register"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.REGISTER")),1)])),_:1}),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("span",g,"-")):(0,r.kq)("",!0),(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.j4)(i,{key:1,class:"links",to:"/password-reset/request"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.PASSWORD_FORGOTTEN")),1)])),_:1})):(0,r.kq)("",!0)])):(0,r.kq)("",!0),"register"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",N,[(0,r._)("span",z,(0,a.zw)(e.$t("user.ALREADY_HAVE_ACCOUNT")),1),(0,r.Wm)(i,{class:"links",to:"/login"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.LOGIN")),1)])),_:1})])):(0,r.kq)("",!0),["login","register"].includes((0,o.SU)(w))&&(0,o.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("div",h,[(0,r.Wm)(i,{class:"links",to:"/account-confirmation/resend"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("user.ACCOUNT_CONFIRMATION_NOT_RECEIVED")),1)])),_:1})])):(0,r.kq)("",!0),(0,o.SU)(C)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(C)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const v=(0,f.Z)(w,[["__scopeId","data-v-bf09a420"]]);var C=v},6595:function(e,t,n){"use strict";n.d(t,{Z:function(){return _}});var r=n(6252),a=n(2262),o=n(2024);const s={class:"user-picture"},i=["alt","src"],l={key:1,class:"no-picture"},c=(0,r._)("i",{class:"fa fa-user-circle-o","aria-hidden":"true"},null,-1),u=[c];var d=(0,r.aZ)({__name:"UserPicture",props:{user:null},setup(e){const t=e,n=(0,r.Fl)((()=>t.user.picture?`${(0,o.k)()}users/${t.user.username}/picture?${Date.now()}`:""));return(e,t)=>((0,r.wg)(),(0,r.iD)("div",s,[""!==(0,a.SU)(n)?((0,r.wg)(),(0,r.iD)("img",{key:0,class:"profile-user-img",alt:e.$t("user.USER_PICTURE"),src:(0,a.SU)(n)},null,8,i)):((0,r.wg)(),(0,r.iD)("div",l,u))]))}});const m=d;var _=m},5630:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(6252),a=n(3577);const o={class:"no-workouts box"};function s(e,t){const n=(0,r.up)("router-link");return(0,r.wg)(),(0,r.iD)("div",o,[(0,r._)("div",null,[(0,r.Uk)((0,a.zw)(e.$t("workouts.NO_WORKOUTS"))+" ",1),(0,r.Wm)(n,{to:"/workouts/add"},{default:(0,r.w5)((()=>[(0,r.Uk)((0,a.zw)(e.$t("workouts.UPLOAD_FIRST_WORKOUT")),1)])),_:1})])])}var i=n(3744);const l={},c=(0,i.Z)(l,[["render",s],["__scopeId","data-v-4b4d15fb"]]);var u=c},4612:function(e,t,n){var r={"./de/de.ts":9923,"./en/en.ts":8757,"./fr/fr.ts":6625};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=4612}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r].call(o.exports,o,o.exports,n),o.exports}n.m=e,function(){var e=[];n.O=function(t,r,a,o){if(!r){var s=1/0;for(u=0;u=o)&&Object.keys(n.O).every((function(e){return n.O[e](r[l])}))?r.splice(l--,1):(i=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[r,a,o]}}(),function(){n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,{a:t}),t}}(),function(){var e,t=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__};n.t=function(r,a){if(1&a&&(r=this(r)),8&a)return r;if("object"===typeof r&&r){if(4&a&&r.__esModule)return r;if(16&a&&"function"===typeof r.then)return r}var o=Object.create(null);n.r(o);var s={};e=e||[null,t({}),t([]),t(t)];for(var i=2&a&&r;"object"==typeof i&&!~e.indexOf(i);i=t(i))Object.getOwnPropertyNames(i).forEach((function(e){s[e]=function(){return r[e]}}));return s["default"]=function(){return r},n.d(o,s),o}}(),function(){n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))}}(),function(){n.u=function(e){return"static/js/"+({24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile",881:"password"}[e]||e)+"."+{24:"761e9759",93:"97ccdf6e",193:"9cd652fd",243:"27c8fef5",328:"ab9e5f5f",401:"4abcd6a2",431:"5976068e",633:"9a092c9a",845:"dd30724d",858:"0441e3cc",881:"d0f613fa"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"static/css/"+{24:"reset",193:"statistics",328:"admin",401:"workouts",845:"profile"}[e]+"."+{24:"e2527ec6",193:"40e24e75",328:"73df498d",401:"dd7c6bdb",845:"203e78e2"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="fittrackee_client:";n.l=function(r,a,o,s){if(e[r])e[r].push(a);else{var i,l;if(void 0!==o)for(var c=document.getElementsByTagName("script"),u=0;u {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n\n const authToken = store.getters[AUTH_USER_STORE.GETTERS.AUTH_TOKEN]\n if (authToken) {\n const auth = `Bearer ${authToken}`\n if (config.headers && config.headers.Authorization !== auth) {\n config.headers.Authorization = `Bearer ${authToken}`\n }\n }\n return config\n },\n (error) => Promise.reject(error)\n)\n\nauthApi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default authApi\n","import { AxiosRequestConfig } from 'axios'\n\nexport const pendingRequests = new Map()\n\nconst generateRequestKey = (config: AxiosRequestConfig): string => {\n const { method, url, params = {}, data = {} } = config\n return [method, url, JSON.stringify(params), JSON.stringify(data)].join('')\n}\n\nexport const removeRequestIfPending = (config: AxiosRequestConfig): string => {\n const requestKey = generateRequestKey(config)\n if (pendingRequests.has(requestKey)) {\n const controller = pendingRequests.get(requestKey) || {}\n controller?.abort()\n pendingRequests.delete(requestKey)\n }\n return requestKey\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(): Record> {\n const locales = require.context('./locales', true, /[A-Za-z0-9-_,\\s]+\\.ts$/i)\n const messages: Record> = {}\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","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontaktiere den Administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee ist ein selbst-gehosteter Outdoor-Aktivitäts-Tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"unter \", _interpolate(_list(0)), \" Lizenz \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Quellkode\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiviere Konto\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hinzufügen/Entfernen von Administratorrechten, Lösche Nutzerkonto.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt-E-Mail des Administrators\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Anzahl aktiver Nutzer\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn 0, gibt es keine Registrierungslimitierung..\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Dateianzahl im zip Archiv\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Kontakt-E-Mail\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe der hochgeladenen Dateien (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungskonfiguration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Größe des zip Archives (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zu Admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Konto löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Möchtest du wirklich das \", _interpolate(_list(0)), \" Passwort zurücksetzen?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelle E-Mail\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lösche Nutzer\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail-Versand ist deaktiviert.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren/Deaktivieren von Sportarten.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neue E-Mail\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Das wasswort wurde zurückgesetzt.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit deaktiviert.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung ist derzeit aktiviert.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktiv\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainings existieren\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten Administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere Anwemdungskonfiguration (maximale Anzahl an registrierten Nutzern, maximale Dateigröße).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktualisiere E-Mail\"])},\n \"USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzer\"])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die E-Mail Adresse wurde aktualisiert.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte hinzufügen\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administratorrechte entfernen\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adminstatus\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierungsdatum\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accountstatus\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsanzahl\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail: Eine gültige E-Mail muss angegeben werden.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Abrufen der Konfiguration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Aktualisieren der Konfiguration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Die Registrierung ist deaktiviert.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dateierweiterung ist nicht erlaubt.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Datei ist größer als erlaubt.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültige Anmeldedaten.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die bereitgestellten Daten sind ungültig.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte erneut anmelden.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Netzwerkfehler.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die neue E-Mail muss sich von der aktuellen E-Mail unterscheiden\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei ausgewählt.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort: Passwort und Passwortbestätigung stimmen nicht überein.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein gültiges Authentifizierungstoken an.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Es tut mir leid, der Benutzername ist schon vergeben.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportart existiert nicht.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Die Signatur ist abgelaufen. Bitte melde dich erneut an.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrierung erfolgreich.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Der Nutzer existiert nicht.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Um den Administrator zu kontaktieren, muss eine gültige E-Mail-Adresse angegeben werden\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst Dein Konto nicht löschen, da kein anderer Nutzer hat Administratorrechte besitzt.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du hast keine Berechtigung.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorhergehende\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächste\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigungs-E-Mail erneut senden\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abbrechen\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter löschen\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mein Konto löschen\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Deaktivieren\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bearbeiten\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktivieren\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nein\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurücksetzen\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Speichern\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ja\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Über\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bestätigung\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontakt\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Tag\"]), _normalize([\"Tage\"])])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortiert nach\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sortieren\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aufsteigend\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"absteigend\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pro Seite\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Insgesamt\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Monat\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler. Bitte versuche es erneut oder kontaktiere den Administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bei der Anwendung scheinen einige Probleme aufgetreten zu sein.
Bitte versuche es später noch einmal oder kontaktiere den Administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Seite nicht gefunden\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training nicht gefunden\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etwas lief schief\"])}\n}","export default {\n \n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Pendeln)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wandern\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountainbiken (elektrisch)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rudern\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Laufen\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skifahren (Langlauf)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeschuhe\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gehen\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistik\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Woche\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monat\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jahr\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du keine Anweisungen erhalten?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe deine E-Mail. Eine neue Bestätigungs-E-Mail wurde an die angegebene Adresse geschickt.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hast du bereits ein Konto?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Möchtest du dein Konto wirklich löschen? Alle Daten werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktuelles Passwort\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe eine gültige E-Mail-Adresse an.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gebe ein Passwort ein\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nach Benutzernamen filtern\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort verbergen\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ungültiges Token, bitte fordere ein neues Passworts an.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmelden\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmeldung\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abmelden\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Neues Passwort\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Nutzer gefunden.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mindestens 8 Zeichen sind erforderlich.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort vergessen?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prüfe Deine E-Mail. Wenn Deine Adresse in der Datenbank enthalten ist, wirst du eine E-Mail mit einem Link erhalten um Dein Passwort zurückzusetzen.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"schwach\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mittel\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"gut\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwortstärke\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide vorhersehbare Buchstabenersetzungen wie \", \"@\", \" für a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide umgekehrte Schreibweisen gebräuchlicher Wörter.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe einige, aber nicht alle Buchstaben groß.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schreibe mehr als nur den ersten Buchstaben groß.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Daten und Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Angabe von letzten Jahreszahlen.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide Jahreszahlen, die mit Dir in Verbindung gebracht werden.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide gebräuchliche Zeichenfolgen.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vermeide wiederholungen von Wörtern und Zeichen.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwende längere Tastaturmuster und ändere mehrmals die Schreibrichtung.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge weitere weniger gebräuchliche Wörter hinzu.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Verwenden Sie mehrere Wörter, aber vermeide gebräuchliche Ausdrücke.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Du kannst sichere Passwörter erstellen, ohne Symbole, Zahlen oder Großbuchstaben zu verwenden.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wenn Sie dieses Passwort auch anderweitig verwenden, sollten Sie es ändern.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Dein Passwort wurde aktualisiert. Klicke \", _interpolate(_list(0)), \" um dich anzumelden.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kontoausgabe\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zurück zum Profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Biographie\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geburtsdatum\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil bearbeiten\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen ändern\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen für Sportarten ändern\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Bitte \", _interpolate(_list(0)), \" um Deine E-Mail Adresse nochmals zu ändern oder kontaktiere den Administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorname\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erster Tag der Woche\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sprache\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nachname\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ort\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Montag\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bildausgabe\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild aktualisieren\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild entfernen\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungsausgabe\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil-Ausgabe\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regirierungsdatum\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten-Einstellungsausgabe\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sontag\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Konto\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bild\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einstellungen\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sportarten\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aktion\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farbe\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vom Admin deaktiviert\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"aktiv\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeitsschwellenwert für Stopp\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert. Bitte prüfe Deine E-Mail um die neue E-Mail Adresse zu bestätigen.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich erstellt.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ein Aktivierungslink für Dein Konto wurde an die angegebene E-Mail Adresse geschickt.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dein Konto wurde erfolgreich aktualisiert.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Einheiten für die Distanz\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperiales System (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metrisches System (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Zeitzone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registrieren\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E-Mail zur Kontobestätigung erneut senden\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entschuldigung, die Registrierung ist deaktiviert.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort zurücksetzen\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Passwort anzeigen\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dieser Account ist inaktiv.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Benutzerbild\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nutzername\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 bis 30 Zeichen sind erforderlich, nur alphanumerische Zeichen und der Unterstrich _ sind erlaubt.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training hinzufügen\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aufstieg\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschnittsgeschwindigkeit\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zurück zum Training\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datum\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Abstieg\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"zeige Filter\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Entfernung\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dauer\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Training bearbeiten\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhe\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ende\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Von\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx Datei\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verberge Filter\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Letzte Trainings\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lade mehr Trainings\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"maximale Höhe\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximale Dateianzahl\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Maximalgröße\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"minimale Höhe\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nächstes Training\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Daten aus gpx, ohne Bereinigung\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Datei angegeben\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"enthält keinen Ordner\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Karte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein nächstes Training\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Anmerkungen\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Kein vorheriges Training\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Aufzeichnungen.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Keine Trainings.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anmerkungen\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pausen\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vorheriges Training\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Aufzeichnung\"]), _normalize([\"Aufzeichnungen\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durchschn. Geschwindigkeit\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiteste Entfernung\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Längste Dauer\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. Geschwindigkeit\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"verbleibende Zeichen\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Segment\"]), _normalize([\"Segmente\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geschwindigkeit\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Sportart\"]), _normalize([\"Sportarten\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start und Ziel\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höhenachse bei Null starten\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Titel\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bis\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Gesamtdauer\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Füge erstes Training hinzu!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Luftfeuchtigkeit\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Temperatur\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klarer Tag\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"klare Nacht\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wolkig\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nebel\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkter Tag\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"teilweise bewölkte Nacht\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Regen\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schneeregen\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Schnee\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mit .gpx Datei\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ohne .gpx Datei\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"Training\"]), _normalize([\"Trainings\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trainingsdatum\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du dieses Training löschen möchtest?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip Datei\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"oder .zip Datei mit .gpx Dateien\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contact the administrator\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee is a self-hosted outdoor activity tracker.\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"under \", _interpolate(_list(0)), \" license \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Source code\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activate account\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add/remove admin rights, delete user account.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administrator email for contact\"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. number of active users\"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If 0, no limitation on registration.\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. files of zip archive\"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no contact email\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of uploaded files (in Mb)\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application configuration\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. size of zip archive (in Mb)\"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to delete \", _interpolate(_list(0)), \" account? All data will be deleted, this cannot be undone.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Are you sure you want to reset \", _interpolate(_list(0)), \" password?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current email\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete user\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email sending is disabled.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable/disable sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The password has been reset.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently disabled.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration is currently enabled.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset password\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Active\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workouts exist\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports administration\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update application configuration (maximum number of registered users, maximum files size).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"user\"]), _normalize([\"users\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The email address has been updated.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add admin rights\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove admin rights\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"admin status\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"registration date\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account status\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"username\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout count\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email: valid email must be provided.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx processing.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error during gpx file parsing.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error on getting configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error when updating configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, please try again or contact the administrator.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error, registration is disabled.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File extension not allowed.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"File size is greater than the allowed size.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid credentials.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provided data are invalid.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please log in again.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Network Error.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The new email must be different than curent email\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No selected file.\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password: password and password confirmation don't match.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Provide a valid auth token.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, that username is already taken.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sport does not exist.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expired. Please log in again.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Successfully registered.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"User does not exist.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A valid email must be provided for administrator contact\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can not delete your account, no other user has admin rights.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You do not have permissions.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"previous\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"next\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend confirmation email\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Authorize\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cancel\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Clear filters\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete my account\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Disable\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enable\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Log in\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Submit\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Yes\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"about\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"day\"]), _normalize([\"days\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Displayed\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"order by\"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sort\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascending\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descending\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dashboard\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This month\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Error. Please try again or contact the administrator.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"The application seems to have encountered some issues.
Please try again later or contact the administrator.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page not found\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Workout not found\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Something went wrong\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a new OAuth2 application\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Id\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Issue at\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application name\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Redirect URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to application configuration.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to auth endpoints.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to auth endpoints.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to users endpoints.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to users endpoints.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants read access to workouts endpoints.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"grants write access to workouts endpoints.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application URL\"])}\n },\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application created successfully. Make sure to copy the secret now, it won't show up again.\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"The application \", _interpolate(_list(0)), \" is requesting:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2 applications\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Authorize \", _interpolate(_list(0)), \" to use your account?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copy to the clipboard\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Delete application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New OAuth App\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application not found!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no applications\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revoke all tokens\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to revoke all tokens?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"All existing associated tokens have been revoked.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hiking\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mountain Biking (Electric)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Rowing\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Running\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Alpine)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Skiing (Cross Country)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Snowshoes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Walking\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistics\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"week\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"month\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"year\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Didn't received instructions?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. A new confirmation email has been sent to the address provided.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Already have an account?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete your account? All data will be deleted, this cannot be undone\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Current password\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a valid email address.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Enter a password\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filter on username\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide password\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Invalid token, please request a new password reset.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"log in\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Login\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Logout\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"New password\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No users found.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"At least 8 characters required.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Forgot password?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Password reset\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Check your email. If your address is in our database, you'll received an email with a link to reset your password.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"weak\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"good\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"strong\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"password strength\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid predictable letter substitutions like \", \"@\", \" for a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid reversed spellings of common words.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize some, but not all letters.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalize more than the first letter.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid dates and years that are associated with you.\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid recent years.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid years that are associated with you.\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid common character sequences.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Avoid repeated words and characters.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use longer keyboard patterns and change typing direction multiple times.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add more words that are less common.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Use multiple words, but avoid common phrases.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"You can create strong passwords without using symbols, numbers, or uppercase letters.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"If you use this password elsewhere, you should change it.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Your password have been updated. Click \", _interpolate(_list(0)), \" to log in.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Account edition\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ascent-related data (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Back to profile\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Birth date\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit profile\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit preferences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit sports preferences\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Please \", _interpolate(_list(0)), \" to change your email address again or contact the administrator\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First name\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"First day of week\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Language\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Last name\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Location\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Monday\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Picture edition\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Update picture\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Remove picture\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Preferences edition\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Profile edition\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Registration date\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sports preferences edition\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sunday\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"account\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"picture\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"preferences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profile\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"color\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"disabled by admin\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"active\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"stopped speed threshold\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully. Please check your email to confirm your new email address.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been created successfully.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"A link to activate your account has been emailed to the address provided.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Your account has been updated successfully.\"])},\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Units for distance\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Imperial system (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Metric system (m, km)\"])}\n },\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Timezone\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Register\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Resend account confirmation email\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Sorry, registration is disabled.\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Reset your password\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"show password\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"This user account is inactive.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"user picture\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Username\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 to 30 characters required, only alphanumeric characters and the underscore character \\\"_\\\" allowed.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Add a workout\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analysis\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascent\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ave. speed\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"average speed\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"back to workout\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descent\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"display filters\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"duration\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Edit the workout\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"elevation\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"end\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"from\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".gpx file\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hide filters\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Latest workouts\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Load more workouts\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. altitude\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max files\"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max size\"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"max. speed\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"min. altitude\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Next workout\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"data from gpx, without any cleaning\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No file provided\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no folder inside\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No map\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next segment\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No next workout\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous segment\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No previous workout\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"No workouts.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous segment\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Previous workout\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ave. speed\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Farthest distance\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Highest ascent\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Longest duration\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Max. speed\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"remaining characters\"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"speed\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Start and finish\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"start elevation axis at zero\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"title\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"to\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"total duration\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Upload one!\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidity\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"temperature\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSW\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SW\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WSW\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"W\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"WNW\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NW\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNW\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear day\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"clear night\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"cloudy\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fog\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy day\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partly cloudy night\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"rain\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sleet\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"snow\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"wind\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"with .gpx file\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"without .gpx file\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"workout\"]), _normalize([\"workouts\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"workout date\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this workout?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\".zip file\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"or .zip file containing .gpx files\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","export default {\n \"CONTACT_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Contacter l'administrateur\"])},\n \"FITTRACKEE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"FitTrackee est un tracker d'activités sportives (en extérieur).\"])},\n \"FITTRACKEE_LICENSE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"sous licence \", _interpolate(_list(0)), \" (en) \"])},\n \"SOURCE_CODE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Code source (en)\"])}\n}","export default {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Action\"])},\n \"ACTIVATE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer le compte\"])},\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"ADMIN_RIGHTS_DELETE_USER_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter/retirer des droits d'administration, supprimer des comptes utilisateurs.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ADMINISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration\"])},\n \"APPLICATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application\"])},\n \"APP_CONFIG\": {\n \"ADMIN_CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Email de l'administrateur pour contact \"])},\n \"MAX_USERS_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre maximum d'utilisateurs actifs \"])},\n \"MAX_USERS_HELP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si égal à 0, pas limite d'inscription\"])},\n \"MAX_FILES_IN_ZIP_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des archives zip (en Mo) \"])},\n \"NO_CONTACT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"non renseigné\"])},\n \"SINGLE_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Taille max. des fichiers (en Mo) \"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configuration de l'application\"])},\n \"ZIP_UPLOAD_MAX_SIZE_LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nombre max. de fichiers dans une archive zip \"])}\n },\n \"BACK_TO_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir à l'admin\"])},\n \"CONFIRM_USER_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer le compte de l'utilisateur \", _interpolate(_list(0)), \" ? Toutes les données seront définitivement.\"])},\n \"CONFIRM_USER_PASSWORD_RESET\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Êtes-vous sûr de vouloir réinitialiser le mot de passe de l'utilisateur \", _interpolate(_list(0)), \" ?\"])},\n \"CURRENT_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Adresse email actuelle\"])},\n \"DELETE_USER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'utilisateur\"])},\n \"EMAIL_SENDING_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'envoi d'emails est désactivé.\"])},\n \"ENABLE_DISABLE_SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer/désactiver des sports.\"])},\n \"NEW_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouvelle adresse email\"])},\n \"PASSWORD_RESET_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le mot de passe a été réinitialisé.\"])},\n \"REGISTRATION_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement désactivées.\"])},\n \"REGISTRATION_ENABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Les inscriptions sont actuellement activées.\"])},\n \"RESET_USER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit. le mot de passe\"])},\n \"SPORTS\": {\n \"TABLE\": {\n \"ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Actif\"])},\n \"HAS_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"des séances existent\"])},\n \"IMAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Label\"])}\n },\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Administration - Sports\"])}\n },\n \"UPDATE_APPLICATION_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Configurer l'application (nombre maximum d'utilisateurs inscrits, taille maximale des fichers).\"])},\n \"UPDATE_USER_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Changer l'email\"])},\n \"USER\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"utilisateur\"]), _normalize([\"utilisateurs\"])])},\n \"USER_EMAIL_UPDATE_SUCCESSFUL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'adresse email a été mise à jour.\"])},\n \"USERS\": {\n \"TABLE\": {\n \"ADD_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter les droits d'admin\"])},\n \"REMOVE_ADMIN_RIGHTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retirer les droits d'admin\"])}\n },\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"status administrateur\"])},\n \"CREATED_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date d'inscription\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"statut du compte\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nom d'utilisateur\"])},\n \"WORKOUTS_COUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de séances\"])}\n }\n }\n }\n}","export default {\n \"ERROR\": {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"email: valid email must be provided\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel : une adresse électronique valide doit être fournie.\"])},\n \"error during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors du traitement du fichier gpx.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de l'analyse du fichier.\"])},\n \"error on getting configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la récupération de la configuration.\"])},\n \"error when updating configuration\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur lors de la mise à jour de la configuration\"])},\n \"error, please try again or contact the administrator\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, veuillez réessayer ou contacter l'administrateur.\"])},\n \"error, registration is disabled\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur, les inscriptions sont désactivées.\"])},\n \"file extension not allowed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Extension de fichier non autorisée.\"])},\n \"file size is greater than the allowed size\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La taille du fichier est supérieure à la limite autorisée.\"])},\n \"invalid credentials\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiants invalides.\"])},\n \"invalid payload\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données fournies incorrectes.\"])},\n \"invalid token, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion invalide, merci de vous reconnecter.\"])},\n \"invalid token, please request a new token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton de connexion, merci de vous reconnecter.\"])},\n \"no file part\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni.\"])},\n \"no selected file\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier sélectionné.\"])},\n \"Network Error\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur réseau.\"])},\n \"new email must be different than curent email\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"La nouvelle addresse électronique doit être differente de l'adresse actuelle\"])},\n \"password: password and password confirmation do not match\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe : les mots de passe saisis sont différents.\"])},\n \"provide a valid auth token\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Merci de fournir un jeton de connexion valide.\"])},\n \"sport does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce sport n'existe pas.\"])},\n \"signature expired, please log in again\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Signature expirée. Merci de vous reconnecter.\"])},\n \"sorry, that username is already taken\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, ce nom d'utilisateur est déjà utilisé.\"])},\n \"successfully registered\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Inscription validée.\"])},\n \"user does not exist\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'utilisateur n'existe pas.\"])},\n \"valid email must be provided for admin contact\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une adresse électronique doit être fournie pour le contact de l'administrateur\"])},\n \"you can not delete your account, no other user has admin rights\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous ne pouvez pas supprimer votre compte, aucun autre utilisateur n'a des droits d'administration.\"])},\n \"you do not have permissions\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas les permissions nécessaires.\"])}\n },\n \"PAGINATION\": {\n \"PREVIOUS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"précédent\"])},\n \"NEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"suivant\"])}\n }\n}","export default {\n \"ACCOUNT-CONFIRMATION-RESEND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Renvoyer le message de confirmation\"])},\n \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autoriser\"])},\n \"BACK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Retour\"])},\n \"CANCEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Annuler\"])},\n \"CLEAR_FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser\"])},\n \"DELETE_MY_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer mon compte\"])},\n \"DISABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désactiver\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier\"])},\n \"ENABLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Activer\"])},\n \"FILTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"NO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Non\"])},\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinit.\"])},\n \"SUBMIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Valider\"])},\n \"YES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Oui\"])}\n}","export default {\n \"ABOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à propos\"])},\n \"CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Confirmation\"])},\n \"CONTACT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"contact\"])},\n \"DAY\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"jour\"]), _normalize([\"jours\"])])},\n \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Affiché\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"documentation (en)\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"SELECTS\": {\n \"ORDER_BY\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"trier par \"])}\n },\n \"ORDER\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"tri\"])},\n \"ASC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ascendant\"])},\n \"DESC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"descendant\"])}\n },\n \"PER_PAGE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"par page\"])}\n }\n },\n \"TOTAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Total\"])}\n}","export default {\n \"DASHBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tableau de bord\"])},\n \"THIS_MONTH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ce mois-ci\"])}\n}","export default {\n \"UNKNOWN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erreur. Veuillez réessayer ou contacter l'administrateur.\"])},\n \"APP_ERROR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"L'application semble rencontrer quelques problèmes.
Veuillez réessayer plus tard ou contacter l'administrateur.\"])},\n \"NOT_FOUND\": {\n \"PAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Page introuvable\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance introuvable\"])}\n },\n \"SOMETHING_WRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Une erreur s'est produite\"])}\n}","export default {\n \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une nouvelle application OAuth2\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Identifiant\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Secret\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application description\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Créée le\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom de l'application\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de redirection\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Scope\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture à la configuration de l'application.\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes auth.\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes auth.\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes users.\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes users.\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en lecture aux routes workouts.\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"donne les droits en écriture aux routes workouts.\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"URL de l'application\"])}\n },\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application créée avec succès. Assurez-vous de copier le secret maintenant, il ne s'affichera plus.\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"L'application \", _interpolate(_list(0)), \" demande les accès suivants :\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Applications OAuth2\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Autoriser \", _interpolate(_list(0)), \" à utiliser votre compte ?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"copier dans le presse papier\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer l'application\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une App OAuth\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Application introuvable !\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de applications\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Révoquer tous les jetons\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir révoquer tous les jetons ?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Tous les jetons associés existants ont été révoqués.\"])}\n}","export default {\n \"Cycling (Sport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Sport)\"])}\n },\n \"Cycling (Transport)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Transport)\"])}\n },\n \"Hiking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Randonnée\"])}\n },\n \"Mountain Biking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT\"])}\n },\n \"Mountain Biking (Electric)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"VTT (Électrique)\"])}\n },\n \"Rowing\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aviron\"])}\n },\n \"Running\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Course\"])}\n },\n \"Skiing (Alpine)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Alpin)\"])}\n },\n \"Skiing (Cross Country)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ski (Randonnée)\"])}\n },\n \"Snowshoes\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Raquettes\"])}\n },\n \"Trail\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Trail\"])}\n },\n \"Walking\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Marche\"])}\n }\n}","export default {\n \"STATISTICS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Statistiques\"])},\n \"TIME_FRAMES\": {\n \"week\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"semaine\"])},\n \"month\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"mois\"])},\n \"year\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"année\"])}\n }\n}","export default {\n \"ACCOUNT_CONFIRMATION_NOT_RECEIVED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous n'avez pas reçu les instructions ?\"])},\n \"ACCOUNT_CONFIRMATION_SENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Un nouveau courriel de confirmation a été envoyé à l'adresse électronique fournie.\"])},\n \"ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Admin\"])},\n \"ALREADY_HAVE_ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous avez déjà un compte ?\"])},\n \"CONFIRM_ACCOUNT_DELETION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr·e de vouloir supprimer votre compte ? Toutes les données seront définitivement effacés\"])},\n \"CURRENT_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe actuel\"])},\n \"EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Courriel\"])},\n \"EMAIL_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez une adresse électronique valide.\"])},\n \"ENTER_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Saisissez un mot de passe\"])},\n \"FILTER_ON_USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Filtrer sur le nom d'utilisateur\"])},\n \"HIDE_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer le mot de passe\"])},\n \"INVALID_TOKEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Jeton invalide, veuillez demander une nouvelle réinitialisation de mot de passe.\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LOG_IN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"connecter\"])},\n \"LOGIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se connecter\"])},\n \"LOGOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Se déconnecter\"])},\n \"NEW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nouveau mot de passe\"])},\n \"NO_USERS_FOUND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Aucun utilisateur trouvé.\"])},\n \"PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe\"])},\n \"PASSWORD_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"8 caractères minimum.\"])},\n \"PASSWORD_FORGOTTEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mot de passe oublié ?\"])},\n \"PASSWORD_RESET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialisation du mot de passe\"])},\n \"PASSWORD_SENT_EMAIL_TEXT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vérifiez vos courriels. Si vote adresse est dans notre base de données, vous recevrez un courriel avec un lien pour réinitialiser votre mot de passe.\"])},\n \"PASSWORD_STRENGTH\": {\n \"WEAK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"faible\"])},\n \"AVERAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"moyenne\"])},\n \"GOOD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"bonne\"])},\n \"STRONG\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"forte\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"robustesse du mot de passe\"])},\n \"SUGGESTIONS\": {\n \"l33t\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les substitutions de lettres prévisibles comme \", \"@\", \" pour a.\"])},\n \"reverseWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les orthographes inversées des mots courants.\"])},\n \"allUppercase\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettez quelques lettres en majuscules, mais pas toutes.\"])},\n \"capitalization\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Capitalisez mais pas seulement la première lettre.\"])},\n \"dates\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dates et les années qui vous sont associées. (ex : date ou année de naissance).\"])},\n \"recentYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les dernières années.\"])},\n \"associatedYears\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les années qui vous sont associées. (ex : date de naissance).\"])},\n \"sequences\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les séquences de caractères courantes.\"])},\n \"repeated\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Évitez les mots et les caractères répétés.\"])},\n \"longerKeyboardPattern\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez des motifs de clavier plus longs et changez de sens de frappe plusieurs fois.\"])},\n \"anotherWord\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez des mots moins courants.\"])},\n \"useWords\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Utilisez plusieurs mots, mais évitez les phrases courantes.\"])},\n \"noNeed\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vous pouvez créer des mots de passe forts sans utiliser de symboles, de chiffres ou de lettres majuscules.\"])},\n \"pwned\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Si vous utilisez ce mot de passe ailleurs, vous devriez le modifier.\"])}\n }\n },\n \"PASSWORD_UPDATED\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Votre mot de passe a été mis à jour. Cliquez \", _interpolate(_list(0)), \" pour vous connecter.\"])},\n \"PROFILE\": {\n \"ACCOUNT_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du compte\"])},\n \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Données relatives au dénivelé positif (records, total)\"])},\n \"BACK_TO_PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Revenir au profil\"])},\n \"BIO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bio\"])},\n \"BIRTH_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date de naissance\"])},\n \"EDIT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier le profil\"])},\n \"EDIT_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences\"])},\n \"EDIT_SPORTS_PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier les préférences des sports\"])},\n \"ERRORED_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Veuillez vous \", _interpolate(_list(0)), \" pour changer de nouveau votre adresse électronique ou contacter l'administrateur\"])},\n \"FIRST_DAY_OF_WEEK\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Premier jour de la semaine\"])},\n \"FIRST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Prénom\"])},\n \"LANGUAGE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Langue\"])},\n \"LAST_NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom\"])},\n \"LOCATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lieu\"])},\n \"MONDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Lundi\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Image de profil\"])},\n \"PICTURE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour de l'image de profil\"])},\n \"PICTURE_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mettre à jour l'image\"])},\n \"PICTURE_REMOVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Supprimer\"])},\n \"PREFERENCES_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences\"])},\n \"PROFILE_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour du profil\"])},\n \"REGISTRATION_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date d'inscription\"])},\n \"SPORTS_EDITION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Mise à jour des préférences des sports\"])},\n \"SUNDAY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dimanche\"])},\n \"TABS\": {\n \"ACCOUNT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"compte\"])},\n \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"apps\"])},\n \"PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"image\"])},\n \"PREFERENCES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"préférences\"])},\n \"PROFILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"profil\"])},\n \"SPORTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sports\"])}\n },\n \"UNITS\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Unités pour les distances\"])},\n \"IMPERIAL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système impérial (ft, mi)\"])},\n \"METRIC\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Système métrique (m, km)\"])}\n },\n \"SPORT\": {\n \"ACTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"action\"])},\n \"COLOR\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"couleur\"])},\n \"DISABLED_BY_ADMIN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"désactivé par l'administrateur\"])},\n \"IS_ACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"actif\"])},\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"label\"])},\n \"STOPPED_SPEED_THRESHOLD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"seuil de vitesse arrêtée\"])}\n },\n \"SUCCESSFUL_EMAIL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès. Veuillez vérifier votre boîte de réception pour valider votre nouvelle adresse électronique.\"])},\n \"SUCCESSFUL_REGISTRATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été créé avec succès.\"])},\n \"SUCCESSFUL_REGISTRATION_WITH_EMAIL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Un lien pour activer votre compte a été envoyé à l'adresse électronique fournie.\"])},\n \"SUCCESSFUL_UPDATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Votre compte a été modifié avec succès.\"])},\n \"TIMEZONE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fuseau horaire\"])}\n },\n \"REGISTER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S'inscrire\"])},\n \"REGISTER_DISABLED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Désolé, les inscriptions sont désactivées.\"])},\n \"RESENT_ACCOUNT_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Envoyer à nouveau le courriel de confirmation de compte\"])},\n \"RESET_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Réinitialiser votre mot de passe\"])},\n \"SHOW_PASSWORD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher le mot de passe\"])},\n \"THIS_USER_ACCOUNT_IS_INACTIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Le compte de cet utilisateur est inactif.\"])},\n \"USER_PICTURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"photo de l'utilisateur\"])},\n \"USERNAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Nom d'utilisateur\"])},\n \"USERNAME_INFO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"3 à 30 caractères requis, seuls les caractères alphanumériques et le caractère _ sont autorisés.\"])}\n}","export default {\n \"ADD_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajouter une séance\"])},\n \"ANALYSIS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"analyse\"])},\n \"ASCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé positif\"])},\n \"AVERAGE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moyenne\"])},\n \"AVE_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse moy.\"])},\n \"BACK_TO_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"revenir à la séance\"])},\n \"DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date\"])},\n \"DESCENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"dénivelé négatif\"])},\n \"DISPLAY_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"afficher les filtres\"])},\n \"DISTANCE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"distance\"])},\n \"DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée\"])},\n \"EDIT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Modifier la séance\"])},\n \"ELEVATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude\"])},\n \"END\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fin\"])},\n \"FROM\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"à partir de\"])},\n \"GPX_FILE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichier .gpx\"])},\n \"HIDE_FILTERS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"masquer les filtres\"])},\n \"LATEST_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séances récentes\"])},\n \"LOAD_MORE_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Charger les séances suivantes\"])},\n \"MAX_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude max\"])},\n \"MAX_FILES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"fichiers max. \"])},\n \"MAX_SIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"taille max. \"])},\n \"MAX_SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse max\"])},\n \"MIN_ALTITUDE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"altitude min\"])},\n \"NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment suivant\"])},\n \"NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance suivante\"])},\n \"NO_DATA_CLEANING\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"données issues du fichier gpx, sans correction\"])},\n \"NO_FILE_PROVIDED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de fichier fourni\"])},\n \"NO_FOLDER\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de répertoire\"])},\n \"NO_MAP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de carte\"])},\n \"NO_NEXT_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment suivant\"])},\n \"NO_NEXT_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance suivante\"])},\n \"NO_NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de notes\"])},\n \"NO_PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de segment précédent\"])},\n \"NO_PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séance précédente\"])},\n \"NO_RECORDS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de records.\"])},\n \"NO_WORKOUTS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Pas de séances.\"])},\n \"NOTES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"notes\"])},\n \"PAUSES\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pauses\"])},\n \"PREVIOUS_SEGMENT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Segment précédent\"])},\n \"PREVIOUS_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Séance précédente\"])},\n \"RECORD\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"record\"]), _normalize([\"records\"])])},\n \"RECORD_AS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse moy.\"])},\n \"RECORD_FD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Distance la + longue\"])},\n \"RECORD_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dénivelé positif le + élevé\"])},\n \"RECORD_LD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Durée la + longue\"])},\n \"RECORD_MS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vitesse max.\"])},\n \"REMAINING_CHARS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nombre de caractères restants \"])},\n \"SEGMENT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"segment\"]), _normalize([\"segments\"])])},\n \"SPEED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vitesse\"])},\n \"SPORT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"sport\"]), _normalize([\"sports\"])])},\n \"START\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"début\"])},\n \"START_AND_FINISH\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Départ et arrivée\"])},\n \"START_ELEVATION_AT_ZERO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"démarrer l'axe de l'altitude à 0\"])},\n \"TITLE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"titre\"])},\n \"TO\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"jusqu'au\"])},\n \"TOTAL_DURATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"durée totale\"])},\n \"UPLOAD_FIRST_WORKOUT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Ajoutez votre première séance !\"])},\n \"WEATHER\": {\n \"HUMIDITY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"humidité\"])},\n \"TEMPERATURE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"température\"])},\n \"WIND\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"vent\"])},\n \"WIND_DIRECTIONS\": {\n \"N\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"N\"])},\n \"NNE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNE\"])},\n \"NE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NE\"])},\n \"ENE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ENE\"])},\n \"E\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"E\"])},\n \"ESE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ESE\"])},\n \"SE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SE\"])},\n \"SSE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSE\"])},\n \"S\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"S\"])},\n \"SSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SSO\"])},\n \"SW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"SO\"])},\n \"WSW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OSO\"])},\n \"W\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"O\"])},\n \"WNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ONO\"])},\n \"NW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NO\"])},\n \"NNW\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"NNO\"])}\n },\n \"DARK_SKY\": {\n \"clear-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ensoleillé\"])},\n \"clear-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit claire\"])},\n \"cloudy\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuageux\"])},\n \"fog\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"brouillard\"])},\n \"partly-cloudy-day\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"partiellement nuageux\"])},\n \"partly-cloudy-night\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"nuit partiellement nuageuse\"])},\n \"rain\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pluie\"])},\n \"sleet\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige fondue\"])},\n \"snow\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"neige\"])},\n \"wind\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"venteux\"])}\n }\n },\n \"WITH_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"avec un fichier .gpx\"])},\n \"WITHOUT_GPX\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"sans fichier .gpx\"])},\n \"WORKOUT\": (ctx) => {const { normalize: _normalize, plural: _plural } = ctx;return _plural([_normalize([\"séance\"]), _normalize([\"séances\"])])},\n \"WORKOUT_DATE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"date de la séance\"])},\n \"WORKOUT_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Etes-vous sûr de vouloir supprimer cette séance ?\"])},\n \"ZIP_ARCHIVE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"archive .zip\"])},\n \"ZIP_ARCHIVE_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ou une archive .zip contenant des fichiers .gpx\"])}\n}","import AboutTranslations from './about.json'\nimport 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 OAuth2Translations from './oauth2.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 about: AboutTranslations,\n admin: AdministrationTranslations,\n api: ApiTranslations,\n buttons: ButtonsTranslations,\n common: CommonTranslations,\n dashboard: DashboardTranslations,\n error: ErrorTranslations,\n oauth2: OAuth2Translations,\n sports: SportsTranslations,\n statistics: StatisticsTranslations,\n user: UserTranslations,\n workouts: WorkoutsTranslations,\n}\n","/* 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","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2c73279e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"footer\" }\nconst _hoisted_2 = { class: \"footer-items\" }\nconst _hoisted_3 = { class: \"footer-item\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"strong\", null, \"FitTrackee\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_6 = { class: \"footer-item\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"footer-item bullet\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"footer-item\"\n}\nconst _hoisted_9 = [\"href\"]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"footer-item bullet\" }, \"•\", -1))\nconst _hoisted_11 = { class: \"footer-item\" }\nconst _hoisted_12 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\n\nimport { toRefs } from 'vue'\n\n interface Props {\n version: string\n adminContact?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Footer',\n props: {\n version: null,\n adminContact: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n version: string\n adminContact?: string\n }\n\n \n\n const { adminContact, version } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" v\" + _toDisplayString(_unref(version)), 1)\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, { to: \"/about\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('common.ABOUT')), 1)\n ]),\n _: 1\n })\n ]),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, \"•\"))\n : _createCommentVNode(\"\", true),\n (_unref(adminContact))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(adminContact)}`\n }, _toDisplayString(_ctx.$t('common.CONTACT')), 9, _hoisted_9)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_10,\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", _hoisted_12, _toDisplayString(_ctx.$t('common.DOCUMENTATION')), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Footer.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Footer.vue?vue&type=style&index=0&id=2c73279e&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2c73279e\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-95c1cc02\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"nav\" }\nconst _hoisted_2 = { class: \"nav-container\" }\nconst _hoisted_3 = { class: \"nav-app-name\" }\nconst _hoisted_4 = { class: \"nav-items-close\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"app-name\" }, \"FitTrackee\", -1))\nconst _hoisted_6 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"nav-item nav-separator\" }, null, -1))\nconst _hoisted_8 = { class: \"nav-items-user-menu\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"nav-items-group\"\n}\nconst _hoisted_10 = { class: \"nav-item nav-profile-img\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"nav-items-group\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"fa fa-language\" }, null, -1))\n\nimport { ComputedRef, computed, ref, capitalize } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IDropdownOption } from '@/types/forms'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NavBar',\n emits: ['menuInteraction'],\n setup(__props, { emit }) {\n\n \n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n const isAuthenticated: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const 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 store.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n option.value.toString()\n )\n }\n function logout() {\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"nav-item app-name\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/')))\n }, \" FitTrackee \")\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-icon-open\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"i\", {\n class: \"fa fa-bars hamburger-icon\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (openMenu()))\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"nav-items\", { 'menu-open': isMenuOpen.value }])\n }, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-close close-icon nav-item\", { 'menu-closed': !isMenuOpen.value }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (closeMenu()))\n }, null, 2)\n ]),\n _createElementVNode(\"div\", {\n class: \"nav-items-app-menu\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (closeMenu()))\n }, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.DASHBOARD')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 2))), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/statistics\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('statistics.STATISTICS')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/workouts/add\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('workouts.ADD_WORKOUT')), 1)\n ]),\n _: 1\n }),\n (_unref(isAuthenticated) && _unref(authUser).admin)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"nav-item\",\n to: \"/admin\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMIN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _hoisted_7\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(isAuthenticated))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(UserPicture, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/profile\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(authUser).username), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", {\n class: \"nav-item nav-link\",\n onClick: logout\n }, _toDisplayString(_ctx.$t('user.LOGOUT')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/login\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_router_link, {\n class: \"nav-item\",\n to: \"/register\",\n onClick: closeMenu\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n })\n ])),\n (_unref(availableLanguages) && _unref(language))\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 2,\n class: \"nav-item\",\n options: _unref(availableLanguages),\n selected: _unref(language),\n onSelected: updateLanguage\n }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n }, 8, [\"options\", \"selected\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./NavBar.vue?vue&type=style&index=0&id=95c1cc02&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-95c1cc02\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47759238\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"no-config\" }\nconst _hoisted_2 = { class: \"error-page\" }\nconst _hoisted_3 = { class: \"error-img\" }\nconst _hoisted_4 = [\"innerHTML\"]\n\nimport ErrorImg from '@/components/Common/Images/ErrorImg.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NoConfig',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(ErrorImg)\n ]),\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('error.APP_ERROR')\n }, null, 8, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./NoConfig.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./NoConfig.vue?vue&type=style&index=0&id=47759238&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47759238\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { id: \"top\" }, null, -1)\nconst _hoisted_2 = {\n key: 0,\n class: \"app-container\"\n}\nconst _hoisted_3 = { class: \"app-loading\" }\nconst _hoisted_4 = { class: \"container scroll\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-up\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { ComputedRef, computed, ref, onBeforeMount, onMounted } 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 import { localeFromLanguage } from '@/utils/locales'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'App',\n setup(__props) {\n\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 initLanguage()\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 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 const bottom = document.querySelector('#bottom')\n displayScrollButton.value = 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 function initLanguage() {\n let language = 'en'\n try {\n const navigatorLanguage = navigator.language.split('-')[0]\n if (navigatorLanguage in localeFromLanguage) {\n language = navigatorLanguage\n }\n } catch (e) {\n language = 'en'\n }\n store.dispatch(ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE, language)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _hoisted_1,\n _createVNode(NavBar, { onMenuInteraction: updateHideScrollBar }),\n (_unref(appLoading))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Loader)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"app-container\", { 'hide-scroll': hideScrollBar.value }])\n }, [\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(_component_router_view, { key: 0 }))\n : (_openBlock(), _createBlock(NoConfig, { key: 1 }))\n ], 2)),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-button\", { 'display-button': displayScrollButton.value }]),\n onClick: scrollToTop\n }, _hoisted_6, 2)\n ]),\n (_unref(appConfig))\n ? (_openBlock(), _createBlock(Footer, {\n key: 2,\n version: _unref(appConfig) ? _unref(appConfig).version : '',\n adminContact: _unref(appConfig).admin_contact\n }, null, 8, [\"version\", \"adminContact\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./App.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./App.vue?vue&type=style&index=0&id=2930d5e0&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69d7e4ff\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"alert-message\" }\nconst _hoisted_2 = [\"innerHTML\"]\n\nimport { toRefs } from 'vue'\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AlertMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t(_unref(message))\n }, null, 8, _hoisted_2)\n ]))\n}\n}\n\n})","import script from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AlertMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AlertMessage.vue?vue&type=style&index=0&id=69d7e4ff&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-69d7e4ff\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8cf5cc64\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-textarea\" }\nconst _hoisted_2 = [\"id\", \"name\", \"maxLenght\", \"disabled\"]\nconst _hoisted_3 = { class: \"remaining-chars\" }\n\nimport { ref, watch, withDefaults } from 'vue'\n\n interface Props {\n name: string\n charLimit?: number\n disabled?: boolean\n input?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CustomTextArea',\n props: {\n name: null,\n charLimit: { default: 500 },\n disabled: { type: Boolean, default: false },\n input: { default: '' }\n },\n emits: ['updateValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { name: string, charLimit: number, disabled: boolean, input: string | null }\n\n \n\n \n\n const 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 === null ? '' : value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"textarea\", {\n id: __props.name,\n name: __props.name,\n maxLenght: __props.charLimit,\n disabled: __props.disabled,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((text).value = $event)),\n onInput: updateText\n }, null, 40, _hoisted_2), [\n [_vModelText, text.value]\n ]),\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t('workouts.REMAINING_CHARS')) + \": \" + _toDisplayString(text.value.length) + \"/\" + _toDisplayString(__props.charLimit), 1)\n ]))\n}\n}\n\n})","import script from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CustomTextArea.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CustomTextArea.vue?vue&type=style&index=0&id=8cf5cc64&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-8cf5cc64\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f46ff1d6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createTextVNode(\" \" + /*#__PURE__*/_toDisplayString(' ') + \" \")\n\nimport { ComputedRef, computed, toRefs, withDefaults } from 'vue'\n\n import { TUnit } from '@/types/units'\n import { units, convertDistance } from '@/utils/units'\n\n interface Props {\n distance: number\n unitFrom: TUnit\n useImperialUnits: boolean\n digits?: number\n displayUnit?: boolean\n speed?: boolean\n strong?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Distance',\n props: {\n distance: null,\n unitFrom: null,\n useImperialUnits: { type: Boolean },\n digits: { default: 2 },\n displayUnit: { type: Boolean, default: true },\n speed: { type: Boolean, default: false },\n strong: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { distance: number, unitFrom: TUnit, useImperialUnits: boolean, digits: number, displayUnit: boolean, speed: boolean, strong: boolean }\n\n \n\n const {\n digits,\n displayUnit,\n distance,\n speed,\n strong,\n unitFrom,\n useImperialUnits,\n } = toRefs(props)\n const unitTo: ComputedRef = computed(() =>\n useImperialUnits.value\n ? units[unitFrom.value].defaultTarget\n : unitFrom.value\n )\n const convertedDistance = computed(() =>\n useImperialUnits.value\n ? convertDistance(\n distance.value,\n unitFrom.value,\n unitTo.value,\n digits.value\n )\n : parseFloat(distance.value.toFixed(digits.value))\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"distance\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(convertedDistance)), 3),\n _hoisted_1,\n (_unref(displayUnit))\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([\"unit\", { strong: _unref(strong) }])\n }, _toDisplayString(_unref(unitTo)) + _toDisplayString(_unref(speed) ? '/h' : ''), 3))\n : _createCommentVNode(\"\", true)\n ], 64))\n}\n}\n\n})","import script from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Distance.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Distance.vue?vue&type=style&index=0&id=f46ff1d6&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f46ff1d6\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2d3b4eac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"dropdown-wrapper\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"dropdown-list\"\n}\nconst _hoisted_3 = [\"onClick\"]\n\nimport { ref, watch } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { IDropdownOption, TDropdownOptions } from '@/types/forms'\n interface Props {\n options: TDropdownOptions\n selected: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dropdown',\n props: {\n options: null,\n selected: null\n },\n emits: {\n selected: (option: IDropdownOption) => option,\n },\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n options: TDropdownOptions\n selected: string\n }\n\n \n\n \n\n const route = useRoute()\n const isOpen = ref(false)\n const 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"dropdown-selected\",\n onClick: toggleDropdown\n }, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dropdownOptions), (option, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"dropdown-item\", { selected: option.value === __props.selected }]),\n key: index,\n onClick: ($event: any) => (updateSelected(option))\n }, _toDisplayString(option.label), 11, _hoisted_3))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dropdown.vue?vue&type=style&index=0&id=2d3b4eac&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2d3b4eac\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2659a79a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"error-message\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n message: string | string[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ErrorMessage',\n props: {\n message: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n message: string | string[]\n }\n\n \n const { message } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (Array.isArray(_unref(message)))\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(message), (subMessage, index) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: index }, _toDisplayString(_ctx.$t(subMessage)), 1))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(_unref(message))), 1))\n ]))\n}\n}\n\n})","import script from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ErrorMessage.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ErrorMessage.vue?vue&type=style&index=0&id=2659a79a&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2659a79a\"]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MountainBikingElectric.vue?vue&type=template&id=21e72aec\"\nimport script from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\nexport * from \"./MountainBikingElectric.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Rowing.vue?vue&type=template&id=31ae2dd5\"\nimport script from \"./Rowing.vue?vue&type=script&lang=js\"\nexport * from \"./Rowing.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingAlpine.vue?vue&type=template&id=3ebf3bca\"\nimport script from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingAlpine.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SkiingCrossCountry.vue?vue&type=template&id=1561bbe6\"\nimport script from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\nexport * from \"./SkiingCrossCountry.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Snowshoes.vue?vue&type=template&id=67df2761\"\nimport script from \"./Snowshoes.vue?vue&type=script&lang=js\"\nexport * from \"./Snowshoes.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Trail.vue?vue&type=template&id=32a14156\"\nimport script from \"./Trail.vue?vue&type=script&lang=js\"\nexport * from \"./Trail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { inject, toRefs, withDefaults } 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 MountainBikingElectric from '@/components/Common/Images/SportImage/MountainBikingElectric.vue'\n import Rowing from '@/components/Common/Images/SportImage/Rowing.vue'\n import Running from '@/components/Common/Images/SportImage/Running.vue'\n import SkiingAlpine from '@/components/Common/Images/SportImage/SkiingAlpine.vue'\n import SkiingCrossCountry from '@/components/Common/Images/SportImage/SkiingCrossCountry.vue'\n import Snowshoes from '@/components/Common/Images/SportImage/Snowshoes.vue'\n import Trail from '@/components/Common/Images/SportImage/Trail.vue'\n import Walking from '@/components/Common/Images/SportImage/Walking.vue'\n\n interface Props {\n sportLabel: string\n color: string | null\n title?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sportLabel: null,\n color: null,\n title: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { sportLabel: string, color: string | null, title: string }\n\n \n\n const { color, sportLabel, title } = toRefs(props)\n const sportColors = inject('sportColors')\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"sport-img\",\n style: _normalizeStyle({ fill: _unref(color) ? _unref(color) : _unref(sportColors)[_unref(sportLabel)] }),\n title: _unref(title) ? _unref(title) : _ctx.$t(`sports.${_unref(sportLabel)}.LABEL`)\n }, [\n (_unref(sportLabel) === 'Cycling (Sport)')\n ? (_openBlock(), _createBlock(CyclingSport, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Cycling (Transport)')\n ? (_openBlock(), _createBlock(CyclingTransport, { key: 1 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 11 }))\n : _createCommentVNode(\"\", true)\n ], 12, _hoisted_1))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./Loader.vue?vue&type=template&id=4c9921ee&scoped=true\"\nconst script = {}\n\nimport \"./Loader.vue?vue&type=style&index=0&id=4c9921ee&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4c9921ee\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e8fcfaba\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"modal\" }\nconst _hoisted_2 = { class: \"custom-modal\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"modal-message\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"modal-message\"\n}\nconst _hoisted_5 = { class: \"modal-buttons\" }\n\nimport { ComputedRef, computed, toRefs, withDefaults, onUnmounted } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n title: string\n message: string\n strongMessage?: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Modal',\n props: {\n title: null,\n message: null,\n strongMessage: { default: () => null }\n },\n emits: ['cancelAction', 'confirmAction'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { title: string, message: string, strongMessage: string | null }\n\n \n\n \n\n const store = useStore()\n\n const { title, message, strongMessage } = toRefs(props)\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\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(title)), 1)\n ]),\n content: _withCtx(() => [\n (_unref(strongMessage))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: _unref(message) }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(strongMessage)), 1)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _toDisplayString(_unref(message)), 1)),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (!_unref(errorMessages))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"confirm\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('confirmAction')))\n }, _toDisplayString(_ctx.$t('buttons.YES')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('cancelAction')))\n }, _toDisplayString(_ctx.$t(`buttons.${_unref(errorMessages) ? 'CANCEL' : 'NO'}`)), 1)\n ])\n ]),\n _: 1\n })\n ])\n ]))\n}\n}\n\n})","import script from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Modal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=e8fcfaba&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-e8fcfaba\"]])\n\nexport default __exports__","import AlertMessage from '@/components/Common/AlertMessage.vue'\nimport Card from '@/components/Common/Card.vue'\nimport CustomTextArea from '@/components/Common/CustomTextArea.vue'\nimport Distance from '@/components/Common/Distance.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 { target: AlertMessage, name: 'AlertMessage' },\n { target: Card, name: 'Card' },\n { target: CustomTextArea, name: 'CustomTextArea' },\n { target: Distance, name: 'Distance' },\n { target: Dropdown, name: 'Dropdown' },\n { target: ErrorMessage, name: 'ErrorMessage' },\n { target: Loader, name: 'Loader' },\n { target: Modal, name: 'Modal' },\n { target: SportImage, name: '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'\nimport VueFullscreen from 'vue-fullscreen'\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 .use(VueFullscreen, { name: 'VFullscreen' })\n .directive('click-outside', clickOutsideDirective)\n\ncustomComponents.forEach((component) => {\n app.component(component.name, component.target)\n})\n\napp.mount('#app')\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withModifiers as _withModifiers, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24ec93e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-app\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = [\"onSubmit\"]\nconst _hoisted_3 = { for: \"admin_contact\" }\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = { for: \"max_users\" }\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = { class: \"user-limit-help\" }\nconst _hoisted_9 = { class: \"info-box\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { for: \"max_single_file_size\" }\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { for: \"max_zip_file_size\" }\nconst _hoisted_14 = [\"disabled\"]\nconst _hoisted_15 = { for: \"gpx_limit_import\" }\nconst _hoisted_16 = [\"disabled\"]\nconst _hoisted_17 = {\n key: 1,\n class: \"form-buttons\"\n}\nconst _hoisted_18 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_19 = [\"onClick\"]\nconst _hoisted_20 = {\n key: 2,\n class: \"form-buttons\"\n}\n\nimport {\n ComputedRef,\n computed,\n reactive,\n withDefaults,\n onBeforeMount,\n toRefs,\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 interface Props {\n appConfig: TAppConfig\n edition?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminApplication',\n props: {\n appConfig: null,\n edition: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, edition: boolean }\n\n \n const { edition } = toRefs(props)\n\n const store = useStore()\n const router = useRouter()\n\n const appData: TAppConfigForm = reactive({\n admin_contact: '',\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 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\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"form\", {\n class: \"admin-form\",\n onSubmit: _withModifiers(onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ADMIN_CONTACT')) + \": \", 1),\n (!_unref(edition) && !appData.admin_contact)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"no-contact\",\n value: _ctx.$t('admin.APP_CONFIG.NO_CONTACT_EMAIL'),\n disabled: \"\"\n }, null, 8, _hoisted_4))\n : _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 1,\n id: \"admin_contact\",\n name: \"admin_contact\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appData.admin_contact) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_5)), [\n [_vModelText, appData.admin_contact]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_users\",\n name: \"max_users\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appData.max_users) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_7), [\n [_vModelText, appData.max_users]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, [\n _hoisted_10,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_USERS_HELP')), 1)\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.SINGLE_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_single_file_size\",\n name: \"max_single_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appData.max_single_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_12), [\n [_vModelText, appData.max_single_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.ZIP_UPLOAD_MAX_SIZE_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"max_zip_file_size\",\n name: \"max_zip_file_size\",\n type: \"number\",\n step: \"0.1\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((appData.max_zip_file_size) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_14), [\n [_vModelText, appData.max_zip_file_size]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APP_CONFIG.MAX_FILES_IN_ZIP_LABEL')) + \": \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"gpx_limit_import\",\n name: \"gpx_limit_import\",\n type: \"number\",\n min: \"0\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((appData.gpx_limit_import) = $event)),\n disabled: !_unref(edition)\n }, null, 8, _hoisted_16), [\n [_vModelText, appData.gpx_limit_import]\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(edition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"button\", _hoisted_18, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(onCancel, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_19)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.$router.push('/admin/application/edit')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ], 40, _hoisted_2)\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminApplication.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminApplication.vue?vue&type=style&index=0&id=24ec93e2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-24ec93e2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"stat-card\" }\nconst _hoisted_2 = { class: \"stat-content box\" }\nconst _hoisted_3 = { class: \"stat-icon\" }\nconst _hoisted_4 = { class: \"stat-details\" }\nconst _hoisted_5 = { class: \"stat-huge\" }\nconst _hoisted_6 = { class: \"stat\" }\n\nimport { toRefs } from 'vue'\n\n interface Props {\n icon: string\n text: string\n value: string | number\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StatCard',\n props: {\n icon: null,\n text: null,\n value: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n icon: string\n text: string\n value: string | number\n }\n\n \n const { icon, text, value } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-${_unref(icon)}`])\n }, null, 2)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_unref(value)), 1),\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_unref(text)), 1)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StatCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StatCard.vue?vue&type=style&index=0&id=6cbb3351&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { computed, toRefs } 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 interface Props {\n appStatistics: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AppStatsCards',\n props: {\n appStatistics: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n appStatistics: IAppStatistics\n }\n\n \n\n const { appStatistics } = toRefs(props)\n const uploadDirSize = computed(() =>\n getReadableFileSize(appStatistics.value.uploads_dir_size, false)\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"users\",\n value: _unref(appStatistics).users,\n text: _ctx.$t('admin.USER', _unref(appStatistics).users)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"tags\",\n value: _unref(appStatistics).sports,\n text: _ctx.$t('workouts.SPORT', _unref(appStatistics).sports)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(appStatistics).workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(appStatistics).workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"folder-open\",\n value: _unref(uploadDirSize).size,\n text: _unref(uploadDirSize).suffix\n }, null, 8, [\"value\", \"text\"])\n ]))\n}\n}\n\n})","import script from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppStatsCards.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AppStatsCards.vue?vue&type=style&index=0&id=61c5053e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0dd66f89\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-menu\",\n class: \"center-card\"\n}\nconst _hoisted_2 = { class: \"admin-menu description-list\" }\nconst _hoisted_3 = { class: \"application-config-details\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_5 = { class: \"registration-status\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"email-sending-status\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-exclamation-triangle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { capitalize, toRefs, withDefaults } 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 interface Props {\n appConfig: TAppConfig\n appStatistics?: IAppStatistics\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminMenu',\n props: {\n appConfig: null,\n appStatistics: { default: () => ({} as IAppStatistics) }\n },\n setup(__props: any) {\n\nconst props = __props as { appConfig: TAppConfig, appStatistics: IAppStatistics }\n\n \n\n const { appConfig, appStatistics } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.ADMINISTRATION')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(AppStatsCards, { appStatistics: _unref(appStatistics) }, null, 8, [\"appStatistics\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/application\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.APPLICATION')), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", _hoisted_3, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.UPDATE_APPLICATION_DESCRIPTION')), 1),\n _hoisted_4,\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\n `admin.REGISTRATION_${\n _unref(appConfig).is_registration_enabled ? 'ENABLED' : 'DISABLED'\n }`\n )), 1),\n (!_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n _hoisted_7,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.EMAIL_SENDING_DISABLED')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/sports\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('workouts.SPORT', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ENABLE_DISABLE_SPORTS')), 1),\n _createElementVNode(\"dt\", null, [\n _createVNode(_component_router_link, { to: \"/admin/users\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t('admin.ADMIN_RIGHTS_DELETE_USER_ACCOUNT')), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminMenu.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminMenu.vue?vue&type=style&index=0&id=0dd66f89&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0dd66f89\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6d62af67\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-sports\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = { class: \"responsive-table\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_4 = { class: \"text-left\" }\nconst _hoisted_5 = { class: \"text-left sport-action\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, null, -1))\nconst _hoisted_7 = { class: \"text-center\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"cell-heading\" }, \"id\", -1))\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"sport-label\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"sport-action\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"action-button\" }\nconst _hoisted_17 = [\"onClick\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"has-workouts\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-warning\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { ComputedRef, computed } 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 \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminSports',\n setup(__props) {\n\n const { t } = useI18n()\n const store = useStore()\n\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\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.SPORTS.TITLE')), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_3,\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createElementVNode(\"th\", _hoisted_4, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _hoisted_6\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", _hoisted_7, [\n _hoisted_8,\n _createTextVNode(\" \" + _toDisplayString(sport.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.IMAGE')), 1),\n _createVNode(_component_SportImage, {\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color\n }, null, 8, [\"title\", \"sport-label\", \"color\"])\n ]),\n _createElementVNode(\"td\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${sport.is_active ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: sport.is_active }),\n onClick: ($event: any) => (updateSportStatus(sport.id, !sport.is_active))\n }, _toDisplayString(_ctx.$t(`buttons.${sport.is_active ? 'DIS' : 'EN'}ABLE`)), 11, _hoisted_17),\n (sport.has_workouts)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _hoisted_19,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('admin.SPORTS.TABLE.HAS_WORKOUTS')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSports.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminSports.vue?vue&type=style&index=0&id=6d62af67&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6d62af67\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withKeys as _withKeys, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-627a8e91\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"users-filters\" }\nconst _hoisted_2 = { class: \"search-username\" }\nconst _hoisted_3 = [\"onKeyup\", \"placeholder\"]\n\nimport { ref } from 'vue'\n import { useRoute } from 'vue-router'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UsersNameFilter',\n emits: ['filterOnUsername'],\n setup(__props, { emit }) {\n\n const route = useRoute()\n const username = ref(route.query.q ? route.query.q : '')\n\n \n function searchUsers() {\n if (username.value !== '') {\n emit('filterOnUsername', username)\n }\n }\n function resetFilter() {\n username.value = ''\n emit('filterOnUsername', username.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"input\", {\n id: \"username\",\n name: \"username\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((username).value = $event)),\n onKeyup: _withKeys(searchUsers, [\"enter\"]),\n placeholder: _ctx.$t('user.FILTER_ON_USERNAME')\n }, null, 40, _hoisted_3), [\n [\n _vModelText,\n username.value,\n void 0,\n { trim: true }\n ]\n ]),\n (username.value !== '')\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-times\",\n \"aria-hidden\": \"true\",\n onClick: resetFilter\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa fa-search\", { 'fa-disabled': username.value === '' }]),\n \"aria-hidden\": \"true\",\n onClick: searchUsers\n }, null, 2)\n ]))\n}\n}\n\n})","import script from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./UsersNameFilter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./UsersNameFilter.vue?vue&type=style&index=0&id=627a8e91&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-627a8e91\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withModifiers as _withModifiers, createElementVNode as _createElementVNode, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4735c10f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"admin-users\",\n class: \"admin-card\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"no-users\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"responsive-table\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"th\", null, \"#\", -1))\nconst _hoisted_5 = { class: \"left-text\" }\nconst _hoisted_6 = { class: \"left-text\" }\nconst _hoisted_7 = { class: \"left-text\" }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = { class: \"cell-heading\" }\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = { class: \"cell-heading\" }\nconst _hoisted_12 = { class: \"text-center\" }\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"text-center\" }\nconst _hoisted_15 = { class: \"cell-heading\" }\nconst _hoisted_16 = { class: \"text-center\" }\nconst _hoisted_17 = { class: \"cell-heading\" }\nconst _hoisted_18 = { class: \"text-center\" }\nconst _hoisted_19 = { class: \"cell-heading\" }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\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 UsersNameFilter from '@/components/Users/UsersNameFilter.vue'\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IAuthUserProfile, 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 \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AdminUsers',\n setup(__props) {\n\n const store = useStore()\n const route = useRoute()\n const router = useRouter()\n\n const orderByList: string[] = [\n 'is_active',\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 const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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 onBeforeMount(() => loadUsers(query))\n\n function loadUsers(queryParams: TPaginationPayload) {\n store.dispatch(USERS_STORE.ACTIONS.GET_USERS, queryParams)\n }\n function searchUsers(username: Ref) {\n reloadUsers('q', username.value)\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 onUnmounted(() => {\n store.dispatch(USERS_STORE.ACTIONS.EMPTY_USERS)\n })\n\n watch(\n () => route.query,\n (newQuery: LocationQuery) => {\n query = getQuery(newQuery, orderByList, defaultOrderBy, { query })\n loadUsers(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(capitalize(_ctx.$t('admin.USER', 0))), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"top-button\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1),\n _createVNode(UsersNameFilter, { onFilterOnUsername: searchUsers }),\n _createVNode(FilterSelects, {\n sort: _unref(sortList),\n order_by: orderByList,\n query: _unref(query),\n message: \"admin.USERS.SELECTS.ORDER_BY\",\n onUpdateSelect: reloadUsers\n }, null, 8, [\"sort\", \"query\"]),\n (_unref(users).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('user.NO_USERS_FOUND')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _hoisted_4,\n _createElementVNode(\"th\", _hoisted_5, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createElementVNode(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('admin.ACTION')), 1)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(users), (user) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: user.username\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE')), 1),\n _createVNode(UserPicture, { user: user }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.USERNAME')), 1),\n _createVNode(_component_router_link, {\n to: `/admin/users/${user.username}`\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(user.username), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.EMAIL')), 1),\n _createTextVNode(\" \" + _toDisplayString(user.email), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')), 1),\n _createTextVNode(\" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(user.created_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(capitalize(_ctx.$t('workouts.WORKOUT', 0))), 1),\n _createTextVNode(\" \" + _toDisplayString(user.nb_workouts), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t('admin.ACTIVE')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.is_active ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.ADMIN')), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${user.admin ? '-check' : ''}-square-o`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n _createElementVNode(\"td\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('admin.ACTION')), 1),\n _createElementVNode(\"button\", {\n class: _normalizeClass({ danger: user.admin }),\n disabled: user.username === _unref(authUser).username,\n onClick: ($event: any) => (updateUser(user.username, !user.admin))\n }, _toDisplayString(_ctx.$t(\n `admin.USERS.TABLE.${\n user.admin ? 'REMOVE' : 'ADD'\n }_ADMIN_RIGHTS`\n )), 11, _hoisted_20)\n ])\n ]))\n }), 128))\n ])\n ]),\n (_unref(pagination).page)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 0,\n path: \"/admin/users\",\n pagination: _unref(pagination),\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 1,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/admin')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.BACK_TO_ADMIN')), 1)\n ]))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminUsers.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AdminUsers.vue?vue&type=style&index=0&id=4735c10f&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4735c10f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"profile-tabs custom-checkboxes-group\" }\nconst _hoisted_2 = { class: \"profile-tabs-checkboxes custom-checkboxes\" }\nconst _hoisted_3 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n tabs: string[]\n selectedTab: string\n edition: boolean\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserProfileTabs',\n props: {\n tabs: null,\n selectedTab: null,\n edition: { type: Boolean },\n disabled: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { tabs: string[], selectedTab: string, edition: boolean, disabled: boolean }\n\n \n\n const { tabs, selectedTab, disabled } = toRefs(props)\n\n function getPath(tab: string) {\n switch (tab) {\n case 'ACCOUNT':\n case 'PICTURE':\n return `/profile/edit/${tab.toLocaleLowerCase()}`\n case 'APPS':\n case 'PREFERENCES':\n case 'SPORTS':\n return `/profile${\n props.edition ? '/edit' : ''\n }/${tab.toLocaleLowerCase()}`\n default:\n case 'PROFILE':\n return `/profile${props.edition ? '/edit' : ''}`\n }\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(tabs), (tab) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"profile-tab custom-checkbox\",\n key: tab\n }, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: tab,\n name: tab,\n checked: _unref(selectedTab).split('/')[0] === tab,\n disabled: _unref(disabled),\n onInput: ($event: any) => (_ctx.$router.push(getPath(tab)))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`user.PROFILE.TABS.${tab}`)), 1)\n ])\n ]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserProfileTabs.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserProfileTabs.vue?vue&type=style&index=0&id=01b05f01&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9729cba4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-profile\" }\nconst _hoisted_2 = { class: \"box\" }\n\nimport { toRefs } 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 interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'PREFERENCES', 'SPORTS', 'APPS']\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserHeader, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: false\n }, null, 8, [\"selectedTab\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9729cba4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-9729cba4\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-preferences\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { class: \"profile-buttons\" }\n\nimport { computed } from 'vue'\n\n import { IAuthUserProfile } from '@/types/user'\n import { languageLabels } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferences',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const language = computed(() =>\n props.user.language\n ? languageLabels[props.user.language]\n : languageLabels['en']\n )\n const fistDayOfWeek = computed(() => (props.user.weekm ? 'MONDAY' : 'SUNDAY'))\n const timezone = computed(() =>\n props.user.timezone ? props.user.timezone : 'Europe/Paris'\n )\n const display_ascent = computed(() =>\n props.user.display_ascent ? 'DISPLAYED' : 'HIDDEN'\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(language)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(timezone)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`user.PROFILE.${_unref(fistDayOfWeek)}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(\n `user.PROFILE.UNITS.${__props.user.imperial_units ? 'IMPERIAL' : 'METRIC'}`\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`common.${_unref(display_ascent)}`)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/edit/preferences')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n id: \"user-profile-edition\",\n class: \"center-card\"\n}\n\nimport { computed, toRefs } from 'vue'\n\n import UserProfileTabs from '@/components/User/UserProfileTabs.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n tab: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null,\n tab: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n tab: string\n }\n\n \n\n const store = useStore()\n\n const { user, tab } = toRefs(props)\n const tabs = ['PROFILE', 'ACCOUNT', 'PICTURE', 'PREFERENCES', 'SPORTS']\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.PROFILE.${_unref(tab)}_EDITION`)), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(UserProfileTabs, {\n tabs: tabs,\n selectedTab: _unref(tab),\n edition: true,\n disabled: _unref(loading)\n }, null, 8, [\"selectedTab\", \"disabled\"]),\n _createVNode(_component_router_view, { user: _unref(user) }, null, 8, [\"user\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37b8c4c8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n class: \"form-items\",\n for: \"password-field\"\n}\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"new-password-field\"\n}\nconst _hoisted_9 = { class: \"form-buttons\" }\nconst _hoisted_10 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport {\n ComputedRef,\n Ref,\n computed,\n reactive,\n ref,\n toRefs,\n onMounted,\n watch,\n onUnmounted,\n } from 'vue'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IUserProfile, IUserAccountPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAccountEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n const { user } = toRefs(props)\n\n const store = useStore()\n const userForm: IUserAccountPayload = reactive({\n email: '',\n password: '',\n new_password: '',\n })\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const emailUpdate = ref(false)\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const formErrors = ref(false)\n const displayModal: Ref = ref(false)\n\n onMounted(() => {\n if (props.user) {\n updateUserForm(props.user)\n }\n })\n\n function invalidateForm() {\n formErrors.value = true\n }\n function updateUserForm(user: IUserProfile) {\n userForm.email = user.email\n }\n function updatePassword(password: string) {\n userForm.password = password\n }\n function updateNewPassword(new_password: string) {\n userForm.new_password = new_password\n }\n function updateProfile() {\n const payload: IUserAccountPayload = {\n email: userForm.email,\n password: userForm.password,\n }\n if (userForm.new_password) {\n payload.new_password = userForm.new_password\n }\n emailUpdate.value = userForm.email !== user.value.email\n store.dispatch(AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT, payload)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n }\n function deleteAccount(username: string) {\n store.dispatch(AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT, { username })\n }\n\n onUnmounted(() => {\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\n watch(\n () => isSuccess.value,\n async (isSuccessValue) => {\n if (isSuccessValue) {\n updatePassword('')\n updateNewPassword('')\n updateUserForm(user.value)\n formErrors.value = false\n }\n }\n )\n watch(\n () => user.value.email,\n async () => {\n updateUserForm(user.value)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t('user.CONFIRM_ACCOUNT_DELETION'),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (deleteAccount(_unref(user).username))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n emailUpdate.value && _unref(appConfig).is_email_sending_enabled ? 'EMAIL_' : ''\n }UPDATE`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.email) = $event)),\n disabled: _unref(loading),\n required: true,\n onInvalid: invalidateForm\n }, null, 40, _hoisted_6), [\n [_vModelText, userForm.email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.CURRENT_PASSWORD')) + \"* \", 1),\n _createVNode(PasswordInput, {\n id: \"password-field\",\n disabled: _unref(loading),\n password: userForm.password,\n required: true,\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.NEW_PASSWORD')) + \" \", 1),\n _createVNode(PasswordInput, {\n id: \"new-password-field\",\n disabled: _unref(loading),\n checkStrength: true,\n password: userForm.new_password,\n isSuccess: false,\n onUpdatePassword: updateNewPassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"password\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", _hoisted_10, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateDisplayModal(true)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.DELETE_MY_ACCOUNT')), 1)\n ])\n ], 42, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAccountEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAccountEdition.vue?vue&type=style&index=0&id=37b8c4c8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-37b8c4c8\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, vModelText as _vModelText, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b6bacea0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-infos-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"registrationDate\"\n}\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = {\n class: \"form-items\",\n for: \"first_name\"\n}\nconst _hoisted_7 = [\"disabled\"]\nconst _hoisted_8 = {\n class: \"form-items\",\n for: \"last_name\"\n}\nconst _hoisted_9 = {\n class: \"form-items\",\n for: \"birth_date\"\n}\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n class: \"form-items\",\n for: \"location\"\n}\nconst _hoisted_12 = [\"disabled\"]\nconst _hoisted_13 = { class: \"form-items\" }\nconst _hoisted_14 = { class: \"form-buttons\" }\nconst _hoisted_15 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserProfile, IUserPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfosEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPayload = reactive({\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[AUTH_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.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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PROFILE, userForm)\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \" \", 1),\n _createElementVNode(\"input\", {\n id: \"registrationDate\",\n value: _unref(registrationDate),\n disabled: \"\"\n }, null, 8, _hoisted_5)\n ]),\n _createElementVNode(\"label\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"first_name\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.first_name) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_7), [\n [_vModelText, userForm.first_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"last_name\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.last_name) = $event))\n }, null, 512), [\n [_vModelText, userForm.last_name]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_9, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"birth_date\",\n type: \"date\",\n class: \"birth-date\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((userForm.birth_date) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_10), [\n [_vModelText, userForm.birth_date]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_11, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"location\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((userForm.location) = $event)),\n disabled: _unref(loading)\n }, null, 8, _hoisted_12), [\n [_vModelText, userForm.location]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \" \", 1),\n _createVNode(_component_CustomTextArea, {\n name: \"bio\",\n charLimit: 200,\n input: userForm.bio,\n disabled: _unref(loading),\n onUpdateValue: updateBio\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"button\", _hoisted_15, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfosEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfosEdition.vue?vue&type=style&index=0&id=b6bacea0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b6bacea0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-687e9604\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-picture-edition\" }\nconst _hoisted_2 = { class: \"user-picture-form\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"picture-help\" }\nconst _hoisted_5 = { class: \"info-box\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = { class: \"picture-buttons\" }\nconst _hoisted_8 = [\"disabled\"]\n\nimport { ComputedRef, Ref, computed, ref, toRefs, onUnmounted } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE, ROOT_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 interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPictureEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\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 const pictureFile: Ref = ref(null)\n\n function deleteUserPicture() {\n store.dispatch(AUTH_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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PICTURE, {\n picture: pictureFile.value,\n })\n }\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateUserPicture, [\"prevent\"])\n }, [\n _createElementVNode(\"input\", {\n type: \"file\",\n name: \"picture\",\n accept: \".png,.jpg,.gif\",\n onInput: updatePictureFile\n }, null, 32),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.MAX_SIZE')) + \": \" + _toDisplayString(_unref(fileSizeLimit)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: !pictureFile.value\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_UPDATE')), 9, _hoisted_8),\n (_unref(user).picture)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: deleteUserPicture\n }, _toDisplayString(_ctx.$t('user.PROFILE.PICTURE_REMOVE')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.BACK_TO_PROFILE')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPictureEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPictureEdition.vue?vue&type=style&index=0&id=687e9604&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-687e9604\"]])\n\nexport default __exports__","export const timeZones = [\n 'Africa/Abidjan',\n 'Africa/Accra',\n 'Africa/Algiers',\n 'Africa/Bissau',\n 'Africa/Cairo',\n 'Africa/Casablanca',\n 'Africa/Ceuta',\n 'Africa/El_Aaiun',\n 'Africa/Johannesburg',\n 'Africa/Juba',\n 'Africa/Khartoum',\n 'Africa/Lagos',\n 'Africa/Maputo',\n 'Africa/Monrovia',\n 'Africa/Nairobi',\n 'Africa/Ndjamena',\n 'Africa/Sao_Tome',\n 'Africa/Tripoli',\n 'Africa/Tunis',\n 'Africa/Windhoek',\n 'America/Adak',\n 'America/Anchorage',\n 'America/Araguaina',\n 'America/Argentina/Buenos_Aires',\n 'America/Argentina/Catamarca',\n 'America/Argentina/Cordoba',\n 'America/Argentina/Jujuy',\n 'America/Argentina/La_Rioja',\n 'America/Argentina/Mendoza',\n 'America/Argentina/Rio_Gallegos',\n 'America/Argentina/Salta',\n 'America/Argentina/San_Juan',\n 'America/Argentina/San_Luis',\n 'America/Argentina/Tucuman',\n 'America/Argentina/Ushuaia',\n 'America/Asuncion',\n 'America/Atikokan',\n 'America/Bahia',\n 'America/Bahia_Banderas',\n 'America/Barbados',\n 'America/Belem',\n 'America/Belize',\n 'America/Blanc-Sablon',\n 'America/Boa_Vista',\n 'America/Bogota',\n 'America/Boise',\n 'America/Cambridge_Bay',\n 'America/Campo_Grande',\n 'America/Cancun',\n 'America/Caracas',\n 'America/Cayenne',\n 'America/Chicago',\n 'America/Chihuahua',\n 'America/Costa_Rica',\n 'America/Creston',\n 'America/Cuiaba',\n 'America/Curacao',\n 'America/Danmarkshavn',\n 'America/Dawson',\n 'America/Dawson_Creek',\n 'America/Denver',\n 'America/Detroit',\n 'America/Edmonton',\n 'America/Eirunepe',\n 'America/El_Salvador',\n 'America/Fortaleza',\n 'America/Fort_Nelson',\n 'America/Glace_Bay',\n 'America/Godthab',\n 'America/Goose_Bay',\n 'America/Grand_Turk',\n 'America/Guatemala',\n 'America/Guayaquil',\n 'America/Guyana',\n 'America/Halifax',\n 'America/Havana',\n 'America/Hermosillo',\n 'America/Indiana/Indianapolis',\n 'America/Indiana/Knox',\n 'America/Indiana/Marengo',\n 'America/Indiana/Petersburg',\n 'America/Indiana/Tell_City',\n 'America/Indiana/Vevay',\n 'America/Indiana/Vincennes',\n 'America/Indiana/Winamac',\n 'America/Inuvik',\n 'America/Iqaluit',\n 'America/Jamaica',\n 'America/Juneau',\n 'America/Kentucky/Louisville',\n 'America/Kentucky/Monticello',\n 'America/La_Paz',\n 'America/Lima',\n 'America/Los_Angeles',\n 'America/Maceio',\n 'America/Managua',\n 'America/Manaus',\n 'America/Martinique',\n 'America/Matamoros',\n 'America/Mazatlan',\n 'America/Menominee',\n 'America/Merida',\n 'America/Metlakatla',\n 'America/Mexico_City',\n 'America/Miquelon',\n 'America/Moncton',\n 'America/Monterrey',\n 'America/Montevideo',\n 'America/Nassau',\n 'America/New_York',\n 'America/Nipigon',\n 'America/Nome',\n 'America/Noronha',\n 'America/North_Dakota/Beulah',\n 'America/North_Dakota/Center',\n 'America/North_Dakota/New_Salem',\n 'America/Ojinaga',\n 'America/Panama',\n 'America/Pangnirtung',\n 'America/Paramaribo',\n 'America/Phoenix',\n 'America/Port-au-Prince',\n 'America/Port_of_Spain',\n 'America/Porto_Velho',\n 'America/Puerto_Rico',\n 'America/Punta_Arenas',\n 'America/Rainy_River',\n 'America/Rankin_Inlet',\n 'America/Recife',\n 'America/Regina',\n 'America/Resolute',\n 'America/Rio_Branco',\n 'America/Santarem',\n 'America/Santiago',\n 'America/Santo_Domingo',\n 'America/Sao_Paulo',\n 'America/Scoresbysund',\n 'America/Sitka',\n 'America/St_Johns',\n 'America/Swift_Current',\n 'America/Tegucigalpa',\n 'America/Thule',\n 'America/Thunder_Bay',\n 'America/Tijuana',\n 'America/Toronto',\n 'America/Vancouver',\n 'America/Whitehorse',\n 'America/Winnipeg',\n 'America/Yakutat',\n 'America/Yellowknife',\n 'Antarctica/Casey',\n 'Antarctica/Davis',\n 'Antarctica/DumontDUrville',\n 'Antarctica/Macquarie',\n 'Antarctica/Mawson',\n 'Antarctica/Palmer',\n 'Antarctica/Rothera',\n 'Antarctica/Syowa',\n 'Antarctica/Troll',\n 'Antarctica/Vostok',\n 'Asia/Almaty',\n 'Asia/Amman',\n 'Asia/Anadyr',\n 'Asia/Aqtau',\n 'Asia/Aqtobe',\n 'Asia/Ashgabat',\n 'Asia/Atyrau',\n 'Asia/Baghdad',\n 'Asia/Baku',\n 'Asia/Bangkok',\n 'Asia/Barnaul',\n 'Asia/Beirut',\n 'Asia/Bishkek',\n 'Asia/Brunei',\n 'Asia/Chita',\n 'Asia/Choibalsan',\n 'Asia/Colombo',\n 'Asia/Damascus',\n 'Asia/Dhaka',\n 'Asia/Dili',\n 'Asia/Dubai',\n 'Asia/Dushanbe',\n 'Asia/Famagusta',\n 'Asia/Gaza',\n 'Asia/Hebron',\n 'Asia/Ho_Chi_Minh',\n 'Asia/Hong_Kong',\n 'Asia/Hovd',\n 'Asia/Irkutsk',\n 'Asia/Jakarta',\n 'Asia/Jayapura',\n 'Asia/Jerusalem',\n 'Asia/Kabul',\n 'Asia/Kamchatka',\n 'Asia/Karachi',\n 'Asia/Kathmandu',\n 'Asia/Khandyga',\n 'Asia/Kolkata',\n 'Asia/Krasnoyarsk',\n 'Asia/Kuala_Lumpur',\n 'Asia/Kuching',\n 'Asia/Macau',\n 'Asia/Magadan',\n 'Asia/Makassar',\n 'Asia/Manila',\n 'Asia/Nicosia',\n 'Asia/Novokuznetsk',\n 'Asia/Novosibirsk',\n 'Asia/Omsk',\n 'Asia/Oral',\n 'Asia/Pontianak',\n 'Asia/Pyongyang',\n 'Asia/Qatar',\n 'Asia/Qostanay',\n 'Asia/Qyzylorda',\n 'Asia/Riyadh',\n 'Asia/Sakhalin',\n 'Asia/Samarkand',\n 'Asia/Seoul',\n 'Asia/Shanghai',\n 'Asia/Singapore',\n 'Asia/Srednekolymsk',\n 'Asia/Taipei',\n 'Asia/Tashkent',\n 'Asia/Tbilisi',\n 'Asia/Tehran',\n 'Asia/Thimphu',\n 'Asia/Tokyo',\n 'Asia/Tomsk',\n 'Asia/Ulaanbaatar',\n 'Asia/Urumqi',\n 'Asia/Ust-Nera',\n 'Asia/Vladivostok',\n 'Asia/Yakutsk',\n 'Asia/Yangon',\n 'Asia/Yekaterinburg',\n 'Asia/Yerevan',\n 'Atlantic/Azores',\n 'Atlantic/Bermuda',\n 'Atlantic/Canary',\n 'Atlantic/Cape_Verde',\n 'Atlantic/Faroe',\n 'Atlantic/Madeira',\n 'Atlantic/Reykjavik',\n 'Atlantic/South_Georgia',\n 'Atlantic/Stanley',\n 'Australia/Adelaide',\n 'Australia/Brisbane',\n 'Australia/Broken_Hill',\n 'Australia/Currie',\n 'Australia/Darwin',\n 'Australia/Eucla',\n 'Australia/Hobart',\n 'Australia/Lindeman',\n 'Australia/Lord_Howe',\n 'Australia/Melbourne',\n 'Australia/Perth',\n 'Australia/Sydney',\n 'Europe/Amsterdam',\n 'Europe/Andorra',\n 'Europe/Astrakhan',\n 'Europe/Athens',\n 'Europe/Belgrade',\n 'Europe/Berlin',\n 'Europe/Brussels',\n 'Europe/Bucharest',\n 'Europe/Budapest',\n 'Europe/Chisinau',\n 'Europe/Copenhagen',\n 'Europe/Dublin',\n 'Europe/Gibraltar',\n 'Europe/Helsinki',\n 'Europe/Istanbul',\n 'Europe/Kaliningrad',\n 'Europe/Kiev',\n 'Europe/Kirov',\n 'Europe/Lisbon',\n 'Europe/London',\n 'Europe/Luxembourg',\n 'Europe/Madrid',\n 'Europe/Malta',\n 'Europe/Minsk',\n 'Europe/Monaco',\n 'Europe/Moscow',\n 'Europe/Oslo',\n 'Europe/Paris',\n 'Europe/Prague',\n 'Europe/Riga',\n 'Europe/Rome',\n 'Europe/Samara',\n 'Europe/Saratov',\n 'Europe/Simferopol',\n 'Europe/Sofia',\n 'Europe/Stockholm',\n 'Europe/Tallinn',\n 'Europe/Tirane',\n 'Europe/Ulyanovsk',\n 'Europe/Uzhgorod',\n 'Europe/Vienna',\n 'Europe/Vilnius',\n 'Europe/Volgograd',\n 'Europe/Warsaw',\n 'Europe/Zaporozhye',\n 'Europe/Zurich',\n 'Indian/Chagos',\n 'Indian/Christmas',\n 'Indian/Cocos',\n 'Indian/Kerguelen',\n 'Indian/Mahe',\n 'Indian/Maldives',\n 'Indian/Mauritius',\n 'Indian/Reunion',\n 'Pacific/Apia',\n 'Pacific/Auckland',\n 'Pacific/Bougainville',\n 'Pacific/Chatham',\n 'Pacific/Chuuk',\n 'Pacific/Easter',\n 'Pacific/Efate',\n 'Pacific/Enderbury',\n 'Pacific/Fakaofo',\n 'Pacific/Fiji',\n 'Pacific/Funafuti',\n 'Pacific/Galapagos',\n 'Pacific/Gambier',\n 'Pacific/Guadalcanal',\n 'Pacific/Guam',\n 'Pacific/Honolulu',\n 'Pacific/Kiritimati',\n 'Pacific/Kosrae',\n 'Pacific/Kwajalein',\n 'Pacific/Majuro',\n 'Pacific/Marquesas',\n 'Pacific/Nauru',\n 'Pacific/Niue',\n 'Pacific/Norfolk',\n 'Pacific/Noumea',\n 'Pacific/Pago_Pago',\n 'Pacific/Palau',\n 'Pacific/Pitcairn',\n 'Pacific/Pohnpei',\n 'Pacific/Port_Moresby',\n 'Pacific/Rarotonga',\n 'Pacific/Tahiti',\n 'Pacific/Tarawa',\n 'Pacific/Tongatapu',\n 'Pacific/Wake',\n 'Pacific/Wallis',\n]\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, withKeys as _withKeys, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-47ea2903\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"tz-dropdown\" }\nconst _hoisted_2 = [\"value\", \"disabled\", \"onKeydown\"]\nconst _hoisted_3 = [\"onClick\", \"onMouseover\", \"autofocus\"]\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import { timeZones } from '@/utils/timezone'\n\n interface Props {\n input: string\n disabled?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'TimezoneDropdown',\n props: {\n input: null,\n disabled: { type: Boolean, default: false }\n },\n emits: ['updateTimezone'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { input: string, disabled: boolean }\n\n \n\n \n\n const { input, disabled } = toRefs(props)\n const timezone: Ref = ref(props.input)\n const isOpen: Ref = ref(false)\n const tzList: Ref = ref(null)\n const focusItemIndex: Ref = ref(0)\n\n function matchTimezone(t: string): RegExpMatchArray | null {\n return t.toLowerCase().match(timezone.value.toLowerCase())\n }\n function onMouseOver(index: number) {\n focusItemIndex.value = index\n }\n function onUpdateTimezone(value: string) {\n timezone.value = value\n isOpen.value = false\n emit('updateTimezone', value)\n }\n function onEnter(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n if (tzList.value?.firstElementChild?.innerHTML) {\n onUpdateTimezone(tzList.value?.firstElementChild?.innerHTML)\n }\n }\n function openDropdown(event: Event & { target: HTMLInputElement }) {\n event.preventDefault()\n isOpen.value = true\n timezone.value = event.target.value.trim()\n }\n\n watch(\n () => props.input,\n (value) => {\n timezone.value = value\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: \"tz-dropdown-input\",\n id: \"timezone\",\n name: \"timezone\",\n value: timezone.value,\n disabled: _unref(disabled),\n required: \"\",\n onKeydown: [\n _cache[0] || (_cache[0] = _withKeys(($event: any) => (onUpdateTimezone(_unref(input))), [\"esc\"])),\n _withKeys(onEnter, [\"enter\"])\n ],\n onInput: openDropdown\n }, null, 40, _hoisted_2),\n (isOpen.value)\n ? (_openBlock(), _createElementBlock(\"ul\", {\n key: 0,\n class: \"tz-dropdown-list\",\n ref_key: \"tzList\",\n ref: tzList\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(timeZones).filter((t) => matchTimezone(t)), (tz, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: tz,\n class: _normalizeClass([\"tz-dropdown-item\", { focus: index === focusItemIndex.value }]),\n onClick: ($event: any) => (onUpdateTimezone(tz)),\n onMouseover: ($event: any) => (onMouseOver(index)),\n autofocus: index === focusItemIndex.value\n }, _toDisplayString(tz), 43, _hoisted_3))\n }), 128))\n ], 512))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./TimezoneDropdown.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./TimezoneDropdown.vue?vue&type=style&index=0&id=47ea2903&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-47ea2903\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, vModelSelect as _vModelSelect, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, createVNode as _createVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f7548012\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-preferences-edition\" }\nconst _hoisted_2 = { class: \"profile-form form-box\" }\nconst _hoisted_3 = [\"onSubmit\"]\nconst _hoisted_4 = { class: \"form-items\" }\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = { class: \"form-items\" }\nconst _hoisted_8 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_9 = { class: \"checkboxes-label\" }\nconst _hoisted_10 = { class: \"checkboxes\" }\nconst _hoisted_11 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_12 = { class: \"checkbox-label\" }\nconst _hoisted_13 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_14 = { class: \"checkboxes-label\" }\nconst _hoisted_15 = { class: \"checkboxes\" }\nconst _hoisted_16 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_17 = { class: \"checkbox-label\" }\nconst _hoisted_18 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_19 = { class: \"checkboxes-label\" }\nconst _hoisted_20 = { class: \"checkboxes\" }\nconst _hoisted_21 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_22 = { class: \"checkbox-label\" }\nconst _hoisted_23 = { class: \"form-buttons\" }\nconst _hoisted_24 = {\n class: \"confirm\",\n type: \"submit\"\n}\n\nimport { ComputedRef, computed, reactive, onMounted, onUnmounted } from 'vue'\n\n import TimezoneDropdown from '@/components/User/ProfileEdition/TimezoneDropdown.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { IUserPreferencesPayload, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { availableLanguages } from '@/utils/locales'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPreferencesEdition',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const userForm: IUserPreferencesPayload = reactive({\n display_ascent: true,\n imperial_units: false,\n language: '',\n timezone: 'Europe/Paris',\n weekm: false,\n })\n const weekStart = [\n {\n label: 'SUNDAY',\n value: false,\n },\n {\n label: 'MONDAY',\n value: true,\n },\n ]\n const imperialUnits = [\n {\n label: 'METRIC',\n value: false,\n },\n {\n label: 'IMPERIAL',\n value: true,\n },\n ]\n const ascentData = [\n {\n label: 'DISPLAYED',\n value: true,\n },\n {\n label: 'HIDDEN',\n value: false,\n },\n ]\n const loading = computed(\n () => store.getters[AUTH_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: IAuthUserProfile) {\n userForm.display_ascent = user.display_ascent\n userForm.imperial_units = user.imperial_units ? user.imperial_units : false\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(AUTH_USER_STORE.ACTIONS.UPDATE_USER_PREFERENCES, userForm)\n }\n function updateTZ(value: string) {\n userForm.timezone = value\n }\n function updateAscentDisplay(value: boolean) {\n userForm.display_ascent = value\n }\n function updateImperialUnit(value: boolean) {\n userForm.imperial_units = value\n }\n function updateWeekM(value: boolean) {\n userForm.weekm = value\n }\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(updateProfile, [\"prevent\"])\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.LANGUAGE')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"language\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((userForm.language) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(availableLanguages), (lang) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: lang.value,\n key: lang.value\n }, _toDisplayString(lang.label), 9, _hoisted_6))\n }), 128))\n ], 8, _hoisted_5), [\n [_vModelSelect, userForm.language]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.TIMEZONE')) + \" \", 1),\n _createVNode(TimezoneDropdown, {\n input: userForm.timezone,\n disabled: _unref(loading),\n onUpdateTimezone: updateTZ\n }, null, 8, [\"input\", \"disabled\"])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')), 1),\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(weekStart, (start) => {\n return _createElementVNode(\"label\", {\n key: start.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: start.label,\n name: start.label,\n checked: start.value === userForm.weekm,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateWeekM(start.value))\n }, null, 40, _hoisted_11),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')), 1),\n _createElementVNode(\"div\", _hoisted_15, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(imperialUnits, (unit) => {\n return _createElementVNode(\"label\", {\n key: unit.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: unit.label,\n name: unit.label,\n checked: unit.value === userForm.imperial_units,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateImperialUnit(unit.value))\n }, null, 40, _hoisted_16),\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')), 1),\n _createElementVNode(\"div\", _hoisted_20, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(ascentData, (status) => {\n return _createElementVNode(\"label\", {\n key: status.label\n }, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n id: status.label,\n name: status.label,\n checked: status.value === userForm.display_ascent,\n disabled: _unref(loading),\n onInput: ($event: any) => (updateAscentDisplay(status.value))\n }, null, 40, _hoisted_21),\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(`common.${status.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"button\", _hoisted_24, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/preferences')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPreferencesEdition.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPreferencesEdition.vue?vue&type=style&index=0&id=f7548012&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-f7548012\"]])\n\nexport default __exports__","export const oauth2_scopes = [\n 'profile:read',\n 'profile:write',\n 'users:read',\n 'users:write',\n 'workouts:read',\n 'workouts:write',\n]\n\nexport const admin_oauth2_scopes = ['application:write']\n","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0657ee77\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"new-oauth2-app\" }\nconst _hoisted_2 = { id: \"new-oauth2-title\" }\nconst _hoisted_3 = { id: \"apps-form\" }\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = { class: \"form-items\" }\nconst _hoisted_6 = { class: \"form-item\" }\nconst _hoisted_7 = { for: \"app-name\" }\nconst _hoisted_8 = { class: \"form-item\" }\nconst _hoisted_9 = { for: \"app-description\" }\nconst _hoisted_10 = { class: \"form-item\" }\nconst _hoisted_11 = { for: \"app-url\" }\nconst _hoisted_12 = { class: \"form-item\" }\nconst _hoisted_13 = { for: \"app-redirect-uri\" }\nconst _hoisted_14 = { class: \"form-item-scope\" }\nconst _hoisted_15 = { class: \"form-item-scope-label\" }\nconst _hoisted_16 = { class: \"scope-label\" }\nconst _hoisted_17 = [\"name\", \"checked\", \"onChange\"]\nconst _hoisted_18 = [\"innerHTML\"]\nconst _hoisted_19 = { class: \"form-buttons\" }\nconst _hoisted_20 = [\"disabled\"]\n\nimport { computed, reactive } from 'vue'\n\n import { OAUTH2_STORE } from '@/store/constants'\n import { IOAuth2ClientPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { admin_oauth2_scopes, oauth2_scopes } from '@/utils/oauth'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AddUserApp',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n const appForm = reactive({\n client_name: '',\n client_uri: '',\n client_description: '',\n redirect_uri: '',\n })\n const scopes: string[] = reactive([])\n const filtered_scopes = computed(() =>\n getScopes(props.authUser, admin_oauth2_scopes, oauth2_scopes)\n )\n\n function createApp() {\n const payload: IOAuth2ClientPayload = {\n client_name: appForm.client_name,\n client_description: appForm.client_description,\n client_uri: appForm.client_uri,\n redirect_uris: [appForm.redirect_uri],\n scope: scopes.sort().join(' '),\n }\n store.dispatch(OAUTH2_STORE.ACTIONS.CREATE_CLIENT, payload)\n }\n function updateDescription(value: string) {\n appForm.client_description = value\n }\n function updateScopes(scope: string) {\n const index = scopes.indexOf(scope)\n if (index > -1) {\n scopes.splice(index, 1)\n } else {\n scopes.push(scope)\n }\n }\n function getScopes(\n authUser: IAuthUserProfile,\n admin_scopes: string[],\n scopes: string[]\n ) {\n const filtered_scopes = [...scopes]\n if (authUser.admin) {\n filtered_scopes.push(...admin_scopes)\n }\n return filtered_scopes.sort()\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_CustomTextArea = _resolveComponent(\"CustomTextArea\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.ADD_A_NEW_APP')), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers(createApp, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", _hoisted_7, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-name\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((appForm.client_name) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_name]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')), 1),\n _createVNode(_component_CustomTextArea, {\n name: \"app-description\",\n charLimit: 200,\n input: appForm.description,\n onUpdateValue: updateDescription\n }, null, 8, [\"input\"])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \"*\", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-url\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((appForm.client_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.client_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", _hoisted_13, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"app-redirect-uri\",\n type: \"text\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((appForm.redirect_uri) = $event))\n }, null, 512), [\n [_vModelText, appForm.redirect_uri]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \"* \", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(filtered_scopes), (scope) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"form-item-scope-checkboxes\",\n key: scope\n }, [\n _createElementVNode(\"label\", _hoisted_16, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n name: scope,\n checked: scopes.includes(scope),\n onChange: ($event: any) => (updateScopes(scope))\n }, null, 40, _hoisted_17),\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"scope-description\",\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_18)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"button\", {\n class: \"confirm\",\n type: \"submit\",\n disabled: scopes.length === 0\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_20),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(() => _ctx.$router.push('/profile/apps'), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ], 40, _hoisted_4)\n ])\n ]))\n}\n}\n\n})","import script from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AddUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AddUserApp.vue?vue&type=style&index=0&id=0657ee77&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-0657ee77\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b2fe9ed\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"authorize-oauth2-app\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { id: \"authorize-oauth2-title\" }\nconst _hoisted_4 = { class: \"oauth2-access description-list\" }\nconst _hoisted_5 = { class: \"client-scope\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"authorize-oauth2-buttons\" }\nconst _hoisted_8 = { key: 1 }\nconst _hoisted_9 = { class: \"no-app\" }\n\nimport { computed, ComputedRef, onBeforeMount } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'AuthorizeUserApp',\n setup(__props) {\n\n const route = useRoute()\n const store = useStore()\n\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n\n onBeforeMount(() => loadApp())\n\n function loadApp() {\n if (route.query.client_id && typeof route.query.client_id === 'string') {\n store.dispatch(\n OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID,\n route.query.client_id\n )\n }\n }\n\n function authorizeApp() {\n store.dispatch(OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT, {\n client_id: `${route.query.client_id}`,\n redirect_uri: `${route.query.redirect_uri}`,\n response_type: `${route.query.response_type}`,\n scope: `${route.query.scope}`,\n state: `${route.query.state ? route.query.state : ''}`,\n code_challenge: `${\n route.query.code_challenge ? route.query.code_challenge : ''\n }`,\n code_challenge_method: `${\n route.query.code_challenge_method\n ? route.query.code_challenge_method\n : ''\n }`,\n })\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"oauth2.AUTHORIZE_APP\" }, {\n default: _withCtx(() => [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: _unref(client).id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(client).name), 1)\n ]),\n _: 1\n }, 8, [\"to\"])\n ]),\n _: 1\n })\n ]),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 0,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t('oauth2.APP_REQUESTING_ACCESS')), 1),\n _createElementVNode(\"dl\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(_Fragment, { key: scope }, [\n _createElementVNode(\"dt\", _hoisted_5, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]),\n _createElementVNode(\"dd\", {\n innerHTML: _ctx.$t(`oauth2.APP.SCOPE.${scope}_DESCRIPTION`)\n }, null, 8, _hoisted_6)\n ], 64))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: authorizeApp\n }, _toDisplayString(_ctx.$t('buttons.AUTHORIZE')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 1)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthorizeUserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./AuthorizeUserApp.vue?vue&type=style&index=0&id=3b2fe9ed&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3b2fe9ed\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"oauth2-apps\" }\n\nimport { onUnmounted, toRefs } from 'vue'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { user } = toRefs(props)\n\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENTS, [])\n })\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_view = _resolveComponent(\"router-view\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_router_view, { authUser: _unref(user) }, null, 8, [\"authUser\"])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-00697fc9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"oauth2-app\",\n class: \"description-list\"\n}\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = {\n key: 0,\n class: \"info-box success-message\"\n}\nconst _hoisted_4 = [\"title\"]\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = {\n key: 1,\n class: \"app-secret\"\n}\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { class: \"client-scopes\" }\nconst _hoisted_9 = { class: \"app-buttons\" }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { class: \"no-app\" }\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n capitalize,\n computed,\n onBeforeMount,\n toRefs,\n ref,\n onUnmounted,\n withDefaults,\n watch,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\n import { IOAuth2Client } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n afterCreation?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserApp',\n props: {\n authUser: null,\n afterCreation: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { authUser: IAuthUserProfile, afterCreation: boolean }\n\n \n const route = useRoute()\n const store = useStore()\n\n const { afterCreation, authUser } = toRefs(props)\n const client: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENT]\n )\n const revocationSuccessful: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]\n )\n const displayModal: Ref = ref(false)\n const messageToDisplay: Ref = ref(null)\n const idCopied: Ref = ref(false)\n const secretCopied: Ref = ref(false)\n const clipboardSupport: Ref = ref(false)\n\n onBeforeMount(() => {\n loadClient()\n if (navigator.clipboard) {\n clipboardSupport.value = true\n }\n })\n\n function loadClient() {\n // after creation, client is already in store\n if (\n !afterCreation.value &&\n route.params.id &&\n typeof route.params.id === 'string'\n ) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID, +route.params.id)\n }\n }\n function updateMessageToDisplay(forDelete: boolean) {\n messageToDisplay.value = forDelete\n ? 'oauth2.APP_DELETION_CONFIRMATION'\n : 'oauth2.TOKENS_REVOCATION_CONFIRMATION'\n updateDisplayModal(true)\n }\n function updateDisplayModal(value: boolean) {\n displayModal.value = value\n if (!value) {\n messageToDisplay.value = null\n }\n }\n function confirmAction(clientId: number) {\n if (messageToDisplay.value === 'oauth2.APP_DELETION_CONFIRMATION') {\n store.dispatch(OAUTH2_STORE.ACTIONS.DELETE_CLIENT, clientId)\n } else {\n store.dispatch(OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS, clientId)\n }\n }\n function copyIdToClipboard() {\n navigator.clipboard.writeText(client.value.client_id)\n idCopied.value = true\n secretCopied.value = false\n setTimeout(() => {\n idCopied.value = false\n }, 3000)\n }\n function copySecretToClipboard() {\n if (client.value.client_secret) {\n navigator.clipboard.writeText(client.value.client_secret)\n secretCopied.value = true\n idCopied.value = false\n setTimeout(() => {\n secretCopied.value = false\n }, 3000)\n }\n }\n onUnmounted(() => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT)\n store.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n })\n\n watch(\n () => revocationSuccessful.value,\n (newValue) => {\n if (newValue) {\n updateDisplayModal(false)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: _ctx.$t(messageToDisplay.value),\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (confirmAction(_unref(client).id))),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal(false)))\n }, null, 8, [\"title\", \"message\"]))\n : _createCommentVNode(\"\", true),\n (_unref(client) && _unref(client).client_id)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_unref(afterCreation) || _unref(revocationSuccessful))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\n _unref(afterCreation)\n ? 'oauth2.APP_CREATED_SUCCESSFULLY'\n : 'oauth2.TOKENS_REVOKED'\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_ID')) + \":\", 1),\n _createElementVNode(\"dd\", null, [\n _createTextVNode(_toDisplayString(_unref(client).client_id) + \" \", 1),\n (_unref(afterCreation) && clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${idCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copyIdToClipboard\n }, null, 10, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dt\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.APP.CLIENT_SECRET')) + \": \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(afterCreation) && _unref(client).client_secret)\n ? (_openBlock(), _createElementBlock(\"dd\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_unref(client).client_secret) + \" \", 1),\n (clipboardSupport.value)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: _normalizeClass(`fa fa-${secretCopied.value ? 'check' : 'copy'}`),\n \"aria-hidden\": \"true\",\n title: _ctx.$t('oauth2.COPY_TO_CLIPBOARD'),\n onClick: copySecretToClipboard\n }, null, 10, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dt\", null, _toDisplayString(capitalize(_ctx.$t('oauth2.APP.ISSUE_AT'))) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(_unref(client).issued_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.DESCRIPTION')) + \":\", 1),\n _createElementVNode(\"dd\", {\n class: _normalizeClass({ 'no-description': !_unref(client).client_description })\n }, _toDisplayString(_unref(client).client_description\n ? _unref(client).client_description\n : _ctx.$t('oauth2.NO_DESCRIPTION')), 3),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).website), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.REDIRECT_URL')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(client).redirect_uris.length > 0 ? _unref(client).redirect_uris[0] : ''), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('oauth2.APP.SCOPE.LABEL')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(client).scope.split(' '), (scope) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"client-scope\",\n key: scope\n }, [\n _createElementVNode(\"code\", null, _toDisplayString(scope), 1)\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateMessageToDisplay(false)))\n }, _toDisplayString(_ctx.$t('oauth2.REVOKE_ALL_TOKENS')), 1),\n _createElementVNode(\"button\", {\n class: \"danger\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateMessageToDisplay(true)))\n }, _toDisplayString(_ctx.$t('oauth2.DELETE_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(_ctx.$t('oauth2.NO_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/apps')))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserApp.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserApp.vue?vue&type=style&index=0&id=00697fc9&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-00697fc9\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5c2cdde\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"oauth2-apps-list\" }\nconst _hoisted_2 = { class: \"apps-list\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"app-issued-at\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"no-apps\"\n}\nconst _hoisted_6 = { class: \"app-list-buttons\" }\n\nimport { format } from 'date-fns'\n import { ComputedRef, computed, onBeforeMount, toRefs, watch } from 'vue'\n import { LocationQuery, useRoute } from 'vue-router'\n\n import Pagination from '@/components/Common/Pagination.vue'\n import { OAUTH2_STORE } from '@/store/constants'\n import { IPagination } from '@/types/api'\n import { IOAuth2Client, IOauth2ClientsPayload } from '@/types/oauth'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { defaultPage, getNumberQueryValue } from '@/utils/api'\n import { getDateWithTZ } from '@/utils/dates'\n\n interface Props {\n authUser: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAppsList',\n props: {\n authUser: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n authUser: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n const route = useRoute()\n\n const { authUser } = toRefs(props)\n const clients: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS]\n )\n\n const pagination: ComputedRef = computed(\n () => store.getters[OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]\n )\n let query: IOauth2ClientsPayload = getClientsQuery(route.query)\n\n onBeforeMount(() => {\n loadClients(query)\n })\n\n function getClientsQuery(newQuery: LocationQuery): IOauth2ClientsPayload {\n const clientsQuery: IOauth2ClientsPayload = {}\n if (newQuery.page) {\n clientsQuery.page = getNumberQueryValue(newQuery.page, defaultPage)\n }\n return clientsQuery\n }\n function loadClients(payload: IOauth2ClientsPayload) {\n store.dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS, payload)\n }\n\n watch(\n () => route.query,\n async (newQuery) => {\n query = getClientsQuery(newQuery)\n loadClients(query)\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t('oauth2.APPS_LIST')), 1),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(clients), (client) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: client.client_id\n }, [\n _createVNode(_component_router_link, {\n to: { name: 'UserApp', params: { id: client.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(client.name), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('oauth2.APP.ISSUE_AT')) + \" \" + _toDisplayString(_unref(format)(\n _unref(getDateWithTZ)(client.issued_at, _unref(authUser).timezone),\n 'dd/MM/yyyy HH:mm'\n )), 1)\n ]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('oauth2.NO_APPS')), 1)),\n (_unref(clients).length > 0)\n ? (_openBlock(), _createBlock(Pagination, {\n key: 2,\n pagination: _unref(pagination),\n path: \"/profile/apps\",\n query: _unref(query)\n }, null, 8, [\"pagination\", \"query\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push('/profile/apps/new')))\n }, _toDisplayString(_ctx.$t('oauth2.NEW_APP')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ])\n ]))\n}\n}\n\n})","import script from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAppsList.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAppsList.vue?vue&type=style&index=0&id=a5c2cdde&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-a5c2cdde\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, withModifiers as _withModifiers, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e52489\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-sport-preferences\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"responsive-table\"\n}\nconst _hoisted_3 = { class: \"mobile-display\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"profile-buttons mobile-display\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"profile-buttons\"\n}\nconst _hoisted_6 = { class: \"text-left\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"cell-heading\" }\nconst _hoisted_9 = [\"value\"]\nconst _hoisted_10 = { class: \"cell-heading\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"disabled-message\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"fa fa-refresh fa-spin fa-fw\"\n}\nconst _hoisted_13 = { class: \"cell-heading\" }\nconst _hoisted_14 = { class: \"cell-heading\" }\nconst _hoisted_15 = [\"checked\"]\nconst _hoisted_16 = { class: \"cell-heading\" }\nconst _hoisted_17 = [\"value\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = {\n key: 0,\n class: \"action-buttons\"\n}\nconst _hoisted_20 = { class: \"cell-heading\" }\nconst _hoisted_21 = [\"onClick\"]\nconst _hoisted_22 = {\n key: 1,\n class: \"edition-buttons\"\n}\nconst _hoisted_23 = [\"disabled\"]\nconst _hoisted_24 = [\"disabled\", \"onClick\"]\nconst _hoisted_25 = [\"disabled\"]\nconst _hoisted_26 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { ComputedRef, computed, inject, reactive, toRefs, watch } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { AUTH_USER_STORE, ROOT_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport, ITranslatedSport } from '@/types/sports'\n import { IUserProfile, IUserSportPreferencesPayload } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n user: IUserProfile\n isEdition: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserSportPreferences',\n props: {\n user: null,\n isEdition: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n isEdition: boolean\n }\n\n \n\n const store = useStore()\n const { t } = useI18n()\n\n const { isEdition, user } = toRefs(props)\n const defaultColor = '#838383'\n const sportColors: Record | undefined = inject('sportColors')\n const sports: ComputedRef = computed(\n () => store.getters[SPORTS_STORE.GETTERS.SPORTS]\n )\n const translatedSports: ComputedRef = computed(() =>\n translateSports(sports.value, t, 'is_active', user.value.sports_list)\n )\n const loading = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.USER_LOADING]\n )\n const errorMessages: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.ERROR_MESSAGES]\n )\n const sportPayload: IUserSportPreferencesPayload = reactive({\n sport_id: 0,\n color: null,\n is_active: true,\n stopped_speed_threshold: 1,\n })\n\n function updateSportInEdition(sport: ISport | null) {\n if (sport !== null) {\n sportPayload.sport_id = sport.id\n sportPayload.color = sport.color\n ? sport.color\n : sportColors\n ? sportColors[sport.label]\n : defaultColor\n sportPayload.is_active = sport.is_active_for_user\n sportPayload.stopped_speed_threshold = sport.stopped_speed_threshold\n } else {\n resetSportPayload()\n }\n }\n function isSportInEdition(sportId: number) {\n return sportPayload.sport_id === sportId\n }\n function updateColor(event: Event & { target: HTMLInputElement }) {\n sportPayload.color = event.target.value\n }\n function updateThreshold(event: Event & { target: HTMLInputElement }) {\n sportPayload.stopped_speed_threshold = parseFloat(event.target.value)\n }\n function updateIsActive(event: Event & { target: HTMLInputElement }) {\n sportPayload.is_active = event.target.checked\n }\n function resetSportPayload() {\n sportPayload.sport_id = 0\n sportPayload.color = null\n sportPayload.is_active = true\n sportPayload.stopped_speed_threshold = 1\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n }\n function updateSport(event: Event) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES,\n sportPayload\n )\n }\n function resetSport(event: Event, sportId: number) {\n event.preventDefault()\n store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES,\n sportId\n )\n }\n\n watch(\n () => loading.value,\n (newIsLoading) => {\n if (!newIsLoading && !errorMessages.value) {\n resetSportPayload()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]),\n _createElementVNode(\"table\", null, [\n _createElementVNode(\"thead\", null, [\n _createElementVNode(\"tr\", null, [\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n _createElementVNode(\"th\", _hoisted_6, _toDisplayString(_ctx.$t('workouts.SPORT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n _createElementVNode(\"th\", null, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"th\", _hoisted_7, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(translatedSports), (sport) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: sport.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.COLOR')), 1),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"sport-color\",\n type: \"color\",\n value: sportPayload.color,\n onInput: updateColor\n }, null, 40, _hoisted_9))\n : (_openBlock(), _createBlock(_component_SportImage, {\n key: 1,\n title: sport.translatedLabel,\n \"sport-label\": sport.label,\n color: sport.color ? sport.color : _unref(sportColors)[sport.label]\n }, null, 8, [\"title\", \"sport-label\", \"color\"]))\n ]),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"sport-label\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.LABEL')), 1),\n _createTextVNode(\" \" + _toDisplayString(sport.translatedLabel) + \" \", 1),\n (!sport.is_active)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, \" (\" + _toDisplayString(_ctx.$t('user.PROFILE.SPORT.DISABLED_BY_ADMIN')) + \") \", 1))\n : _createCommentVNode(\"\", true),\n (_unref(loading) && isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages) && sportPayload.sport_id === sport.id)\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 2,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t('workouts.WORKOUT', 0)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa fa${\n _unref(user).sports_list.includes(sport.id) ? '-check' : ''\n }`),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.IS_ACTIVE')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n type: \"checkbox\",\n checked: sport.is_active_for_user,\n onChange: updateIsActive\n }, null, 40, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"i\", {\n key: 1,\n class: _normalizeClass(`fa fa${sport.is_active_for_user ? '-check' : ''}`),\n \"aria-hidden\": \"true\"\n }, null, 2))\n ], 2),\n _createElementVNode(\"td\", {\n class: _normalizeClass([\"text-center\", { 'disabled-sport': !sport.is_active }])\n }, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD')), 1),\n (isSportInEdition(sport.id) && sport.is_active)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n class: \"threshold-input\",\n type: \"number\",\n min: \"0\",\n step: \"0.1\",\n value: sportPayload.stopped_speed_threshold,\n onInput: updateThreshold\n }, null, 40, _hoisted_17))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_18, _toDisplayString(sport.stopped_speed_threshold), 1))\n ], 2),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"td\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t('user.PROFILE.SPORT.ACTION')), 1),\n (sportPayload.sport_id === 0)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: ($event: any) => (updateSportInEdition(sport))\n }, _toDisplayString(_ctx.$t('buttons.EDIT')), 9, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (isSportInEdition(sport.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: updateSport\n }, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 9, _hoisted_23),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: (e) => resetSport(e, sport.id)\n }, _toDisplayString(_ctx.$t('buttons.RESET')), 9, _hoisted_24),\n _createElementVNode(\"button\", {\n disabled: _unref(loading),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateSportInEdition(null)))\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_25)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ]),\n (_unref(isEdition))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.$router.push('/profile/sports')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$router.push('/profile/edit/sports')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT_SPORTS_PREFERENCES')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserSportPreferences.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserSportPreferences.vue?vue&type=style&index=0&id=74e52489&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e52489\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74257266\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"about-text\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-book fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = {\n href: \"https://samr1.github.io/FitTrackee/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-github fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_6 = {\n href: \"https://github.com/SamR1/FitTrackee\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-balance-scale fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://choosealicense.com/licenses/agpl-3.0/\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n}, \" AGPLv3 \", -1))\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-envelope-o fa-padding\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\"href\"]\n\nimport { ComputedRef, computed, capitalize } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'About',\n setup(__props) {\n\n const store = useStore()\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"error-message\",\n innerHTML: _ctx.$t('about.FITTRACKEE_DESCRIPTION')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _hoisted_3,\n _createElementVNode(\"a\", _hoisted_4, _toDisplayString(capitalize(_ctx.$t('common.DOCUMENTATION'))), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_5,\n _createElementVNode(\"a\", _hoisted_6, _toDisplayString(_ctx.$t('about.SOURCE_CODE')), 1)\n ]),\n _createElementVNode(\"p\", null, [\n _hoisted_7,\n _createVNode(_component_i18n_t, { keypath: \"about.FITTRACKEE_LICENSE\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n (_unref(appConfig).admin_contact)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"a\", {\n href: `mailto:${_unref(appConfig).admin_contact}`\n }, _toDisplayString(_ctx.$t('about.CONTACT_ADMIN')), 9, _hoisted_11)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./About.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./About.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./About.vue?vue&type=style&index=0&id=74257266&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74257266\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BikePic.vue?vue&type=template&id=795f7f5f&scoped=true\"\nconst script = {}\n\nimport \"./BikePic.vue?vue&type=style&index=0&id=795f7f5f&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-795f7f5f\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bffb50d0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"about\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub about-details\" }\n\nimport About from '@/components/About.vue'\n import BikePic from '@/components/BikePic.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'AboutView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(About)\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./AboutView.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./AboutView.vue?vue&type=style&index=0&id=bffb50d0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bffb50d0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c9d1f10c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"timeline-workout\" }\nconst _hoisted_2 = { class: \"box\" }\nconst _hoisted_3 = { class: \"workout-user-date\" }\nconst _hoisted_4 = { class: \"workout-user\" }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = {\n key: 1,\n class: \"no-map\"\n}\nconst _hoisted_8 = { class: \"img\" }\nconst _hoisted_9 = { class: \"data\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-clock-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"data\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-road\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_14 = {\n key: 0,\n class: \"data elevation\"\n}\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"data-values\" }\nconst _hoisted_17 = /*#__PURE__*/_createTextVNode(\"/ \")\nconst _hoisted_18 = {\n key: 1,\n class: \"data altitude\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-location-arrow\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_20 = { class: \"data-values\" }\nconst _hoisted_21 = /*#__PURE__*/_createTextVNode(\" +\")\nconst _hoisted_22 = /*#__PURE__*/_createTextVNode(\"/- \")\n\nimport { Locale, format, formatDistance } from 'date-fns'\n import { ComputedRef, computed, toRefs, withDefaults } 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 interface Props {\n user: IUserProfile\n useImperialUnits: boolean\n workout?: IWorkout\n sport?: ISport\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'WorkoutCard',\n props: {\n user: null,\n useImperialUnits: { type: Boolean },\n workout: { default: () => ({} as IWorkout) },\n sport: { default: () => ({} as ISport) }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, useImperialUnits: boolean, workout: IWorkout, sport: ISport }\n\n \n\n const store = useStore()\n\n const { user, workout, sport, useImperialUnits } = toRefs(props)\n const locale: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n (_unref(user).username)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-user-name\",\n to: {\n name: 'User',\n params: { username: _unref(user).username },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(user).username), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n class: \"workout-title\",\n to: {\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_unref(workout).title), 1)\n ]),\n _: 1\n }, 8, [\"to\"]))\n : _createCommentVNode(\"\", true),\n (_unref(workout).workout_date && _unref(user))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"workout-date\",\n title: \n _unref(format)(\n _unref(getDateWithTZ)(_unref(workout).workout_date, _unref(user).timezone),\n 'dd/MM/yyyy HH:mm'\n )\n \n }, _toDisplayString(_unref(formatDistance)(new Date(_unref(workout).workout_date), new Date(), {\n addSuffix: true,\n locale: _unref(locale),\n })), 9, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-map\", { 'no-cursor': !_unref(workout) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_unref(workout).with_gpx)\n ? (_openBlock(), _createBlock(StaticMap, {\n key: 0,\n workout: _unref(workout)\n }, null, 8, [\"workout\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.NO_MAP')), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"workout-data\", { 'without-gpx': _unref(workout) && !_unref(workout).with_gpx }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (\n _unref(workout).id\n ? _ctx.$router.push({\n name: 'Workout',\n params: { workoutId: _unref(workout).id },\n })\n : null\n ))\n }, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_unref(sport).label)\n ? (_openBlock(), _createBlock(_component_SportImage, {\n key: 0,\n \"sport-label\": _unref(sport).label,\n color: _unref(sport).color\n }, null, 8, [\"sport-label\", \"color\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n (_unref(workout))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_unref(workout).moving), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).distance,\n digits: 3,\n unitFrom: \"km\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"img\", {\n class: \"mountains\",\n src: \"/img/workouts/mountains.svg\",\n alt: _ctx.$t('workouts.ELEVATION')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"div\", _hoisted_16, [\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).min_alt,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_17,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).max_alt,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(workout) && _unref(workout).with_gpx)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 0,\n distance: _unref(workout).ascent,\n unitFrom: \"m\",\n displayUnit: false,\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true),\n _hoisted_22,\n (_unref(workout).id)\n ? (_openBlock(), _createBlock(_component_Distance, {\n key: 1,\n distance: _unref(workout).descent,\n unitFrom: \"m\",\n useImperialUnits: _unref(useImperialUnits)\n }, null, 8, [\"distance\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./WorkoutCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./WorkoutCard.vue?vue&type=style&index=0&id=c9d1f10c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-c9d1f10c\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-35567bf2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"timeline\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 1,\n class: \"more-workouts\"\n}\n\nimport { ComputedRef, computed, ref, onBeforeMount, toRefs } 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 interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Timeline',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const 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 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.LATEST_WORKOUTS')), 1),\n (_unref(user).nb_workouts > 0 && _unref(workouts).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList([...Array(_unref(initWorkoutsCount)).keys()], (index) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: index\n }, null, 8, [\"user\", \"useImperialUnits\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout) => {\n return (_openBlock(), _createBlock(WorkoutCard, {\n workout: workout,\n sport: \n _unref(workouts).length > 0\n ? _unref(sports).filter((s) => s.id === workout.sport_id)[0]\n : null\n ,\n user: _unref(user),\n useImperialUnits: _unref(user).imperial_units,\n key: workout.id\n }, null, 8, [\"workout\", \"sport\", \"user\", \"useImperialUnits\"]))\n }), 128)),\n (_unref(workouts).length === 0)\n ? (_openBlock(), _createBlock(NoWorkouts, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_unref(moreWorkoutsExist))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", { onClick: loadMoreWorkouts }, _toDisplayString(_ctx.$t('workouts.LOAD_MORE_WORKOUT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}\n}\n\n})","import script from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Timeline.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Timeline.vue?vue&type=style&index=0&id=35567bf2&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-35567bf2\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = [\"title\"]\n\nimport { toRefs } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n interface Props {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkout',\n props: {\n displayHARecord: { type: Boolean },\n workout: null,\n sportLabel: null,\n sportColor: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workout: IWorkout\n sportLabel: string\n sportColor: string | null\n }\n\n \n\n const { displayHARecord, workout, sportLabel, sportColor } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-workout\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.$router.push({ name: 'Workout', params: { workoutId: _unref(workout).id } })\n ))\n }, [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(sportLabel),\n title: _unref(workout).title,\n color: _unref(sportColor)\n }, null, 8, [\"sport-label\", \"title\", \"color\"]),\n _createElementVNode(\"sup\", null, [\n (_unref(workout).records.length > 0)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\",\n title: \n _unref(workout).records\n .filter((record) =>\n _unref(displayHARecord) ? true : record.record_type !== 'HA'\n )\n .map((record) => ` ${_ctx.$t(`workouts.RECORD_${record.record_type}`)}`)\n \n }, null, 8, _hoisted_1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkout.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkout.vue?vue&type=style&index=0&id=331e1c8b&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"donut-chart\" }\nconst _hoisted_2 = {\n height: \"34\",\n width: \"34\",\n viewBox: \"0 0 34 34\"\n}\nconst _hoisted_3 = [\"stroke\", \"stroke-dashoffset\", \"transform\"]\n\nimport { toRefs } from 'vue'\n\n interface Props {\n colors: Record\n datasets: Record>\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'DonutChart',\n props: {\n colors: null,\n datasets: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n }\n\n \n\n const { colors, datasets } = toRefs(props)\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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.entries(_unref(datasets)), (data, index) => {\n return (_openBlock(), _createElementBlock(\"g\", { key: index }, [\n _createElementVNode(\"circle\", {\n cx: cx,\n cy: cy,\n r: radius,\n fill: \"transparent\",\n stroke: _unref(colors)[+data[0]],\n \"stroke-dashoffset\": \n calculateStrokeDashOffset(data[1].percentage, circumference)\n ,\n \"stroke-dasharray\": circumference,\n \"stroke-width\": \"3\",\n \"stroke-opacity\": \"0.8\",\n transform: returnCircleTransformValue(index, data[1].percentage)\n }, null, 8, _hoisted_3)\n ]))\n }), 128))\n ]))\n ]))\n}\n}\n\n})","import script from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DonutChart.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52d4310a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"calendar-workouts-chart\" }\nconst _hoisted_2 = { class: \"workouts-count\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-pane\"\n}\nconst _hoisted_4 = { class: \"more-workouts\" }\n\nimport { ref, toRefs } 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 { getSportColor, getSportLabel } from '@/utils/sports'\n\n interface Props {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkoutsChart',\n props: {\n colors: null,\n datasets: null,\n sports: null,\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n colors: Record\n datasets: Record>\n sports: ISport[]\n workouts: IWorkout[]\n }\n\n \n\n const { colors, datasets, sports, workouts } = toRefs(props)\n const isHidden = ref(true)\n\n function togglePane(event: Event & { target: HTMLElement }) {\n event.stopPropagation()\n isHidden.value = !isHidden.value\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _directive_click_outside = _resolveDirective(\"click-outside\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"workouts-chart\",\n onClick: togglePane\n }, [\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(workouts).length), 1),\n _createVNode(DonutChart, {\n datasets: _unref(datasets),\n colors: _unref(colors)\n }, null, 8, [\"datasets\", \"colors\"])\n ]),\n (!isHidden.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"fa fa-times calendar-more\",\n \"aria-hidden\": \"true\",\n onClick: togglePane\n }),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ])), [\n [_directive_click_outside, togglePane]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkoutsChart.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkoutsChart.vue?vue&type=style&index=0&id=52d4310a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-52d4310a\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-workouts\" }\nconst _hoisted_2 = { class: \"desktop-display\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"workouts-display\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"donut-display\"\n}\nconst _hoisted_5 = { class: \"mobile-display\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"donut-display\"\n}\n\nimport { computed, toRefs } 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 { getSportColor, getSportLabel, sportIdColors } from '@/utils/sports'\n import { getDonutDatasets } from '@/utils/workouts'\n\n interface Props {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarWorkouts',\n props: {\n displayHARecord: { type: Boolean },\n workouts: null,\n sports: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n displayHARecord: boolean\n workouts: IWorkout[]\n sports: ISport[]\n }\n\n \n\n const { displayHARecord, workouts, sports } = toRefs(props)\n const chartDatasets = computed(() => getDonutDatasets(props.workouts))\n const colors = computed(() => sportIdColors(props.sports))\n const displayedWorkoutCount = 6\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_unref(workouts).length <= displayedWorkoutCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(workouts).slice(0, displayedWorkoutCount), (workout, index) => {\n return (_openBlock(), _createBlock(CalendarWorkout, {\n key: index,\n displayHARecord: _unref(displayHARecord),\n workout: workout,\n sportLabel: _unref(getSportLabel)(workout, _unref(sports)),\n sportColor: _unref(getSportColor)(workout, _unref(sports))\n }, null, 8, [\"displayHARecord\", \"workout\", \"sportLabel\", \"sportColor\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n (_unref(workouts).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(CalendarWorkoutsChart, {\n workouts: _unref(workouts),\n sports: _unref(sports),\n datasets: _unref(chartDatasets),\n colors: _unref(colors)\n }, null, 8, [\"workouts\", \"sports\", \"datasets\", \"colors\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarWorkouts.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarWorkouts.vue?vue&type=style&index=0&id=5aab7455&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-cells\" }\nconst _hoisted_2 = { class: \"calendar-cell-day\" }\n\nimport { addDays, format, isSameDay, isSameMonth, isToday } from 'date-fns'\n import { Ref, ref, toRefs, watch, onMounted } 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 interface Props {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarCells',\n props: {\n currentDay: null,\n displayHARecord: { type: Boolean },\n endDate: null,\n sports: null,\n startDate: null,\n timezone: null,\n weekStartingMonday: { type: Boolean },\n workouts: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n currentDay: Date\n displayHARecord: boolean\n endDate: Date\n sports: ISport[]\n startDate: Date\n timezone: string\n weekStartingMonday: boolean\n workouts: IWorkout[]\n }\n\n \n\n const {\n currentDay,\n displayHARecord,\n endDate,\n sports,\n startDate,\n timezone,\n weekStartingMonday,\n workouts,\n } = toRefs(props)\n const rows: Ref = ref([])\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 function isWeekEnd(day: number): boolean {\n return weekStartingMonday.value\n ? [5, 6].includes(day)\n : [0, 6].includes(day)\n }\n function filterWorkouts(day: Date, workouts: IWorkout[]) {\n if (workouts) {\n return workouts\n .filter((workout) =>\n isSameDay(getDateWithTZ(workout.workout_date, timezone.value), day)\n )\n .reverse()\n }\n return []\n }\n\n watch(\n () => props.currentDay,\n () => getDays()\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(rows.value, (row, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"calendar-row\",\n key: index\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(row, (day, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"calendar-cell\", {\n 'disabled-cell': !_unref(isSameMonth)(day, _unref(currentDay)),\n 'week-end': isWeekEnd(i),\n today: _unref(isToday)(day),\n }]),\n key: i\n }, [\n _createVNode(CalendarWorkouts, {\n workouts: filterWorkouts(day, _unref(workouts)),\n sports: _unref(sports),\n displayHARecord: _unref(displayHARecord)\n }, null, 8, [\"workouts\", \"sports\", \"displayHARecord\"]),\n _createElementVNode(\"div\", _hoisted_2, _toDisplayString(_unref(format)(day, 'd')), 1)\n ], 2))\n }), 128))\n ]))\n }), 128))\n ]))\n}\n}\n\n})","import script from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarCells.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarCells.vue?vue&type=style&index=0&id=34b99f0e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-days\" }\n\nimport { Locale, format, addDays } from 'date-fns'\n\n interface Props {\n startDate: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarDays',\n props: {\n startDate: null,\n localeOptions: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n startDate: Date\n localeOptions: Locale\n }\n\n \n\n const days = []\n for (let i = 0; i < 7; i++) {\n days.push(addDays(props.startDate, i))\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(days, (day, index) => {\n return _createElementVNode(\"div\", {\n class: \"calendar-day\",\n key: index\n }, _toDisplayString(_unref(format)(day, 'EEE', { locale: __props.localeOptions })), 1)\n }), 64))\n ]))\n}\n}\n\n})","import script from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarDays.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarDays.vue?vue&type=style&index=0&id=4f3dc99e&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"calendar-header\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = { class: \"calendar-month\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport { Locale, format } from 'date-fns'\n import { toRefs } from 'vue'\n\n interface Props {\n day: Date\n localeOptions: Locale\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CalendarHeader',\n props: {\n day: null,\n localeOptions: null\n },\n emits: ['displayNextMonth', 'displayPreviousMonth'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n day: Date\n localeOptions: Locale\n }\n\n \n\n \n\n const { day, localeOptions } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-left\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (emit('displayPreviousMonth')))\n }, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_unref(format)(_unref(day), 'MMM yyyy', { locale: _unref(localeOptions) })), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"calendar-arrow calendar-arrow-right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (emit('displayNextMonth')))\n }, _hoisted_6)\n ]))\n}\n}\n\n})","import script from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./CalendarHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./CalendarHeader.vue?vue&type=style&index=0&id=79a65a70&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-calendar\" }\nconst _hoisted_2 = { class: \"calendar-card box\" }\n\nimport { Locale, addMonths, format, subMonths } from 'date-fns'\n import { ComputedRef, computed, ref, toRefs, onBeforeMount } 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 { ROOT_STORE, WORKOUTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } 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 interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const store = useStore()\n\n const { sports, user } = toRefs(props)\n const dateFormat = 'yyyy-MM-dd'\n const day = ref(new Date())\n const calendarDates = ref(getCalendarStartAndEnd(day.value, props.user.weekm))\n const calendarWorkouts: ComputedRef = computed(\n () => store.getters[WORKOUTS_STORE.GETTERS.CALENDAR_WORKOUTS]\n )\n const localeOptions: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LOCALE]\n )\n\n onBeforeMount(() => getCalendarWorkouts())\n\n function getCalendarWorkouts() {\n calendarDates.value = getCalendarStartAndEnd(day.value, props.user.weekm)\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 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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(CalendarHeader, {\n day: day.value,\n \"locale-options\": _unref(localeOptions),\n onDisplayNextMonth: displayNextMonth,\n onDisplayPreviousMonth: displayPreviousMonth\n }, null, 8, [\"day\", \"locale-options\"]),\n _createVNode(CalendarDays, {\n \"start-date\": calendarDates.value.start,\n \"locale-options\": _unref(localeOptions)\n }, null, 8, [\"start-date\", \"locale-options\"]),\n _createVNode(CalendarCells, {\n currentDay: day.value,\n displayHARecord: _unref(user).display_ascent,\n \"end-date\": calendarDates.value.end,\n sports: _unref(sports),\n \"start-date\": calendarDates.value.start,\n timezone: _unref(user).timezone,\n workouts: _unref(calendarWorkouts),\n weekStartingMonday: _unref(user).weekm\n }, null, 8, [\"currentDay\", \"displayHARecord\", \"end-date\", \"sports\", \"start-date\", \"timezone\", \"workouts\", \"weekStartingMonday\"])\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=3e7444d9&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1bcddc12\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-month-stats\" }\n\nimport { endOfMonth, startOfMonth } from 'date-fns'\n import { toRefs } 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 interface Props {\n sports: ISport[]\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserMonthStats',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IUserProfile\n }\n\n \n\n const { sports, user } = toRefs(props)\n const date = new Date()\n const chartParams = {\n duration: 'week',\n start: startOfMonth(date),\n end: endOfMonth(date),\n }\n const selectedSportIds = props.sports.map((sport) => sport.id)\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('dashboard.THIS_MONTH')), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(StatChart, {\n sports: _unref(sports),\n user: _unref(user),\n \"chart-params\": chartParams,\n \"displayed-sport-ids\": _unref(selectedSportIds),\n \"hide-chart-if-no-data\": true\n }, null, 8, [\"sports\", \"user\", \"displayed-sport-ids\"])\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserMonthStats.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserMonthStats.vue?vue&type=style&index=0&id=1bcddc12&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-1bcddc12\"]])\n\nexport default __exports__","import { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatWorkoutDate, getDateWithTZ } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean\n): Record => {\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = useImperialUnits\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = useImperialUnits\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n let value\n switch (record.record_type) {\n case 'AS':\n case 'MS':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 2\n )} ${distanceUnitTo}/h`\n break\n case 'FD':\n value = `${convertDistance(\n +record.value,\n distanceUnitFrom,\n distanceUnitTo,\n 3\n )} ${distanceUnitTo}`\n break\n case 'HA':\n value = `${convertDistance(\n +record.value,\n ascentUnitFrom,\n ascentUnitTo,\n 2\n )} ${ascentUnitTo}`\n break\n case 'LD':\n value = record.value\n break\n default:\n throw new Error(\n `Invalid record type, expected: \"AS\", \"FD\", \"HA\", \"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 sortRecords = (a: ICardRecord, b: ICardRecord): number => {\n const recordALabel = a.label.toLowerCase()\n const recordBLabel = b.label.toLowerCase()\n return recordALabel > recordBLabel ? 1 : recordALabel < recordBLabel ? -1 : 0\n}\n\nexport const getRecordsBySports = (\n records: IRecord[],\n translatedSports: ITranslatedSport[],\n tz: string,\n useImperialUnits: boolean,\n display_ascent: boolean\n): IRecordsBySports =>\n records\n .filter((r) => (display_ascent ? true : r.record_type !== 'HA'))\n .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 color: sport.color,\n records: [],\n }\n }\n sportList[sport.translatedLabel].records.push(\n formatRecord(record, tz, useImperialUnits)\n )\n }\n return sportList\n }, {})\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b5480ab0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"records-card\" }\nconst _hoisted_2 = { class: \"record-type\" }\nconst _hoisted_3 = { class: \"record-value\" }\nconst _hoisted_4 = { class: \"record-date\" }\n\nimport { toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\n import { sortRecords } from '@/utils/records'\n\n interface Props {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'RecordsCard',\n props: {\n records: null,\n sportTranslatedLabel: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n records: IRecordsBySports\n sportTranslatedLabel: string\n }\n\n \n\n const { records, sportTranslatedLabel } = toRefs(props)\n\n const { t } = useI18n()\n\n function getTranslatedRecords(records: IRecord[]): ICardRecord[] {\n const translatedRecords: ICardRecord[] = []\n records.map((record) => {\n translatedRecords.push({\n ...record,\n label: t(`workouts.RECORD_${record.record_type}`),\n })\n })\n return translatedRecords.sort(sortRecords)\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_SportImage = _resolveComponent(\"SportImage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createVNode(_component_SportImage, {\n \"sport-label\": _unref(records).label,\n color: _unref(records).color\n }, null, 8, [\"sport-label\", \"color\"]),\n _createTextVNode(\" \" + _toDisplayString(_unref(sportTranslatedLabel)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(getTranslatedRecords(_unref(records).records), (record) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"record\",\n key: record.id\n }, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(record.label), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(record.value), 1),\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_router_link, {\n to: {\n name: 'Workout',\n params: { workoutId: record.workout_id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(record.workout_date), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ])\n ]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n}\n}\n\n})","import script from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./RecordsCard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./RecordsCard.vue?vue&type=style&index=0&id=b5480ab0&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b5480ab0\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27dfbb65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"user-records-section\" }\nconst _hoisted_2 = { class: \"section-title\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy custom-fa-small\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { class: \"user-records\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"no-records\"\n}\n\nimport { computed } 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 { IAuthUserProfile } from '@/types/user'\n import { getRecordsBySports } from '@/utils/records'\n import { translateSports } from '@/utils/sports'\n\n interface Props {\n sports: ISport[]\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n sports: null,\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n sports: ISport[]\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const recordsBySport = computed(() =>\n getRecordsBySports(\n props.user.records,\n translateSports(props.sports, t),\n props.user.timezone,\n props.user.imperial_units,\n props.user.display_ascent\n )\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.RECORD', 2)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (Object.keys(_unref(recordsBySport)).length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString(_ctx.$t('workouts.NO_RECORDS')), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(Object.keys(_unref(recordsBySport)).sort(), (sportTranslatedLabel) => {\n return (_openBlock(), _createBlock(RecordsCard, {\n sportTranslatedLabel: sportTranslatedLabel,\n records: _unref(recordsBySport)[sportTranslatedLabel],\n key: sportTranslatedLabel,\n useImperialUnits: __props.user.imperial_units\n }, null, 8, [\"sportTranslatedLabel\", \"records\", \"useImperialUnits\"]))\n }), 128))\n ])\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=27dfbb65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-27dfbb65\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { id: \"user-stats\" }\n\nimport { ComputedRef, computed, toRefs } from 'vue'\n import { useI18n } from 'vue-i18n'\n\n import StatCard from '@/components/Common/StatCard.vue'\n import { TUnit } from '@/types/units'\n import { IAuthUserProfile } from '@/types/user'\n import { convertDistance, units } from '@/utils/units'\n interface Props {\n user: IAuthUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'index',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IAuthUserProfile\n }\n\n \n\n const { t } = useI18n()\n\n const { user } = toRefs(props)\n const userTotalDuration: ComputedRef = computed(\n () => props.user.total_duration\n )\n const totalDuration = computed(() => get_duration(userTotalDuration))\n const distanceUnitFrom: TUnit = 'km'\n const distanceUnitTo: TUnit = user.value.imperial_units\n ? units[distanceUnitFrom].defaultTarget\n : distanceUnitFrom\n const totalDistance: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_distance, distanceUnitFrom, distanceUnitTo, 2)\n : parseFloat(user.value.total_distance.toFixed(2)))\n const ascentUnitFrom: TUnit = 'm'\n const ascentUnitTo: TUnit = user.value.imperial_units\n ? units[ascentUnitFrom].defaultTarget\n : ascentUnitFrom\n const totalAscent: ComputedRef = computed(() =>\n user.value.imperial_units\n ? convertDistance(user.value.total_ascent, ascentUnitFrom, ascentUnitTo, 2)\n : parseFloat(user.value.total_ascent.toFixed(2)))\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\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(StatCard, {\n icon: \"calendar\",\n value: _unref(user).nb_workouts,\n text: _ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)\n }, null, 8, [\"value\", \"text\"]),\n _createVNode(StatCard, {\n icon: \"road\",\n value: _unref(totalDistance),\n text: _unref(distanceUnitTo) === 'mi' ? 'miles' : _unref(distanceUnitTo)\n }, null, 8, [\"value\", \"text\"]),\n (_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 0,\n icon: \"location-arrow\",\n value: _unref(totalAscent),\n text: _unref(ascentUnitTo) === 'ft' ? 'feet' : _unref(ascentUnitTo)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(StatCard, {\n icon: \"clock-o\",\n value: _unref(totalDuration).days,\n text: _unref(totalDuration).duration\n }, null, 8, [\"value\", \"text\"]),\n (!_unref(user).display_ascent)\n ? (_openBlock(), _createBlock(StatCard, {\n key: 1,\n icon: \"tags\",\n value: _unref(user).nb_sports,\n text: _ctx.$t('workouts.SPORT', _unref(user).nb_sports)\n }, null, 8, [\"value\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./index.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./index.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=22dcb990&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4c0893c1\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n id: \"dashboard\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container mobile-menu\" }\nconst _hoisted_3 = { class: \"box\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-calendar\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-bar-chart\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-map-o\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-trophy\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = { class: \"container\" }\nconst _hoisted_13 = { class: \"container dashboard-container\" }\nconst _hoisted_14 = { class: \"left-container dashboard-sub-container\" }\nconst _hoisted_15 = { class: \"right-container dashboard-sub-container\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { id: \"bottom\" }, null, -1))\nconst _hoisted_17 = {\n key: 1,\n class: \"app-loading\"\n}\n\nimport { ComputedRef, Ref, computed, onBeforeMount, 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 { AUTH_USER_STORE, SPORTS_STORE } from '@/store/constants'\n import { ISport } from '@/types/sports'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Dashboard',\n setup(__props) {\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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('calendar')\n\n onBeforeMount(() => store.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE))\n\n function updateDisplayColumn(target: string) {\n isSelected.value = target\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Loader = _resolveComponent(\"Loader\")!\n\n return (_unref(authUser).username && _unref(sports).length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'calendar' }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (updateDisplayColumn('calendar')))\n }, _hoisted_5, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'chart' }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayColumn('chart')))\n }, _hoisted_7, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'timeline' }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (updateDisplayColumn('timeline')))\n }, _hoisted_9, 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mobile-menu-item\", { 'is-selected': isSelected.value === 'records' }]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (updateDisplayColumn('records')))\n }, _hoisted_11, 2)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(UserStatsCards, { user: _unref(authUser) }, null, 8, [\"user\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(UserMonthStats, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'chart') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(UserRecords, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'records') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(UserCalendar, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'calendar') })\n }, null, 8, [\"sports\", \"user\", \"class\"]),\n _createVNode(Timeline, {\n sports: _unref(sports),\n user: _unref(authUser),\n class: _normalizeClass({ 'is-hidden': !(isSelected.value === 'timeline') })\n }, null, 8, [\"sports\", \"user\", \"class\"])\n ])\n ]),\n _hoisted_16\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Loader)\n ]))\n}\n}\n\n})","import script from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Dashboard.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=4c0893c1&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-4c0893c1\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"not-found view\" }\n\nimport NotFound from '@/components/Common/NotFound.vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFoundView',\n setup(__props) {\n\n \nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(NotFound)\n ]))\n}\n}\n\n})","import script from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFoundView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a38125b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"loginOrRegister\",\n class: \"view\"\n}\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"container-sub\" }\nconst _hoisted_4 = { class: \"container-sub\" }\n\nimport { toRefs } from 'vue'\n\n import BikePic from '@/components/BikePic.vue'\n import LoginOrRegisterForm from '@/components/User/UserAuthForm.vue'\n\n interface Props {\n action: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoginOrRegister',\n props: {\n action: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n action: string\n }\n\n \n\n const { action } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(BikePic)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(LoginOrRegisterForm, { action: _unref(action) }, null, 8, [\"action\"])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginOrRegister.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginOrRegister.vue?vue&type=style&index=0&id=6a38125b&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-6a38125b\"]])\n\nexport default __exports__","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 UserAccountEdition from '@/components/User/ProfileEdition/UserAccountEdition.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 AddUserApp from '@/components/User/UserApps/AddUserApp.vue'\nimport AuthorizeUserApp from '@/components/User/UserApps/AuthorizeUserApp.vue'\nimport UserApps from '@/components/User/UserApps/index.vue'\nimport UserApp from '@/components/User/UserApps/UserApp.vue'\nimport UserAppsList from '@/components/User/UserApps/UserAppsList.vue'\nimport UserSportPreferences from '@/components/User/UserSportPreferences.vue'\nimport store from '@/store'\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport AboutView from '@/views/AboutView.vue'\nimport Dashboard from '@/views/Dashboard.vue'\nimport NotFoundView from '@/views/NotFoundView.vue'\nimport LoginOrRegister from '@/views/user/LoginOrRegister.vue'\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: Dashboard,\n },\n {\n path: '/login',\n name: 'Login',\n component: LoginOrRegister,\n props: { action: 'login' },\n },\n {\n path: '/register',\n name: 'Register',\n component: LoginOrRegister,\n props: { action: 'register' },\n },\n {\n path: '/account-confirmation',\n name: 'AccountConfirmation',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/AccountConfirmationView.vue'\n ),\n },\n {\n path: '/account-confirmation/resend',\n name: 'AccountConfirmationResend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'account-confirmation-resend' },\n },\n {\n path: '/account-confirmation/email-sent',\n name: 'AccountConfirmationEmailSend',\n component: () =>\n import(\n /* webpackChunkName: 'reset' */ '@/views/user/AccountConfirmationResendView.vue'\n ),\n props: { action: 'email-sent' },\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: '/email-update',\n name: 'EmailUpdate',\n component: () =>\n import(\n /* webpackChunkName: 'profile' */ '@/views/user/EmailUpdateView.vue'\n ),\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 path: 'sports',\n name: 'UserSportPreferences',\n component: UserSportPreferences,\n props: { isEdition: false },\n },\n {\n path: 'apps',\n name: 'UserApps',\n component: UserApps,\n children: [\n {\n path: '',\n name: 'UserAppsList',\n component: UserAppsList,\n },\n {\n path: ':id',\n name: 'UserApp',\n component: UserApp,\n },\n {\n path: ':id/created',\n name: 'CreatedUserApp',\n component: UserApp,\n props: { afterCreation: true },\n },\n {\n path: 'new',\n name: 'AddUserApp',\n component: AddUserApp,\n },\n {\n path: 'authorize',\n name: 'AuthorizeUserApp',\n component: AuthorizeUserApp,\n },\n ],\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: 'account',\n name: 'UserAccountEdition',\n component: UserAccountEdition,\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 path: 'sports',\n name: 'UserSportPreferencesEdition',\n component: UserSportPreferences,\n props: { isEdition: true },\n },\n ],\n },\n ],\n },\n {\n path: '/statistics',\n name: 'Statistics',\n component: () =>\n import(/* webpackChunkName: 'statistics' */ '@/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/:username',\n name: 'UserFromAdmin',\n component: () =>\n import(/* webpackChunkName: 'profile' */ '@/views/user/UserView.vue'),\n props: { fromAdmin: true },\n },\n {\n path: 'users',\n name: 'UsersAdministration',\n component: AdminUsers,\n },\n ],\n },\n {\n path: '/about',\n name: 'About',\n component: AboutView,\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: NotFoundView,\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 '/account-confirmation',\n '/account-confirmation/resend',\n '/account-confirmation/email-sent',\n]\n\nconst pathsWithoutChecks = ['/email-update', '/about']\n\nrouter.beforeEach((to, from, next) => {\n store\n .dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n .then(() => {\n if (pathsWithoutChecks.includes(to.path)) {\n return next()\n }\n if (\n store.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED] &&\n pathsWithoutAuthentication.includes(to.path)\n ) {\n return next('/')\n }\n if (\n !store.getters[AUTH_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","export enum AuthUserActions {\n CHECK_AUTH_USER = 'CHECK_AUTH_USER',\n CONFIRM_ACCOUNT = 'CONFIRM_ACCOUNT',\n CONFIRM_EMAIL = 'CONFIRM_EMAIL',\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 RESEND_ACCOUNT_CONFIRMATION_EMAIL = 'RESEND_ACCOUNT_CONFIRMATION_EMAIL',\n RESET_USER_PASSWORD = 'RESET_USER_PASSWORD',\n RESET_USER_SPORT_PREFERENCES = 'RESET_USER_SPORT_PREFERENCES',\n UPDATE_USER_ACCOUNT = 'UPDATE_USER_ACCOUNT',\n UPDATE_USER_PICTURE = 'UPDATE_USER_PICTURE',\n UPDATE_USER_PROFILE = 'UPDATE_USER_PROFILE',\n UPDATE_USER_PREFERENCES = 'UPDATE_USER_PREFERENCES',\n UPDATE_USER_SPORT_PREFERENCES = 'UPDATE_USER_SPORT_PREFERENCES',\n}\n\nexport enum AuthUserGetters {\n AUTH_TOKEN = 'AUTH_TOKEN',\n AUTH_USER_PROFILE = 'AUTH_USER_PROFILE',\n IS_ADMIN = 'IS_ADMIN',\n IS_AUTHENTICATED = 'IS_AUTHENTICATED',\n IS_SUCCESS = 'IS_SUCCESS',\n IS_REGISTRATION_SUCCESS = 'IS_REGISTRATION_SUCCESS',\n USER_LOADING = 'USER_LOADING',\n}\n\nexport enum AuthUserMutations {\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_IS_SUCCESS = 'UPDATE_USER_IS_SUCCESS',\n UPDATE_IS_REGISTRATION_SUCCESS = 'UPDATE_IS_REGISTRATION_SUCCESS',\n UPDATE_USER_LOADING = 'UPDATE_USER_LOADING',\n}\n","export enum OAuth2Actions {\n AUTHORIZE_CLIENT = 'AUTHORIZE_CLIENT',\n CREATE_CLIENT = 'CREATE_CLIENT',\n DELETE_CLIENT = 'DELETE_CLIENT',\n GET_CLIENTS = 'GET_CLIENTS',\n GET_CLIENT_BY_CLIENT_ID = 'GET_CLIENT_BY_CLIENT_ID',\n GET_CLIENT_BY_ID = 'GET_CLIENT_BY_ID',\n REVOKE_ALL_TOKENS = 'REVOKE_ALL_TOKENS',\n}\n\nexport enum OAuth2Getters {\n CLIENT = 'CLIENT',\n CLIENTS = 'CLIENTS',\n CLIENTS_PAGINATION = 'CLIENTS_PAGINATION',\n REVOCATION_SUCCESSFUL = 'REVOCATION_SUCCESSFUL',\n}\n\nexport enum OAuth2Mutations {\n EMPTY_CLIENT = 'EMPTY_CLIENT',\n SET_CLIENT = 'SET_CLIENT',\n SET_CLIENTS = 'SET_CLIENTS',\n SET_CLIENTS_PAGINATION = 'SET_CLIENTS_PAGINATION',\n SET_REVOCATION_SUCCESSFUL = 'SET_REVOCATION_SUCCESSFUL',\n}\n","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 UPDATE_APPLICATION_LANGUAGE = 'UPDATE_APPLICATION_LANGUAGE',\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 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 DELETE_USER_ACCOUNT = 'DELETE_USER_ACCOUNT',\n}\n\nexport enum UsersGetters {\n USER = 'USER',\n USERS = 'USERS',\n USERS_IS_SUCCESS = 'USERS_IS_SUCCESS',\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 UPDATE_IS_SUCCESS = 'UPDATE_IS_SUCCESS',\n}\n","import {\n AuthUserActions,\n AuthUserGetters,\n AuthUserMutations,\n} from '@/store/modules/authUser/enums'\nimport {\n OAuth2Actions,\n OAuth2Getters,\n OAuth2Mutations,\n} from '@/store/modules/oauth2/enums'\nimport {\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 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 AUTH_USER_STORE = {\n ACTIONS: AuthUserActions,\n GETTERS: AuthUserGetters,\n MUTATIONS: AuthUserMutations,\n}\nexport const OAUTH2_STORE = {\n ACTIONS: OAuth2Actions,\n GETTERS: OAuth2Getters,\n MUTATIONS: OAuth2Mutations,\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","import axios from 'axios'\n\nimport { pendingRequests, removeRequestIfPending } from '@/api/pending'\nimport { getApiUrl } from '@/utils'\n\nconst api = axios.create({\n baseURL: getApiUrl(),\n})\n\napi.interceptors.request.use(\n (config) => {\n const controller = new AbortController()\n config.signal = controller.signal\n const requestKey = removeRequestIfPending(config)\n pendingRequests.set(requestKey, controller)\n return config\n },\n (error) => Promise.reject(error)\n)\n\napi.interceptors.response.use(\n (response) => {\n removeRequestIfPending(response.config)\n return response\n },\n (error) => {\n if (error.message !== 'canceled') {\n removeRequestIfPending(error.response.config)\n }\n return Promise.reject(error)\n }\n)\n\nexport default api\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { IUsersActions, IUsersState } from '@/store/modules/users/types'\nimport { TPaginationPayload } from '@/types/api'\nimport { IAdminUserPayload, IUserDeletionPayload } from '@/types/user'\nimport { handleError } from '@/utils'\n\nexport const deleteUserAccount = (\n context:\n | ActionContext\n | 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 if (payload.fromAdmin) {\n router.push('/admin/users')\n } else {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.LOGOUT)\n .then(() => router.push('/'))\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\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 context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n const data: Record = {}\n if (payload.admin !== undefined) {\n data.admin = payload.admin\n }\n if (payload.resetPassword) {\n data.reset_password = payload.resetPassword\n }\n if (payload.activate) {\n data.activate = payload.activate\n }\n if (payload.new_email !== undefined) {\n data.new_email = payload.new_email\n }\n authApi\n .patch(`users/${payload.username}`, data)\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 if (payload.resetPassword || payload.new_email) {\n context.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n }\n if (payload.activate || payload.new_email) {\n context.commit(\n USERS_STORE.MUTATIONS.UPDATE_USER,\n res.data.data.users[0]\n )\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.DELETE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, {\n username: payload.username,\n fromAdmin: true,\n })\n },\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport api from '@/api/defaultApi'\nimport router from '@/router'\nimport {\n AUTH_USER_STORE,\n ROOT_STORE,\n SPORTS_STORE,\n STATS_STORE,\n USERS_STORE,\n WORKOUTS_STORE,\n} from '@/store/constants'\nimport {\n IAuthUserActions,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { deleteUserAccount } from '@/store/modules/users/actions'\nimport {\n ILoginOrRegisterData,\n IUserAccountPayload,\n IUserDeletionPayload,\n IUserAccountUpdatePayload,\n IUserEmailPayload,\n IUserPasswordResetPayload,\n IUserPayload,\n IUserPicturePayload,\n IUserPreferencesPayload,\n IUserSportPreferencesPayload,\n} from '@/types/user'\nimport { handleError } from '@/utils'\n\nconst removeAuthUserData = (\n context: ActionContext\n) => {\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(AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN)\n context.commit(USERS_STORE.MUTATIONS.UPDATE_USERS, [])\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUTS)\n context.commit(WORKOUTS_STORE.MUTATIONS.EMPTY_WORKOUT)\n router.push('/login')\n}\n\nexport const actions: ActionTree &\n IAuthUserActions = {\n [AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER](\n context: ActionContext\n ): void {\n if (\n window.localStorage.authToken &&\n !context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN,\n window.localStorage.authToken\n )\n context.dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n }\n // after logout in another tab\n if (\n !window.localStorage.authToken &&\n context.getters[AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]\n ) {\n removeAuthUserData(context)\n }\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/confirm', { token: payload.token })\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(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => router.push('/'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_USER_STORE.ACTIONS.CONFIRM_EMAIL](\n context: ActionContext,\n payload: IUserAccountUpdatePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n api\n .post('/auth/email/update', { token: payload.token })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n if (payload.refreshUser) {\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() => {\n return router.push('/profile/edit/account')\n })\n }\n router.push('/profile/edit/account')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n })\n },\n [AUTH_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 AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n if (res.data.data.language) {\n context.dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n }\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n removeAuthUserData(context)\n }\n })\n .catch((error) => {\n if (error.message !== 'canceled') {\n handleError(context, error)\n removeAuthUserData(context)\n }\n })\n },\n [AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER](\n context: ActionContext,\n data: ILoginOrRegisterData\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n api\n .post(`/auth/${data.actionType}`, data.formData)\n .then((res) => {\n if (res.data.status === 'success') {\n if (data.actionType === 'login') {\n const token = res.data.auth_token\n window.localStorage.setItem('authToken', token)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN, token)\n context\n .dispatch(AUTH_USER_STORE.ACTIONS.GET_USER_PROFILE)\n .then(() =>\n router.push(\n typeof data.redirectUrl === 'string' ? data.redirectUrl : '/'\n )\n )\n } else {\n router\n .push('/login')\n .then(() =>\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n true\n )\n )\n }\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_USER_STORE.ACTIONS.LOGOUT](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('auth/logout')\n .then((res) => {\n if (res.data.status === 'success') {\n removeAuthUserData(context)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_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(AUTH_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 AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_ACCOUNT](\n context: ActionContext,\n payload: IUserAccountPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n authApi\n .patch('auth/profile/edit/account', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_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(AUTH_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 AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE,\n res.data.data\n )\n context\n .dispatch(\n ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE,\n res.data.data.language\n )\n .then(() => router.push('/profile/preferences'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n .finally(() =>\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.RESET_USER_SPORT_PREFERENCES](\n context: ActionContext,\n sportId: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .delete(`auth/profile/reset/sports/${sportId}`)\n .then((res) => {\n if (res.status === 204) {\n context.dispatch(SPORTS_STORE.ACTIONS.GET_SPORTS)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_USER_STORE.ACTIONS.UPDATE_USER_SPORT_PREFERENCES](\n context: ActionContext,\n payload: IUserSportPreferencesPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, true)\n authApi\n .post('auth/profile/edit/sports', payload)\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) => {\n handleError(context, error)\n context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n })\n },\n [AUTH_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(AUTH_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(AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_ACCOUNT](\n context: ActionContext,\n payload: IUserDeletionPayload\n ): void {\n deleteUserAccount(context, payload)\n },\n [AUTH_USER_STORE.ACTIONS.DELETE_PICTURE](\n context: ActionContext\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(AUTH_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(AUTH_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(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\n )\n },\n [AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST](\n context: ActionContext,\n payload: IUserEmailPayload\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 [AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL](\n context: ActionContext,\n payload: IUserEmailPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n api\n .post('auth/account/resend-confirmation', payload)\n .then((res) => {\n if (res.data.status === 'success') {\n router.push('/account-confirmation/email-sent')\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [AUTH_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 { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserGetters,\n IAuthUserState,\n} from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree &\n IAuthUserGetters = {\n [AUTH_USER_STORE.GETTERS.AUTH_TOKEN]: (state: IAuthUserState) => {\n return state.authToken\n },\n [AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]: (state: IAuthUserState) => {\n return state.authUserProfile\n },\n [AUTH_USER_STORE.GETTERS.IS_AUTHENTICATED]: (state: IAuthUserState) => {\n return state.authToken !== null\n },\n [AUTH_USER_STORE.GETTERS.IS_ADMIN]: (state: IAuthUserState) => {\n return state.authUserProfile && state.authUserProfile.admin\n },\n [AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]: (\n state: IAuthUserState\n ) => {\n return state.isRegistrationSuccess\n },\n [AUTH_USER_STORE.GETTERS.IS_SUCCESS]: (state: IAuthUserState) => {\n return state.isSuccess\n },\n [AUTH_USER_STORE.GETTERS.USER_LOADING]: (state: IAuthUserState) => {\n return state.loading\n },\n}\n","import { MutationTree } from 'vuex'\n\nimport { AUTH_USER_STORE } from '@/store/constants'\nimport {\n IAuthUserState,\n TAuthUserMutations,\n} from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const mutations: MutationTree & TAuthUserMutations = {\n [AUTH_USER_STORE.MUTATIONS.CLEAR_AUTH_USER_TOKEN](state: IAuthUserState) {\n state.authToken = null\n state.authUserProfile = {}\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_TOKEN](\n state: IAuthUserState,\n authToken: string\n ) {\n state.authToken = authToken\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_AUTH_USER_PROFILE](\n state: IAuthUserState,\n authUserProfile: IAuthUserProfile\n ) {\n state.authUserProfile = authUserProfile\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS](\n state: IAuthUserState,\n isRegistrationSuccess: boolean\n ) {\n state.isRegistrationSuccess = isRegistrationSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IAuthUserState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\n },\n [AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING](\n state: IAuthUserState,\n loading: boolean\n ) {\n state.loading = loading\n },\n}\n","import { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IAuthUserProfile } from '@/types/user'\n\nexport const authUserState: IAuthUserState = {\n authToken: null,\n authUserProfile: {},\n isSuccess: false,\n isRegistrationSuccess: false,\n loading: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/authUser/actions'\nimport { getters } from '@/store/modules/authUser/getters'\nimport { mutations } from '@/store/modules/authUser/mutations'\nimport { authUserState } from '@/store/modules/authUser/state'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst authUser: Module = {\n state: authUserState,\n actions,\n getters,\n mutations,\n}\n\nexport default authUser\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport router from '@/router'\nimport { OAUTH2_STORE, ROOT_STORE } from '@/store/constants'\nimport { IOAuth2Actions, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport {\n IOauth2ClientsPayload,\n IOAuth2ClientPayload,\n IOAuth2ClientAuthorizePayload,\n} from '@/types/oauth'\nimport { handleError } from '@/utils'\n\nconst get_client = (\n context: ActionContext,\n url: string\n) => {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get(url)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_CLIENT, res.data.data.client)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n}\n\nexport const actions: ActionTree & IOAuth2Actions = {\n [OAUTH2_STORE.ACTIONS.AUTHORIZE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientAuthorizePayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n const form = new FormData()\n form.set('client_id', payload.client_id)\n form.set('response_type', payload.response_type)\n form.set('scope', payload.scope)\n form.set('confirm', 'true')\n if (payload.state) {\n form.set('state', payload.state)\n }\n if (payload.code_challenge) {\n form.set('code_challenge', payload.code_challenge)\n }\n if (payload.code_challenge_method) {\n form.set('code_challenge_method', payload.code_challenge_method)\n }\n\n authApi\n .post('oauth/authorize', form, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n })\n .then((res) => {\n if (res.status == 200 && res.data.redirect_url) {\n window.location.href = res.data.redirect_url\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.CREATE_CLIENT](\n context: ActionContext,\n payload: IOAuth2ClientPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .post('oauth/apps', payload)\n .then((res) => {\n if (res.data.status === 'created') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENT,\n res.data.data.client\n )\n router.push(`/profile/apps/${res.data.data.client.id}/created`)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.DELETE_CLIENT](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .delete(`oauth/apps/${id}`)\n .then((res) => {\n if (res.status === 204) {\n context\n .dispatch(OAUTH2_STORE.ACTIONS.GET_CLIENTS)\n .then(() => router.push('/profile/apps'))\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_CLIENT_ID](\n context: ActionContext,\n client_id: string\n ): void {\n get_client(context, `oauth/apps/${client_id}`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENT_BY_ID](\n context: ActionContext,\n id: number\n ): void {\n get_client(context, `oauth/apps/${id}/by_id`)\n },\n [OAUTH2_STORE.ACTIONS.GET_CLIENTS](\n context: ActionContext,\n payload: IOauth2ClientsPayload\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n authApi\n .get('oauth/apps', {\n params: payload,\n })\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS,\n res.data.data.clients\n )\n context.commit(\n OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION,\n res.data.pagination\n )\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n [OAUTH2_STORE.ACTIONS.REVOKE_ALL_TOKENS](\n context: ActionContext,\n id: number\n ): void {\n context.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, false)\n authApi\n .post(`oauth/apps/${id}/revoke`)\n .then((res) => {\n if (res.data.status === 'success') {\n context.commit(OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL, true)\n } else {\n handleError(context, null)\n }\n })\n .catch((error) => handleError(context, error))\n },\n}\n","import { GetterTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2Getters, IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nexport const getters: GetterTree & IOAuth2Getters = {\n [OAUTH2_STORE.GETTERS.CLIENT]: (state: IOAuth2State) => state.client,\n [OAUTH2_STORE.GETTERS.CLIENTS]: (state: IOAuth2State) => state.clients,\n [OAUTH2_STORE.GETTERS.CLIENTS_PAGINATION]: (state: IOAuth2State) =>\n state.pagination,\n [OAUTH2_STORE.GETTERS.REVOCATION_SUCCESSFUL]: (state: IOAuth2State) =>\n state.revocationSuccessful,\n}\n","import { MutationTree } from 'vuex'\n\nimport { OAUTH2_STORE } from '@/store/constants'\nimport { IOAuth2State, TOAuth2Mutations } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const mutations: MutationTree & TOAuth2Mutations = {\n [OAUTH2_STORE.MUTATIONS.SET_CLIENT](\n state: IOAuth2State,\n client: IOAuth2Client\n ) {\n state.client = client\n },\n [OAUTH2_STORE.MUTATIONS.EMPTY_CLIENT](state: IOAuth2State) {\n state.client = {}\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS](\n state: IOAuth2State,\n clients: IOAuth2Client[]\n ) {\n state.clients = clients\n },\n [OAUTH2_STORE.MUTATIONS.SET_CLIENTS_PAGINATION](\n state: IOAuth2State,\n pagination: IPagination\n ) {\n state.pagination = pagination\n },\n [OAUTH2_STORE.MUTATIONS.SET_REVOCATION_SUCCESSFUL](\n state: IOAuth2State,\n revocationSuccessful: boolean\n ) {\n state.revocationSuccessful = revocationSuccessful\n },\n}\n","import { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IPagination } from '@/types/api'\nimport { IOAuth2Client } from '@/types/oauth'\n\nexport const oAuth2State: IOAuth2State = {\n client: {},\n clients: [],\n pagination: {},\n revocationSuccessful: false,\n}\n","import { Module } from 'vuex'\n\nimport { actions } from '@/store/modules/oauth2/actions'\nimport { getters } from '@/store/modules/oauth2/getters'\nimport { mutations } from '@/store/modules/oauth2/mutations'\nimport { oAuth2State } from '@/store/modules/oauth2/state'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\n\nconst oauth2: Module = {\n state: oAuth2State,\n actions,\n getters,\n mutations,\n}\n\nexport default oauth2\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport createI18n from '@/i18n'\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\nconst { locale } = createI18n.global\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 [ROOT_STORE.ACTIONS.UPDATE_APPLICATION_LANGUAGE](\n context: ActionContext,\n language: string\n ): void {\n document.querySelector('html')?.setAttribute('lang', language)\n context.commit(ROOT_STORE.MUTATIONS.UPDATE_LANG, language)\n locale.value = language\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 statistics: {\n sports: 0,\n uploads_dir_size: 0,\n users: 0,\n workouts: 0,\n },\n },\n appLoading: false,\n}\n","import { ActionContext, ActionTree } from 'vuex'\n\nimport authApi from '@/api/authApi'\nimport { AUTH_USER_STORE, 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 context.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_USER_LOADING, false)\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 { 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_IS_SUCCESS]: (state: IUsersState) => {\n return state.isSuccess\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 [USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS](\n state: IUsersState,\n isSuccess: boolean\n ) {\n state.isSuccess = isSuccess\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 isSuccess: 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, AUTH_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(AUTH_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(AUTH_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(AUTH_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(AUTH_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 state.timeline_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 authUserModule from '@/store/modules/authUser'\nimport oAuthModule from '@/store/modules/oauth2'\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'\nimport { IRootState } from '@/store/modules/root/types'\nimport sportsModule from '@/store/modules/sports'\nimport statsModule from '@/store/modules/statistics'\nimport usersModule from '@/store/modules/users'\nimport workoutsModule from '@/store/modules/workouts'\n\nconst modules: ModuleTree = {\n authUserModule,\n oAuthModule,\n sportsModule,\n statsModule,\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","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","import { useStore as VuexStore } from 'vuex'\n\nimport { Store } from '@/store/types'\n\nexport function useStore(): Store {\n return VuexStore() as Store\n}\n","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 = {}\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 if (typeof locationQuery.q === 'string') {\n query.q = locationQuery.q\n } else {\n delete query.q\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","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","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","import { AxiosError } from 'axios'\nimport { ActionContext } from 'vuex'\n\nimport { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\nimport { IAuthUserState } from '@/store/modules/authUser/types'\nimport { IOAuth2State } from '@/store/modules/oauth2/types'\nimport { IRootState } from '@/store/modules/root/types'\nimport { ISportsState } from '@/store/modules/sports/types'\nimport { IStatisticsState } from '@/store/modules/statistics/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 | ActionContext,\n error: AxiosError | null,\n msg = 'UNKNOWN'\n): void => {\n // if request is cancelled, no error to display\n if (error && error.message === 'canceled') {\n return\n }\n\n // if stored token is blacklisted, disconnect user\n if (\n error?.response?.status === 401 &&\n error.response.data.error === 'invalid_token'\n ) {\n localStorage.removeItem('authToken')\n context.dispatch(AUTH_USER_STORE.ACTIONS.CHECK_AUTH_USER)\n return\n }\n\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","/* eslint-disable import/no-duplicates */\nimport { Locale } from 'date-fns'\nimport { de, enUS, fr } from 'date-fns/locale'\n\nimport createI18n from '@/i18n'\n\nexport const localeFromLanguage: Record = {\n de: de,\n en: enUS,\n fr: fr,\n}\n\nexport const languageLabels: Record = {\n de: 'Deutsch',\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","import { ISport, ITranslatedSport, TActiveStatus } from '@/types/sports'\nimport { IWorkout } from '@/types/workouts'\n\nexport const sportColors: Record = {\n 'Cycling (Sport)': '#4c9792',\n 'Cycling (Transport)': '#88af98',\n Hiking: '#bb757c',\n 'Mountain Biking': '#d4b371',\n 'Mountain Biking (Electric)': '#fc9d6f',\n Rowing: '#fcce72',\n Running: '#835b83',\n 'Skiing (Alpine)': '#67a4bd',\n 'Skiing (Cross Country)': '#9498d0',\n Snowshoes: '#5780a8',\n Trail: '#09a98a',\n Walking: '#838383',\n}\n\nexport const sportIdColors = (sports: ISport[]): Record => {\n const colors: Record = {}\n sports.map(\n (sport) =>\n (colors[sport.id] = sport.color ? sport.color : sportColors[sport.label])\n )\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 activeStatus: TActiveStatus = 'all',\n sportsToInclude: number[] = []\n): ITranslatedSport[] =>\n sports\n .filter((sport) =>\n activeStatus === 'all'\n ? true\n : sportsToInclude.includes(sport.id) || sport[activeStatus]\n )\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\nexport const getSportColor = (\n workout: IWorkout,\n sports: ISport[]\n): string | null => {\n return sports\n .filter((sport) => sport.id === workout.sport_id)\n .map((sport) => sport.color)[0]\n}\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'\nimport { convertStatsDistance } from '@/utils/units'\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 'average_speed',\n 'nb_workouts',\n 'total_duration',\n 'total_distance',\n 'total_ascent',\n 'total_descent',\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 isLineChart = false\n): IChartDataset => {\n const dataset: IChartDataset = {\n label: sportLabel,\n backgroundColor: [color],\n data: [],\n }\n if (isLineChart) {\n dataset.type = 'line'\n dataset.borderColor = [color]\n dataset.spanGaps = true\n }\n return dataset\n}\n\nexport const getDatasets = (displayedSports: ISport[]): TStatisticsDatasets => {\n const datasets: TStatisticsDatasets = {\n average_speed: [],\n nb_workouts: [],\n total_distance: [],\n total_duration: [],\n total_ascent: [],\n total_descent: [],\n }\n displayedSports.map((sport) => {\n const color = sport.color ? sport.color : sportColors[sport.label]\n datasets.average_speed.push(\n getStatisticsChartDataset(sport.label, color, true)\n )\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 datasets.total_ascent.push(getStatisticsChartDataset(sport.label, color))\n datasets.total_descent.push(getStatisticsChartDataset(sport.label, color))\n })\n return datasets\n}\n\nexport const convertStatsValue = (\n datasetKey: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean\n): number => {\n switch (datasetKey) {\n case 'average_speed':\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return convertStatsDistance(\n ['average_speed', 'total_distance'].includes(datasetKey) ? 'km' : 'm',\n value,\n useImperialUnits\n )\n default:\n case 'nb_workouts':\n case 'total_duration':\n return value\n }\n}\n\nexport const formatStats = (\n params: IStatisticsDateParams,\n weekStartingMonday: boolean,\n sports: ISport[],\n displayedSportsId: number[],\n apiStats: TStatisticsFromApi,\n useImperialUnits: boolean\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 date in apiStats && sportsId[dataset.label] in apiStats[date]\n ? convertStatsValue(\n datasetKey,\n apiStats[date][sportsId[dataset.label]][datasetKey],\n useImperialUnits\n )\n : datasetKey === 'average_speed'\n ? null\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","import { IUnit, TFactor, TUnit } from '@/types/units'\n\nexport const units: Record = {\n ft: {\n unit: 'ft',\n system: 'imperial',\n multiplier: 1,\n defaultTarget: 'm',\n },\n mi: {\n unit: 'mi',\n system: 'imperial',\n multiplier: 5280,\n defaultTarget: 'km',\n },\n m: {\n unit: 'm',\n system: 'metric',\n multiplier: 1,\n defaultTarget: 'ft',\n },\n km: {\n unit: 'm',\n system: 'metric',\n multiplier: 1000,\n defaultTarget: 'mi',\n },\n}\n\nconst factors: TFactor = {\n metric: {\n imperial: 3.280839895,\n metric: 1,\n },\n imperial: {\n metric: 1 / 3.280839895,\n imperial: 1,\n },\n}\n\nexport const convertDistance = (\n distance: number,\n from: TUnit,\n to: TUnit,\n digits: number | null = 3\n): number => {\n const unitFrom = units[from]\n const unitTo = units[to]\n const convertedDistance =\n (distance * unitFrom.multiplier * factors[unitFrom.system][unitTo.system]) /\n unitTo.multiplier\n if (digits !== null) {\n return parseFloat(convertedDistance.toFixed(digits))\n }\n return convertedDistance\n}\n\nexport const convertStatsDistance = (\n unitFrom: TUnit,\n value: number,\n useImperialUnits: boolean\n): number => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n return useImperialUnits ? convertDistance(value, unitFrom, unitTo, 2) : value\n}\n","import {\n IWorkout,\n IWorkoutApiChartData,\n IWorkoutChartData,\n TCoordinates,\n TWorkoutDatasets,\n} from '@/types/workouts'\nimport { convertStatsDistance } from '@/utils/units'\n\nexport const getDatasets = (\n chartData: IWorkoutApiChartData[],\n t: CallableFunction,\n useImperialUnits: boolean\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(\n convertStatsDistance('km', data.speed, useImperialUnits)\n )\n datasets.elevation.data.push(\n convertStatsDistance('m', data.elevation, useImperialUnits)\n )\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","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=ad374c24\"\nconst script = {}\n\nimport \"./Card.vue?vue&type=style&index=0&id=ad374c24&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72463173\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-selects\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = [\"value\"]\nconst _hoisted_4 = [\"value\"]\nconst _hoisted_5 = [\"value\"]\nconst _hoisted_6 = [\"value\"]\nconst _hoisted_7 = [\"value\"]\n\nimport { toRefs } from 'vue'\n\n import { TPaginationPayload } from '@/types/api'\n\n interface Props {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'FilterSelects',\n props: {\n order_by: null,\n query: null,\n sort: null,\n message: null\n },\n emits: ['updateSelect'],\n setup(__props: any, { emit }) {\n\nconst props = __props as {\n order_by: string[]\n query: TPaginationPayload\n sort: string[]\n message: string\n }\n\n \n\n \n\n const { order_by, query, sort, message } = toRefs(props)\n const perPage = [10, 25, 50, 100]\n\n function onSelectUpdate(event: Event & { target: HTMLInputElement }) {\n emit('updateSelect', event.target.id, event.target.value)\n }\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER_BY.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order_by\",\n id: \"order_by\",\n value: _unref(query).order_by,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(order_by), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`${_unref(message)}.${order.toUpperCase()}`)), 9, _hoisted_3))\n }), 128))\n ], 40, _hoisted_2)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.ORDER.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"order\",\n id: \"order\",\n value: _unref(query).order,\n onChange: onSelectUpdate\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sort), (order) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: order,\n key: order\n }, _toDisplayString(_ctx.$t(`common.SELECTS.ORDER.${order.toUpperCase()}`)), 9, _hoisted_5))\n }), 128))\n ], 40, _hoisted_4)\n ]),\n _createElementVNode(\"label\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t('common.SELECTS.PER_PAGE.LABEL')) + \": \", 1),\n _createElementVNode(\"select\", {\n name: \"per_page\",\n id: \"per_page\",\n value: _unref(query).per_page,\n onChange: onSelectUpdate\n }, [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(perPage, (nb) => {\n return _createElementVNode(\"option\", {\n value: nb,\n key: nb\n }, _toDisplayString(nb), 9, _hoisted_7)\n }), 64))\n ], 40, _hoisted_6)\n ])\n ]))\n}\n}\n\n})","import script from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FilterSelects.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./FilterSelects.vue?vue&type=style&index=0&id=72463173&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-72463173\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ErrorImg.vue?vue&type=template&id=e620aed4\"\nimport script from \"./ErrorImg.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorImg.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b60bfa80\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"error\" }\nconst _hoisted_2 = { class: \"error-content\" }\n\nimport { toRefs, withDefaults } from 'vue'\n\n interface Props {\n title: string\n message: string\n buttonText: string\n path?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Error',\n props: {\n title: null,\n message: null,\n buttonText: null,\n path: { default: '/' }\n },\n setup(__props: any) {\n\nconst props = __props as { title: string, message: string, buttonText: string, path: string }\n\n \n const { buttonText, title, message, path } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h1\", null, _toDisplayString(_unref(title)), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_unref(message)), 1),\n (_unref(buttonText))\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$router.push(_unref(path)))),\n class: \"upper\"\n }, _toDisplayString(_unref(buttonText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}\n}\n\n})","import script from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Error.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Error.vue?vue&type=style&index=0&id=b60bfa80&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-b60bfa80\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport { toRefs, withDefaults } from 'vue'\n\n import Error from '@/components/Common/Error.vue'\n interface Props {\n target?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'NotFound',\n props: {\n target: { default: 'PAGE' }\n },\n setup(__props: any) {\n\nconst props = __props as { target: string }\n\n \n const { target } = toRefs(props)\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(Error, {\n title: \"404\",\n message: _ctx.$t(`error.NOT_FOUND.${_unref(target)}`),\n \"button-text\": _ctx.$t('common.HOME')\n }, null, 8, [\"message\", \"button-text\"]))\n}\n}\n\n})","import script from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NotFound.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a9a4a65\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"pagination-center\",\n \"aria-label\": \"navigation\"\n}\nconst _hoisted_2 = { class: \"pagination\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-left\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-chevron-right\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { toRefs } from 'vue'\n\n import { IPagination, TPaginationPayload } from '@/types/api'\n import { IOauth2ClientsPayload } from '@/types/oauth'\n import { TWorkoutsPayload } from '@/types/workouts'\n import { rangePagination } from '@/utils/api'\n\n interface Props {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'Pagination',\n props: {\n pagination: null,\n path: null,\n query: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n pagination: IPagination\n path: string\n query: TWorkoutsPayload | TPaginationPayload | IOauth2ClientsPayload\n }\n\n \n\n const { pagination, path, query } = toRefs(props)\n\n function getQuery(\n page: number,\n cursor?: number\n ): TPaginationPayload | IOauth2ClientsPayload {\n const newQuery = Object.assign({}, query.value)\n newQuery.page = cursor ? page + cursor : page\n return newQuery\n }\n\nreturn (_ctx: any,_cache: any) => {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"nav\", _hoisted_1, [\n _createElementVNode(\"ul\", _hoisted_2, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-prev\", { disabled: !_unref(pagination).has_prev }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, -1) },\n disabled: !_unref(pagination).has_prev\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.PREVIOUS')) + \" \", 1),\n _hoisted_3\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(rangePagination)(_unref(pagination).pages, _unref(pagination).page), (page) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: page,\n class: _normalizeClass([\"page\", { active: page === _unref(pagination).page }])\n }, [\n (page === '...')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \" ... \"))\n : (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(+page) }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(page), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n ], 2))\n }), 128)),\n _createElementVNode(\"li\", {\n class: _normalizeClass([\"page-next\", { disabled: !_unref(pagination).has_next }])\n }, [\n _createVNode(_component_router_link, {\n class: \"page-link\",\n to: { path: _unref(path), query: getQuery(_unref(pagination).page, 1) },\n disabled: !_unref(pagination).has_next\n }, {\n default: _withCtx(({ navigate }) => [\n _renderSlot(_ctx.$slots, \"default\", {\n onClick: ($event: any) => (_unref(pagination).has_next ? navigate : null)\n }, () => [\n _createTextVNode(_toDisplayString(_ctx.$t('api.PAGINATION.NEXT')) + \" \", 1),\n _hoisted_5\n ])\n ]),\n _: 3\n }, 8, [\"to\", \"disabled\"])\n ], 2)\n ])\n ]))\n}\n}\n\n})","import script from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./Pagination.vue?vue&type=style&index=0&id=3a9a4a65&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3a9a4a65\"]])\n\nexport default __exports__","import { zxcvbnOptions } from '@zxcvbn-ts/core'\n\nexport const setZxcvbnOptions = async (language: string) => {\n const zxcvbnCommonPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-common'\n )\n const zxcvbnEnPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-en'\n )\n const zxcvbnFrPackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-fr'\n )\n const zxcvbnLangPackages: Record = {\n en: zxcvbnEnPackage,\n fr: zxcvbnFrPackage,\n }\n const zxcvbnPackage = zxcvbnLangPackages[language]\n const options = {\n graphs: zxcvbnCommonPackage.default.adjacencyGraphs,\n dictionary: {\n ...zxcvbnCommonPackage.default.dictionary,\n ...zxcvbnPackage.default.dictionary,\n },\n }\n zxcvbnOptions.setOptions(options)\n}\n\nexport const getPasswordStrength = (strength: number): string => {\n switch (strength) {\n case 2:\n return 'AVERAGE'\n case 3:\n return 'GOOD'\n case 4:\n return 'STRONG'\n default:\n return 'WEAK'\n }\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e71df5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-strength\" }\nconst _hoisted_2 = [\"value\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"password-strength-details\"\n}\nconst _hoisted_4 = { class: \"password-strength-value\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"info-box\"\n}\nconst _hoisted_6 = { class: \"password-feedback\" }\n\nimport { zxcvbn } from '@zxcvbn-ts/core'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n onBeforeMount,\n toRefs,\n watch,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { useStore } from '@/use/useStore'\n import { getPasswordStrength, setZxcvbnOptions } from '@/utils/password'\n\n interface Props {\n password: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordStength',\n props: {\n password: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n password: string\n }\n\n \n const { password } = toRefs(props)\n\n const store = useStore()\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const passwordScore: Ref = ref(0)\n const passwordStrength: Ref = ref('')\n const passwordSuggestions: Ref = ref([])\n const backgroundSize = ref('0% 100%')\n\n onBeforeMount(async () => await setZxcvbnOptions(language.value))\n\n function calculatePasswordStrength(password: string) {\n const zxcvbnResult = zxcvbn(password)\n passwordScore.value = zxcvbnResult.score\n passwordStrength.value = getPasswordStrength(passwordScore.value)\n passwordSuggestions.value = zxcvbnResult.feedback.suggestions\n backgroundSize.value = (passwordScore.value * 100) / 4 + '% 100%'\n }\n\n watch(\n () => language.value,\n async (newLanguageValue) => {\n await setZxcvbnOptions(newLanguageValue)\n }\n )\n watch(\n () => password.value,\n async (newPassword) => {\n if (isSuccess.value) {\n passwordStrength.value = ''\n } else {\n calculatePasswordStrength(newPassword)\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n class: _normalizeClass([\"password-slider\", `strength-${passwordScore.value}`]),\n style: _normalizeStyle({ backgroundSize: backgroundSize.value }),\n type: \"range\",\n value: passwordScore.value,\n min: \"0\",\n max: \"4\",\n step: \"1\"\n }, null, 14, _hoisted_2),\n (passwordStrength.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t('user.PASSWORD_STRENGTH.LABEL')) + \": \" + _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.${passwordStrength.value}`)), 1),\n (passwordSuggestions.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(passwordSuggestions.value, (suggestion) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: suggestion }, _toDisplayString(_ctx.$t(`user.PASSWORD_STRENGTH.SUGGESTIONS.${suggestion}`)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordStength.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordStength.vue?vue&type=style&index=0&id=74e71df5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-74e71df5\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, vModelDynamic as _vModelDynamic, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5a126514\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"password-input\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"required\", \"type\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"form-info\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\n\nimport { Ref, ref, toRefs, watch, withDefaults } from 'vue'\n\n import PasswordStrength from '@/components/Common/PasswordStength.vue'\n\n interface Props {\n checkStrength?: boolean\n disabled?: boolean\n id?: string\n password?: string\n placeholder?: string\n required?: boolean\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'PasswordInput',\n props: {\n checkStrength: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n id: { default: 'password' },\n password: { default: '' },\n placeholder: null,\n required: { type: Boolean, default: false }\n },\n emits: ['updatePassword', 'passwordError'],\n setup(__props: any, { emit }) {\n\nconst props = __props as { checkStrength: boolean, disabled: boolean, id: string, password: string, placeholder?: string, required: boolean }\n\n \n const { checkStrength, disabled, id, password, placeholder, required } =\n toRefs(props)\n\n const showPassword: Ref = ref(false)\n const passwordValue: Ref = ref('')\n\n \n\n function togglePassword() {\n showPassword.value = !showPassword.value\n }\n function updatePassword(event: Event & { target: HTMLInputElement }) {\n emit('updatePassword', event.target.value)\n }\n function invalidPassword() {\n emit('passwordError')\n }\n\n watch(\n () => password.value,\n (newPassword) => {\n if (newPassword === '') {\n passwordValue.value = ''\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"input\", {\n id: _unref(id),\n disabled: _unref(disabled),\n placeholder: _unref(placeholder),\n required: _unref(required),\n type: showPassword.value ? 'text' : 'password',\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((passwordValue).value = $event)),\n minlength: \"8\",\n onInput: updatePassword,\n onInvalid: invalidPassword\n }, null, 40, _hoisted_2), [\n [_vModelDynamic, passwordValue.value]\n ]),\n _createElementVNode(\"div\", {\n class: \"show-password\",\n onClick: togglePassword\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(`user.${showPassword.value ? 'HIDE' : 'SHOW'}_PASSWORD`)) + \" \", 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"fa\", `fa-eye${showPassword.value ? '-slash' : ''}`]),\n \"aria-hidden\": \"true\"\n }, null, 2)\n ]),\n (_unref(checkStrength))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.PASSWORD_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(checkStrength))\n ? (_openBlock(), _createBlock(PasswordStrength, {\n key: 1,\n password: passwordValue.value\n }, null, 8, [\"password\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})","import script from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./PasswordInput.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./PasswordInput.vue?vue&type=style&index=0&id=5a126514&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5a126514\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-attribution\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"map-attribution-text\" }, \"©\"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"map-attribution-text\",\n href: \"https://www.openstreetmap.org/copyright\",\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, \" OpenStreetMap \")\n], -1)\n\nimport { toRefs, withDefaults } from 'vue'\n\n import { IWorkout } from '@/types/workouts'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n workout: IWorkout\n displayHover?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StaticMap',\n props: {\n workout: null,\n displayHover: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { workout: IWorkout, displayHover: boolean }\n\n \n const { displayHover } = toRefs(props)\n const imageUrl = `${getApiUrl()}workouts/map/${props.workout.map}`\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"static-map\", { 'display-hover': _unref(displayHover) }])\n }, [\n (_unref(displayHover))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n src: imageUrl,\n alt: \"\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"bg-map-image\",\n style: _normalizeStyle({\n backgroundImage: `url(${imageUrl})`,\n })\n }, null, 4)),\n _hoisted_1\n ], 2))\n}\n}\n\n})","import script from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StaticMap.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./StaticMap.vue?vue&type=style&index=0&id=6b7e4baf&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58e4e79d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"start-chart\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = { class: \"chart-radio\" }\nconst _hoisted_5 = [\"checked\"]\nconst _hoisted_6 = [\"checked\"]\nconst _hoisted_7 = [\"checked\"]\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = [\"checked\"]\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = [\"checked\"]\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = [\"checked\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hideChartIfNoData && _ctx.emptyStats)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t('workouts.NO_WORKOUTS')), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_distance\",\n checked: _ctx.displayedData === 'total_distance',\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_5),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DISTANCE')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_duration\",\n checked: _ctx.displayedData === 'total_duration',\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_6),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DURATION')), 1)\n ]),\n _createElementVNode(\"label\", null, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"nb_workouts\",\n checked: _ctx.displayedData === 'nb_workouts',\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_7),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.WORKOUT', 2)), 1)\n ]),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_8, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"average_speed\",\n checked: _ctx.displayedData === 'average_speed',\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_9),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.AVERAGE_SPEED')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_10, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_ascent\",\n checked: _ctx.displayedData === 'total_ascent',\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_11),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.ASCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.fullStats)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_12, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n name: \"total_descent\",\n checked: _ctx.displayedData === 'total_descent',\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.updateDisplayData && _ctx.updateDisplayData(...args)))\n }, null, 8, _hoisted_13),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('workouts.DESCENT')), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.labels.length > 0)\n ? (_openBlock(), _createBlock(_component_Chart, {\n key: 0,\n datasets: _ctx.datasets,\n labels: _ctx.labels,\n displayedData: _ctx.displayedData,\n displayedSportIds: _ctx.displayedSportIds,\n fullStats: _ctx.fullStats,\n useImperialUnits: _ctx.user.imperial_units\n }, null, 8, [\"datasets\", \"labels\", \"displayedData\", \"displayedSportIds\", \"fullStats\", \"useImperialUnits\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","import { resolveComponent as _resolveComponent, mergeProps as _mergeProps, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"chart\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BarChart = _resolveComponent(\"BarChart\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_BarChart, _mergeProps(_ctx.barChartProps, { class: \"bar-chart\" }), null, 16)\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'\nimport { units } from '@/utils/units'\n\nexport const formatTooltipValue = (\n displayedData: TStatisticsDatasetKeys,\n value: number,\n useImperialUnits: boolean,\n formatWithUnits = true,\n unitFrom = 'km'\n): string => {\n const unitTo = useImperialUnits ? units[unitFrom].defaultTarget : unitFrom\n switch (displayedData) {\n case 'average_speed':\n return `${value.toFixed(2)} ${unitTo}/h`\n case 'total_duration':\n return formatDuration(value, formatWithUnits)\n case 'total_distance':\n case 'total_ascent':\n case 'total_descent':\n return `${value.toFixed(2)} ${unitTo}`\n default:\n return value.toString()\n }\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 useImperialUnits: {\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 function getUnit(displayedData: string) {\n return ['total_ascent', 'total_descent'].includes(displayedData)\n ? 'm'\n : 'km'\n }\n const 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: props.displayedData !== 'average_speed',\n grid: {\n drawOnChartArea: false,\n },\n ticks: {\n maxTicksLimit: 6,\n callback: function (value) {\n return formatTooltipValue(\n props.displayedData,\n +value,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n },\n },\n afterFit: function (scale: LayoutItem) {\n scale.width = props.fullStats ? 90 : 60\n },\n },\n },\n plugins: {\n datalabels: {\n anchor: 'end',\n align: 'end',\n color: function (context) {\n return props.displayedData === 'average_speed' &&\n context.dataset.backgroundColor\n ? // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n context.dataset.backgroundColor[0]\n : '#666666'\n },\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 ? false\n : props.displayedData === 'average_speed'\n ? props.displayedSportIds.length == 1\n ? 'auto'\n : false\n : true\n },\n formatter: function (value, context) {\n if (props.displayedData === 'average_speed') {\n return formatTooltipValue(\n props.displayedData,\n value,\n props.useImperialUnits,\n false\n )\n } else {\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(\n props.displayedData,\n total,\n props.useImperialUnits,\n false,\n getUnit(props.displayedData)\n )\n : null\n }\n },\n },\n legend: {\n display: false,\n },\n tooltip: {\n interaction: {\n intersect: true,\n mode: 'index',\n position:\n props.displayedData === 'average_speed' ? 'nearest' : 'average',\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 props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\n }\n return label\n },\n footer: function (tooltipItems) {\n if (props.displayedData === 'average_speed') {\n return ''\n }\n let sum = 0\n tooltipItems.map((tooltipItem) => {\n sum += tooltipItem.parsed.y\n })\n return (\n `${t('common.TOTAL')}: ` +\n formatTooltipValue(\n props.displayedData,\n sum,\n props.useImperialUnits,\n true,\n getUnit(props.displayedData)\n )\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=6c8b76cd&ts=true\"\nimport script from \"./Chart.vue?vue&type=script&lang=ts\"\nexport * from \"./Chart.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\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 { IAuthUserProfile } 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 const 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 props.user.imperial_units\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: IAuthUserProfile\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=58e4e79d&scoped=true&ts=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=58e4e79d&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-58e4e79d\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-20291951\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"box user-header\" }\nconst _hoisted_2 = { class: \"user-details\" }\nconst _hoisted_3 = { class: \"user-name\" }\nconst _hoisted_4 = { class: \"user-stats\" }\nconst _hoisted_5 = { class: \"user-stat\" }\nconst _hoisted_6 = { class: \"stat-number\" }\nconst _hoisted_7 = { class: \"stat-label\" }\nconst _hoisted_8 = { class: \"user-stat\" }\nconst _hoisted_9 = { class: \"stat-label\" }\nconst _hoisted_10 = { class: \"user-stat hide-small\" }\nconst _hoisted_11 = { class: \"stat-number\" }\nconst _hoisted_12 = { class: \"stat-label\" }\n\nimport { computed, ComputedRef, toRefs } from 'vue'\n\n import UserPicture from '@/components/User/UserPicture.vue'\n import { AUTH_USER_STORE } from '@/store/constants'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserHeader',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const { user } = toRefs(props)\n\n const store = useStore()\n\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.AUTH_USER_PROFILE]\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Distance = _resolveComponent(\"Distance\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(UserPicture, { user: _unref(user) }, null, 8, [\"user\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_unref(user).username), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_unref(user).nb_workouts), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.$t('workouts.WORKOUT', _unref(user).nb_workouts)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Distance, {\n distance: _unref(user).total_distance,\n unitFrom: \"km\",\n digits: 0,\n displayUnit: false,\n useImperialUnits: _unref(authUser).imperial_units\n }, null, 8, [\"distance\", \"useImperialUnits\"]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_unref(authUser).imperial_units ? 'miles' : 'km'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_unref(user).nb_sports), 1),\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('workouts.SPORT', _unref(user).nb_sports)), 1)\n ])\n ])\n ])\n ]))\n}\n}\n\n})","import script from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserHeader.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserHeader.vue?vue&type=style&index=0&id=20291951&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-20291951\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, createElementVNode as _createElementVNode, withDirectives as _withDirectives, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-794e58e7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n id: \"user-infos\",\n class: \"description-list\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = {\n key: 4,\n class: \"email-form form-box\"\n}\nconst _hoisted_4 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_5 = {\n class: \"form-items\",\n for: \"email\"\n}\nconst _hoisted_6 = { class: \"form-buttons\" }\nconst _hoisted_7 = {\n class: \"confirm\",\n type: \"submit\"\n}\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { key: 5 }\nconst _hoisted_10 = { class: \"user-bio\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"profile-buttons\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"profile-buttons\"\n}\n\nimport { format } from 'date-fns'\n import {\n ComputedRef,\n Ref,\n computed,\n ref,\n toRefs,\n withDefaults,\n watch,\n onUnmounted,\n } from 'vue'\n\n import { AUTH_USER_STORE, ROOT_STORE, USERS_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { IAuthUserProfile, IUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n user: IUserProfile\n fromAdmin?: boolean\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserInfos',\n props: {\n user: null,\n fromAdmin: { type: Boolean, default: false }\n },\n setup(__props: any) {\n\nconst props = __props as { user: IUserProfile, fromAdmin: boolean }\n\n \n\n const store = useStore()\n\n const { user, fromAdmin } = toRefs(props)\n const authUser: ComputedRef = computed(\n () => store.getters[AUTH_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 const isSuccess = computed(\n () => store.getters[USERS_STORE.GETTERS.USERS_IS_SUCCESS]\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 displayModal: Ref = ref('')\n const formErrors = ref(false)\n const displayUserEmailForm: Ref = ref(false)\n const newUserEmail: Ref = ref('')\n const currentAction: Ref = ref('')\n\n function updateDisplayModal(value: string) {\n displayModal.value = value\n if (value !== '') {\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n }\n }\n function deleteUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.DELETE_USER_ACCOUNT, { username })\n }\n function resetUserPassword(username: string) {\n currentAction.value = 'password-reset'\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n resetPassword: true,\n })\n }\n function confirmUserAccount(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n activate: true,\n })\n }\n function displayEmailForm() {\n resetErrorsAndSuccess()\n newUserEmail.value = user.value.email_to_confirm\n ? user.value.email_to_confirm\n : ''\n displayUserEmailForm.value = true\n currentAction.value = 'email-update'\n }\n function hideEmailForm() {\n newUserEmail.value = ''\n displayUserEmailForm.value = false\n }\n function updateUserEmail(username: string) {\n store.dispatch(USERS_STORE.ACTIONS.UPDATE_USER, {\n username,\n new_email: newUserEmail.value,\n })\n }\n function resetErrorsAndSuccess() {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(USERS_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n currentAction.value = ''\n }\n\n onUnmounted(() => resetErrorsAndSuccess())\n\n watch(\n () => isSuccess.value,\n (newIsSuccess) => {\n if (newIsSuccess) {\n updateDisplayModal('')\n hideEmailForm()\n }\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (displayModal.value)\n ? (_openBlock(), _createBlock(_component_Modal, {\n key: 0,\n title: _ctx.$t('common.CONFIRMATION'),\n message: \n displayModal.value === 'delete'\n ? 'admin.CONFIRM_USER_ACCOUNT_DELETION'\n : 'admin.CONFIRM_USER_PASSWORD_RESET'\n ,\n strongMessage: _unref(user).username,\n onConfirmAction: _cache[0] || (_cache[0] = ($event: any) => (\n displayModal.value === 'delete'\n ? deleteUserAccount(_unref(user).username)\n : resetUserPassword(_unref(user).username)\n )),\n onCancelAction: _cache[1] || (_cache[1] = ($event: any) => (updateDisplayModal('')))\n }, null, 8, [\"title\", \"message\", \"strongMessage\"]))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `admin.${\n currentAction.value === 'password-reset'\n ? 'PASSWORD_RESET'\n : 'USER_EMAIL_UPDATE'\n }_SUCCESSFUL`\n )), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 2,\n message: \"user.THIS_USER_ACCOUNT_IS_INACTIVE\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 3,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true),\n (displayUserEmailForm.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (updateUserEmail(_unref(user).username)), [\"prevent\"]))\n }, [\n _createElementVNode(\"label\", _hoisted_4, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.CURRENT_EMAIL')) + \" \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"email\",\n type: \"email\",\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_unref(user).email) = $event)),\n disabled: \"\"\n }, null, 512), [\n [_vModelText, _unref(user).email]\n ])\n ]),\n _createElementVNode(\"label\", _hoisted_5, [\n _createTextVNode(_toDisplayString(_ctx.$t('admin.NEW_EMAIL')) + \"* \", 1),\n _withDirectives(_createElementVNode(\"input\", {\n id: \"new-email\",\n type: \"email\",\n required: \"\",\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((newUserEmail).value = $event))\n }, null, 512), [\n [_vModelText, newUserEmail.value]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", _hoisted_7, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _withModifiers(hideEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('buttons.CANCEL')), 9, _hoisted_8)\n ])\n ], 34)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.REGISTRATION_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(registrationDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).first_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LAST_NAME')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).last_name), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIRTH_DATE')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(birthDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.LOCATION')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(user).location), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t('user.PROFILE.BIO')) + \":\", 1),\n _createElementVNode(\"dd\", _hoisted_10, _toDisplayString(_unref(user).bio), 1)\n ]),\n (_unref(fromAdmin))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"danger\",\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (updateDisplayModal('delete')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.DELETE_USER')), 1))\n : _createCommentVNode(\"\", true),\n (!_unref(user).is_active)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (confirmUserAccount(_unref(user).username)), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.ACTIVATE_USER_ACCOUNT')), 1))\n : _createCommentVNode(\"\", true),\n (_unref(authUser).username !== _unref(user).username)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n onClick: _withModifiers(displayEmailForm, [\"prevent\"])\n }, _toDisplayString(_ctx.$t('admin.UPDATE_USER_EMAIL')), 9, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (\n _unref(authUser).username !== _unref(user).username &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 3,\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (updateDisplayModal('reset')), [\"prevent\"]))\n }, _toDisplayString(_ctx.$t('admin.RESET_USER_PASSWORD')), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.$router.go(-1)))\n }, _toDisplayString(_ctx.$t('buttons.BACK')), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.$router.push('/profile/edit')))\n }, _toDisplayString(_ctx.$t('user.PROFILE.EDIT')), 1),\n _createElementVNode(\"button\", {\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.$router.push('/')))\n }, _toDisplayString(_ctx.$t('common.HOME')), 1)\n ]))\n ]))\n ]))\n}\n}\n\n})","import script from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserInfos.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserInfos.vue?vue&type=style&index=0&id=794e58e7&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-794e58e7\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, vModelText as _vModelText, withDirectives as _withDirectives, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bf09a420\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { id: \"user-form\" }\nconst _hoisted_2 = {\n key: 2,\n class: \"info-box success-message\"\n}\nconst _hoisted_3 = { class: \"form-items\" }\nconst _hoisted_4 = [\"disabled\", \"placeholder\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"form-info\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_7 = [\"disabled\", \"placeholder\"]\nconst _hoisted_8 = {\n key: 3,\n class: \"form-info\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-info-circle\",\n \"aria-hidden\": \"true\"\n}, null, -1))\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = { key: 3 }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { key: 4 }\nconst _hoisted_14 = { class: \"account\" }\nconst _hoisted_15 = { key: 5 }\n\nimport {\n ComputedRef,\n computed,\n reactive,\n ref,\n toRefs,\n watch,\n withDefaults,\n } from 'vue'\n import { useRoute } from 'vue-router'\n\n import PasswordInput from '@/components/Common/PasswordInput.vue'\n import { AUTH_USER_STORE, ROOT_STORE } from '@/store/constants'\n import { TAppConfig } from '@/types/application'\n import { ILoginRegisterFormData } from '@/types/user'\n import { useStore } from '@/use/useStore'\n\n interface Props {\n action: string\n token?: string\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserAuthForm',\n props: {\n action: null,\n token: { default: '' }\n },\n setup(__props: any) {\n\nconst props = __props as { action: string, token: string }\n\n \n\n const route = useRoute()\n const store = useStore()\n\n const { action } = toRefs(props)\n const formData: ILoginRegisterFormData = reactive({\n username: '',\n email: '',\n password: '',\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 isRegistrationSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_REGISTRATION_SUCCESS]\n )\n const isSuccess: ComputedRef = computed(\n () => store.getters[AUTH_USER_STORE.GETTERS.IS_SUCCESS]\n )\n const appConfig: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.APP_CONFIG]\n )\n const language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const registration_disabled: ComputedRef = computed(\n () =>\n props.action === 'register' && !appConfig.value.is_registration_enabled\n )\n const sendingEmailDisabled: ComputedRef = computed(\n () =>\n ['reset-request', 'account-confirmation-resend'].includes(props.action) &&\n !appConfig.value.is_email_sending_enabled\n )\n const formErrors = ref(false)\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 invalidateForm() {\n formErrors.value = true\n }\n function updatePassword(password: string) {\n formData.password = password\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(AUTH_USER_STORE.ACTIONS.RESET_USER_PASSWORD, {\n password: formData.password,\n token: props.token,\n })\n case 'reset-request':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.SEND_PASSWORD_RESET_REQUEST,\n {\n email: formData.email,\n }\n )\n case 'account-confirmation-resend':\n return store.dispatch(\n AUTH_USER_STORE.ACTIONS.RESEND_ACCOUNT_CONFIRMATION_EMAIL,\n {\n email: formData.email,\n }\n )\n default:\n formData['language'] = language.value\n store.dispatch(AUTH_USER_STORE.ACTIONS.LOGIN_OR_REGISTER, {\n actionType,\n formData,\n redirectUrl: route.query.from,\n })\n }\n }\n function resetFormData() {\n formData.username = ''\n formData.email = ''\n formData.password = ''\n }\n\n watch(\n () => route.path,\n async () => {\n store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES)\n store.commit(AUTH_USER_STORE.MUTATIONS.UPDATE_IS_SUCCESS, false)\n store.commit(\n AUTH_USER_STORE.MUTATIONS.UPDATE_IS_REGISTRATION_SUCCESS,\n false\n )\n formErrors.value = false\n resetFormData()\n }\n )\n\nreturn (_ctx: any,_cache: any) => {\n const _component_AlertMessage = _resolveComponent(\"AlertMessage\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_ErrorMessage = _resolveComponent(\"ErrorMessage\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"user-auth-form\",\n class: _normalizeClass(`${\n ['reset', 'reset-request'].includes(_unref(action)) ? _unref(action) : 'user-form'\n }`)\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"form-box\", {\n disabled: _unref(registration_disabled),\n }])\n }, [\n (_unref(registration_disabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 0,\n message: \"user.REGISTER_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(sendingEmailDisabled))\n ? (_openBlock(), _createBlock(_component_AlertMessage, {\n key: 1,\n message: \"admin.EMAIL_SENDING_DISABLED\"\n }))\n : _createCommentVNode(\"\", true),\n (_unref(isSuccess) || _unref(isRegistrationSuccess))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.$t(\n `user.PROFILE.SUCCESSFUL_${\n _unref(isRegistrationSuccess)\n ? `REGISTRATION${\n _unref(appConfig).is_email_sending_enabled ? '_WITH_EMAIL' : ''\n }`\n : 'UPDATE'\n }`\n )), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"form\", {\n class: _normalizeClass({ errors: formErrors.value }),\n onSubmit: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (onSubmit(_unref(action))), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_unref(action) === 'register')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n id: \"username\",\n disabled: _unref(registration_disabled),\n required: \"\",\n pattern: \"[a-zA-Z0-9_]+\",\n minlength: \"3\",\n maxlength: \"30\",\n onInvalid: invalidateForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((formData.username) = $event)),\n placeholder: _ctx.$t('user.USERNAME')\n }, null, 40, _hoisted_4)), [\n [_vModelText, formData.username]\n ])\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _hoisted_6,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.USERNAME_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) !== 'reset')\n ? _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n key: 2,\n id: \"email\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled),\n required: \"\",\n onInvalid: invalidateForm,\n type: \"email\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((formData.email) = $event)),\n placeholder: _ctx.$t('user.EMAIL')\n }, null, 40, _hoisted_7)), [\n [_vModelText, formData.email]\n ])\n : _createCommentVNode(\"\", true),\n (\n [\n 'reset-request',\n 'register',\n 'account-confirmation-resend',\n ].includes(_unref(action))\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t('user.EMAIL_INFO')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (\n !['account-confirmation-resend', 'reset-request'].includes(\n _unref(action)\n )\n )\n ? (_openBlock(), _createBlock(PasswordInput, {\n key: 4,\n disabled: _unref(registration_disabled),\n required: true,\n placeholder: \n _unref(action) === 'reset'\n ? _ctx.$t('user.ENTER_PASSWORD')\n : _ctx.$t('user.PASSWORD')\n ,\n password: formData.password,\n checkStrength: ['reset', 'register'].includes(_unref(action)),\n onUpdatePassword: updatePassword,\n onPasswordError: invalidateForm\n }, null, 8, [\"disabled\", \"placeholder\", \"password\", \"checkStrength\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"button\", {\n type: \"submit\",\n disabled: _unref(registration_disabled) || _unref(sendingEmailDisabled)\n }, _toDisplayString(_ctx.$t(_unref(buttonText))), 9, _hoisted_10)\n ], 34),\n (_unref(action) === 'login')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/register\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.REGISTER')), 1)\n ]),\n _: 1\n }),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, \"-\"))\n : _createCommentVNode(\"\", true),\n (_unref(appConfig).is_email_sending_enabled)\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 1,\n class: \"links\",\n to: \"/password-reset/request\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PASSWORD_FORGOTTEN')), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(action) === 'register')\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t('user.ALREADY_HAVE_ACCOUNT')), 1),\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/login\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.LOGIN')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (\n ['login', 'register'].includes(_unref(action)) &&\n _unref(appConfig).is_email_sending_enabled\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_router_link, {\n class: \"links\",\n to: \"/account-confirmation/resend\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t('user.ACCOUNT_CONFIRMATION_NOT_RECEIVED')), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_unref(errorMessages))\n ? (_openBlock(), _createBlock(_component_ErrorMessage, {\n key: 6,\n message: _unref(errorMessages)\n }, null, 8, [\"message\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ], 2))\n}\n}\n\n})","import script from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserAuthForm.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserAuthForm.vue?vue&type=style&index=0&id=bf09a420&scoped=true&lang=scss\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bf09a420\"]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"user-picture\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"no-picture\"\n}\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"fa fa-user-circle-o\",\n \"aria-hidden\": \"true\"\n}, null, -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { computed } from 'vue'\n\n import { IUserProfile } from '@/types/user'\n import { getApiUrl } from '@/utils'\n\n interface Props {\n user: IUserProfile\n }\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'UserPicture',\n props: {\n user: null\n },\n setup(__props: any) {\n\nconst props = __props as {\n user: IUserProfile\n }\n\n \n\n const authUserPictureUrl = computed(() =>\n props.user.picture\n ? `${getApiUrl()}users/${props.user.username}/picture?${Date.now()}`\n : ''\n )\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_unref(authUserPictureUrl) !== '')\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"profile-user-img\",\n alt: _ctx.$t('user.USER_PICTURE'),\n src: _unref(authUserPictureUrl)\n }, null, 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n ]))\n}\n}\n\n})","import script from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./UserPicture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./UserPicture.vue?vue&type=style&index=0&id=26bea286&lang=scss\"\n\nconst __exports__ = script;\n\nexport default __exports__","\n\n\n","import { render } from \"./NoWorkouts.vue?vue&type=template&id=4b4d15fb&scoped=true\"\nconst script = {}\n\nimport \"./NoWorkouts.vue?vue&type=style&index=0&id=4b4d15fb&lang=scss&scoped=true\"\n\nimport exportComponent from \"/mnt/data-lnx/Devs/00_Perso/FitTrackee/fittrackee_client/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4b4d15fb\"]])\n\nexport default __exports__","var map = {\n\t\"./de/de.ts\": 9923,\n\t\"./en/en.ts\": 8757,\n\t\"./fr/fr.ts\": 6625\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 = 4612;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/js/\" + ({\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\",\"881\":\"password\"}[chunkId] || chunkId) + \".\" + {\"24\":\"761e9759\",\"93\":\"97ccdf6e\",\"193\":\"9cd652fd\",\"243\":\"27c8fef5\",\"328\":\"ab9e5f5f\",\"401\":\"4abcd6a2\",\"431\":\"5976068e\",\"633\":\"9a092c9a\",\"845\":\"dd30724d\",\"858\":\"0441e3cc\",\"881\":\"d0f613fa\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"static/css/\" + {\"24\":\"reset\",\"193\":\"statistics\",\"328\":\"admin\",\"401\":\"workouts\",\"845\":\"profile\"}[chunkId] + \".\" + {\"24\":\"e2527ec6\",\"193\":\"40e24e75\",\"328\":\"73df498d\",\"401\":\"dd7c6bdb\",\"845\":\"203e78e2\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"fittrackee_client:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"24\":1,\"193\":1,\"328\":1,\"401\":1,\"845\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\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\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkfittrackee_client\"] = self[\"webpackChunkfittrackee_client\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(6331); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["authApi","axios","baseURL","getApiUrl","interceptors","request","use","config","controller","AbortController","signal","requestKey","removeRequestIfPending","pendingRequests","authToken","store","AUTH_USER_STORE","auth","headers","Authorization","error","Promise","reject","response","message","Map","generateRequestKey","method","url","params","data","JSON","stringify","join","has","get","abort","delete","loadLocaleMessages","locales","require","messages","keys","forEach","key","matched","match","length","locale","default","createI18n","legacy","fallbackLocale","globalInjection","ctx","normalize","_normalize","interpolate","_interpolate","list","_list","plural","_plural","about","AboutTranslations","admin","AdministrationTranslations","api","ApiTranslations","buttons","ButtonsTranslations","common","CommonTranslations","dashboard","DashboardTranslations","ErrorTranslations","oauth2","OAuth2Translations","sports","SportsTranslations","statistics","StatisticsTranslations","user","UserTranslations","workouts","WorkoutsTranslations","register","ready","console","log","registered","cached","updatefound","updated","offline","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","id","_hoisted_2","class","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","href","target","rel","_defineComponent","__name","props","version","adminContact","setup","__props","toRefs","_ctx","_cache","_component_router_link","_resolveComponent","_openBlock","_createElementBlock","_createTextVNode","_toDisplayString","_unref","_createVNode","to","_withCtx","$t","_","_createCommentVNode","__exports__","emits","emit","useStore","authUser","computed","getters","isAuthenticated","language","ROOT_STORE","isMenuOpen","ref","openMenu","value","closeMenu","updateLanguage","option","dispatch","toString","logout","_component_Dropdown","onClick","$event","$router","push","_normalizeClass","capitalize","_createBlock","UserPicture","username","availableLanguages","options","selected","onSelected","ErrorImg","innerHTML","appConfig","appLoading","hideScrollBar","displayScrollButton","updateHideScrollBar","isScrolledToBottom","element","getBoundingClientRect","top","window","innerHeight","bottom","scroll","onscroll","document","querySelector","scrollToTop","scrollTo","behavior","setTimeout","initLanguage","navigatorLanguage","navigator","split","localeFromLanguage","e","onBeforeMount","onMounted","_component_Loader","_component_router_view","_Fragment","NavBar","onMenuInteraction","NoConfig","Footer","admin_contact","name","charLimit","disabled","type","Boolean","input","text","updateText","event","watch","_withDirectives","maxLenght","onInput","_vModelText","distance","unitFrom","useImperialUnits","digits","displayUnit","speed","strong","unitTo","units","defaultTarget","convertedDistance","convertDistance","parseFloat","toFixed","route","useRoute","isOpen","dropdownOptions","map","toggleDropdown","updateSelected","path","_renderSlot","$slots","_renderList","index","label","Array","isArray","subMessage","xmlns","x","y","viewBox","style","d","render","_hoisted_20","cx","cy","r","sportLabel","color","title","sportColors","inject","_normalizeStyle","fill","CyclingSport","CyclingTransport","Hiking","MountainBiking","MountainBikingElectric","Rowing","Running","SkiingAlpine","SkiingCrossCountry","Snowshoes","Trail","Walking","script","strongMessage","errorMessages","onUnmounted","commit","_component_i18n_t","_component_ErrorMessage","_component_Card","content","keypath","customComponents","AlertMessage","Card","CustomTextArea","Distance","Dropdown","ErrorMessage","Loader","Modal","SportImage","clickOutsideDirective","mounted","binding","clickOutsideEvent","contains","body","addEventListener","unmounted","removeEventListener","undefined","Chart","BarElement","LineElement","PointElement","Legend","Title","Tooltip","Filler","BarController","CategoryScale","LineController","LinearScale","ChartDataLabels","app","createApp","App","provide","i18n","router","VueFullscreen","directive","component","mount","for","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","edition","useRouter","appData","reactive","max_users","max_single_file_size","max_zip_file_size","gpx_limit_import","updateForm","Object","includes","getFileSizeInMB","onCancel","onSubmit","formData","assign","_withModifiers","min","step","icon","appStatistics","uploadDirSize","getReadableFileSize","uploads_dir_size","StatCard","users","size","suffix","AppStatsCards","is_registration_enabled","is_email_sending_enabled","t","useI18n","translatedSports","translateSports","SPORTS_STORE","updateSportStatus","isActive","_component_SportImage","sport","translatedLabel","is_active","danger","has_workouts","query","q","searchUsers","resetFilter","onKeyup","_withKeys","placeholder","trim","orderByList","defaultOrderBy","getQuery","USERS_STORE","pagination","loadUsers","queryParams","reloadUsers","updateUser","queryParam","queryValue","page","newQuery","UsersNameFilter","onFilterOnUsername","FilterSelects","sort","sortList","order_by","onUpdateSelect","email","format","getDateWithTZ","created_at","timezone","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","languageLabels","fistDayOfWeek","weekm","display_ascent","imperial_units","loading","userForm","password","new_password","isSuccess","emailUpdate","formErrors","displayModal","invalidateForm","updateUserForm","updatePassword","updateNewPassword","updateProfile","payload","updateDisplayModal","deleteAccount","async","isSuccessValue","_component_Modal","onConfirmAction","onCancelAction","errors","required","onInvalid","PasswordInput","onUpdatePassword","onPasswordError","checkStrength","first_name","last_name","birth_date","location","bio","registrationDate","Date","updateBio","_component_CustomTextArea","onUpdateValue","fileSizeLimit","pictureFile","deleteUserPicture","updatePictureFile","files","updateUserPicture","picture","accept","timeZones","tzList","focusItemIndex","matchTimezone","toLowerCase","onMouseOver","onUpdateTimezone","onEnter","preventDefault","firstElementChild","openDropdown","onKeydown","ref_key","filter","tz","focus","onMouseover","autofocus","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","weekStart","imperialUnits","ascentData","updateTZ","updateAscentDisplay","updateImperialUnit","updateWeekM","lang","_vModelSelect","TimezoneDropdown","start","unit","status","oauth2_scopes","admin_oauth2_scopes","appForm","client_name","client_uri","client_description","redirect_uri","scopes","filtered_scopes","getScopes","redirect_uris","scope","OAUTH2_STORE","updateDescription","updateScopes","indexOf","splice","admin_scopes","description","onChange","client","loadApp","client_id","authorizeApp","response_type","state","code_challenge","code_challenge_method","afterCreation","revocationSuccessful","messageToDisplay","idCopied","secretCopied","clipboardSupport","loadClient","updateMessageToDisplay","forDelete","confirmAction","clientId","copyIdToClipboard","clipboard","writeText","copySecretToClipboard","client_secret","newValue","issued_at","website","clients","getClientsQuery","clientsQuery","getNumberQueryValue","defaultPage","loadClients","_hoisted_25","_hoisted_26","_hoisted_27","isEdition","defaultColor","sports_list","sportPayload","sport_id","stopped_speed_threshold","updateSportInEdition","is_active_for_user","resetSportPayload","isSportInEdition","sportId","updateColor","updateThreshold","updateIsActive","updateSport","resetSport","newIsLoading","src","alt","BikePic","About","workout","_component_Distance","workoutId","workout_date","formatDistance","addSuffix","with_gpx","StaticMap","moving","min_alt","max_alt","ascent","descent","per_page","initWorkoutsCount","loadWorkouts","WORKOUTS_STORE","moreWorkoutsExist","previous_workout","defaultOrder","loadMoreWorkouts","WorkoutCard","s","NoWorkouts","displayHARecord","sportColor","records","record","record_type","height","width","colors","datasets","angleOffset","radius","circumference","Math","PI","calculateStrokeDashOffset","percentage","returnCircleTransformValue","rotation","entries","stroke","transform","isHidden","togglePane","stopPropagation","_directive_click_outside","_resolveDirective","DonutChart","CalendarWorkout","getSportLabel","getSportColor","chartDatasets","getDonutDatasets","sportIdColors","displayedWorkoutCount","slice","CalendarWorkoutsChart","currentDay","endDate","startDate","weekStartingMonday","rows","getDays","day","days","i","addDays","isWeekEnd","filterWorkouts","isSameDay","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","dateFormat","calendarDates","getCalendarStartAndEnd","calendarWorkouts","getCalendarWorkouts","apiParams","from","end","displayNextMonth","addMonths","displayPreviousMonth","subMonths","CalendarHeader","onDisplayNextMonth","onDisplayPreviousMonth","CalendarDays","CalendarCells","date","chartParams","duration","startOfMonth","endOfMonth","selectedSportIds","StatChart","formatRecord","distanceUnitFrom","distanceUnitTo","ascentUnitFrom","ascentUnitTo","Error","formatWorkoutDate","workout_id","sortRecords","a","b","recordALabel","recordBLabel","getRecordsBySports","reduce","sportList","find","sportTranslatedLabel","getTranslatedRecords","translatedRecords","recordsBySport","RecordsCard","userTotalDuration","total_duration","totalDuration","get_duration","totalDistance","total_distance","totalAscent","total_ascent","nb_sports","isSelected","updateDisplayColumn","UserStatsCards","UserMonthStats","UserRecords","UserCalendar","Timeline","NotFound","action","LoginOrRegisterForm","getTabFromPath","regex","tag","replace","toUpperCase","routes","Dashboard","LoginOrRegister","children","Profile","UserInfos","UserPreferences","UserSportPreferences","UserApps","UserAppsList","UserApp","AddUserApp","AuthorizeUserApp","ProfileEdition","UserInfosEdition","UserAccountEdition","UserPictureEdition","UserPreferencesEdition","displaySegment","AdminMenu","AdminApplication","AdminSports","fromAdmin","AdminUsers","AboutView","NotFoundView","createRouter","history","createWebHistory","process","pathsWithoutAuthentication","pathsWithoutChecks","beforeEach","next","then","fullPath","catch","AuthUserActions","AuthUserGetters","AuthUserMutations","OAuth2Actions","OAuth2Getters","OAuth2Mutations","RootActions","RootGetters","RootMutations","SportsActions","SportsGetters","SportsMutation","StatisticsActions","StatisticsGetters","StatisticsMutations","UsersActions","UsersGetters","UsersMutations","ACTIONS","GETTERS","MUTATIONS","STATS_STORE","WorkoutsActions","WorkoutsGetters","WorkoutsMutations","deleteUserAccount","context","res","handleError","actions","finally","resetPassword","reset_password","activate","new_email","removeAuthUserData","localStorage","removeItem","token","auth_token","setItem","refreshUser","actionType","redirectUrl","form","FormData","append","authUserProfile","isRegistrationSuccess","mutations","authUserState","get_client","set","redirect_url","oAuth2State","setAttribute","application","root","enUS","sportsState","filterType","statisticsState","updatedUser","usersState","getWorkouts","segmentUrl","segmentId","segments","chart_data","gpx","file","notes","calendar_workouts","timeline_workouts","user_workouts","workoutData","concat","chartData","workoutsState","modules","authUserModule","oAuthModule","sportsModule","statsModule","usersModule","workoutsModule","createStore","VuexStore","defaultPerPage","defaultValue","getStringQueryValue","availableValues","locationQuery","queryOptions","defaultSort","order","workoutsPayloadKeys","getRange","stop","rangePagination","pages","currentPage","getStartDate","startOfWeek","weekStartsOn","startOfYear","incrementDate","addYears","dateInUTC","utcToZonedTime","monthStart","monthEnd","endOfWeek","dateTime","timeFormat","workout_time","suffixes","fileSize","asText","floor","pow","msg","m","de","en","fr","availableLocales","l","sortSports","sportATranslatedLabel","sportBTranslatedLabel","activeStatus","sportsToInclude","dateFormats","week","chart","month","year","datasetKeys","getDateKeys","getStatisticsChartDataset","isLineChart","dataset","backgroundColor","borderColor","spanGaps","getDatasets","displayedSports","average_speed","total_descent","convertStatsValue","datasetKey","convertStatsDistance","formatStats","displayedSportsId","apiStats","dayKeys","labels","sportsId","displayedSport","getStatsDateParams","timeFrame","subYears","endOfYear","updateChartParams","backward","subWeeks","addWeeks","ft","system","multiplier","mi","km","factors","metric","imperial","borderWidth","yAxisID","elevation","distance_labels","duration_labels","coordinates","latitude","longitude","total","count","perPage","onSelectUpdate","nb","buttonText","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnLangPackages","zxcvbnPackage","graphs","adjacencyGraphs","dictionary","zxcvbnOptions","getPasswordStrength","strength","passwordScore","passwordStrength","passwordSuggestions","backgroundSize","calculatePasswordStrength","zxcvbnResult","zxcvbn","score","feedback","suggestions","newLanguageValue","newPassword","max","suggestion","showPassword","passwordValue","togglePassword","invalidPassword","minlength","_vModelDynamic","PasswordStrength","displayHover","imageUrl","backgroundImage","$props","$setup","$data","$options","_component_Chart","hideChartIfNoData","emptyStats","displayedData","args","updateDisplayData","fullStats","displayedSportIds","_component_BarChart","_mergeProps","barChartProps","formatDuration","totalSeconds","formatWithUnits","String","hours","padStart","minutes","seconds","formatTooltipValue","defineComponent","components","BarChart","getNumber","isNaN","getSum","getUnit","parse","responsive","maintainAspectRatio","animation","layout","padding","scales","stacked","grid","drawOnChartArea","ticks","maxTicksLimit","callback","afterFit","scale","plugins","datalabels","anchor","align","chartArea","display","formatter","dataIndex","datasetIndex","legend","tooltip","interaction","intersect","mode","position","tooltipItem","formattedValue","callbacks","parsed","footer","tooltipItems","sum","useBarChart","formattedStats","getStatistics","getApiParams","time","newParams","birthDate","displayUserEmailForm","newUserEmail","currentAction","resetUserPassword","confirmUserAccount","displayEmailForm","resetErrorsAndSuccess","email_to_confirm","hideEmailForm","updateUserEmail","newIsSuccess","_component_AlertMessage","go","getButtonText","registration_disabled","sendingEmailDisabled","resetFormData","pattern","maxlength","authUserPictureUrl","now","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","call","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","leafPrototypes","getProto","getPrototypeOf","obj","__proto__","this","ns","create","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","all","promises","u","miniCssF","g","globalThis","Function","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","done","needAttach","scripts","getElementsByTagName","getAttribute","createElement","charset","timeout","nc","onScriptComplete","prev","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","bind","head","appendChild","Symbol","toStringTag","p","createStylesheet","fullhref","linkTag","onLinkComplete","errorType","realHref","err","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.48d33bd7.js b/fittrackee/dist/static/js/chunk-vendors.54e51b70.js similarity index 99% rename from fittrackee/dist/static/js/chunk-vendors.48d33bd7.js rename to fittrackee/dist/static/js/chunk-vendors.54e51b70.js index 9a383780..e37b0204 100644 --- a/fittrackee/dist/static/js/chunk-vendors.48d33bd7.js +++ b/fittrackee/dist/static/js/chunk-vendors.54e51b70.js @@ -1,4 +1,4 @@ -(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[998],{2262:function(t,e,n){"use strict";n.d(e,{B:function(){return a},BK:function(){return Bt},Bj:function(){return o},Fl:function(){return qt},IU:function(){return Ct},Jd:function(){return M},PG:function(){return Ot},SU:function(){return Ut},Um:function(){return wt},WL:function(){return Ht},X$:function(){return T},X3:function(){return Tt},XI:function(){return Rt},Xl:function(){return Pt},dq:function(){return Nt},iH:function(){return jt},j:function(){return S},lk:function(){return O},qj:function(){return xt},qq:function(){return _},yT:function(){return Et}});var r=n(3577);let i;class o{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&i&&(this.parent=i,this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active){const e=i;try{return i=this,t()}finally{i=e}}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&g)>0,u=t=>(t.n&g)>0,h=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===e||e>=i)&&c.push(t)}));else switch(void 0!==n&&c.push(s.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&c.push(s.get("length")):(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"delete":(0,r.kJ)(t)||(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"set":(0,r._N)(t)&&c.push(s.get(b));break}if(1===c.length)c[0]&&C(c[0]);else{const t=[];for(const e of c)e&&t.push(...e);C(l(t))}}function C(t,e){const n=(0,r.kJ)(t)?t:[...t];for(const r of n)r.computed&&P(r,e);for(const r of n)r.computed||P(r,e)}function P(t,e){(t!==v||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const D=(0,r.fY)("__proto__,__v_isRef,__isVue"),A=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(r.yk)),L=F(),I=F(!1,!0),N=F(!0),j=R();function R(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){M();const n=Ct(this)[e].apply(this,t);return O(),n}})),t}function F(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?bt:vt:e?mt:gt).get(n))return n;const a=(0,r.kJ)(n);if(!t&&a&&(0,r.RI)(j,i))return Reflect.get(j,i,o);const s=Reflect.get(n,i,o);return((0,r.yk)(i)?A.has(i):D(i))?s:(t||S(n,"get",i),e?s:Nt(s)?a&&(0,r.S0)(i)?s:s.value:(0,r.Kn)(s)?t?kt(s):xt(s):s)}}const W=z(),U=z(!0);function z(t=!1){return function(e,n,i,o){let a=e[n];if(St(a)&&Nt(a)&&!Nt(i))return!1;if(!t&&(Et(i)||St(i)||(a=Ct(a),i=Ct(i)),!(0,r.kJ)(e)&&Nt(a)&&!Nt(i)))return a.value=i,!0;const s=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,X=t=>Reflect.getPrototypeOf(t);function G(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);n||(e!==o&&S(i,"get",e),S(i,"get",o));const{has:a}=X(i),s=r?q:n?At:Dt;return a.call(i,e)?s(t.get(e)):a.call(i,o)?s(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return e||(t!==i&&S(r,"has",t),S(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)}function K(t,e=!1){return t=t["__v_raw"],!e&&S(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function Q(t){t=Ct(t);const e=Ct(this),n=X(e),r=n.has.call(e,t);return r||(e.add(t),T(e,"add",t,t)),this}function tt(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=X(n);let a=i.call(n,t);a||(t=Ct(t),a=i.call(n,t));const s=o.call(n,t);return n.set(t,e),a?(0,r.aU)(e,s)&&T(n,"set",t,e,s):T(n,"add",t,e),this}function et(t){const e=Ct(this),{has:n,get:r}=X(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,a=e.delete(t);return i&&T(e,"delete",t,void 0,o),a}function nt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&T(t,"clear",void 0,void 0,n),r}function rt(t,e){return function(n,r){const i=this,o=i["__v_raw"],a=Ct(o),s=e?q:t?At:Dt;return!t&&S(a,"iterate",b),o.forEach(((t,e)=>n.call(r,s(t),s(e),i)))}}function it(t,e,n){return function(...i){const o=this["__v_raw"],a=Ct(o),s=(0,r._N)(a),l="entries"===t||t===Symbol.iterator&&s,c="keys"===t&&s,u=o[t](...i),h=n?q:e?At:Dt;return!e&&S(a,"iterate",c?y:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:l?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ot(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return G(this,t)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!1)},e={get(t){return G(this,t,!1,!0)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!0)},n={get(t){return G(this,t,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!1)},r={get(t){return G(this,t,!0,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=it(i,!1,!1),n[i]=it(i,!0,!1),e[i]=it(i,!1,!0),r[i]=it(i,!0,!0)})),[t,n,e,r]}const[st,lt,ct,ut]=at();function ht(t,e){const n=e?t?ut:ct:t?lt:st;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const ft={get:ht(!1,!1)},dt={get:ht(!1,!0)},pt={get:ht(!0,!1)};const gt=new WeakMap,mt=new WeakMap,vt=new WeakMap,bt=new WeakMap;function yt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _t(t){return t["__v_skip"]||!Object.isExtensible(t)?0:yt((0,r.W7)(t))}function xt(t){return St(t)?t:Mt(t,!1,$,ft,gt)}function wt(t){return Mt(t,!1,Z,dt,mt)}function kt(t){return Mt(t,!0,Y,pt,vt)}function Mt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=o.get(t);if(a)return a;const s=_t(t);if(0===s)return t;const l=new Proxy(t,2===s?i:n);return o.set(t,l),l}function Ot(t){return St(t)?Ot(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function St(t){return!(!t||!t["__v_isReadonly"])}function Et(t){return!(!t||!t["__v_isShallow"])}function Tt(t){return Ot(t)||St(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Dt=t=>(0,r.Kn)(t)?xt(t):t,At=t=>(0,r.Kn)(t)?kt(t):t;function Lt(t){w&&v&&(t=Ct(t),E(t.dep||(t.dep=l())))}function It(t,e){t=Ct(t),t.dep&&C(t.dep)}function Nt(t){return!(!t||!0!==t.__v_isRef)}function jt(t){return Ft(t,!1)}function Rt(t){return Ft(t,!0)}function Ft(t,e){return Nt(t)?t:new Wt(t,e)}class Wt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Dt(t)}get value(){return Lt(this),this._value}set value(t){const e=this.__v_isShallow||Et(t)||St(t);t=e?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:Dt(t),It(this,t))}}function Ut(t){return Nt(t)?t.value:t}const zt={get:(t,e,n)=>Ut(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Nt(i)&&!Nt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Ht(t){return Ot(t)?t:new Proxy(t,zt)}function Bt(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=$t(t,n);return e}class Vt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function $t(t,e,n){const r=t[e];return Nt(r)?r:new Vt(t,e,n)}var Yt;class Zt{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this[Yt]=!1,this._dirty=!0,this.effect=new _(t,(()=>{this._dirty||(this._dirty=!0,It(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Lt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qt(t,e,n=!1){let i,o;const a=(0,r.mf)(t);a?(i=t,o=r.dG):(i=t.get,o=t.set);const s=new Zt(i,o,a||!o,n);return s}Yt="__v_isReadonly"},6252:function(t,e,n){"use strict";n.d(e,{$d:function(){return a},Ah:function(){return Et},Cn:function(){return j},FN:function(){return Mn},Fl:function(){return Un},HY:function(){return He},JJ:function(){return Y},Jd:function(){return St},Ko:function(){return zt},P$:function(){return rt},Q2:function(){return Ft},Q6:function(){return ct},U2:function(){return ot},Uk:function(){return fn},Us:function(){return Ce},WI:function(){return Ht},Wm:function(){return ln},Y3:function(){return b},Y8:function(){return tt},YP:function(){return X},_:function(){return sn},aZ:function(){return ut},bv:function(){return kt},dD:function(){return N},dG:function(){return bn},f3:function(){return Z},h:function(){return zn},iD:function(){return Qe},ic:function(){return Ot},j4:function(){return tn},kq:function(){return pn},lR:function(){return ze},nK:function(){return lt},uE:function(){return dn},up:function(){return jt},w5:function(){return R},wF:function(){return wt},wg:function(){return qe},wy:function(){return At},xv:function(){return Be}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){s(o,e,n)}return i}function a(t,e,n,r){if((0,i.mf)(t)){const a=o(t,e,n,r);return a&&(0,i.tI)(a)&&a.catch((t=>{s(t,e,n)})),a}const l=[];for(let i=0;i>>1,i=S(h[r]);if&&h.splice(e,1)}function k(t){(0,i.kJ)(t)?d.push(...t):p&&p.includes(t,t.allowRecurse?g+1:g)||d.push(t),x()}function M(t,e=(c?f+1:0)){for(0;eS(t)-S(e))),g=0;gnull==t.id?1/0:t.id,E=(t,e)=>{const n=S(t)-S(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function T(t){u=!1,c=!0,h.sort(E);i.dG;try{for(f=0;ft.trim()))),e&&(o=n.map(i.He))}let c;let u=r[c=(0,i.hR)(e)]||r[c=(0,i.hR)((0,i._A)(e))];!u&&s&&(u=r[c=(0,i.hR)((0,i.rs)(e))]),u&&a(u,t,6,o);const h=r[c+"Once"];if(h){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,a(h,t,6,o)}}function P(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const a=t.emits;let s={},l=!1;if(!(0,i.mf)(t)){const r=t=>{const n=P(t,e,!0);n&&(l=!0,(0,i.l7)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return a||l?((0,i.kJ)(a)?a.forEach((t=>s[t]=null)):(0,i.l7)(s,a),(0,i.Kn)(t)&&r.set(t,s),s):((0,i.Kn)(t)&&r.set(t,null),null)}function D(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let A=null,L=null;function I(t){const e=A;return A=t,L=t&&t.type.__scopeId||null,e}function N(t){L=t}function j(){L=null}function R(t,e=A,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Je(-1);const i=I(e),o=t(...n);return I(i),r._d&&Je(1),o};return r._n=!0,r._c=!0,r._d=!0,r}function F(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:a,propsOptions:[l],slots:c,attrs:u,emit:h,render:f,renderCache:d,data:p,setupState:g,ctx:m,inheritAttrs:v}=t;let b,y;const _=I(t);try{if(4&n.shapeFlag){const t=o||r;b=gn(f.call(t,t,d,a,g,p,m)),y=u}else{const t=e;0,b=gn(t.length>1?t(a,{attrs:u,slots:c,emit:h}):t(a,null)),y=e.props?u:W(u)}}catch(w){Ye.length=0,s(w,t,1),b=ln(Ve)}let x=b;if(y&&!1!==v){const t=Object.keys(y),{shapeFlag:e}=x;t.length&&7&e&&(l&&t.some(i.tR)&&(y=U(y,l)),x=hn(x,y))}return n.dirs&&(x=hn(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),b=x,I(_),b}const W=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},U=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function z(t,e,n){const{props:r,children:i,component:o}=t,{props:a,children:s,patchFlag:l}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||r!==a&&(r?!a||H(r,a,c):!!a);if(1024&l)return!0;if(16&l)return r?H(r,a,c):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function $(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):k(t)}function Y(t,e){if(kn){let n=kn.provides;const r=kn.parent&&kn.parent.provides;r===n&&(n=kn.provides=Object.create(r)),n[t]=e}else 0}function Z(t,e,n=!1){const r=kn||A;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const q={};function X(t,e,n){return G(t,e,n)}function G(t,e,{immediate:n,deep:s,flush:l,onTrack:c,onTrigger:u}=i.kT){const h=kn;let f,d,p=!1,g=!1;if((0,r.dq)(t)?(f=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(f=()=>t,s=!0):(0,i.kJ)(t)?(g=!0,p=t.some((t=>(0,r.PG)(t)||(0,r.yT)(t))),f=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?Q(t):(0,i.mf)(t)?o(t,h,2):void 0))):f=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return d&&d(),a(t,h,3,[m])}:i.dG,e&&s){const t=f;f=()=>Q(t())}let m=t=>{d=x.onStop=()=>{o(t,h,4)}};if(Pn)return m=i.dG,e?n&&a(e,h,3,[f(),g?[]:void 0,m]):f(),i.dG;let v=g?[]:q;const b=()=>{if(x.active)if(e){const t=x.run();(s||p||(g?t.some(((t,e)=>(0,i.aU)(t,v[e]))):(0,i.aU)(t,v)))&&(d&&d(),a(e,h,3,[t,v===q?void 0:v,m]),v=t)}else x.run()};let y;b.allowRecurse=!!e,"sync"===l?y=b:"post"===l?y=()=>Te(b,h&&h.suspense):(b.pre=!0,h&&(b.id=h.uid),y=()=>_(b));const x=new r.qq(f,y);return e?n?b():v=x.run():"post"===l?Te(x.run.bind(x),h&&h.suspense):x.run(),()=>{x.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,x)}}function J(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?K(r,t):()=>r[t]:t.bind(r,r);let a;(0,i.mf)(e)?a=e:(a=e.handler,n=e);const s=kn;On(this);const l=G(o,a.bind(r),n);return s?On(s):Sn(),l}function K(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{Q(t,e)}));else if((0,i.PO)(t))for(const n in t)Q(t[n],e);return t}function tt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return kt((()=>{t.isMounted=!0})),St((()=>{t.isUnmounting=!0})),t}const et=[Function,Array],nt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(t,{slots:e}){const n=Mn(),i=tt();let o;return()=>{const a=e.default&&ct(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Ve){0,s=e,t=!0;break}}const l=(0,r.IU)(t),{mode:c}=l;if(i.isLeaving)return at(s);const u=st(s);if(!u)return at(s);const h=ot(u,l,i,n);lt(u,h);const f=n.subTree,d=f&&st(f);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(d&&d.type!==Ve&&(!nn(u,d)||p)){const t=ot(d,l,i,n);if(lt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},at(s);"in-out"===c&&u.type!==Ve&&(t.delayLeave=(t,e,n)=>{const r=it(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return s}}},rt=nt;function it(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ot(t,e,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:h,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:b,onAfterAppear:y,onAppearCancelled:_}=e,x=String(t.key),w=it(n,t),k=(t,e)=>{t&&a(t,r,9,e)},M=(t,e)=>{const n=e[1];k(t,e),(0,i.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},O={mode:s,persisted:l,beforeEnter(e){let r=c;if(!n.isMounted){if(!o)return;r=v||c}e._leaveCb&&e._leaveCb(!0);const i=w[x];i&&nn(t,i)&&i.el._leaveCb&&i.el._leaveCb(),k(r,[e])},enter(t){let e=u,r=h,i=f;if(!n.isMounted){if(!o)return;e=b||u,r=y||h,i=_||f}let a=!1;const s=t._enterCb=e=>{a||(a=!0,k(e?i:r,[t]),O.delayedLeave&&O.delayedLeave(),t._enterCb=void 0)};e?M(e,[t,s]):s()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();k(d,[e]);let o=!1;const a=e._leaveCb=n=>{o||(o=!0,r(),k(n?m:g,[e]),e._leaveCb=void 0,w[i]===t&&delete w[i])};w[i]=t,p?M(p,[e,a]):a()},clone(t){return ot(t,e,n,r)}};return O}function at(t){if(ft(t))return t=hn(t),t.children=null,t}function st(t){return ft(t)?t.children?t.children[0]:void 0:t}function lt(t,e){6&t.shapeFlag&&t.component?lt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ct(t,e=!1,n){let r=[],i=0;for(let o=0;o1)for(let o=0;o!!t.type.__asyncLoader;const ft=t=>t.type.__isKeepAlive;RegExp,RegExp;function dt(t,e){return(0,i.kJ)(t)?t.some((t=>dt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function pt(t,e){mt(t,"a",e)}function gt(t,e){mt(t,"da",e)}function mt(t,e,n=kn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(_t(e,r,n),n){let t=n.parent;while(t&&t.parent)ft(t.parent.vnode)&&vt(r,e,n,t),t=t.parent}}function vt(t,e,n,r){const o=_t(e,t,r,!0);Et((()=>{(0,i.Od)(r[e],o)}),n)}function bt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function yt(t){return 128&t.shapeFlag?t.ssContent:t}function _t(t,e,n=kn,i=!1){if(n){const o=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),On(n);const o=a(e,n,t,i);return Sn(),(0,r.lk)(),o});return i?o.unshift(s):o.push(s),s}}const xt=t=>(e,n=kn)=>(!Pn||"sp"===t)&&_t(t,e,n),wt=xt("bm"),kt=xt("m"),Mt=xt("bu"),Ot=xt("u"),St=xt("bum"),Et=xt("um"),Tt=xt("sp"),Ct=xt("rtg"),Pt=xt("rtc");function Dt(t,e=kn){_t("ec",t,e)}function At(t,e){const n=A;if(null===n)return t;const r=Rn(n)||n.proxy,o=t.dirs||(t.dirs=[]);for(let a=0;ae(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!en(t)||t.type!==Ve&&!(t.type===He&&!Bt(t.children))))?t:null}const Vt=t=>t?En(t)?Rn(t)||t.proxy:Vt(t.parent):null,$t=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Vt(t.parent),$root:t=>Vt(t.root),$emit:t=>t.emit,$options:t=>Kt(t),$forceUpdate:t=>t.f||(t.f=()=>_(t.update)),$nextTick:t=>t.n||(t.n=b.bind(t.proxy)),$watch:t=>J.bind(t)}),Yt={get({_:t},e){const{ctx:n,setupState:o,data:a,props:s,accessCache:l,type:c,appContext:u}=t;let h;if("$"!==e[0]){const r=l[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(o!==i.kT&&(0,i.RI)(o,e))return l[e]=1,o[e];if(a!==i.kT&&(0,i.RI)(a,e))return l[e]=2,a[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return l[e]=3,s[e];if(n!==i.kT&&(0,i.RI)(n,e))return l[e]=4,n[e];Zt&&(l[e]=0)}}const f=$t[e];let d,p;return f?("$attrs"===e&&(0,r.j)(t,"get",e),f(t)):(d=c.__cssModules)&&(d=d[e])?d:n!==i.kT&&(0,i.RI)(n,e)?(l[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:a}=t;return o!==i.kT&&(0,i.RI)(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:a}},s){let l;return!!n[s]||t!==i.kT&&(0,i.RI)(t,s)||e!==i.kT&&(0,i.RI)(e,s)||(l=a[0])&&(0,i.RI)(l,s)||(0,i.RI)(r,s)||(0,i.RI)($t,s)||(0,i.RI)(o.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,i.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let Zt=!0;function qt(t){const e=Kt(t),n=t.proxy,o=t.ctx;Zt=!1,e.beforeCreate&&Gt(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:c,provide:u,inject:h,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:m,activated:v,deactivated:b,beforeDestroy:y,beforeUnmount:_,destroyed:x,unmounted:w,render:k,renderTracked:M,renderTriggered:O,errorCaptured:S,serverPrefetch:E,expose:T,inheritAttrs:C,components:P,directives:D,filters:A}=e,L=null;if(h&&Xt(h,o,L,t.appContext.config.unwrapInjectedRef),l)for(const r in l){const t=l[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(Zt=!0,s)for(const r in s){const t=s[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const a=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,l=Un({get:e,set:a});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(c)for(const r in c)Jt(c[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{Y(e,t[e])}))}function I(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(f&&Gt(f,t,"c"),I(wt,d),I(kt,p),I(Mt,g),I(Ot,m),I(pt,v),I(gt,b),I(Dt,S),I(Pt,M),I(Ct,O),I(St,_),I(Et,w),I(Tt,E),(0,i.kJ)(T))if(T.length){const e=t.exposed||(t.exposed={});T.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=C&&(t.inheritAttrs=C),P&&(t.components=P),D&&(t.directives=D)}function Xt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=re(t));for(const a in t){const n=t[a];let s;s=(0,i.Kn)(n)?"default"in n?Z(n.from||a,n.default,!0):Z(n.from||a):Z(n),(0,r.dq)(s)&&o?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:t=>s.value=t}):e[a]=s}}function Gt(t,e,n){a((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Jt(t,e,n,r){const o=r.includes(".")?K(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&X(o,n)}else if((0,i.mf)(t))X(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Jt(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&X(o,r,t)}else 0}function Kt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=t.appContext,l=a.get(e);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach((t=>Qt(c,t,s,!0))),Qt(c,e,s)):c=e,(0,i.Kn)(e)&&a.set(e,c),c}function Qt(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&Qt(t,o,n,!0),i&&i.forEach((e=>Qt(t,e,n,!0)));for(const a in e)if(r&&"expose"===a);else{const r=te[a]||n&&n[a];t[a]=r?r(t[a],e[a]):e[a]}return t}const te={data:ee,props:oe,emits:oe,methods:oe,computed:oe,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:oe,directives:oe,watch:ae,provide:ee,inject:ne};function ee(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function ne(t,e){return oe(re(t),re(e))}function re(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&l){let r;ce(t,e,a,s)&&(h=!0);for(const o in c)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(a[o]=ue(u,c,o,void 0,t,!0)):delete a[o]);if(s!==c)for(const t in s)e&&(0,i.RI)(e,t)||(delete s[t],h=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let r=0;r{c=!0;const[n,r]=he(t,e,!0);(0,i.l7)(s,n),r&&l.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!a&&!c)return(0,i.Kn)(t)&&r.set(t,i.Z6),i.Z6;if((0,i.kJ)(a))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&l.push(e)}}}}const u=[s,l];return(0,i.Kn)(t)&&r.set(t,u),u}function fe(t){return"$"!==t[0]}function de(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function pe(t,e){return de(t)===de(e)}function ge(t,e){return(0,i.kJ)(e)?e.findIndex((e=>pe(e,t))):(0,i.mf)(e)&&pe(e,t)?0:-1}const me=t=>"_"===t[0]||"$stable"===t,ve=t=>(0,i.kJ)(t)?t.map(gn):[gn(t)],be=(t,e,n)=>{if(e._n)return e;const r=R(((...t)=>ve(e(...t))),n);return r._c=!1,r},ye=(t,e,n)=>{const r=t._ctx;for(const o in t){if(me(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=be(o,n,r);else if(null!=n){0;const t=ve(n);e[o]=()=>t}}},_e=(t,e)=>{const n=ve(e);t.slots.default=()=>n},xe=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):ye(e,t.slots={})}else t.slots={},e&&_e(t,e);(0,i.Nj)(t.slots,rn,1)},we=(t,e,n)=>{const{vnode:r,slots:o}=t;let a=!0,s=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(a=!e.$stable,ye(e,o)),s=e}else e&&(_e(t,e),s={default:1});if(a)for(const i in o)me(i)||i in s||delete o[i]};function ke(){return{app:null,config:{isNativeTag:i.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Me=0;function Oe(t,e){return function(n,r=null){(0,i.mf)(n)||(n=Object.assign({},n)),null==r||(0,i.Kn)(r)||(r=null);const o=ke(),a=new Set;let s=!1;const l=o.app={_uid:Me++,_component:n,_props:r,_container:null,_context:o,_instance:null,version:Hn,get config(){return o.config},set config(t){0},use(t,...e){return a.has(t)||(t&&(0,i.mf)(t.install)?(a.add(t),t.install(l,...e)):(0,i.mf)(t)&&(a.add(t),t(l,...e))),l},mixin(t){return o.mixins.includes(t)||o.mixins.push(t),l},component(t,e){return e?(o.components[t]=e,l):o.components[t]},directive(t,e){return e?(o.directives[t]=e,l):o.directives[t]},mount(i,a,c){if(!s){0;const u=ln(n,r);return u.appContext=o,a&&e?e(u,i):t(u,i,c),s=!0,l._container=i,i.__vue_app__=l,Rn(u.component)||u.component.proxy}},unmount(){s&&(t(null,l._container),delete l._container.__vue_app__)},provide(t,e){return o.provides[t]=e,l}};return l}}function Se(t,e,n,a,s=!1){if((0,i.kJ)(t))return void t.forEach(((t,r)=>Se(t,e&&((0,i.kJ)(e)?e[r]:e),n,a,s)));if(ht(a)&&!s)return;const l=4&a.shapeFlag?Rn(a.component)||a.component.proxy:a.el,c=s?null:l,{i:u,r:h}=t;const f=e&&e.r,d=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=f&&f!==h&&((0,i.HD)(f)?(d[f]=null,(0,i.RI)(p,f)&&(p[f]=null)):(0,r.dq)(f)&&(f.value=null)),(0,i.mf)(h))o(h,u,12,[c,d]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const r=()=>{if(t.f){const n=e?d[h]:h.value;s?(0,i.kJ)(n)&&(0,i.Od)(n,l):(0,i.kJ)(n)?n.includes(l)||n.push(l):e?(d[h]=[l],(0,i.RI)(p,h)&&(p[h]=d[h])):(h.value=[l],t.k&&(d[t.k]=h.value))}else e?(d[h]=c,(0,i.RI)(p,h)&&(p[h]=c)):o&&(h.value=c,t.k&&(d[t.k]=c))};c?(r.id=-1,Te(r,n)):r()}else 0}}function Ee(){}const Te=$;function Ce(t){return Pe(t)}function Pe(t,e){Ee();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:c,createComment:u,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=i.dG,cloneNode:m,insertStaticContent:v}=t,b=(t,e,n,r=null,i=null,o=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!nn(t,e)&&(r=Q(t),q(t,i,o,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:c,ref:u,shapeFlag:h}=e;switch(c){case Be:y(t,e,n,r);break;case Ve:x(t,e,n,r);break;case $e:null==t&&k(e,n,r,a);break;case He:N(t,e,n,r,i,o,a,s,l);break;default:1&h?T(t,e,n,r,i,o,a,s,l):6&h?j(t,e,n,r,i,o,a,s,l):(64&h||128&h)&&c.process(t,e,n,r,i,o,a,s,l,et)}null!=u&&i&&Se(u,t&&t.ref,o,e||t,!e)},y=(t,e,n,r)=>{if(null==t)o(e.el=c(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},x=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},k=(t,e,n,r)=>{[t.el,t.anchor]=v(t.children,e,n,r,t.el,t.anchor)},S=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},E=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),a(t),t=n;a(e)},T=(t,e,n,r,i,o,a,s,l)=>{a=a||"svg"===e.type,null==t?C(e,n,r,i,o,a,s,l):A(t,e,i,o,a,s,l)},C=(t,e,n,r,a,c,u,h)=>{let d,p;const{type:g,props:v,shapeFlag:b,transition:y,patchFlag:_,dirs:x}=t;if(t.el&&void 0!==m&&-1===_)d=t.el=m(t.el);else{if(d=t.el=l(t.type,c,v&&v.is,v),8&b?f(d,t.children):16&b&&D(t.children,d,null,r,a,c&&"foreignObject"!==g,u,h),x&&Lt(t,null,r,"created"),v){for(const e in v)"value"===e||(0,i.Gg)(e)||s(d,e,null,v[e],c,t.children,r,a,K);"value"in v&&s(d,"value",null,v.value),(p=v.onVnodeBeforeMount)&&yn(p,r,t)}P(d,t,t.scopeId,u,r)}x&&Lt(t,null,r,"beforeMount");const w=(!a||a&&!a.pendingBranch)&&y&&!y.persisted;w&&y.beforeEnter(d),o(d,e,n),((p=v&&v.onVnodeMounted)||w||x)&&Te((()=>{p&&yn(p,r,t),w&&y.enter(d),x&&Lt(t,null,r,"mounted")}),a)},P=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let c=l;c{const c=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&De(n,!1),(m=g.onVnodeBeforeUpdate)&&yn(m,n,e,t),d&&Lt(e,t,n,"beforeUpdate"),n&&De(n,!0);const v=o&&"foreignObject"!==e.type;if(h?L(t.dynamicChildren,h,c,n,r,v,a):l||V(t,e,c,null,n,r,v,a,!1),u>0){if(16&u)I(c,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&s(c,"class",null,g.class,o),4&u&&s(c,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&yn(m,n,e,t),d&&Lt(e,t,n,"updated")}),r)},L=(t,e,n,r,i,o,a)=>{for(let s=0;s{if(n!==r){for(const c in r){if((0,i.Gg)(c))continue;const u=r[c],h=n[c];u!==h&&"value"!==c&&s(t,c,h,u,l,e.children,o,a,K)}if(n!==i.kT)for(const c in n)(0,i.Gg)(c)||c in r||s(t,c,n[c],null,l,e.children,o,a,K);"value"in r&&s(t,"value",n.value,r.value)}},N=(t,e,n,r,i,a,s,l,u)=>{const h=e.el=t?t.el:c(""),f=e.anchor=t?t.anchor:c("");let{patchFlag:d,dynamicChildren:p,slotScopeIds:g}=e;g&&(l=l?l.concat(g):g),null==t?(o(h,n,r),o(f,n,r),D(e.children,n,f,i,a,s,l,u)):d>0&&64&d&&p&&t.dynamicChildren?(L(t.dynamicChildren,p,n,i,a,s,l),(null!=e.key||i&&e===i.subTree)&&Ae(t,e,!0)):V(t,e,n,f,i,a,s,l,u)},j=(t,e,n,r,i,o,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,a,l):R(e,n,r,i,o,a,l):W(t,e,l)},R=(t,e,n,r,i,o,a)=>{const s=t.component=wn(t,r,i);if(ft(t)&&(s.ctx.renderer=et),Dn(s),s.asyncDep){if(i&&i.registerDep(s,U),!t.el){const t=s.subTree=ln(Ve);x(null,t,e,n)}}else U(s,t,e,n,i,o,a)},W=(t,e,n)=>{const r=e.component=t.component;if(z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void H(r,e,n);r.next=e,w(r.update),r.update()}else e.el=t.el,r.vnode=e},U=(t,e,n,o,a,s,l)=>{const c=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:c,vnode:u}=t,h=n;0,De(t,!1),n?(n.el=u.el,H(t,n,l)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&yn(e,c,n,u),De(t,!0);const f=F(t);0;const p=t.subTree;t.subTree=f,b(p,f,d(p.el),Q(p),t,a,s),n.el=f.el,null===h&&B(t,f.el),o&&Te(o,a),(e=n.props&&n.props.onVnodeUpdated)&&Te((()=>yn(e,c,n,u)),a)}else{let r;const{el:l,props:c}=e,{bm:u,m:h,parent:f}=t,d=ht(e);if(De(t,!1),u&&(0,i.ir)(u),!d&&(r=c&&c.onVnodeBeforeMount)&&yn(r,f,e),De(t,!0),l&&rt){const n=()=>{t.subTree=F(t),rt(l,t.subTree,t,a,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=F(t);0,b(null,r,n,o,t,a,s),e.el=r.el}if(h&&Te(h,a),!d&&(r=c&&c.onVnodeMounted)){const t=e;Te((()=>yn(r,f,t)),a)}(256&e.shapeFlag||f&&ht(f.vnode)&&256&f.vnode.shapeFlag)&&t.a&&Te(t.a,a),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(c,(()=>_(h)),t.scope),h=t.update=()=>u.run();h.id=t.uid,De(t,!0),h()},H=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,le(t,e.props,i,n),we(t,e.children,n),(0,r.Jd)(),M(),(0,r.lk)()},V=(t,e,n,r,i,o,a,s,l=!1)=>{const c=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:p}=e;if(d>0){if(128&d)return void Y(c,h,n,r,i,o,a,s,l);if(256&d)return void $(c,h,n,r,i,o,a,s,l)}8&p?(16&u&&K(c,i,o),h!==c&&f(n,h)):16&u?16&p?Y(c,h,n,r,i,o,a,s,l):K(c,i,o,!0):(8&u&&f(n,""),16&p&&D(h,n,r,i,o,a,s,l))},$=(t,e,n,r,o,a,s,l,c)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,f=Math.min(u,h);let d;for(d=0;dh?K(t,o,a,!0,!1,f):D(e,n,r,o,a,s,l,c,f)},Y=(t,e,n,r,o,a,s,l,c)=>{let u=0;const h=e.length;let f=t.length-1,d=h-1;while(u<=f&&u<=d){const r=t[u],i=e[u]=c?mn(e[u]):gn(e[u]);if(!nn(r,i))break;b(r,i,n,null,o,a,s,l,c),u++}while(u<=f&&u<=d){const r=t[f],i=e[d]=c?mn(e[d]):gn(e[d]);if(!nn(r,i))break;b(r,i,n,null,o,a,s,l,c),f--,d--}if(u>f){if(u<=d){const t=d+1,i=td)while(u<=f)q(t[u],o,a,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=d;u++){const t=e[u]=c?mn(e[u]):gn(e[u]);null!=t.key&&m.set(t.key,u)}let v,y=0;const _=d-g+1;let x=!1,w=0;const k=new Array(_);for(u=0;u<_;u++)k[u]=0;for(u=p;u<=f;u++){const r=t[u];if(y>=_){q(r,o,a,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(v=g;v<=d;v++)if(0===k[v-g]&&nn(r,e[v])){i=v;break}void 0===i?q(r,o,a,!0):(k[i-g]=u+1,i>=w?w=i:x=!0,b(r,e[i],n,null,o,a,s,l,c),y++)}const M=x?Le(k):i.Z6;for(v=M.length-1,u=_-1;u>=0;u--){const t=g+u,i=e[t],f=t+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=t;if(6&u)return void Z(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void s.move(t,e,n,et);if(s===He){o(a,e,n);for(let t=0;tl.enter(a)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=l,s=()=>o(a,e,n),c=()=>{t(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else o(a,e,n)},q=(t,e,n,r=!1,i=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:h,dirs:f}=t;if(null!=s&&Se(s,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const d=1&u&&f,p=!ht(t);let g;if(p&&(g=a&&a.onVnodeBeforeUnmount)&&yn(g,e,t),6&u)J(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);d&&Lt(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,et,r):c&&(o!==He||h>0&&64&h)?K(c,e,n,!1,!0):(o===He&&384&h||!i&&16&u)&&K(l,e,n),r&&X(t)}(p&&(g=a&&a.onVnodeUnmounted)||d)&&Te((()=>{g&&yn(g,e,t),d&&Lt(t,null,e,"unmounted")}),n)},X=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===He)return void G(n,r);if(e===$e)return void E(t);const o=()=>{a(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,a=()=>e(n,o);r?r(t.el,o,a):a()}else o()},G=(t,e)=>{let n;while(t!==e)n=p(t),a(t),t=n;a(e)},J=(t,e,n)=>{const{bum:r,scope:o,update:a,subTree:s,um:l}=t;r&&(0,i.ir)(r),o.stop(),a&&(a.active=!1,q(s,t,e,n)),l&&Te(l,e),Te((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},K=(t,e,n,r=!1,i=!1,o=0)=>{for(let a=o;a6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&q(e._vnode,null,null,!0):b(e._vnode||null,t,e,null,null,null,n),M(),O(),e._vnode=t},et={p:b,um:q,m:Z,r:X,mt:R,mc:D,pc:V,pbc:L,n:Q,o:t};let nt,rt;return e&&([nt,rt]=e(et)),{render:tt,hydrate:nt,createApp:Oe(tt,nt)}}function De({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Ae(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[s]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,a=n[o-1];while(o-- >0)n[o]=a,a=e[a];return n}const Ie=t=>t.__isTeleport,Ne=t=>t&&(t.disabled||""===t.disabled),je=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Re=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},Fe={__isTeleport:!0,process(t,e,n,r,i,o,a,s,l,c){const{mc:u,pc:h,pbc:f,o:{insert:d,querySelector:p,createText:g,createComment:m}}=c,v=Ne(e.props);let{shapeFlag:b,children:y,dynamicChildren:_}=e;if(null==t){const t=e.el=g(""),c=e.anchor=g("");d(t,n,r),d(c,n,r);const h=e.target=Re(e.props,p),f=e.targetAnchor=g("");h&&(d(f,h),a=a||je(h));const m=(t,e)=>{16&b&&u(y,t,e,i,o,a,s,l)};v?m(n,c):h&&m(h,f)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,d=e.targetAnchor=t.targetAnchor,g=Ne(t.props),m=g?n:u,b=g?r:d;if(a=a||je(u),_?(f(t.dynamicChildren,_,m,i,o,a,s),Ae(t,e,!0)):l||h(t,e,m,b,i,o,a,s,!1),v)g||We(e,n,r,c,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Re(e.props,p);t&&We(e,t,null,c,0)}else g&&We(e,u,d,c,1)}},remove(t,e,n,r,{um:i,o:{remove:o}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:u,target:h,props:f}=t;if(h&&o(u),(a||!Ne(f))&&(o(c),16&s))for(let d=0;d0?Ze||i.Z6:null,Xe(),Ge>0&&Ze&&Ze.push(t),t}function Qe(t,e,n,r,i,o){return Ke(sn(t,e,n,r,i,o,!0))}function tn(t,e,n,r,i){return Ke(ln(t,e,n,r,i,!0))}function en(t){return!!t&&!0===t.__v_isVNode}function nn(t,e){return t.type===e.type&&t.key===e.key}const rn="__vInternal",on=({key:t})=>null!=t?t:null,an=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:A,r:t,k:e,f:!!n}:t:null;function sn(t,e=null,n=null,r=0,o=null,a=(t===He?0:1),s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&on(e),ref:e&&an(e),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return l?(vn(c,n),128&a&&t.normalize(c)):n&&(c.shapeFlag|=(0,i.HD)(n)?8:16),Ge>0&&!s&&Ze&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&Ze.push(c),c}const ln=cn;function cn(t,e=null,n=null,o=0,a=null,s=!1){if(t&&t!==Rt||(t=Ve),en(t)){const r=hn(t,e,!0);return n&&vn(r,n),Ge>0&&!s&&Ze&&(6&r.shapeFlag?Ze[Ze.indexOf(t)]=r:Ze.push(r)),r.patchFlag|=-2,r}if(Wn(t)&&(t=t.__vccOpts),e){e=un(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const l=(0,i.HD)(t)?1:V(t)?128:Ie(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return sn(t,e,n,o,a,l,s,!0)}function un(t){return t?(0,r.X3)(t)||rn in t?(0,i.l7)({},t):t:null}function hn(t,e,n=!1){const{props:r,ref:o,patchFlag:a,children:s}=t,l=e?bn(r||{},e):r,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&on(l),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(an(e)):[o,an(e)]:an(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==He?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&hn(t.ssContent),ssFallback:t.ssFallback&&hn(t.ssFallback),el:t.el,anchor:t.anchor};return c}function fn(t=" ",e=0){return ln(Be,null,t,e)}function dn(t,e){const n=ln($e,null,t);return n.staticCount=e,n}function pn(t="",e=!1){return e?(qe(),tn(Ve,null,t)):ln(Ve,null,t)}function gn(t){return null==t||"boolean"===typeof t?ln(Ve):(0,i.kJ)(t)?ln(He,null,t.slice()):"object"===typeof t?mn(t):ln(Be,null,String(t))}function mn(t){return null===t.el||t.memo?t:hn(t)}function vn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),vn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||rn in e?3===r&&A&&(1===A.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=A}}else(0,i.mf)(e)?(e={default:e,_ctx:A},n=32):(e=String(e),64&r?(n=16,e=[fn(e)]):n=8);t.children=e,t.shapeFlag|=n}function bn(...t){const e={};for(let n=0;nkn||A,On=t=>{kn=t,t.scope.on()},Sn=()=>{kn&&kn.scope.off(),kn=null};function En(t){return 4&t.vnode.shapeFlag}let Tn,Cn,Pn=!1;function Dn(t,e=!1){Pn=e;const{props:n,children:r}=t.vnode,i=En(t);se(t,n,i,e),xe(t,r);const o=i?An(t,e):void 0;return Pn=!1,o}function An(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Yt));const{setup:a}=n;if(a){const n=t.setupContext=a.length>1?jn(t):null;On(t),(0,r.Jd)();const l=o(a,t,0,[t.props,n]);if((0,r.lk)(),Sn(),(0,i.tI)(l)){if(l.then(Sn,Sn),e)return l.then((n=>{Ln(t,n,e)})).catch((e=>{s(e,t,0)}));t.asyncDep=l}else Ln(t,l,e)}else In(t,e)}function Ln(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),In(t,n)}function In(t,e,n){const o=t.type;if(!t.render){if(!e&&Tn&&!o.render){const e=o.template||Kt(t).template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:s}=o,l=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:a},r),s);o.render=Tn(e,l)}}t.render=o.render||i.dG,Cn&&Cn(t)}On(t),(0,r.Jd)(),qt(t),(0,r.lk)(),Sn()}function Nn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function jn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Nn(t))},slots:t.slots,emit:t.emit,expose:e}}function Rn(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in $t?$t[n](t):void 0}}))}function Fn(t,e=!0){return(0,i.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function Wn(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Un=(t,e)=>(0,r.Fl)(t,e,Pn);function zn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?en(e)?ln(t,null,[e]):ln(t,e):ln(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&en(n)&&(n=[n]),ln(t,e,n))}Symbol("");const Hn="3.2.39"},9963:function(t,e,n){"use strict";n.d(e,{D2:function(){return vt},YZ:function(){return ut},bM:function(){return at},iM:function(){return gt},nr:function(){return nt},ri:function(){return wt},sY:function(){return xt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?a.createElementNS(o,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,i,o){const a=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{s.innerHTML=r?`${t}`:t;const i=s.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)f(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&f(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function f(t,e,n){if((0,r.kJ)(n))n.forEach((n=>f(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const d=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;r{let t=Date.now,e=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(t=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);e=!!(n&&Number(n[1])<=53)}return[t,e]})();let x=0;const w=Promise.resolve(),k=()=>{x=0},M=()=>x||(w.then(k),x=y());function O(t,e,n,r){t.addEventListener(e,n,r)}function S(t,e,n,r){t.removeEventListener(e,n,r)}function E(t,e,n,r,i=null){const o=t._vei||(t._vei={}),a=o[e];if(r&&a)a.value=r;else{const[n,s]=C(e);if(r){const a=o[e]=P(r,i);O(t,n,a,s)}else a&&(S(t,n,a,s),o[e]=void 0)}}const T=/(?:Once|Passive|Capture)$/;function C(t){let e;if(T.test(t)){let n;e={};while(n=t.match(T))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}const n=":"===t[2]?t.slice(3):(0,r.rs)(t.slice(2));return[n,e]}function P(t,e){const n=t=>{const r=t.timeStamp||y();(_||r>=n.attached-1)&&(0,i.$d)(D(t,n.value),e,5,[t])};return n.value=t,n.attached=M(),n}function D(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const A=/^on[a-z]/,L=(t,e,n,i,o=!1,a,s,l,h)=>{"class"===e?c(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||E(t,e,n,i,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):I(t,e,i,o))?b(t,e,i,a,s,l,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),v(t,e,i,o))};function I(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&A.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!A.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const N="transition",j="animation",R=(t,{slots:e})=>(0,i.h)(i.P$,z(t),e);R.displayName="Transition";const F={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},W=(R.props=(0,r.l7)({},i.P$.props,F),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),U=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function z(t){const e={};for(const r in t)r in F||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=s,appearToClass:h=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=H(o),m=g&&g[0],v=g&&g[1],{onBeforeEnter:b,onEnter:y,onEnterCancelled:_,onLeave:x,onLeaveCancelled:w,onBeforeAppear:k=b,onAppear:M=y,onAppearCancelled:O=_}=e,S=(t,e,n)=>{$(t,e?h:l),$(t,e?u:s),n&&n()},E=(t,e)=>{t._isLeaving=!1,$(t,f),$(t,p),$(t,d),e&&e()},T=t=>(e,n)=>{const r=t?M:y,o=()=>S(e,t,n);W(r,[e,o]),Y((()=>{$(e,t?c:a),V(e,t?h:l),U(r)||q(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){W(b,[t]),V(t,a),V(t,s)},onBeforeAppear(t){W(k,[t]),V(t,c),V(t,u)},onEnter:T(!1),onAppear:T(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>E(t,e);V(t,f),K(),V(t,d),Y((()=>{t._isLeaving&&($(t,f),V(t,p),U(x)||q(t,i,v,n))})),W(x,[t,n])},onEnterCancelled(t){S(t,!1),W(_,[t])},onAppearCancelled(t){S(t,!0),W(O,[t])},onLeaveCancelled(t){E(t),W(w,[t])}})}function H(t){if(null==t)return null;if((0,r.Kn)(t))return[B(t.enter),B(t.leave)];{const e=B(t);return[e,e]}}function B(t){const e=(0,r.He)(t);return e}function V(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function $(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Y(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let Z=0;function q(t,e,n,r){const i=t._endId=++Z,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:a,timeout:s,propCount:l}=X(t,e);if(!a)return r();const c=a+"end";let u=0;const h=()=>{t.removeEventListener(c,f),o()},f=e=>{e.target===t&&++u>=l&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(N+"Delay"),o=r(N+"Duration"),a=G(i,o),s=r(j+"Delay"),l=r(j+"Duration"),c=G(s,l);let u=null,h=0,f=0;e===N?a>0&&(u=N,h=a,f=o.length):e===j?c>0&&(u=j,h=c,f=l.length):(h=Math.max(a,c),u=h>0?a>c?N:j:null,f=u?u===N?o.length:l.length:0);const d=u===N&&/\b(transform|all)(,|$)/.test(n[N+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:d}}function G(t,e){while(t.lengthJ(e)+J(t[n]))))}function J(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function K(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function tt(t){t.target.composing=!0}function et(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const nt={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=Q(o);const a=i||o.props&&"number"===o.props.type;O(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n&&(i=i.trim()),a&&(i=(0,r.He)(i)),t._assign(i)})),n&&O(t,"change",(()=>{t.value=t.value.trim()})),e||(O(t,"compositionstart",tt),O(t,"compositionend",et),O(t,"change",et))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},a){if(t._assign=Q(a),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}},rt={deep:!0,created(t,e,n){t._assign=Q(n),O(t,"change",(()=>{const e=t._modelValue,n=lt(t),i=t.checked,o=t._assign;if((0,r.kJ)(e)){const t=(0,r.hq)(e,n),a=-1!==t;if(i&&!a)o(e.concat(n));else if(!i&&a){const n=[...e];n.splice(t,1),o(n)}}else if((0,r.DM)(e)){const t=new Set(e);i?t.add(n):t.delete(n),o(t)}else o(ct(t,i))}))},mounted:it,beforeUpdate(t,e,n){t._assign=Q(n),it(t,e,n)}};function it(t,{value:e,oldValue:n},i){t._modelValue=e,(0,r.kJ)(e)?t.checked=(0,r.hq)(e,i.props.value)>-1:(0,r.DM)(e)?t.checked=e.has(i.props.value):e!==n&&(t.checked=(0,r.WV)(e,ct(t,!0)))}const ot={created(t,{value:e},n){t.checked=(0,r.WV)(e,n.props.value),t._assign=Q(n),O(t,"change",(()=>{t._assign(lt(t))}))},beforeUpdate(t,{value:e,oldValue:n},i){t._assign=Q(i),e!==n&&(t.checked=(0,r.WV)(e,i.props.value))}},at={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);O(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(lt(t)):lt(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=Q(i)},mounted(t,{value:e}){st(t,e)},beforeUpdate(t,e,n){t._assign=Q(n)},updated(t,{value:e}){st(t,e)}};function st(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(a);else if((0,r.WV)(lt(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function lt(t){return"_value"in t?t._value:t.value}function ct(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const ut={created(t,e,n){ft(t,e,n,null,"created")},mounted(t,e,n){ft(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){ft(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){ft(t,e,n,r,"updated")}};function ht(t,e){switch(t){case"SELECT":return at;case"TEXTAREA":return nt;default:switch(e){case"checkbox":return rt;case"radio":return ot;default:return nt}}}function ft(t,e,n,r,i){const o=ht(t.tagName,n.props&&n.props.type),a=o[i];a&&a(t,e,n,r)}const dt=["ctrl","shift","alt","meta"],pt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>dt.some((n=>t[`${n}Key`]&&!e.includes(n)))},gt=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||mt[t]===i))?t(n):void 0};const bt=(0,r.l7)({patchProp:L},l);let yt;function _t(){return yt||(yt=(0,i.Us)(bt))}const xt=(...t)=>{_t().render(...t)},wt=(...t)=>{const e=_t().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=kt(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},e};function kt(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return d},DM:function(){return A},E9:function(){return rt},F7:function(){return M},Gg:function(){return V},HD:function(){return N},He:function(){return et},Kn:function(){return R},NO:function(){return w},Nj:function(){return tt},Od:function(){return E},PO:function(){return H},Pq:function(){return s},RI:function(){return C},S0:function(){return B},W7:function(){return z},WV:function(){return g},Z6:function(){return _},_A:function(){return Z},_N:function(){return D},aU:function(){return K},dG:function(){return x},e1:function(){return o},fY:function(){return r},hR:function(){return J},hq:function(){return m},ir:function(){return Q},j5:function(){return c},kC:function(){return G},kJ:function(){return P},kT:function(){return y},l7:function(){return S},mf:function(){return I},rs:function(){return X},tI:function(){return F},tR:function(){return O},yA:function(){return l},yk:function(){return j},zw:function(){return v}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);const a="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",s=r(a);function l(t){return!!t||""===t}function c(t){if(P(t)){const e={};for(let n=0;n{if(t){const n=t.split(h);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function d(t){let e="";if(N(t))e=t;else if(P(t))for(let n=0;ng(t,e)))}const v=t=>N(t)?t:null==t?"":P(t)||R(t)&&(t.toString===W||!I(t.toString))?JSON.stringify(t,b,2):String(t),b=(t,e)=>e&&e.__v_isRef?b(t,e.value):D(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:A(e)?{[`Set(${e.size})`]:[...e.values()]}:!R(e)||P(e)||H(e)?e:String(e),y={},_=[],x=()=>{},w=()=>!1,k=/^on[^a-z]/,M=t=>k.test(t),O=t=>t.startsWith("onUpdate:"),S=Object.assign,E=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},T=Object.prototype.hasOwnProperty,C=(t,e)=>T.call(t,e),P=Array.isArray,D=t=>"[object Map]"===U(t),A=t=>"[object Set]"===U(t),L=t=>"[object Date]"===U(t),I=t=>"function"===typeof t,N=t=>"string"===typeof t,j=t=>"symbol"===typeof t,R=t=>null!==t&&"object"===typeof t,F=t=>R(t)&&I(t.then)&&I(t.catch),W=Object.prototype.toString,U=t=>W.call(t),z=t=>U(t).slice(8,-1),H=t=>"[object Object]"===U(t),B=t=>N(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,V=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Y=/-(\w)/g,Z=$((t=>t.replace(Y,((t,e)=>e?e.toUpperCase():"")))),q=/\B([A-Z])/g,X=$((t=>t.replace(q,"-$1").toLowerCase())),G=$((t=>t.charAt(0).toUpperCase()+t.slice(1))),J=$((t=>t?`on${G(t)}`:"")),K=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const rt=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},4366:function(t,e,n){"use strict";n.d(e,{tu:function(){return Wt},Mu:function(){return W}});const r=t=>0===Object.keys(t).length,i=(t,e)=>t.push.apply(t,e),o=(t,e)=>{const n=t.split("");return n.map((t=>e[t]||t)).join("")},a=t=>t.sort(((t,e)=>t.i-e.i||t.j-e.j)),s=t=>{const e={};let n=1;return t.forEach((t=>{e[t]=n,n+=1})),e};var l={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const c=2050,u=1e3,h=l,f=10,d=1e4,p=10,g=50,m=20,v=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,b=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,_=/^[^a-z\xdf-\xff]+$/,x=/^[a-z\xdf-\xff]+$/,w=/^[^A-Z\xbf-\xdf]+$/,k=/[a-z\xdf-\xff]/,M=/[A-Z\xbf-\xdf]/,O=/[^A-Za-z\xbf-\xdf]/gi,S=/^\d+$/,E=(new Date).getFullYear(),T={recentYear:/19\d\d|200\d|201\d|202\d/g};class C{match({password:t}){const e=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],n=this.filterNoise(e);return a(n)}getMatchesWithSeparator(t){const e=[],n=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let r=0;r<=Math.abs(t.length-6);r+=1)for(let i=r+5;i<=r+9;i+=1){if(i>=t.length)break;const o=t.slice(r,+i+1||9e9),a=n.exec(o);if(null!=a){const t=this.mapIntegersToDayMonthYear([parseInt(a[1],10),parseInt(a[3],10),parseInt(a[4],10)]);null!=t&&e.push({pattern:"date",token:o,i:r,j:i,separator:a[2],year:t.year,month:t.month,day:t.day})}}return e}getMatchesWithoutSeparator(t){const e=[],n=/^\d{4,8}$/,r=t=>Math.abs(t.year-E);for(let i=0;i<=Math.abs(t.length-4);i+=1)for(let o=i+3;o<=i+7;o+=1){if(o>=t.length)break;const a=t.slice(i,+o+1||9e9);if(n.exec(a)){const t=[],n=a.length,s=h[n];if(s.forEach((([e,n])=>{const r=this.mapIntegersToDayMonthYear([parseInt(a.slice(0,e),10),parseInt(a.slice(e,n),10),parseInt(a.slice(n),10)]);null!=r&&t.push(r)})),t.length>0){let n=t[0],s=r(t[0]);t.slice(1).forEach((t=>{const e=r(t);e{let n=!1;const r=t.length;for(let i=0;i=e.j){n=!0;break}}return!n}))}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let e=0,n=0,r=0;for(let i=0,o=t.length;i99&&oc)return null;o>31&&(n+=1),o>12&&(e+=1),o<=0&&(r+=1)}return n>=2||3===e||r>=2?null:this.getDayMonth(t)}getDayMonth(t){const e=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],n=e.length;for(let r=0;r=1&&r<=31&&i>=1&&i<=12)return{day:r,month:i}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const P=new Uint32Array(65536),D=(t,e)=>{const n=t.length,r=e.length,i=1<{const n=e.length,r=t.length,i=[],o=[],a=Math.ceil(n/32),s=Math.ceil(r/32);for(let p=0;p>>t%32&1,l=i[t/32|0]>>>t%32&1,c=n|a,u=((n|l)&s)+s^s|n|l;let h=a|~(u|s),f=s&u;h>>>31^r&&(o[t/32|0]^=1<>>31^l&&(i[t/32|0]^=1<>>p%32&1,a=i[p/32|0]>>>p%32&1,s=t|c,l=((t|a)&u)+u^u|t|a;let h=c|~(l|u),f=u&l;d+=h>>>r%32-1&1,d-=f>>>r%32-1&1,h>>>31^n&&(o[p/32|0]^=1<>>31^a&&(i[p/32|0]^=1<{if(t.length{const r=t.length<=e.length,i=t.length<=n,o=r||i;return o?Math.ceil(t.length/4):n},N=(t,e,n)=>{let r=0;const i=Object.keys(e).find((e=>{const i=I(t,e,n),o=L(t,e),a=o<=i;return a&&(r=o),a}));return i?{levenshteinDistance:r,levenshteinDistanceEntry:i}:{}};var j={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},R={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class F{constructor(){this.matchers={},this.l33tTable=j,this.dictionary={userInputs:[]},this.rankedDictionaries={},this.translations=R,this.graphs={},this.availableGraphs=[],this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),void 0!==t.useLevenshteinDistance&&(this.useLevenshteinDistance=t.useLevenshteinDistance),void 0!==t.levenshteinThreshold&&(this.levenshteinThreshold=t.levenshteinThreshold)}setTranslations(t){if(!this.checkCustomTranslations(t))throw new Error("Invalid translations object fallback to keys");this.translations=t}checkCustomTranslations(t){let e=!0;return Object.keys(R).forEach((n=>{if(n in t){const r=n;Object.keys(R[r]).forEach((n=>{n in t[r]||(e=!1)}))}else e=!1})),e}setRankedDictionaries(){const t={};Object.keys(this.dictionary).forEach((e=>{t[e]=this.getRankedDictionary(e)})),this.rankedDictionaries=t}getRankedDictionary(t){const e=this.dictionary[t];if("userInputs"===t){const t=[];return e.forEach((e=>{const n=typeof e;"string"!==n&&"number"!==n&&"boolean"!==n||t.push(e.toString().toLowerCase())})),s(t)}return s(e)}extendUserInputsDictionary(t){this.dictionary.userInputs?this.dictionary.userInputs=[...this.dictionary.userInputs,...t]:this.dictionary.userInputs=t,this.rankedDictionaries.userInputs=this.getRankedDictionary("userInputs")}addMatcher(t,e){this.matchers[t]?console.info("Matcher already exists"):this.matchers[t]=e}}const W=new F;class U{constructor(t){this.defaultMatch=t}match({password:t}){const e=t.split("").reverse().join("");return this.defaultMatch({password:e}).map((e=>({...e,token:e.token.split("").reverse().join(""),reversed:!0,i:t.length-1-e.j,j:t.length-1-e.i})))}}class z{constructor(t){this.defaultMatch=t}match({password:t}){const e=[],n=this.enumerateL33tSubs(this.relevantL33tSubtable(t,W.l33tTable));for(let i=0;i{const r=t.slice(n.i,+n.j+1||9e9);if(r.toLowerCase()!==n.matchedWord){const t={};Object.keys(a).forEach((e=>{const n=a[e];-1!==r.indexOf(e)&&(t[e]=n)}));const i=Object.keys(t).map((e=>`${e} -> ${t[e]}`)).join(", ");e.push({...n,l33t:!0,token:r,sub:t,subDisplay:i})}}))}return e.filter((t=>t.token.length>1))}relevantL33tSubtable(t,e){const n={},r={};return t.split("").forEach((t=>{n[t]=!0})),Object.keys(e).forEach((t=>{const i=e[t],o=i.filter((t=>t in n));o.length>0&&(r[t]=o)})),r}enumerateL33tSubs(t){const e=Object.keys(t),n=this.getSubs(e,[[]],t);return n.map((t=>{const e={};return t.forEach((([t,n])=>{e[t]=n})),e}))}getSubs(t,e,n){if(!t.length)return e;const r=t[0],i=t.slice(1),o=[];n[r].forEach((t=>{e.forEach((e=>{let n=-1;for(let r=0;r{const r=t.map(((t,e)=>[t,e]));r.sort();const i=r.map((([t,e])=>`${t},${e}`)).join("-");i in n||(n[i]=!0,e.push(t))})),e}}class H{constructor(){this.l33t=new z(this.defaultMatch),this.reverse=new U(this.defaultMatch)}match({password:t}){const e=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return a(e)}defaultMatch({password:t}){const e=[],n=t.length,r=t.toLowerCase();return Object.keys(W.rankedDictionaries).forEach((i=>{const o=W.rankedDictionaries[i];for(let a=0;a{const i=e[r];i.lastIndex=0;const o=i.exec(t);if(o){const t=o[0];n.push({pattern:"regex",token:t,i:o.index,j:o.index+o[0].length-1,regexName:r,regexMatch:o})}})),a(n)}}var V={nCk(t,e){let n=t;if(e>n)return 0;if(0===e)return 1;let r=1;for(let i=1;i<=e;i+=1)r*=n,r/=i,n-=1;return r},log10(t){return Math.log(t)/Math.log(10)},log2(t){return Math.log(t)/Math.log(2)},factorial(t){let e=1;for(let n=2;n<=t;n+=1)e*=n;return e}},$=({token:t})=>{let e,n=f**t.length;return n===Number.POSITIVE_INFINITY&&(n=Number.MAX_VALUE),e=1===t.length?p+1:g+1,Math.max(n,e)},Y=({year:t,separator:e})=>{const n=Math.max(Math.abs(t-E),m);let r=365*n;return e&&(r*=4),r};const Z=t=>{const e=t.split(""),n=e.filter((t=>t.match(M))).length,r=e.filter((t=>t.match(k))).length;let i=0;const o=Math.min(n,r);for(let a=1;a<=o;a+=1)i+=V.nCk(n+r,a);return i};var q=t=>{const e=t.replace(O,"");if(e.match(w)||e.toLowerCase()===e)return 1;const n=[v,b,_],r=n.length;for(let i=0;i{const r=t[e],i=n.toLowerCase().split(""),o=i.filter((t=>t===e)).length,a=i.filter((t=>t===r)).length;return{subbedCount:o,unsubbedCount:a}};var G=({l33t:t,sub:e,token:n})=>{if(!t)return 1;let r=1;const i=e;return Object.keys(i).forEach((t=>{const{subbedCount:e,unsubbedCount:o}=X({subs:i,subbed:t,token:n});if(0===e||0===o)r*=2;else{const t=Math.min(o,e);let n=0;for(let r=1;r<=t;r+=1)n+=V.nCk(o+e,r);r*=n}})),r},J=({rank:t,reversed:e,l33t:n,sub:r,token:i})=>{const o=t,a=q(i),s=G({l33t:n,sub:r,token:i}),l=e?2:1,c=o*a*s*l;return{baseGuesses:o,uppercaseVariations:a,l33tVariations:s,calculation:c}},K=({regexName:t,regexMatch:e,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(t in r)return r[t]**n.length;switch(t){case"recentYear":return Math.max(Math.abs(parseInt(e[0],10)-E),m)}return 0},Q=({baseGuesses:t,repeatCount:e})=>t*e,tt=({token:t,ascending:e})=>{const n=t.charAt(0);let r=0;const i=["a","A","z","Z","0","1","9"];return r=i.includes(n)?4:n.match(/\d/)?10:26,e||(r*=2),r*t.length};const et=t=>{let e=0;return Object.keys(t).forEach((n=>{const r=t[n];e+=r.filter((t=>!!t)).length})),e/=Object.entries(t).length,e},nt=({token:t,graph:e,turns:n})=>{const r=Object.keys(W.graphs[e]).length,i=et(W.graphs[e]);let o=0;const a=t.length;for(let s=2;s<=a;s+=1){const t=Math.min(n,s-1);for(let e=1;e<=t;e+=1)o+=V.nCk(s-1,e-1)*r*i**e}return o};var rt=({graph:t,token:e,shiftedCount:n,turns:r})=>{let i=nt({token:e,graph:t,turns:r});if(n){const t=e.length-n;if(0===n||0===t)i*=2;else{let e=0;for(let r=1;r<=Math.min(n,t);r+=1)e+=V.nCk(n+t,r);i*=e}}return Math.round(i)};const it=(t,e)=>{let n=1;return t.token.lengthot[t]?ot[t](e):W.matchers[t]&&"scoring"in W.matchers[t]?W.matchers[t].scoring(e):0;var st=(t,e)=>{const n={};if("guesses"in t&&null!=t.guesses)return t;const r=it(t,e),i=at(t.pattern,t);let o=0;"number"===typeof i?o=i:"dictionary"===t.pattern&&(o=i.calculation,n.baseGuesses=i.baseGuesses,n.uppercaseVariations=i.uppercaseVariations,n.l33tVariations=i.l33tVariations);const a=Math.max(o,r);return{...t,...n,guesses:a,guessesLog10:V.log10(a)}};const lt={password:"",optimal:{},excludeAdditive:!1,fillArray(t,e){const n=[];for(let r=0;r1&&(i*=this.optimal.pi[r.i-1][e-1]);let o=V.factorial(e)*i;this.excludeAdditive||(o+=d**(e-1));let a=!1;Object.keys(this.optimal.g[n]).forEach((t=>{const r=this.optimal.g[n][t];parseInt(t,10)<=e&&r<=o&&(a=!0)})),a||(this.optimal.g[n][e]=o,this.optimal.m[n][e]=r,this.optimal.pi[n][e]=i)},bruteforceUpdate(t){let e=this.makeBruteforceMatch(0,t);this.update(e,1);for(let n=1;n<=t;n+=1){e=this.makeBruteforceMatch(n,t);const r=this.optimal.m[n-1];Object.keys(r).forEach((t=>{const n=r[t];"bruteforce"!==n.pattern&&this.update(e,parseInt(t,10)+1)}))}},unwind(t){const e=[];let n=t-1,r=0,i=Infinity;const o=this.optimal.g[n];o&&Object.keys(o).forEach((t=>{const e=o[t];e=0){const t=this.optimal.m[n][r];e.unshift(t),n=t.i-1,r-=1}return e}};var ct={mostGuessableMatchSequence(t,e,n=!1){lt.password=t,lt.excludeAdditive=n;const r=t.length;let i=lt.fillArray(r,"array");e.forEach((t=>{i[t.j].push(t)})),i=i.map((t=>t.sort(((t,e)=>t.i-e.i)))),lt.optimal={m:lt.fillArray(r,"object"),pi:lt.fillArray(r,"object"),g:lt.fillArray(r,"object")};for(let l=0;l{t.i>0?Object.keys(lt.optimal.m[t.i-1]).forEach((e=>{lt.update(t,parseInt(e,10)+1)})):lt.update(t,1)})),lt.bruteforceUpdate(l);const o=lt.unwind(r),a=o.length,s=this.getGuesses(t,a);return{password:t,guesses:s,guessesLog10:V.log10(s),sequence:o}},getGuesses(t,e){const n=t.length;let r=0;return r=0===t.length?1:lt.optimal.g[n-1][e],r}};class ut{match({password:t,omniMatch:e}){const n=[];let r=0;while(rt instanceof Promise));return i?Promise.all(n):n}normalizeMatch(t,e,n,r){const i={pattern:"repeat",i:n.index,j:e,token:n[0],baseToken:t,baseGuesses:0,repeatCount:n[0].length/t.length};return r instanceof Promise?r.then((t=>({...i,baseGuesses:t}))):{...i,baseGuesses:r}}getGreedyMatch(t,e){const n=/(.+)\1+/g;return n.lastIndex=e,n.exec(t)}getLazyMatch(t,e){const n=/(.+?)\1+/g;return n.lastIndex=e,n.exec(t)}setMatchToken(t,e){const n=/^(.+?)\1+$/;let r,i="";if(e&&t[0].length>e[0].length){r=t;const e=n.exec(r[0]);e&&(i=e[1])}else r=e,r&&(i=r[1]);return{match:r,baseToken:i}}getBaseGuesses(t,e){const n=e.match(t);if(n instanceof Promise)return n.then((e=>{const n=ct.mostGuessableMatchSequence(t,e);return n.guesses}));const r=ct.mostGuessableMatchSequence(t,n);return r.guesses}}class ht{constructor(){this.MAX_DELTA=5}match({password:t}){const e=[];if(1===t.length)return[];let n=0,r=null;const i=t.length;for(let o=1;o1||1===Math.abs(n)){const o=Math.abs(n);if(o>0&&o<=this.MAX_DELTA){const o=r.slice(t,+e+1||9e9),{sequenceName:a,sequenceSpace:s}=this.getSequence(o);return i.push({pattern:"sequence",i:t,j:e,token:r.slice(t,+e+1||9e9),sequenceName:a,sequenceSpace:s,ascending:n>0})}}return null}getSequence(t){let e="unicode",n=26;return x.test(t)?(e="lower",n=26):y.test(t)?(e="upper",n=26):S.test(t)&&(e="digits",n=10),{sequenceName:e,sequenceSpace:n}}}class ft{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const e=[];return Object.keys(W.graphs).forEach((n=>{const r=W.graphs[n];i(e,this.helper(t,r,n))})),a(e)}checkIfShifted(t,e,n){return!t.includes("keypad")&&this.SHIFTED_RX.test(e.charAt(n))?1:0}helper(t,e,n){let r;const i=[];let o=0;const a=t.length;while(o2&&i.push({pattern:"spatial",i:o,j:s-1,token:t.slice(o,s),graph:n,turns:c,shiftedCount:r}),o=s;break}s+=1}}return i}}class dt{constructor(){this.matchers={date:C,dictionary:H,regex:B,repeat:ut,sequence:ht,spatial:ft}}match(t){const e=[],n=[],r=[...Object.keys(this.matchers),...Object.keys(W.matchers)];return r.forEach((r=>{if(!this.matchers[r]&&!W.matchers[r])return;const o=this.matchers[r]?this.matchers[r]:W.matchers[r].Matching,a=new o,s=a.match({password:t,omniMatch:this});s instanceof Promise?(s.then((t=>{i(e,t)})),n.push(s)):i(e,s)})),n.length>0?new Promise((t=>{Promise.all(n).then((()=>{t(a(e))}))})):a(e)}}const pt=1,gt=60*pt,mt=60*gt,vt=24*mt,bt=31*vt,yt=12*bt,_t=100*yt,xt={second:pt,minute:gt,hour:mt,day:vt,month:bt,year:yt,century:_t};class wt{translate(t,e){let n=t;void 0!==e&&1!==e&&(n+="s");const{timeEstimation:r}=W.translations;return r[n].replace("{base}",`${e}`)}estimateAttackTimes(t){const e={onlineThrottling100PerHour:t/(100/3600),onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},n={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(e).forEach((t=>{const r=e[t];n[t]=this.displayTime(r)})),{crackTimesSeconds:e,crackTimesDisplay:n,score:this.guessesToScore(t)}}guessesToScore(t){const e=5;return t<1e3+e?0:t<1e6+e?1:t<1e8+e?2:t<1e10+e?3:4}displayTime(t){let e,n="centuries";const r=Object.keys(xt),i=r.findIndex((e=>t-1&&(n=r[i-1],0!==i?e=Math.round(t/xt[n]):n="ltSecond"),this.translate(n,e)}}var kt=()=>null,Mt=()=>({warning:W.translations.warnings.dates,suggestions:[W.translations.suggestions.dates]});const Ot=(t,e)=>{let n="";return!e||t.l33t||t.reversed?t.guessesLog10<=4&&(n=W.translations.warnings.similarToCommon):n=t.rank<=10?W.translations.warnings.topTen:t.rank<=100?W.translations.warnings.topHundred:W.translations.warnings.common,n},St=(t,e)=>{let n="";return e&&(n=W.translations.warnings.wordByItself),n},Et=(t,e)=>e?W.translations.warnings.namesByThemselves:W.translations.warnings.commonNames,Tt=(t,e)=>{let n="";const r=t.dictionaryName,i="lastnames"===r||r.toLowerCase().includes("firstnames");return"passwords"===r?n=Ot(t,e):r.includes("wikipedia")?n=St(t,e):i?n=Et(t,e):"userInputs"===r&&(n=W.translations.warnings.userInputs),n};var Ct=(t,e)=>{const n=Tt(t,e),r=[],i=t.token;return i.match(v)?r.push(W.translations.suggestions.capitalization):i.match(_)&&i.toLowerCase()!==i&&r.push(W.translations.suggestions.allUppercase),t.reversed&&t.token.length>=4&&r.push(W.translations.suggestions.reverseWords),t.l33t&&r.push(W.translations.suggestions.l33t),{warning:n,suggestions:r}},Pt=t=>"recentYear"===t.regexName?{warning:W.translations.warnings.recentYears,suggestions:[W.translations.suggestions.recentYears,W.translations.suggestions.associatedYears]}:{warning:"",suggestions:[]},Dt=t=>{let e=W.translations.warnings.extendedRepeat;return 1===t.baseToken.length&&(e=W.translations.warnings.simpleRepeat),{warning:e,suggestions:[W.translations.suggestions.repeated]}},At=()=>({warning:W.translations.warnings.sequences,suggestions:[W.translations.suggestions.sequences]}),Lt=t=>{let e=W.translations.warnings.keyPattern;return 1===t.turns&&(e=W.translations.warnings.straightRow),{warning:e,suggestions:[W.translations.suggestions.longerKeyboardPattern]}};const It={warning:"",suggestions:[]};class Nt{constructor(){this.matchers={bruteforce:kt,date:Mt,dictionary:Ct,regex:Pt,repeat:Dt,sequence:At,spatial:Lt},this.defaultFeedback={warning:"",suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(W.translations.suggestions.useWords,W.translations.suggestions.noNeed)}getFeedback(t,e){if(0===e.length)return this.defaultFeedback;if(t>2)return It;const n=W.translations.suggestions.anotherWord,r=this.getLongestMatch(e);let i=this.getMatchFeedback(r,1===e.length);return null!==i&&void 0!==i?(i.suggestions.unshift(n),null==i.warning&&(i.warning="")):i={warning:"",suggestions:[n]},i}getLongestMatch(t){let e=t[0];const n=t.slice(1);return n.forEach((t=>{t.token.length>e.token.length&&(e=t)})),e}getMatchFeedback(t,e){return this.matchers[t.pattern]?this.matchers[t.pattern](t,e):W.matchers[t.pattern]&&"feedback"in W.matchers[t.pattern]?W.matchers[t.pattern].feedback(t,e):It}}const jt=()=>(new Date).getTime(),Rt=(t,e,n)=>{const r=new Nt,i=new wt,o=ct.mostGuessableMatchSequence(e,t),a=jt()-n,s=i.estimateAttackTimes(o.guesses);return{calcTime:a,...o,...s,feedback:r.getFeedback(s.score,o.sequence)}},Ft=(t,e)=>{e&&W.extendUserInputsDictionary(e);const n=new dt;return n.match(t)},Wt=(t,e)=>{const n=jt(),r=Ft(t,e);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Rt(r,t,n)}},9669:function(t,e,n){t.exports=n(1609)},5448:function(t,e,n){"use strict";var r=n(4867),i=n(6026),o=n(4372),a=n(5327),s=n(4097),l=n(4109),c=n(7985),u=n(5061),h=n(7874),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,p=t.data,g=t.headers,m=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(p)&&delete g["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",_=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(y+":"+_)}var x=s(t.baseURL,t.url);function w(){if(b){var r="getAllResponseHeaders"in b?l(b.getAllResponseHeaders()):null,o=m&&"text"!==m&&"json"!==m?b.response:b.responseText,a={data:o,status:b.status,statusText:b.statusText,headers:r,config:t,request:b};i((function(t){e(t),v()}),(function(t){n(t),v()}),a),b=null}}if(b.open(t.method.toUpperCase(),a(x,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(w)},b.onabort=function(){b&&(n(u("Request aborted",t,"ECONNABORTED",b)),b=null)},b.onerror=function(){n(u("Network Error",t,null,b)),b=null},b.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||h;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},r.isStandardBrowserEnv()){var k=(t.withCredentials||c(x))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;k&&(g[t.xsrfHeaderName]=k)}"setRequestHeader"in b&&r.forEach(g,(function(t,e){"undefined"===typeof p&&"content-type"===e.toLowerCase()?delete g[e]:b.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),m&&"json"!==m&&(b.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){b&&(n(!t||t&&t.type?new f("canceled"):t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),p||(p=null),b.send(p)}))}},1609:function(t,e,n){"use strict";var r=n(4867),i=n(1849),o=n(321),a=n(7185),s=n(5546);function l(t){var e=new o(t),n=i(o.prototype.request,e);return r.extend(n,o.prototype,e),r.extend(n,e),n.create=function(e){return l(a(t,e))},n}var c=l(s);c.Axios=o,c.Cancel=n(5263),c.CancelToken=n(4972),c.isCancel=n(6502),c.VERSION=n(7288).version,c.all=function(t){return Promise.all(t)},c.spread=n(8713),c.isAxiosError=n(6268),t.exports=c,t.exports["default"]=c},5263:function(t){"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:function(t,e,n){"use strict";var r=n(5263);function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){h.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){h.headers[t]=r.merge(s)})),t.exports=h},7874:function(t){"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:function(t){t.exports={version:"0.26.1"}},1849:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:function(t,e,n){"use strict";var r=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};function a(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var r=Object.keys(t),i=r.length;while(i-- >0){var o=r[i],a=e[o];if(a){var s=t[o],l=void 0===s||a(s,o,t);if(!0!==l)throw new TypeError("option "+o+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+o)}}i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,a){if(!1===t)throw new Error(i(r," has been removed"+(e?" in "+e:"")));return e&&!o[r]&&(o[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,a)}},t.exports={assertOptions:a,validators:i}},4867:function(t,e,n){"use strict";var r=n(1849),i=Object.prototype.toString;function o(t){return Array.isArray(t)}function a(t){return"undefined"===typeof t}function s(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function l(t){return"[object ArrayBuffer]"===i.call(t)}function c(t){return"[object FormData]"===i.call(t)}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&l(t.buffer),e}function h(t){return"string"===typeof t}function f(t){return"number"===typeof t}function d(t){return null!==t&&"object"===typeof t}function p(t){if("[object Object]"!==i.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function g(t){return"[object Date]"===i.call(t)}function m(t){return"[object File]"===i.call(t)}function v(t){return"[object Blob]"===i.call(t)}function b(t){return"[object Function]"===i.call(t)}function y(t){return d(t)&&b(t.pipe)}function _(t){return"[object URLSearchParams]"===i.call(t)}function x(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),o(t))for(var n=0,r=t.length;nn.right&&(r|=h),en.bottom&&(r|=f),r}function g(t,e){var n,r,i,o=t.x0,a=t.y0,s=t.x1,l=t.y1,c=p(o,a,e),g=p(s,l,e);while(1){if(!(c|g)||c&g)break;n=c||g,n&d?(r=o+(s-o)*(e.top-a)/(l-a),i=e.top):n&f?(r=o+(s-o)*(e.bottom-a)/(l-a),i=e.bottom):n&h?(i=a+(l-a)*(e.right-o)/(s-o),r=e.right):n&u&&(i=a+(l-a)*(e.left-o)/(s-o),r=e.left),n===c?(o=r,a=i,c=p(o,a,e)):(s=r,l=i,g=p(s,l,e))}return{x0:o,x1:s,y0:a,y1:l}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),l(n,r,t.vx,t.vy,e.align)}var v={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,a=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*a,y1:t.y+i*a,vx:r,vy:i},e)},point:function(t,e){var n=s(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=s(t,e.origin),r=t.x,i=t.y,o=0,a=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),a=Math.abs(t.base-t.y)),m({x0:r,y0:i+a,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=s(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x+(t.width||0),y1:t.y+(t.height||0),vx:n.x,vy:n.y},e)}},b=a.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,a=-r/2;return{frame:{x:o-n.left-e,y:a-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:a,w:i,h:r}}}function _(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function x(t){return t instanceof i.qi?v.arc:t instanceof i.od?v.point:t instanceof i.ZL?v.bar:v.fallback}function w(t,e,n,r,i,o){var a=Math.PI/2;if(o){var s=Math.min(o,i/2,r/2),l=e+s,c=n+s,u=e+r-s,h=n+i-s;t.moveTo(e,c),l=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function j(t){var e,n,r,i,o,a,s;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),a=I(s,r.model(),o),i._box.update(a,o,r.rotation()));return N(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.V)(L.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=P(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),a=[A(i[0],i[1]),A(i[0],i[3])];for(this._rotation!==t._rotation&&a.push(A(o[0],o[1]),A(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,a,s;for(n=0,r=e.length;nu)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},3658:function(t,e,n){"use strict";var r=n(9781),i=n(3157),o=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(i(t)&&!a(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},648:function(t,e,n){var r=n(1694),i=n(614),o=n(4326),a=n(5112),s=a("toStringTag"),l=Object,c="Arguments"==o(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(n){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=u(e=l(t),s))?n:c?o(e):"Object"==(r=o(e))&&i(e.callee)?"Arguments":r}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=i(e),l=a.f,c=o.f,u=0;un)throw e("Maximum allowed index exceeded");return t}},8113:function(t,e,n){var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:function(t,e,n){var r,i,o=n(7854),a=n(8113),s=o.process,l=o.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=u.split("."),i=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},1060:function(t,e,n){var r=n(1702),i=Error,o=r("".replace),a=function(t){return String(i(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!i.prepareStackTrace)while(e--)t=o(t,s,"");return t}},2914:function(t,e,n){var r=n(7293),i=n(9114);t.exports=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),a=n(8052),s=n(3072),l=n(9920),c=n(4705);t.exports=function(t,e){var n,u,h,f,d,p,g=t.target,m=t.global,v=t.stat;if(u=m?r:v?r[g]||s(g,{}):(r[g]||{}).prototype,u)for(h in e){if(d=e[h],t.dontCallGetSet?(p=i(u,h),f=p&&p.value):f=u[h],n=c(m?h:g+(v?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d==typeof f)continue;l(d,f)}(t.sham||f&&f.sham)&&o(d,"sham",!0),a(u,h,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},2104:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.apply,a=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(o):function(){return a.apply(o,arguments)})},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=i(o,"name"),l=s&&"something"===function(){}.name,c=s&&(!r||r&&a(o,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.bind,a=i.call,s=r&&o.bind(a,a);t.exports=r?function(t){return t&&s(t)}:function(t){return t&&function(){return a.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662),i=n(8554);t.exports=function(t,e){var n=t[e];return i(n)?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(1702),i=n(7293),o=n(4326),a=Object,s=r("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?s(t,""):a(t)}:a},9587:function(t,e,n){var r=n(614),i=n(111),o=n(7674);t.exports=function(t,e,n){var a,s;return o&&r(a=e.constructor)&&a!==n&&i(s=a.prototype)&&s!==n.prototype&&o(t,s),t}},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),a=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return a(t)}),t.exports=o.inspectSource},8340:function(t,e,n){var r=n(111),i=n(8880);t.exports=function(t,e){r(e)&&"cause"in e&&i(t,"cause",e.cause)}},9909:function(t,e,n){var r,i,o,a=n(4811),s=n(7854),l=n(1702),c=n(111),u=n(8880),h=n(2597),f=n(5465),d=n(6200),p=n(3501),g="Object already initialized",m=s.TypeError,v=s.WeakMap,b=function(t){return o(t)?i(t):r(t,{})},y=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw m("Incompatible receiver, "+t+" required");return n}};if(a||f.state){var _=f.state||(f.state=new v),x=l(_.get),w=l(_.has),k=l(_.set);r=function(t,e){if(w(_,t))throw m(g);return e.facade=t,k(_,t,e),e},i=function(t){return x(_,t)||{}},o=function(t){return w(_,t)}}else{var M=d("state");p[M]=!0,r=function(t,e){if(h(t,M))throw m(g);return e.facade=t,u(t,M,e),e},i=function(t){return h(t,M)?t[M]:{}},o=function(t){return h(t,M)}}t.exports={set:r,get:i,has:o,enforce:b,getterFor:y}},3157:function(t,e,n){var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},614:function(t){t.exports=function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(i(e)?r(e):!!e)},s=a.normalize=function(t){return String(t).replace(o,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},8554:function(t){t.exports=function(t){return null===t||void 0===t}},111:function(t,e,n){var r=n(614),i="object"==typeof document&&document.all,o="undefined"==typeof i&&void 0!==i;t.exports=o?function(t){return"object"==typeof t?null!==t:r(t)||t===i}:function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(5005),i=n(614),o=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,s(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},6339:function(t,e,n){var r=n(7293),i=n(614),o=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,l=n(2788),c=n(9909),u=c.enforce,h=c.get,f=Object.defineProperty,d=a&&!r((function(){return 8!==f((function(){}),"length",{value:8}).length})),p=String(String).split("String"),g=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!o(t,"name")||s&&t.name!==e)&&(a?f(t,"name",{value:e,configurable:!0}):t.name=e),d&&n&&o(n,"arity")&&t.length!==n.arity&&f(t,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&f(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(i){}var r=u(t);return o(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=g((function(){return i(this)&&h(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?n:e)(r)}},6277:function(t,e,n){var r=n(1340);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},3070:function(t,e,n){var r=n(9781),i=n(4664),o=n(3353),a=n(9670),s=n(4948),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,h="enumerable",f="configurable",d="writable";e.f=r?o?function(t,e,n){if(a(t),e=s(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&d in n&&!n[d]){var r=u(t,e);r&&r[d]&&(t[e]=n.value,n={configurable:f in n?n[f]:r[f],enumerable:h in n?n[h]:r[h],writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),i)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),a=n(9114),s=n(5656),l=n(4948),c=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=l(e),u)try{return h(t,e)}catch(n){}if(c(t,e))return a(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),a=n(1318).indexOf,s=n(3501),l=r([].push);t.exports=function(t,e){var n,r=o(t),c=0,u=[];for(n in r)!i(s,n)&&i(r,n)&&l(u,n);while(e.length>c)i(r,n=e[c++])&&(~a(u,n)||l(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:function(t,e,n){var r=n(1702),i=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(n,[]),e=n instanceof Array}catch(a){}return function(n,r){return i(n),o(r),e?t(n,r):n.__proto__=r,n}}():void 0)},2140:function(t,e,n){var r=n(6916),i=n(614),o=n(111),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&i(n=t.toString)&&!o(s=r(n,t)))return s;if(i(n=t.valueOf)&&!o(s=r(n,t)))return s;if("string"!==e&&i(n=t.toString)&&!o(s=r(n,t)))return s;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),a=n(5181),s=n(9670),l=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(s(t)),n=a.f;return n?l(e,n(t)):e}},2626:function(t,e,n){var r=n(3070).f;t.exports=function(t,e,n){n in t||r(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},4488:function(t,e,n){var r=n(8554),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3072),o="__core-js_shared__",a=r[o]||i(o,{});t.exports=a},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.25.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.1/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t,e,n){var r=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:r(e)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(4488),i=Object;t.exports=function(t){return i(r(t))}},7593:function(t,e,n){var r=n(6916),i=n(111),o=n(2190),a=n(8173),s=n(2140),l=n(5112),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=r(l,t,e),!i(n)||o(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},1694:function(t,e,n){var r=n(5112),i=r("toStringTag"),o={};o[i]="z",t.exports="[object z]"===String(o)},1340:function(t,e,n){var r=n(648),i=String;t.exports=function(t){if("Symbol"===r(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+o,36)}},3307:function(t,e,n){var r=n(6293);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:function(t,e,n){var r=n(7854),i=n(614),o=r.WeakMap;t.exports=i(o)&&/native code/.test(String(o))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),a=n(9711),s=n(6293),l=n(3307),c=i("wks"),u=r.Symbol,h=u&&u["for"],f=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!o(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&o(u,t)?c[t]=u[t]:c[t]=l&&h?h(e):f(e)}return c[t]}},9191:function(t,e,n){"use strict";var r=n(5005),i=n(2597),o=n(8880),a=n(7976),s=n(7674),l=n(9920),c=n(2626),u=n(9587),h=n(6277),f=n(8340),d=n(1060),p=n(2914),g=n(9781),m=n(1913);t.exports=function(t,e,n,v){var b="stackTraceLimit",y=v?2:1,_=t.split("."),x=_[_.length-1],w=r.apply(null,_);if(w){var k=w.prototype;if(!m&&i(k,"cause")&&delete k.cause,!n)return w;var M=r("Error"),O=e((function(t,e){var n=h(v?e:t,void 0),r=v?new w(t):new w;return void 0!==n&&o(r,"message",n),p&&o(r,"stack",d(r.stack,2)),this&&a(k,this)&&u(r,this,O),arguments.length>y&&f(r,arguments[y]),r}));if(O.prototype=k,"Error"!==x?s?s(O,M):l(O,M,{name:!0}):g&&b in w&&(c(O,w,b),c(O,w,"prepareStackTrace")),l(O,w),!m)try{k.name!==x&&o(k,"name",x),k.constructor=O}catch(S){}return O}}},7658:function(t,e,n){"use strict";var r=n(2109),i=n(7908),o=n(6244),a=n(3658),s=n(7207),l=n(7293),c=l((function(){return 4294967297!==[].push.call({length:4294967296},1)})),u=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();r({target:"Array",proto:!0,arity:1,forced:c||u},{push:function(t){var e=i(this),n=o(e),r=arguments.length;s(n+r);for(var l=0;l0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return c.default.y(t,e)},Y:function(t,e,n,r){var i=(0,s.default)(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return(0,l.default)(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):(0,l.default)(o,e.length)},R:function(t,e){var n=(0,o.default)(t);return(0,l.default)(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return(0,l.default)(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return(0,l.default)(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return(0,l.default)(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return c.default.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return(0,l.default)(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=(0,a.default)(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):(0,l.default)(i,e.length)},I:function(t,e,n){var r=(0,i.default)(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):(0,l.default)(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):c.default.d(t,e)},D:function(t,e,n){var i=(0,r.default)(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):(0,l.default)(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return(0,l.default)(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return(0,l.default)(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return(0,l.default)(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?h.noon:0===i?h.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?h.evening:i>=12?h.afternoon:i>=4?h.morning:h.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return c.default.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):c.default.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):c.default.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):c.default.s(t,e)},S:function(t,e){return c.default.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return p(o);case"XXXX":case"XX":return g(o);case"XXXXX":case"XXX":default:return g(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return p(o);case"xxxx":case"xx":return g(o);case"xxxxx":case"xxx":default:return g(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+d(o,":");case"OOOO":default:return"GMT"+g(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+d(o,":");case"zzzz":default:return"GMT"+g(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return(0,l.default)(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return(0,l.default)(o,e.length)}};function d(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+(0,l.default)(o,2)}function p(t,e){if(t%60===0){var n=t>0?"-":"+";return n+(0,l.default)(Math.abs(t)/60,2)}return g(t,e)}function g(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=(0,l.default)(Math.floor(i/60),2),a=(0,l.default)(i%60,2);return r+o+n+a}var m=f;e["default"]=m,t.exports=e.default},2699:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(7394));function i(t){return t&&t.__esModule?t:{default:t}}var o={y:function(t,e){var n=t.getUTCFullYear(),i=n>0?n:1-n;return(0,r.default)("yy"===e?i%100:i,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):(0,r.default)(n+1,2)},d:function(t,e){return(0,r.default)(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return(0,r.default)(t.getUTCHours()%12||12,e.length)},H:function(t,e){return(0,r.default)(t.getUTCHours(),e.length)},m:function(t,e){return(0,r.default)(t.getUTCMinutes(),e.length)},s:function(t,e){return(0,r.default)(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,i=t.getUTCMilliseconds(),o=Math.floor(i*Math.pow(10,n-3));return(0,r.default)(o,e.length)}},a=o;e["default"]=a,t.exports=e.default},5209:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},r=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},i=function(t,e){var i,o=t.match(/(P+)(p+)?/)||[],a=o[1],s=o[2];if(!s)return n(t,e);switch(a){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",n(a,e)).replace("{{time}}",r(s,e))},o={p:r,P:i},a=o;e["default"]=a,t.exports=e.default},3561:function(t,e){"use strict";function n(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1603:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}var a=864e5;function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var o=e.getTime(),s=n-o;return Math.floor(s/a)+1}t.exports=e.default},1354:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(79)),o=s(n(4275)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t){(0,a.default)(1,arguments);var e=(0,r.default)(t),n=(0,i.default)(e).getTime()-(0,o.default)(e).getTime();return Math.round(n/l)+1}t.exports=e.default},1370:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(1171)),i=a(n(8734)),o=a(n(79));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(n+1,0,4),a.setUTCHours(0,0,0,0);var s=(0,o.default)(a),l=new Date(0);l.setUTCFullYear(n,0,4),l.setUTCHours(0,0,0,0);var c=(0,o.default)(l);return e.getTime()>=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}t.exports=e.default},623:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(9209)),o=s(n(4118)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t,e){(0,a.default)(1,arguments);var n=(0,r.default)(t),s=(0,i.default)(n,e).getTime()-(0,o.default)(n,e).getTime();return Math.round(s/l)+1}t.exports=e.default},6226:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(1171)),i=l(n(8734)),o=l(n(9209)),a=l(n(2084)),s=n(8729);function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){var n,l,c,u,h,f,d,p;(0,i.default)(1,arguments);var g=(0,r.default)(t),m=g.getUTCFullYear(),v=(0,s.getDefaultOptions)(),b=(0,a.default)(null!==(n=null!==(l=null!==(c=null!==(u=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==u?u:null===e||void 0===e||null===(h=e.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.firstWeekContainsDate)&&void 0!==c?c:v.firstWeekContainsDate)&&void 0!==l?l:null===(d=v.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var y=new Date(0);y.setUTCFullYear(m+1,0,b),y.setUTCHours(0,0,0,0);var _=(0,o.default)(y,e),x=new Date(0);x.setUTCFullYear(m,0,b),x.setUTCHours(0,0,0,0);var w=(0,o.default)(x,e);return g.getTime()>=_.getTime()?m+1:g.getTime()>=w.getTime()?m:m-1}t.exports=e.default},6736:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isProtectedDayOfYearToken=i,e.isProtectedWeekYearToken=o,e.throwProtectedError=a;var n=["D","DD"],r=["YY","YYYY"];function i(t){return-1!==n.indexOf(t)}function o(t){return-1!==r.indexOf(t)}function a(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}},8734:function(t,e){"use strict";function n(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},79:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}function a(t){(0,i.default)(1,arguments);var e=1,n=(0,r.default)(t),o=n.getUTCDay(),a=(o=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.default)(t),v=m.getUTCDay(),b=(v1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);return isNaN(a)?new Date(NaN):a?(n.setDate(n.getDate()+a),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);if(isNaN(a))return new Date(NaN);if(!a)return n;var s=n.getDate(),l=new Date(n.getTime());l.setMonth(n.getMonth()+a+1,0);var c=l.getDate();return s>=c?l:(n.setFullYear(l.getFullYear(),l.getMonth(),s),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(7349),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),a=7*n;return(0,i.Z)(t,a)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(1640),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(4314),i=n(9013),o=n(3946),a=n(3882);function s(t,e){var n,s,l,c,u,h,f,d;(0,a.Z)(1,arguments);var p=(0,r.j)(),g=(0,o.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,i.Z)(t),v=m.getDay(),b=6+(v=o.getTime()?n+1:e.getTime()>=l.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=d(n);return i}var m=6048e5;function v(t){(0,r.Z)(1,arguments);var e=(0,a.Z)(t),n=d(e).getTime()-g(e).getTime();return Math.round(n/m)+1}var b=n(4314);function y(t,e){var n,i,o,s,c,u,h,f;(0,r.Z)(1,arguments);var d=(0,b.j)(),p=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(s=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==s?s:null===e||void 0===e||null===(c=e.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==o?o:d.weekStartsOn)&&void 0!==i?i:null===(h=d.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==n?n:0);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var g=(0,a.Z)(t),m=g.getUTCDay(),v=(m=1&&m<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var v=new Date(0);v.setUTCFullYear(p+1,0,m),v.setUTCHours(0,0,0,0);var _=y(v,e),x=new Date(0);x.setUTCFullYear(p,0,m),x.setUTCHours(0,0,0,0);var w=y(x,e);return d.getTime()>=_.getTime()?p+1:d.getTime()>=w.getTime()?p:p-1}function x(t,e){var n,i,o,a,s,c,u,h;(0,r.Z)(1,arguments);var f=(0,b.j)(),d=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(a=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==a?a:null===e||void 0===e||null===(s=e.locale)||void 0===s||null===(c=s.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==o?o:f.firstWeekContainsDate)&&void 0!==i?i:null===(u=f.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==n?n:1),p=_(t,e),g=new Date(0);g.setUTCFullYear(p,0,d),g.setUTCHours(0,0,0,0);var m=y(g,e);return m}var w=6048e5;function k(t,e){(0,r.Z)(1,arguments);var n=(0,a.Z)(t),i=y(n,e).getTime()-x(n,e).getTime();return Math.round(i/w)+1}function M(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return M("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):M(n+1,2)},d:function(t,e){return M(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return M(t.getUTCHours()%12||12,e.length)},H:function(t,e){return M(t.getUTCHours(),e.length)},m:function(t,e){return M(t.getUTCMinutes(),e.length)},s:function(t,e){return M(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return M(i,e.length)}},S=O,E={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return S.y(t,e)},Y:function(t,e,n,r){var i=_(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return M(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):M(o,e.length)},R:function(t,e){var n=p(t);return M(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return M(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return M(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return M(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return S.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return M(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=k(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):M(i,e.length)},I:function(t,e,n){var r=v(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):M(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):S.d(t,e)},D:function(t,e,n){var r=f(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):M(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return M(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return M(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return M(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?E.noon:0===i?E.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?E.evening:i>=12?E.afternoon:i>=4?E.morning:E.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return S.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):S.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):S.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):S.s(t,e)},S:function(t,e){return S.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return P(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return P(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+C(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+C(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return M(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return M(o,e.length)}};function C(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+M(o,2)}function P(t,e){if(t%60===0){var n=t>0?"-":"+";return n+M(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=M(Math.floor(i/60),2),a=M(i%60,2);return r+o+n+a}var A=T,L=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},I=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},N=function(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return L(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",L(i,e)).replace("{{time}}",I(o,e))},j={p:I,P:N},R=j,F=n(4262),W=["D","DD"],U=["YY","YYYY"];function z(t){return-1!==W.indexOf(t)}function H(t){return-1!==U.indexOf(t)}function B(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var V=n(4941),$=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Y=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Z=/^'([^]*?)'?$/,q=/''/g,X=/[a-zA-Z]/;function G(t,e,n){var i,o,c,h,f,d,p,g,m,v,y,_,x,w,k,M,O,S;(0,r.Z)(2,arguments);var E=String(e),T=(0,b.j)(),C=null!==(i=null!==(o=null===n||void 0===n?void 0:n.locale)&&void 0!==o?o:T.locale)&&void 0!==i?i:V.Z,P=(0,l.Z)(null!==(c=null!==(h=null!==(f=null!==(d=null===n||void 0===n?void 0:n.firstWeekContainsDate)&&void 0!==d?d:null===n||void 0===n||null===(p=n.locale)||void 0===p||null===(g=p.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==f?f:T.firstWeekContainsDate)&&void 0!==h?h:null===(m=T.locale)||void 0===m||null===(v=m.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==c?c:1);if(!(P>=1&&P<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var D=(0,l.Z)(null!==(y=null!==(_=null!==(x=null!==(w=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==w?w:null===n||void 0===n||null===(k=n.locale)||void 0===k||null===(M=k.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==x?x:T.weekStartsOn)&&void 0!==_?_:null===(O=T.locale)||void 0===O||null===(S=O.options)||void 0===S?void 0:S.weekStartsOn)&&void 0!==y?y:0);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!C.localize)throw new RangeError("locale must contain localize property");if(!C.formatLong)throw new RangeError("locale must contain formatLong property");var L=(0,a.Z)(t);if(!s(L))throw new RangeError("Invalid time value");var I=(0,F.Z)(L),N=u(L,I),j={firstWeekContainsDate:P,weekStartsOn:D,locale:C,_originalDate:L},W=E.match(Y).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=R[e];return n(t,C.formatLong)}return t})).join("").match($).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return J(r);var o=A[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!H(r)||B(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!z(r)||B(r,e,String(t)),o(N,r,C.localize,j);if(i.match(X))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return W}function J(t){var e=t.match(Z);return e?e[1].replace(q,"'"):t}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return O}});var r=n(4314),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getFullYear()-r.getFullYear(),s=n.getMonth()-r.getMonth();return 12*a+s}function l(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function u(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return l(e).getTime()===(0,c.Z)(e).getTime()}function h(t,e){(0,o.Z)(2,arguments);var n,r=(0,i.Z)(t),l=(0,i.Z)(e),c=a(r,l),h=Math.abs(s(r,l));if(h<1)n=0;else{1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-c*h);var f=a(r,l)===-c;u((0,i.Z)(t))&&1===h&&1===a(t,l)&&(f=!1),n=c*(h-Number(f))}return 0===n?0:n}function f(t,e){return(0,o.Z)(2,arguments),(0,i.Z)(t).getTime()-(0,i.Z)(e).getTime()}var d={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},p="trunc";function g(t){return t?d[t]:d[p]}function m(t,e,n){(0,o.Z)(2,arguments);var r=f(t,e)/1e3;return g(null===n||void 0===n?void 0:n.roundingMethod)(r)}var v=n(4941);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function y(t){return b({},t)}var _=n(4262),x=1440,w=2520,k=43200,M=86400;function O(t,e,n){var s,l;(0,o.Z)(2,arguments);var c=(0,r.j)(),u=null!==(s=null!==(l=null===n||void 0===n?void 0:n.locale)&&void 0!==l?l:c.locale)&&void 0!==s?s:v.Z;if(!u.formatDistance)throw new RangeError("locale must contain formatDistance property");var f=a(t,e);if(isNaN(f))throw new RangeError("Invalid time value");var d,p,g=b(y(n),{addSuffix:Boolean(null===n||void 0===n?void 0:n.addSuffix),comparison:f});f>0?(d=(0,i.Z)(e),p=(0,i.Z)(t)):(d=(0,i.Z)(t),p=(0,i.Z)(e));var O,S=m(p,d),E=((0,_.Z)(p)-(0,_.Z)(d))/1e3,T=Math.round((S-E)/60);if(T<2)return null!==n&&void 0!==n&&n.includeSeconds?S<5?u.formatDistance("lessThanXSeconds",5,g):S<10?u.formatDistance("lessThanXSeconds",10,g):S<20?u.formatDistance("lessThanXSeconds",20,g):S<40?u.formatDistance("halfAMinute",0,g):S<60?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",1,g):0===T?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",T,g);if(T<45)return u.formatDistance("xMinutes",T,g);if(T<90)return u.formatDistance("aboutXHours",1,g);if(T0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(c)})):i(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}n.d(e,{Z:function(){return r}})},879:function(t,e,n){"use strict";n.d(e,{Z:function(){return B}});var r={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"halbe Minute",withPreposition:"halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},i=function(t,e,n){var i,o=null!==n&&void 0!==n&&n.addSuffix?r[t].withPreposition:r[t].standalone;return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:"vor "+i:i},o=i,a=n(9526),s={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},y={narrow:b.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:b.wide},_={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},x={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},w={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},k=function(t){var e=Number(t);return e+"."},M={ordinalNumber:k,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,formattingValues:y,defaultWidth:"wide"}),day:(0,g.Z)({values:_,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:w,defaultFormattingWidth:"wide"})},O=M,S=n(6723),E=n(974),T=/^(\d+)(\.)?/i,C=/\d+/i,P={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},D={any:[/^v/i,/^n/i]},A={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},L={any:[/1/i,/2/i,/3/i,/4/i]},I={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},N={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},j={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},R={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},F={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},W={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},U={ordinalNumber:(0,E.Z)({matchPattern:T,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,S.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,S.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,S.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),day:(0,S.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:R,defaultParseWidth:"any"}),dayPeriod:(0,S.Z)({matchPatterns:F,defaultMatchWidth:"wide",parsePatterns:W,defaultParseWidth:"any"})},z=U,H={code:"de",formatDistance:o,formatLong:h,formatRelative:p,localize:O,match:z,options:{weekStartsOn:1,firstWeekContainsDate:4}},B=H},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,a=n(9526),s={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},l={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},c={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide",formattingValues:x,defaultFormattingWidth:"wide"})},M=k,O=n(6723),S=n(974),E=/^(\d+)(th|st|nd|rd)?/i,T=/\d+/i,C={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},P={any:[/^b/i,/^(a|c)/i]},D={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},A={any:[/1/i,/2/i,/3/i,/4/i]},L={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},I={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},N={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},j={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},R={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},F={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},W={ordinalNumber:(0,S.Z)({matchPattern:E,parsePattern:T,valueCallback:function(t){return parseInt(t,10)}}),era:(0,O.Z)({matchPatterns:C,defaultMatchWidth:"wide",parsePatterns:P,defaultParseWidth:"any"}),quarter:(0,O.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,O.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:I,defaultParseWidth:"any"}),day:(0,O.Z)({matchPatterns:N,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any"}),dayPeriod:(0,O.Z)({matchPatterns:R,defaultMatchWidth:"any",parsePatterns:F,defaultParseWidth:"any"})},U=W,z={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:U,options:{weekStartsOn:0,firstWeekContainsDate:1}},H=z},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return z}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,a=n(9526),s={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},v={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},_={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},x=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:x,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide"})},k=w,M=n(6723),O=n(974),S=/^(\d+)(ième|ère|ème|er|e)?/i,E=/\d+/i,T={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},C={any:[/^av/i,/^ap/i]},P={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},D={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},I={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},N={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},j={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},R={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},F={ordinalNumber:(0,O.Z)({matchPattern:S,parsePattern:E,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:C,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"any",parsePatterns:R,defaultParseWidth:"any"})},W=F,U={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},z=U},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882),a=n(4314);function s(t,e){var n,s,l,c,u,h,f,d;(0,o.Z)(1,arguments);var p=(0,a.j)(),g=(0,i.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.Z)(t),v=m.getDay(),b=(v=1&&W<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var U=(0,u.default)(null!==(T=null!==(C=null!==(P=null!==(D=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==D?D:null===n||void 0===n||null===(A=n.locale)||void 0===A||null===(L=A.options)||void 0===L?void 0:L.weekStartsOn)&&void 0!==P?P:R.weekStartsOn)&&void 0!==C?C:null===(I=R.locale)||void 0===I||null===(N=I.options)||void 0===N?void 0:N.weekStartsOn)&&void 0!==T?T:0);if(!(U>=0&&U<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!F.localize)throw new RangeError("locale must contain localize property");if(!F.formatLong)throw new RangeError("locale must contain formatLong property");var z=(0,o.default)(t);if(!(0,r.default)(z))throw new RangeError("Invalid time value");var H=(0,l.default)(z),B=(0,i.default)(z,H),V={firstWeekContainsDate:W,weekStartsOn:U,locale:F,_originalDate:z},$=j.match(m).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=s.default[e];return n(t,F.formatLong)}return t})).join("").match(g).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return x(r);var o=a.default[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!(0,c.isProtectedWeekYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!(0,c.isProtectedDayOfYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),o(B,r,F.localize,V);if(i.match(y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return $}function x(t){var e=t.match(v);return e?e[1].replace(b,"'"):t}t.exports=e.default},2382:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return(0,r.default)(1,arguments),t instanceof Date||"object"===o(t)&&"[object Date]"===Object.prototype.toString.call(t)}t.exports=e.default},9989:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(2382)),i=a(n(1171)),o=a(n(8734));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){if((0,o.default)(1,arguments),!(0,r.default)(t)&&"number"!==typeof t)return!1;var e=(0,i.default)(t);return!isNaN(Number(e))}t.exports=e.default},289:function(t,e){"use strict";function n(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},6245:function(t,e){"use strict";function n(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},3421:function(t,e){"use strict";function n(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.width,a=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?i(u,(function(t){return t.test(c)})):r(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function r(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1924:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},r=function(t,e,r){var i,o=n[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+i:i+" ago":i},i=r;e["default"]=i,t.exports=e.default},5062:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(289));function i(t){return t&&t.__esModule?t:{default:t}}var o={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},a={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},s={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},l={date:(0,r.default)({formats:o,defaultWidth:"full"}),time:(0,r.default)({formats:a,defaultWidth:"full"}),dateTime:(0,r.default)({formats:s,defaultWidth:"full"})},c=l;e["default"]=c,t.exports=e.default},5102:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},r=function(t,e,r,i){return n[t]},i=r;e["default"]=i,t.exports=e.default},7839:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(6245));function i(t){return t&&t.__esModule?t:{default:t}}var o={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},a={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},s={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},l={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},c={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},u={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},h=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},f={ordinalNumber:h,era:(0,r.default)({values:o,defaultWidth:"wide"}),quarter:(0,r.default)({values:a,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,r.default)({values:s,defaultWidth:"wide"}),day:(0,r.default)({values:l,defaultWidth:"wide"}),dayPeriod:(0,r.default)({values:c,defaultWidth:"wide",formattingValues:u,defaultFormattingWidth:"wide"})},d=f;e["default"]=d,t.exports=e.default},9796:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(3421)),i=o(n(8926));function o(t){return t&&t.__esModule?t:{default:t}}var a=/^(\d+)(th|st|nd|rd)?/i,s=/\d+/i,l={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},c={any:[/^b/i,/^(a|c)/i]},u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},h={any:[/1/i,/2/i,/3/i,/4/i]},f={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},d={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},p={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},g={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},m={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},v={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},b={ordinalNumber:(0,i.default)({matchPattern:a,parsePattern:s,valueCallback:function(t){return parseInt(t,10)}}),era:(0,r.default)({matchPatterns:l,defaultMatchWidth:"wide",parsePatterns:c,defaultParseWidth:"any"}),quarter:(0,r.default)({matchPatterns:u,defaultMatchWidth:"wide",parsePatterns:h,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,r.default)({matchPatterns:f,defaultMatchWidth:"wide",parsePatterns:d,defaultParseWidth:"any"}),day:(0,r.default)({matchPatterns:p,defaultMatchWidth:"wide",parsePatterns:g,defaultParseWidth:"any"}),dayPeriod:(0,r.default)({matchPatterns:m,defaultMatchWidth:"any",parsePatterns:v,defaultParseWidth:"any"})},y=b;e["default"]=y,t.exports=e.default},2512:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=l(n(1924)),i=l(n(5062)),o=l(n(5102)),a=l(n(7839)),s=l(n(9796));function l(t){return t&&t.__esModule?t:{default:t}}var c={code:"en-US",formatDistance:r.default,formatLong:i.default,formatRelative:o.default,localize:a.default,match:s.default,options:{weekStartsOn:0,firstWeekContainsDate:1}},u=c;e["default"]=u,t.exports=e.default},3239:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(5065)),i=a(n(8734)),o=a(n(2084));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){(0,i.default)(2,arguments);var n=(0,o.default)(e);return(0,r.default)(t,-n)}t.exports=e.default},1171:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){(0,r.default)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"===o(t)&&"[object Date]"===e?new Date(t.getTime()):"number"===typeof t||"[object Number]"===e?new Date(t):("string"!==typeof t&&"[object String]"!==e||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}t.exports=e.default},6959:function(t){"use strict";const e=/[\p{Lu}]/u,n=/[\p{Ll}]/u,r=/^[\p{Lu}](?![\p{Lu}])/gu,i=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,a=new RegExp("^"+o.source),s=new RegExp(o.source+i.source,"gu"),l=new RegExp("\\d+"+i.source,"gu"),c=(t,r,i)=>{let o=!1,a=!1,s=!1;for(let l=0;l(r.lastIndex=0,t.replace(r,(t=>e(t)))),h=(t,e)=>(s.lastIndex=0,l.lastIndex=0,t.replace(s,((t,n)=>e(n))).replace(l,(t=>e(t)))),f=(t,e)=>{if("string"!==typeof t&&!Array.isArray(t))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},t=Array.isArray(t)?t.map((t=>t.trim())).filter((t=>t.length)).join("-"):t.trim(),0===t.length)return"";const n=!1===e.locale?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e.locale),r=!1===e.locale?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e.locale);if(1===t.length)return e.pascalCase?r(t):n(t);const i=t!==n(t);return i&&(t=c(t,n,r)),t=t.replace(a,""),t=e.preserveConsecutiveUppercase?u(t,n):n(t),e.pascalCase&&(t=r(t.charAt(0))+t.slice(1)),h(t,r)};t.exports=f,t.exports["default"]=f},5205:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r,i=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function o(t,e){void 0===e&&(e={});var n=e.registrationOptions;void 0===n&&(n={}),delete e.registrationOptions;var o=function(t){var n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];e&&e[t]&&e[t].apply(e,n)};"serviceWorker"in navigator&&r.then((function(){i()?(l(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)}))):(s(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)})))}))}function a(t,e){navigator.onLine||t("offline"),t("error",e)}function s(t,e,n){navigator.serviceWorker.register(t,n).then((function(t){e("registered",t),t.waiting?e("updated",t):t.onupdatefound=function(){e("updatefound",t);var n=t.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?e("updated",t):e("cached",t))}}})).catch((function(t){return a(e,t)}))}function l(t,e,n){fetch(t).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+t)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+t+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):s(t,e,n)})).catch((function(t){return a(e,t)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()})).catch((function(t){return a(emit,t)}))}"undefined"!==typeof window&&(r="undefined"!==typeof Promise?new Promise((function(t){return window.addEventListener("load",t)})):{then:function(t){return window.addEventListener("load",t)}})},2343:function(t,e,n){"use strict";var r,i,o,a,s,l,c,u,h,f=n(6252),d=n(2262),p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,_=(t,e,n)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n +(self["webpackChunkfittrackee_client"]=self["webpackChunkfittrackee_client"]||[]).push([[998],{2262:function(t,e,n){"use strict";n.d(e,{B:function(){return a},BK:function(){return Bt},Bj:function(){return o},Fl:function(){return qt},IU:function(){return Ct},Jd:function(){return M},PG:function(){return Ot},SU:function(){return Ut},Um:function(){return wt},WL:function(){return Ht},X$:function(){return T},X3:function(){return Tt},XI:function(){return Rt},Xl:function(){return Pt},dq:function(){return Nt},iH:function(){return jt},j:function(){return S},lk:function(){return O},qj:function(){return xt},qq:function(){return _},yT:function(){return Et}});var r=n(3577);let i;class o{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&i&&(this.parent=i,this.index=(i.scopes||(i.scopes=[])).push(this)-1)}run(t){if(this.active){const e=i;try{return i=this,t()}finally{i=e}}else 0}on(){i=this}off(){i=this.parent}stop(t){if(this.active){let e,n;for(e=0,n=this.effects.length;e{const e=new Set(t);return e.w=0,e.n=0,e},c=t=>(t.w&g)>0,u=t=>(t.n&g)>0,h=({deps:t})=>{if(t.length)for(let e=0;e{const{deps:e}=t;if(e.length){let n=0;for(let r=0;r{("length"===e||e>=i)&&c.push(t)}));else switch(void 0!==n&&c.push(s.get(n)),e){case"add":(0,r.kJ)(t)?(0,r.S0)(n)&&c.push(s.get("length")):(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"delete":(0,r.kJ)(t)||(c.push(s.get(b)),(0,r._N)(t)&&c.push(s.get(y)));break;case"set":(0,r._N)(t)&&c.push(s.get(b));break}if(1===c.length)c[0]&&C(c[0]);else{const t=[];for(const e of c)e&&t.push(...e);C(l(t))}}function C(t,e){const n=(0,r.kJ)(t)?t:[...t];for(const r of n)r.computed&&P(r,e);for(const r of n)r.computed||P(r,e)}function P(t,e){(t!==v||t.allowRecurse)&&(t.scheduler?t.scheduler():t.run())}const D=(0,r.fY)("__proto__,__v_isRef,__isVue"),A=new Set(Object.getOwnPropertyNames(Symbol).filter((t=>"arguments"!==t&&"caller"!==t)).map((t=>Symbol[t])).filter(r.yk)),L=F(),I=F(!1,!0),N=F(!0),j=R();function R(){const t={};return["includes","indexOf","lastIndexOf"].forEach((e=>{t[e]=function(...t){const n=Ct(this);for(let e=0,i=this.length;e{t[e]=function(...t){M();const n=Ct(this)[e].apply(this,t);return O(),n}})),t}function F(t=!1,e=!1){return function(n,i,o){if("__v_isReactive"===i)return!t;if("__v_isReadonly"===i)return t;if("__v_isShallow"===i)return e;if("__v_raw"===i&&o===(t?e?bt:vt:e?mt:gt).get(n))return n;const a=(0,r.kJ)(n);if(!t&&a&&(0,r.RI)(j,i))return Reflect.get(j,i,o);const s=Reflect.get(n,i,o);return((0,r.yk)(i)?A.has(i):D(i))?s:(t||S(n,"get",i),e?s:Nt(s)?a&&(0,r.S0)(i)?s:s.value:(0,r.Kn)(s)?t?kt(s):xt(s):s)}}const W=z(),U=z(!0);function z(t=!1){return function(e,n,i,o){let a=e[n];if(St(a)&&Nt(a)&&!Nt(i))return!1;if(!t&&(Et(i)||St(i)||(a=Ct(a),i=Ct(i)),!(0,r.kJ)(e)&&Nt(a)&&!Nt(i)))return a.value=i,!0;const s=(0,r.kJ)(e)&&(0,r.S0)(n)?Number(n)t,X=t=>Reflect.getPrototypeOf(t);function G(t,e,n=!1,r=!1){t=t["__v_raw"];const i=Ct(t),o=Ct(e);n||(e!==o&&S(i,"get",e),S(i,"get",o));const{has:a}=X(i),s=r?q:n?At:Dt;return a.call(i,e)?s(t.get(e)):a.call(i,o)?s(t.get(o)):void(t!==i&&t.get(e))}function J(t,e=!1){const n=this["__v_raw"],r=Ct(n),i=Ct(t);return e||(t!==i&&S(r,"has",t),S(r,"has",i)),t===i?n.has(t):n.has(t)||n.has(i)}function K(t,e=!1){return t=t["__v_raw"],!e&&S(Ct(t),"iterate",b),Reflect.get(t,"size",t)}function Q(t){t=Ct(t);const e=Ct(this),n=X(e),r=n.has.call(e,t);return r||(e.add(t),T(e,"add",t,t)),this}function tt(t,e){e=Ct(e);const n=Ct(this),{has:i,get:o}=X(n);let a=i.call(n,t);a||(t=Ct(t),a=i.call(n,t));const s=o.call(n,t);return n.set(t,e),a?(0,r.aU)(e,s)&&T(n,"set",t,e,s):T(n,"add",t,e),this}function et(t){const e=Ct(this),{has:n,get:r}=X(e);let i=n.call(e,t);i||(t=Ct(t),i=n.call(e,t));const o=r?r.call(e,t):void 0,a=e.delete(t);return i&&T(e,"delete",t,void 0,o),a}function nt(){const t=Ct(this),e=0!==t.size,n=void 0,r=t.clear();return e&&T(t,"clear",void 0,void 0,n),r}function rt(t,e){return function(n,r){const i=this,o=i["__v_raw"],a=Ct(o),s=e?q:t?At:Dt;return!t&&S(a,"iterate",b),o.forEach(((t,e)=>n.call(r,s(t),s(e),i)))}}function it(t,e,n){return function(...i){const o=this["__v_raw"],a=Ct(o),s=(0,r._N)(a),l="entries"===t||t===Symbol.iterator&&s,c="keys"===t&&s,u=o[t](...i),h=n?q:e?At:Dt;return!e&&S(a,"iterate",c?y:b),{next(){const{value:t,done:e}=u.next();return e?{value:t,done:e}:{value:l?[h(t[0]),h(t[1])]:h(t),done:e}},[Symbol.iterator](){return this}}}}function ot(t){return function(...e){return"delete"!==t&&this}}function at(){const t={get(t){return G(this,t)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!1)},e={get(t){return G(this,t,!1,!0)},get size(){return K(this)},has:J,add:Q,set:tt,delete:et,clear:nt,forEach:rt(!1,!0)},n={get(t){return G(this,t,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!1)},r={get(t){return G(this,t,!0,!0)},get size(){return K(this,!0)},has(t){return J.call(this,t,!0)},add:ot("add"),set:ot("set"),delete:ot("delete"),clear:ot("clear"),forEach:rt(!0,!0)},i=["keys","values","entries",Symbol.iterator];return i.forEach((i=>{t[i]=it(i,!1,!1),n[i]=it(i,!0,!1),e[i]=it(i,!1,!0),r[i]=it(i,!0,!0)})),[t,n,e,r]}const[st,lt,ct,ut]=at();function ht(t,e){const n=e?t?ut:ct:t?lt:st;return(e,i,o)=>"__v_isReactive"===i?!t:"__v_isReadonly"===i?t:"__v_raw"===i?e:Reflect.get((0,r.RI)(n,i)&&i in e?n:e,i,o)}const ft={get:ht(!1,!1)},dt={get:ht(!1,!0)},pt={get:ht(!0,!1)};const gt=new WeakMap,mt=new WeakMap,vt=new WeakMap,bt=new WeakMap;function yt(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function _t(t){return t["__v_skip"]||!Object.isExtensible(t)?0:yt((0,r.W7)(t))}function xt(t){return St(t)?t:Mt(t,!1,$,ft,gt)}function wt(t){return Mt(t,!1,Z,dt,mt)}function kt(t){return Mt(t,!0,Y,pt,vt)}function Mt(t,e,n,i,o){if(!(0,r.Kn)(t))return t;if(t["__v_raw"]&&(!e||!t["__v_isReactive"]))return t;const a=o.get(t);if(a)return a;const s=_t(t);if(0===s)return t;const l=new Proxy(t,2===s?i:n);return o.set(t,l),l}function Ot(t){return St(t)?Ot(t["__v_raw"]):!(!t||!t["__v_isReactive"])}function St(t){return!(!t||!t["__v_isReadonly"])}function Et(t){return!(!t||!t["__v_isShallow"])}function Tt(t){return Ot(t)||St(t)}function Ct(t){const e=t&&t["__v_raw"];return e?Ct(e):t}function Pt(t){return(0,r.Nj)(t,"__v_skip",!0),t}const Dt=t=>(0,r.Kn)(t)?xt(t):t,At=t=>(0,r.Kn)(t)?kt(t):t;function Lt(t){w&&v&&(t=Ct(t),E(t.dep||(t.dep=l())))}function It(t,e){t=Ct(t),t.dep&&C(t.dep)}function Nt(t){return!(!t||!0!==t.__v_isRef)}function jt(t){return Ft(t,!1)}function Rt(t){return Ft(t,!0)}function Ft(t,e){return Nt(t)?t:new Wt(t,e)}class Wt{constructor(t,e){this.__v_isShallow=e,this.dep=void 0,this.__v_isRef=!0,this._rawValue=e?t:Ct(t),this._value=e?t:Dt(t)}get value(){return Lt(this),this._value}set value(t){const e=this.__v_isShallow||Et(t)||St(t);t=e?t:Ct(t),(0,r.aU)(t,this._rawValue)&&(this._rawValue=t,this._value=e?t:Dt(t),It(this,t))}}function Ut(t){return Nt(t)?t.value:t}const zt={get:(t,e,n)=>Ut(Reflect.get(t,e,n)),set:(t,e,n,r)=>{const i=t[e];return Nt(i)&&!Nt(n)?(i.value=n,!0):Reflect.set(t,e,n,r)}};function Ht(t){return Ot(t)?t:new Proxy(t,zt)}function Bt(t){const e=(0,r.kJ)(t)?new Array(t.length):{};for(const n in t)e[n]=$t(t,n);return e}class Vt{constructor(t,e,n){this._object=t,this._key=e,this._defaultValue=n,this.__v_isRef=!0}get value(){const t=this._object[this._key];return void 0===t?this._defaultValue:t}set value(t){this._object[this._key]=t}}function $t(t,e,n){const r=t[e];return Nt(r)?r:new Vt(t,e,n)}var Yt;class Zt{constructor(t,e,n,r){this._setter=e,this.dep=void 0,this.__v_isRef=!0,this[Yt]=!1,this._dirty=!0,this.effect=new _(t,(()=>{this._dirty||(this._dirty=!0,It(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this["__v_isReadonly"]=n}get value(){const t=Ct(this);return Lt(t),!t._dirty&&t._cacheable||(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qt(t,e,n=!1){let i,o;const a=(0,r.mf)(t);a?(i=t,o=r.dG):(i=t.get,o=t.set);const s=new Zt(i,o,a||!o,n);return s}Yt="__v_isReadonly"},6252:function(t,e,n){"use strict";n.d(e,{$d:function(){return a},Ah:function(){return Et},Cn:function(){return j},FN:function(){return Mn},Fl:function(){return Un},HY:function(){return He},JJ:function(){return Y},Jd:function(){return St},Ko:function(){return zt},P$:function(){return rt},Q2:function(){return Ft},Q6:function(){return ct},U2:function(){return ot},Uk:function(){return fn},Us:function(){return Ce},WI:function(){return Ht},Wm:function(){return ln},Y3:function(){return b},Y8:function(){return tt},YP:function(){return X},_:function(){return sn},aZ:function(){return ut},bv:function(){return kt},dD:function(){return N},dG:function(){return bn},f3:function(){return Z},h:function(){return zn},iD:function(){return Qe},ic:function(){return Ot},j4:function(){return tn},kq:function(){return pn},lR:function(){return ze},nK:function(){return lt},uE:function(){return dn},up:function(){return jt},w5:function(){return R},wF:function(){return wt},wg:function(){return qe},wy:function(){return At},xv:function(){return Be}});var r=n(2262),i=n(3577);function o(t,e,n,r){let i;try{i=r?t(...r):t()}catch(o){s(o,e,n)}return i}function a(t,e,n,r){if((0,i.mf)(t)){const a=o(t,e,n,r);return a&&(0,i.tI)(a)&&a.catch((t=>{s(t,e,n)})),a}const l=[];for(let i=0;i>>1,i=S(h[r]);if&&h.splice(e,1)}function k(t){(0,i.kJ)(t)?d.push(...t):p&&p.includes(t,t.allowRecurse?g+1:g)||d.push(t),x()}function M(t,e=(c?f+1:0)){for(0;eS(t)-S(e))),g=0;gnull==t.id?1/0:t.id,E=(t,e)=>{const n=S(t)-S(e);if(0===n){if(t.pre&&!e.pre)return-1;if(e.pre&&!t.pre)return 1}return n};function T(t){u=!1,c=!0,h.sort(E);i.dG;try{for(f=0;ft.trim()))),e&&(o=n.map(i.He))}let c;let u=r[c=(0,i.hR)(e)]||r[c=(0,i.hR)((0,i._A)(e))];!u&&s&&(u=r[c=(0,i.hR)((0,i.rs)(e))]),u&&a(u,t,6,o);const h=r[c+"Once"];if(h){if(t.emitted){if(t.emitted[c])return}else t.emitted={};t.emitted[c]=!0,a(h,t,6,o)}}function P(t,e,n=!1){const r=e.emitsCache,o=r.get(t);if(void 0!==o)return o;const a=t.emits;let s={},l=!1;if(!(0,i.mf)(t)){const r=t=>{const n=P(t,e,!0);n&&(l=!0,(0,i.l7)(s,n))};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}return a||l?((0,i.kJ)(a)?a.forEach((t=>s[t]=null)):(0,i.l7)(s,a),(0,i.Kn)(t)&&r.set(t,s),s):((0,i.Kn)(t)&&r.set(t,null),null)}function D(t,e){return!(!t||!(0,i.F7)(e))&&(e=e.slice(2).replace(/Once$/,""),(0,i.RI)(t,e[0].toLowerCase()+e.slice(1))||(0,i.RI)(t,(0,i.rs)(e))||(0,i.RI)(t,e))}let A=null,L=null;function I(t){const e=A;return A=t,L=t&&t.type.__scopeId||null,e}function N(t){L=t}function j(){L=null}function R(t,e=A,n){if(!e)return t;if(t._n)return t;const r=(...n)=>{r._d&&Je(-1);const i=I(e),o=t(...n);return I(i),r._d&&Je(1),o};return r._n=!0,r._c=!0,r._d=!0,r}function F(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:a,propsOptions:[l],slots:c,attrs:u,emit:h,render:f,renderCache:d,data:p,setupState:g,ctx:m,inheritAttrs:v}=t;let b,y;const _=I(t);try{if(4&n.shapeFlag){const t=o||r;b=gn(f.call(t,t,d,a,g,p,m)),y=u}else{const t=e;0,b=gn(t.length>1?t(a,{attrs:u,slots:c,emit:h}):t(a,null)),y=e.props?u:W(u)}}catch(w){Ye.length=0,s(w,t,1),b=ln(Ve)}let x=b;if(y&&!1!==v){const t=Object.keys(y),{shapeFlag:e}=x;t.length&&7&e&&(l&&t.some(i.tR)&&(y=U(y,l)),x=hn(x,y))}return n.dirs&&(x=hn(x),x.dirs=x.dirs?x.dirs.concat(n.dirs):n.dirs),n.transition&&(x.transition=n.transition),b=x,I(_),b}const W=t=>{let e;for(const n in t)("class"===n||"style"===n||(0,i.F7)(n))&&((e||(e={}))[n]=t[n]);return e},U=(t,e)=>{const n={};for(const r in t)(0,i.tR)(r)&&r.slice(9)in e||(n[r]=t[r]);return n};function z(t,e,n){const{props:r,children:i,component:o}=t,{props:a,children:s,patchFlag:l}=e,c=o.emitsOptions;if(e.dirs||e.transition)return!0;if(!(n&&l>=0))return!(!i&&!s||s&&s.$stable)||r!==a&&(r?!a||H(r,a,c):!!a);if(1024&l)return!0;if(16&l)return r?H(r,a,c):!!a;if(8&l){const t=e.dynamicProps;for(let e=0;et.__isSuspense;function $(t,e){e&&e.pendingBranch?(0,i.kJ)(t)?e.effects.push(...t):e.effects.push(t):k(t)}function Y(t,e){if(kn){let n=kn.provides;const r=kn.parent&&kn.parent.provides;r===n&&(n=kn.provides=Object.create(r)),n[t]=e}else 0}function Z(t,e,n=!1){const r=kn||A;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&t in o)return o[t];if(arguments.length>1)return n&&(0,i.mf)(e)?e.call(r.proxy):e}else 0}const q={};function X(t,e,n){return G(t,e,n)}function G(t,e,{immediate:n,deep:s,flush:l,onTrack:c,onTrigger:u}=i.kT){const h=kn;let f,d,p=!1,g=!1;if((0,r.dq)(t)?(f=()=>t.value,p=(0,r.yT)(t)):(0,r.PG)(t)?(f=()=>t,s=!0):(0,i.kJ)(t)?(g=!0,p=t.some((t=>(0,r.PG)(t)||(0,r.yT)(t))),f=()=>t.map((t=>(0,r.dq)(t)?t.value:(0,r.PG)(t)?Q(t):(0,i.mf)(t)?o(t,h,2):void 0))):f=(0,i.mf)(t)?e?()=>o(t,h,2):()=>{if(!h||!h.isUnmounted)return d&&d(),a(t,h,3,[m])}:i.dG,e&&s){const t=f;f=()=>Q(t())}let m=t=>{d=x.onStop=()=>{o(t,h,4)}};if(Pn)return m=i.dG,e?n&&a(e,h,3,[f(),g?[]:void 0,m]):f(),i.dG;let v=g?[]:q;const b=()=>{if(x.active)if(e){const t=x.run();(s||p||(g?t.some(((t,e)=>(0,i.aU)(t,v[e]))):(0,i.aU)(t,v)))&&(d&&d(),a(e,h,3,[t,v===q?void 0:v,m]),v=t)}else x.run()};let y;b.allowRecurse=!!e,"sync"===l?y=b:"post"===l?y=()=>Te(b,h&&h.suspense):(b.pre=!0,h&&(b.id=h.uid),y=()=>_(b));const x=new r.qq(f,y);return e?n?b():v=x.run():"post"===l?Te(x.run.bind(x),h&&h.suspense):x.run(),()=>{x.stop(),h&&h.scope&&(0,i.Od)(h.scope.effects,x)}}function J(t,e,n){const r=this.proxy,o=(0,i.HD)(t)?t.includes(".")?K(r,t):()=>r[t]:t.bind(r,r);let a;(0,i.mf)(e)?a=e:(a=e.handler,n=e);const s=kn;On(this);const l=G(o,a.bind(r),n);return s?On(s):Sn(),l}function K(t,e){const n=e.split(".");return()=>{let e=t;for(let t=0;t{Q(t,e)}));else if((0,i.PO)(t))for(const n in t)Q(t[n],e);return t}function tt(){const t={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return kt((()=>{t.isMounted=!0})),St((()=>{t.isUnmounting=!0})),t}const et=[Function,Array],nt={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:et,onEnter:et,onAfterEnter:et,onEnterCancelled:et,onBeforeLeave:et,onLeave:et,onAfterLeave:et,onLeaveCancelled:et,onBeforeAppear:et,onAppear:et,onAfterAppear:et,onAppearCancelled:et},setup(t,{slots:e}){const n=Mn(),i=tt();let o;return()=>{const a=e.default&&ct(e.default(),!0);if(!a||!a.length)return;let s=a[0];if(a.length>1){let t=!1;for(const e of a)if(e.type!==Ve){0,s=e,t=!0;break}}const l=(0,r.IU)(t),{mode:c}=l;if(i.isLeaving)return at(s);const u=st(s);if(!u)return at(s);const h=ot(u,l,i,n);lt(u,h);const f=n.subTree,d=f&&st(f);let p=!1;const{getTransitionKey:g}=u.type;if(g){const t=g();void 0===o?o=t:t!==o&&(o=t,p=!0)}if(d&&d.type!==Ve&&(!nn(u,d)||p)){const t=ot(d,l,i,n);if(lt(d,t),"out-in"===c)return i.isLeaving=!0,t.afterLeave=()=>{i.isLeaving=!1,n.update()},at(s);"in-out"===c&&u.type!==Ve&&(t.delayLeave=(t,e,n)=>{const r=it(i,d);r[String(d.key)]=d,t._leaveCb=()=>{e(),t._leaveCb=void 0,delete h.delayedLeave},h.delayedLeave=n})}return s}}},rt=nt;function it(t,e){const{leavingVNodes:n}=t;let r=n.get(e.type);return r||(r=Object.create(null),n.set(e.type,r)),r}function ot(t,e,n,r){const{appear:o,mode:s,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:h,onEnterCancelled:f,onBeforeLeave:d,onLeave:p,onAfterLeave:g,onLeaveCancelled:m,onBeforeAppear:v,onAppear:b,onAfterAppear:y,onAppearCancelled:_}=e,x=String(t.key),w=it(n,t),k=(t,e)=>{t&&a(t,r,9,e)},M=(t,e)=>{const n=e[1];k(t,e),(0,i.kJ)(t)?t.every((t=>t.length<=1))&&n():t.length<=1&&n()},O={mode:s,persisted:l,beforeEnter(e){let r=c;if(!n.isMounted){if(!o)return;r=v||c}e._leaveCb&&e._leaveCb(!0);const i=w[x];i&&nn(t,i)&&i.el._leaveCb&&i.el._leaveCb(),k(r,[e])},enter(t){let e=u,r=h,i=f;if(!n.isMounted){if(!o)return;e=b||u,r=y||h,i=_||f}let a=!1;const s=t._enterCb=e=>{a||(a=!0,k(e?i:r,[t]),O.delayedLeave&&O.delayedLeave(),t._enterCb=void 0)};e?M(e,[t,s]):s()},leave(e,r){const i=String(t.key);if(e._enterCb&&e._enterCb(!0),n.isUnmounting)return r();k(d,[e]);let o=!1;const a=e._leaveCb=n=>{o||(o=!0,r(),k(n?m:g,[e]),e._leaveCb=void 0,w[i]===t&&delete w[i])};w[i]=t,p?M(p,[e,a]):a()},clone(t){return ot(t,e,n,r)}};return O}function at(t){if(ft(t))return t=hn(t),t.children=null,t}function st(t){return ft(t)?t.children?t.children[0]:void 0:t}function lt(t,e){6&t.shapeFlag&&t.component?lt(t.component.subTree,e):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function ct(t,e=!1,n){let r=[],i=0;for(let o=0;o1)for(let o=0;o!!t.type.__asyncLoader;const ft=t=>t.type.__isKeepAlive;RegExp,RegExp;function dt(t,e){return(0,i.kJ)(t)?t.some((t=>dt(t,e))):(0,i.HD)(t)?t.split(",").includes(e):!!t.test&&t.test(e)}function pt(t,e){mt(t,"a",e)}function gt(t,e){mt(t,"da",e)}function mt(t,e,n=kn){const r=t.__wdc||(t.__wdc=()=>{let e=n;while(e){if(e.isDeactivated)return;e=e.parent}return t()});if(_t(e,r,n),n){let t=n.parent;while(t&&t.parent)ft(t.parent.vnode)&&vt(r,e,n,t),t=t.parent}}function vt(t,e,n,r){const o=_t(e,t,r,!0);Et((()=>{(0,i.Od)(r[e],o)}),n)}function bt(t){let e=t.shapeFlag;256&e&&(e-=256),512&e&&(e-=512),t.shapeFlag=e}function yt(t){return 128&t.shapeFlag?t.ssContent:t}function _t(t,e,n=kn,i=!1){if(n){const o=n[t]||(n[t]=[]),s=e.__weh||(e.__weh=(...i)=>{if(n.isUnmounted)return;(0,r.Jd)(),On(n);const o=a(e,n,t,i);return Sn(),(0,r.lk)(),o});return i?o.unshift(s):o.push(s),s}}const xt=t=>(e,n=kn)=>(!Pn||"sp"===t)&&_t(t,e,n),wt=xt("bm"),kt=xt("m"),Mt=xt("bu"),Ot=xt("u"),St=xt("bum"),Et=xt("um"),Tt=xt("sp"),Ct=xt("rtg"),Pt=xt("rtc");function Dt(t,e=kn){_t("ec",t,e)}function At(t,e){const n=A;if(null===n)return t;const r=Rn(n)||n.proxy,o=t.dirs||(t.dirs=[]);for(let a=0;ae(t,n,void 0,a&&a[n])));else{const n=Object.keys(t);o=new Array(n.length);for(let r=0,i=n.length;r!en(t)||t.type!==Ve&&!(t.type===He&&!Bt(t.children))))?t:null}const Vt=t=>t?En(t)?Rn(t)||t.proxy:Vt(t.parent):null,$t=(0,i.l7)(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Vt(t.parent),$root:t=>Vt(t.root),$emit:t=>t.emit,$options:t=>Kt(t),$forceUpdate:t=>t.f||(t.f=()=>_(t.update)),$nextTick:t=>t.n||(t.n=b.bind(t.proxy)),$watch:t=>J.bind(t)}),Yt={get({_:t},e){const{ctx:n,setupState:o,data:a,props:s,accessCache:l,type:c,appContext:u}=t;let h;if("$"!==e[0]){const r=l[e];if(void 0!==r)switch(r){case 1:return o[e];case 2:return a[e];case 4:return n[e];case 3:return s[e]}else{if(o!==i.kT&&(0,i.RI)(o,e))return l[e]=1,o[e];if(a!==i.kT&&(0,i.RI)(a,e))return l[e]=2,a[e];if((h=t.propsOptions[0])&&(0,i.RI)(h,e))return l[e]=3,s[e];if(n!==i.kT&&(0,i.RI)(n,e))return l[e]=4,n[e];Zt&&(l[e]=0)}}const f=$t[e];let d,p;return f?("$attrs"===e&&(0,r.j)(t,"get",e),f(t)):(d=c.__cssModules)&&(d=d[e])?d:n!==i.kT&&(0,i.RI)(n,e)?(l[e]=4,n[e]):(p=u.config.globalProperties,(0,i.RI)(p,e)?p[e]:void 0)},set({_:t},e,n){const{data:r,setupState:o,ctx:a}=t;return o!==i.kT&&(0,i.RI)(o,e)?(o[e]=n,!0):r!==i.kT&&(0,i.RI)(r,e)?(r[e]=n,!0):!(0,i.RI)(t.props,e)&&(("$"!==e[0]||!(e.slice(1)in t))&&(a[e]=n,!0))},has({_:{data:t,setupState:e,accessCache:n,ctx:r,appContext:o,propsOptions:a}},s){let l;return!!n[s]||t!==i.kT&&(0,i.RI)(t,s)||e!==i.kT&&(0,i.RI)(e,s)||(l=a[0])&&(0,i.RI)(l,s)||(0,i.RI)(r,s)||(0,i.RI)($t,s)||(0,i.RI)(o.config.globalProperties,s)},defineProperty(t,e,n){return null!=n.get?t._.accessCache[e]=0:(0,i.RI)(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};let Zt=!0;function qt(t){const e=Kt(t),n=t.proxy,o=t.ctx;Zt=!1,e.beforeCreate&&Gt(e.beforeCreate,t,"bc");const{data:a,computed:s,methods:l,watch:c,provide:u,inject:h,created:f,beforeMount:d,mounted:p,beforeUpdate:g,updated:m,activated:v,deactivated:b,beforeDestroy:y,beforeUnmount:_,destroyed:x,unmounted:w,render:k,renderTracked:M,renderTriggered:O,errorCaptured:S,serverPrefetch:E,expose:T,inheritAttrs:C,components:P,directives:D,filters:A}=e,L=null;if(h&&Xt(h,o,L,t.appContext.config.unwrapInjectedRef),l)for(const r in l){const t=l[r];(0,i.mf)(t)&&(o[r]=t.bind(n))}if(a){0;const e=a.call(n,n);0,(0,i.Kn)(e)&&(t.data=(0,r.qj)(e))}if(Zt=!0,s)for(const r in s){const t=s[r],e=(0,i.mf)(t)?t.bind(n,n):(0,i.mf)(t.get)?t.get.bind(n,n):i.dG;0;const a=!(0,i.mf)(t)&&(0,i.mf)(t.set)?t.set.bind(n):i.dG,l=Un({get:e,set:a});Object.defineProperty(o,r,{enumerable:!0,configurable:!0,get:()=>l.value,set:t=>l.value=t})}if(c)for(const r in c)Jt(c[r],o,n,r);if(u){const t=(0,i.mf)(u)?u.call(n):u;Reflect.ownKeys(t).forEach((e=>{Y(e,t[e])}))}function I(t,e){(0,i.kJ)(e)?e.forEach((e=>t(e.bind(n)))):e&&t(e.bind(n))}if(f&&Gt(f,t,"c"),I(wt,d),I(kt,p),I(Mt,g),I(Ot,m),I(pt,v),I(gt,b),I(Dt,S),I(Pt,M),I(Ct,O),I(St,_),I(Et,w),I(Tt,E),(0,i.kJ)(T))if(T.length){const e=t.exposed||(t.exposed={});T.forEach((t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})}))}else t.exposed||(t.exposed={});k&&t.render===i.dG&&(t.render=k),null!=C&&(t.inheritAttrs=C),P&&(t.components=P),D&&(t.directives=D)}function Xt(t,e,n=i.dG,o=!1){(0,i.kJ)(t)&&(t=re(t));for(const a in t){const n=t[a];let s;s=(0,i.Kn)(n)?"default"in n?Z(n.from||a,n.default,!0):Z(n.from||a):Z(n),(0,r.dq)(s)&&o?Object.defineProperty(e,a,{enumerable:!0,configurable:!0,get:()=>s.value,set:t=>s.value=t}):e[a]=s}}function Gt(t,e,n){a((0,i.kJ)(t)?t.map((t=>t.bind(e.proxy))):t.bind(e.proxy),e,n)}function Jt(t,e,n,r){const o=r.includes(".")?K(n,r):()=>n[r];if((0,i.HD)(t)){const n=e[t];(0,i.mf)(n)&&X(o,n)}else if((0,i.mf)(t))X(o,t.bind(n));else if((0,i.Kn)(t))if((0,i.kJ)(t))t.forEach((t=>Jt(t,e,n,r)));else{const r=(0,i.mf)(t.handler)?t.handler.bind(n):e[t.handler];(0,i.mf)(r)&&X(o,r,t)}else 0}function Kt(t){const e=t.type,{mixins:n,extends:r}=e,{mixins:o,optionsCache:a,config:{optionMergeStrategies:s}}=t.appContext,l=a.get(e);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach((t=>Qt(c,t,s,!0))),Qt(c,e,s)):c=e,(0,i.Kn)(e)&&a.set(e,c),c}function Qt(t,e,n,r=!1){const{mixins:i,extends:o}=e;o&&Qt(t,o,n,!0),i&&i.forEach((e=>Qt(t,e,n,!0)));for(const a in e)if(r&&"expose"===a);else{const r=te[a]||n&&n[a];t[a]=r?r(t[a],e[a]):e[a]}return t}const te={data:ee,props:oe,emits:oe,methods:oe,computed:oe,beforeCreate:ie,created:ie,beforeMount:ie,mounted:ie,beforeUpdate:ie,updated:ie,beforeDestroy:ie,beforeUnmount:ie,destroyed:ie,unmounted:ie,activated:ie,deactivated:ie,errorCaptured:ie,serverPrefetch:ie,components:oe,directives:oe,watch:ae,provide:ee,inject:ne};function ee(t,e){return e?t?function(){return(0,i.l7)((0,i.mf)(t)?t.call(this,this):t,(0,i.mf)(e)?e.call(this,this):e)}:e:t}function ne(t,e){return oe(re(t),re(e))}function re(t){if((0,i.kJ)(t)){const e={};for(let n=0;n0)||16&l){let r;ce(t,e,a,s)&&(h=!0);for(const o in c)e&&((0,i.RI)(e,o)||(r=(0,i.rs)(o))!==o&&(0,i.RI)(e,r))||(u?!n||void 0===n[o]&&void 0===n[r]||(a[o]=ue(u,c,o,void 0,t,!0)):delete a[o]);if(s!==c)for(const t in s)e&&(0,i.RI)(e,t)||(delete s[t],h=!0)}else if(8&l){const n=t.vnode.dynamicProps;for(let r=0;r{c=!0;const[n,r]=he(t,e,!0);(0,i.l7)(s,n),r&&l.push(...r)};!n&&e.mixins.length&&e.mixins.forEach(r),t.extends&&r(t.extends),t.mixins&&t.mixins.forEach(r)}if(!a&&!c)return(0,i.Kn)(t)&&r.set(t,i.Z6),i.Z6;if((0,i.kJ)(a))for(let h=0;h-1,r[1]=n<0||t-1||(0,i.RI)(r,"default"))&&l.push(e)}}}}const u=[s,l];return(0,i.Kn)(t)&&r.set(t,u),u}function fe(t){return"$"!==t[0]}function de(t){const e=t&&t.toString().match(/^\s*function (\w+)/);return e?e[1]:null===t?"null":""}function pe(t,e){return de(t)===de(e)}function ge(t,e){return(0,i.kJ)(e)?e.findIndex((e=>pe(e,t))):(0,i.mf)(e)&&pe(e,t)?0:-1}const me=t=>"_"===t[0]||"$stable"===t,ve=t=>(0,i.kJ)(t)?t.map(gn):[gn(t)],be=(t,e,n)=>{if(e._n)return e;const r=R(((...t)=>ve(e(...t))),n);return r._c=!1,r},ye=(t,e,n)=>{const r=t._ctx;for(const o in t){if(me(o))continue;const n=t[o];if((0,i.mf)(n))e[o]=be(o,n,r);else if(null!=n){0;const t=ve(n);e[o]=()=>t}}},_e=(t,e)=>{const n=ve(e);t.slots.default=()=>n},xe=(t,e)=>{if(32&t.vnode.shapeFlag){const n=e._;n?(t.slots=(0,r.IU)(e),(0,i.Nj)(e,"_",n)):ye(e,t.slots={})}else t.slots={},e&&_e(t,e);(0,i.Nj)(t.slots,rn,1)},we=(t,e,n)=>{const{vnode:r,slots:o}=t;let a=!0,s=i.kT;if(32&r.shapeFlag){const t=e._;t?n&&1===t?a=!1:((0,i.l7)(o,e),n||1!==t||delete o._):(a=!e.$stable,ye(e,o)),s=e}else e&&(_e(t,e),s={default:1});if(a)for(const i in o)me(i)||i in s||delete o[i]};function ke(){return{app:null,config:{isNativeTag:i.NO,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Me=0;function Oe(t,e){return function(n,r=null){(0,i.mf)(n)||(n=Object.assign({},n)),null==r||(0,i.Kn)(r)||(r=null);const o=ke(),a=new Set;let s=!1;const l=o.app={_uid:Me++,_component:n,_props:r,_container:null,_context:o,_instance:null,version:Hn,get config(){return o.config},set config(t){0},use(t,...e){return a.has(t)||(t&&(0,i.mf)(t.install)?(a.add(t),t.install(l,...e)):(0,i.mf)(t)&&(a.add(t),t(l,...e))),l},mixin(t){return o.mixins.includes(t)||o.mixins.push(t),l},component(t,e){return e?(o.components[t]=e,l):o.components[t]},directive(t,e){return e?(o.directives[t]=e,l):o.directives[t]},mount(i,a,c){if(!s){0;const u=ln(n,r);return u.appContext=o,a&&e?e(u,i):t(u,i,c),s=!0,l._container=i,i.__vue_app__=l,Rn(u.component)||u.component.proxy}},unmount(){s&&(t(null,l._container),delete l._container.__vue_app__)},provide(t,e){return o.provides[t]=e,l}};return l}}function Se(t,e,n,a,s=!1){if((0,i.kJ)(t))return void t.forEach(((t,r)=>Se(t,e&&((0,i.kJ)(e)?e[r]:e),n,a,s)));if(ht(a)&&!s)return;const l=4&a.shapeFlag?Rn(a.component)||a.component.proxy:a.el,c=s?null:l,{i:u,r:h}=t;const f=e&&e.r,d=u.refs===i.kT?u.refs={}:u.refs,p=u.setupState;if(null!=f&&f!==h&&((0,i.HD)(f)?(d[f]=null,(0,i.RI)(p,f)&&(p[f]=null)):(0,r.dq)(f)&&(f.value=null)),(0,i.mf)(h))o(h,u,12,[c,d]);else{const e=(0,i.HD)(h),o=(0,r.dq)(h);if(e||o){const r=()=>{if(t.f){const n=e?d[h]:h.value;s?(0,i.kJ)(n)&&(0,i.Od)(n,l):(0,i.kJ)(n)?n.includes(l)||n.push(l):e?(d[h]=[l],(0,i.RI)(p,h)&&(p[h]=d[h])):(h.value=[l],t.k&&(d[t.k]=h.value))}else e?(d[h]=c,(0,i.RI)(p,h)&&(p[h]=c)):o&&(h.value=c,t.k&&(d[t.k]=c))};c?(r.id=-1,Te(r,n)):r()}else 0}}function Ee(){}const Te=$;function Ce(t){return Pe(t)}function Pe(t,e){Ee();const n=(0,i.E9)();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:l,createText:c,createComment:u,setText:h,setElementText:f,parentNode:d,nextSibling:p,setScopeId:g=i.dG,cloneNode:m,insertStaticContent:v}=t,b=(t,e,n,r=null,i=null,o=null,a=!1,s=null,l=!!e.dynamicChildren)=>{if(t===e)return;t&&!nn(t,e)&&(r=Q(t),q(t,i,o,!0),t=null),-2===e.patchFlag&&(l=!1,e.dynamicChildren=null);const{type:c,ref:u,shapeFlag:h}=e;switch(c){case Be:y(t,e,n,r);break;case Ve:x(t,e,n,r);break;case $e:null==t&&k(e,n,r,a);break;case He:N(t,e,n,r,i,o,a,s,l);break;default:1&h?T(t,e,n,r,i,o,a,s,l):6&h?j(t,e,n,r,i,o,a,s,l):(64&h||128&h)&&c.process(t,e,n,r,i,o,a,s,l,et)}null!=u&&i&&Se(u,t&&t.ref,o,e||t,!e)},y=(t,e,n,r)=>{if(null==t)o(e.el=c(e.children),n,r);else{const n=e.el=t.el;e.children!==t.children&&h(n,e.children)}},x=(t,e,n,r)=>{null==t?o(e.el=u(e.children||""),n,r):e.el=t.el},k=(t,e,n,r)=>{[t.el,t.anchor]=v(t.children,e,n,r,t.el,t.anchor)},S=({el:t,anchor:e},n,r)=>{let i;while(t&&t!==e)i=p(t),o(t,n,r),t=i;o(e,n,r)},E=({el:t,anchor:e})=>{let n;while(t&&t!==e)n=p(t),a(t),t=n;a(e)},T=(t,e,n,r,i,o,a,s,l)=>{a=a||"svg"===e.type,null==t?C(e,n,r,i,o,a,s,l):A(t,e,i,o,a,s,l)},C=(t,e,n,r,a,c,u,h)=>{let d,p;const{type:g,props:v,shapeFlag:b,transition:y,patchFlag:_,dirs:x}=t;if(t.el&&void 0!==m&&-1===_)d=t.el=m(t.el);else{if(d=t.el=l(t.type,c,v&&v.is,v),8&b?f(d,t.children):16&b&&D(t.children,d,null,r,a,c&&"foreignObject"!==g,u,h),x&&Lt(t,null,r,"created"),v){for(const e in v)"value"===e||(0,i.Gg)(e)||s(d,e,null,v[e],c,t.children,r,a,K);"value"in v&&s(d,"value",null,v.value),(p=v.onVnodeBeforeMount)&&yn(p,r,t)}P(d,t,t.scopeId,u,r)}x&&Lt(t,null,r,"beforeMount");const w=(!a||a&&!a.pendingBranch)&&y&&!y.persisted;w&&y.beforeEnter(d),o(d,e,n),((p=v&&v.onVnodeMounted)||w||x)&&Te((()=>{p&&yn(p,r,t),w&&y.enter(d),x&&Lt(t,null,r,"mounted")}),a)},P=(t,e,n,r,i)=>{if(n&&g(t,n),r)for(let o=0;o{for(let c=l;c{const c=e.el=t.el;let{patchFlag:u,dynamicChildren:h,dirs:d}=e;u|=16&t.patchFlag;const p=t.props||i.kT,g=e.props||i.kT;let m;n&&De(n,!1),(m=g.onVnodeBeforeUpdate)&&yn(m,n,e,t),d&&Lt(e,t,n,"beforeUpdate"),n&&De(n,!0);const v=o&&"foreignObject"!==e.type;if(h?L(t.dynamicChildren,h,c,n,r,v,a):l||V(t,e,c,null,n,r,v,a,!1),u>0){if(16&u)I(c,e,p,g,n,r,o);else if(2&u&&p.class!==g.class&&s(c,"class",null,g.class,o),4&u&&s(c,"style",p.style,g.style,o),8&u){const i=e.dynamicProps;for(let e=0;e{m&&yn(m,n,e,t),d&&Lt(e,t,n,"updated")}),r)},L=(t,e,n,r,i,o,a)=>{for(let s=0;s{if(n!==r){for(const c in r){if((0,i.Gg)(c))continue;const u=r[c],h=n[c];u!==h&&"value"!==c&&s(t,c,h,u,l,e.children,o,a,K)}if(n!==i.kT)for(const c in n)(0,i.Gg)(c)||c in r||s(t,c,n[c],null,l,e.children,o,a,K);"value"in r&&s(t,"value",n.value,r.value)}},N=(t,e,n,r,i,a,s,l,u)=>{const h=e.el=t?t.el:c(""),f=e.anchor=t?t.anchor:c("");let{patchFlag:d,dynamicChildren:p,slotScopeIds:g}=e;g&&(l=l?l.concat(g):g),null==t?(o(h,n,r),o(f,n,r),D(e.children,n,f,i,a,s,l,u)):d>0&&64&d&&p&&t.dynamicChildren?(L(t.dynamicChildren,p,n,i,a,s,l),(null!=e.key||i&&e===i.subTree)&&Ae(t,e,!0)):V(t,e,n,f,i,a,s,l,u)},j=(t,e,n,r,i,o,a,s,l)=>{e.slotScopeIds=s,null==t?512&e.shapeFlag?i.ctx.activate(e,n,r,a,l):R(e,n,r,i,o,a,l):W(t,e,l)},R=(t,e,n,r,i,o,a)=>{const s=t.component=wn(t,r,i);if(ft(t)&&(s.ctx.renderer=et),Dn(s),s.asyncDep){if(i&&i.registerDep(s,U),!t.el){const t=s.subTree=ln(Ve);x(null,t,e,n)}}else U(s,t,e,n,i,o,a)},W=(t,e,n)=>{const r=e.component=t.component;if(z(t,e,n)){if(r.asyncDep&&!r.asyncResolved)return void H(r,e,n);r.next=e,w(r.update),r.update()}else e.el=t.el,r.vnode=e},U=(t,e,n,o,a,s,l)=>{const c=()=>{if(t.isMounted){let e,{next:n,bu:r,u:o,parent:c,vnode:u}=t,h=n;0,De(t,!1),n?(n.el=u.el,H(t,n,l)):n=u,r&&(0,i.ir)(r),(e=n.props&&n.props.onVnodeBeforeUpdate)&&yn(e,c,n,u),De(t,!0);const f=F(t);0;const p=t.subTree;t.subTree=f,b(p,f,d(p.el),Q(p),t,a,s),n.el=f.el,null===h&&B(t,f.el),o&&Te(o,a),(e=n.props&&n.props.onVnodeUpdated)&&Te((()=>yn(e,c,n,u)),a)}else{let r;const{el:l,props:c}=e,{bm:u,m:h,parent:f}=t,d=ht(e);if(De(t,!1),u&&(0,i.ir)(u),!d&&(r=c&&c.onVnodeBeforeMount)&&yn(r,f,e),De(t,!0),l&&rt){const n=()=>{t.subTree=F(t),rt(l,t.subTree,t,a,null)};d?e.type.__asyncLoader().then((()=>!t.isUnmounted&&n())):n()}else{0;const r=t.subTree=F(t);0,b(null,r,n,o,t,a,s),e.el=r.el}if(h&&Te(h,a),!d&&(r=c&&c.onVnodeMounted)){const t=e;Te((()=>yn(r,f,t)),a)}(256&e.shapeFlag||f&&ht(f.vnode)&&256&f.vnode.shapeFlag)&&t.a&&Te(t.a,a),t.isMounted=!0,e=n=o=null}},u=t.effect=new r.qq(c,(()=>_(h)),t.scope),h=t.update=()=>u.run();h.id=t.uid,De(t,!0),h()},H=(t,e,n)=>{e.component=t;const i=t.vnode.props;t.vnode=e,t.next=null,le(t,e.props,i,n),we(t,e.children,n),(0,r.Jd)(),M(),(0,r.lk)()},V=(t,e,n,r,i,o,a,s,l=!1)=>{const c=t&&t.children,u=t?t.shapeFlag:0,h=e.children,{patchFlag:d,shapeFlag:p}=e;if(d>0){if(128&d)return void Y(c,h,n,r,i,o,a,s,l);if(256&d)return void $(c,h,n,r,i,o,a,s,l)}8&p?(16&u&&K(c,i,o),h!==c&&f(n,h)):16&u?16&p?Y(c,h,n,r,i,o,a,s,l):K(c,i,o,!0):(8&u&&f(n,""),16&p&&D(h,n,r,i,o,a,s,l))},$=(t,e,n,r,o,a,s,l,c)=>{t=t||i.Z6,e=e||i.Z6;const u=t.length,h=e.length,f=Math.min(u,h);let d;for(d=0;dh?K(t,o,a,!0,!1,f):D(e,n,r,o,a,s,l,c,f)},Y=(t,e,n,r,o,a,s,l,c)=>{let u=0;const h=e.length;let f=t.length-1,d=h-1;while(u<=f&&u<=d){const r=t[u],i=e[u]=c?mn(e[u]):gn(e[u]);if(!nn(r,i))break;b(r,i,n,null,o,a,s,l,c),u++}while(u<=f&&u<=d){const r=t[f],i=e[d]=c?mn(e[d]):gn(e[d]);if(!nn(r,i))break;b(r,i,n,null,o,a,s,l,c),f--,d--}if(u>f){if(u<=d){const t=d+1,i=td)while(u<=f)q(t[u],o,a,!0),u++;else{const p=u,g=u,m=new Map;for(u=g;u<=d;u++){const t=e[u]=c?mn(e[u]):gn(e[u]);null!=t.key&&m.set(t.key,u)}let v,y=0;const _=d-g+1;let x=!1,w=0;const k=new Array(_);for(u=0;u<_;u++)k[u]=0;for(u=p;u<=f;u++){const r=t[u];if(y>=_){q(r,o,a,!0);continue}let i;if(null!=r.key)i=m.get(r.key);else for(v=g;v<=d;v++)if(0===k[v-g]&&nn(r,e[v])){i=v;break}void 0===i?q(r,o,a,!0):(k[i-g]=u+1,i>=w?w=i:x=!0,b(r,e[i],n,null,o,a,s,l,c),y++)}const M=x?Le(k):i.Z6;for(v=M.length-1,u=_-1;u>=0;u--){const t=g+u,i=e[t],f=t+1{const{el:a,type:s,transition:l,children:c,shapeFlag:u}=t;if(6&u)return void Z(t.component.subTree,e,n,r);if(128&u)return void t.suspense.move(e,n,r);if(64&u)return void s.move(t,e,n,et);if(s===He){o(a,e,n);for(let t=0;tl.enter(a)),i);else{const{leave:t,delayLeave:r,afterLeave:i}=l,s=()=>o(a,e,n),c=()=>{t(a,(()=>{s(),i&&i()}))};r?r(a,s,c):c()}else o(a,e,n)},q=(t,e,n,r=!1,i=!1)=>{const{type:o,props:a,ref:s,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:h,dirs:f}=t;if(null!=s&&Se(s,null,n,t,!0),256&u)return void e.ctx.deactivate(t);const d=1&u&&f,p=!ht(t);let g;if(p&&(g=a&&a.onVnodeBeforeUnmount)&&yn(g,e,t),6&u)J(t.component,n,r);else{if(128&u)return void t.suspense.unmount(n,r);d&&Lt(t,null,e,"beforeUnmount"),64&u?t.type.remove(t,e,n,i,et,r):c&&(o!==He||h>0&&64&h)?K(c,e,n,!1,!0):(o===He&&384&h||!i&&16&u)&&K(l,e,n),r&&X(t)}(p&&(g=a&&a.onVnodeUnmounted)||d)&&Te((()=>{g&&yn(g,e,t),d&&Lt(t,null,e,"unmounted")}),n)},X=t=>{const{type:e,el:n,anchor:r,transition:i}=t;if(e===He)return void G(n,r);if(e===$e)return void E(t);const o=()=>{a(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&t.shapeFlag&&i&&!i.persisted){const{leave:e,delayLeave:r}=i,a=()=>e(n,o);r?r(t.el,o,a):a()}else o()},G=(t,e)=>{let n;while(t!==e)n=p(t),a(t),t=n;a(e)},J=(t,e,n)=>{const{bum:r,scope:o,update:a,subTree:s,um:l}=t;r&&(0,i.ir)(r),o.stop(),a&&(a.active=!1,q(s,t,e,n)),l&&Te(l,e),Te((()=>{t.isUnmounted=!0}),e),e&&e.pendingBranch&&!e.isUnmounted&&t.asyncDep&&!t.asyncResolved&&t.suspenseId===e.pendingId&&(e.deps--,0===e.deps&&e.resolve())},K=(t,e,n,r=!1,i=!1,o=0)=>{for(let a=o;a6&t.shapeFlag?Q(t.component.subTree):128&t.shapeFlag?t.suspense.next():p(t.anchor||t.el),tt=(t,e,n)=>{null==t?e._vnode&&q(e._vnode,null,null,!0):b(e._vnode||null,t,e,null,null,null,n),M(),O(),e._vnode=t},et={p:b,um:q,m:Z,r:X,mt:R,mc:D,pc:V,pbc:L,n:Q,o:t};let nt,rt;return e&&([nt,rt]=e(et)),{render:tt,hydrate:nt,createApp:Oe(tt,nt)}}function De({effect:t,update:e},n){t.allowRecurse=e.allowRecurse=n}function Ae(t,e,n=!1){const r=t.children,o=e.children;if((0,i.kJ)(r)&&(0,i.kJ)(o))for(let i=0;i>1,t[n[s]]0&&(e[r]=n[o-1]),n[o]=r)}}o=n.length,a=n[o-1];while(o-- >0)n[o]=a,a=e[a];return n}const Ie=t=>t.__isTeleport,Ne=t=>t&&(t.disabled||""===t.disabled),je=t=>"undefined"!==typeof SVGElement&&t instanceof SVGElement,Re=(t,e)=>{const n=t&&t.to;if((0,i.HD)(n)){if(e){const t=e(n);return t}return null}return n},Fe={__isTeleport:!0,process(t,e,n,r,i,o,a,s,l,c){const{mc:u,pc:h,pbc:f,o:{insert:d,querySelector:p,createText:g,createComment:m}}=c,v=Ne(e.props);let{shapeFlag:b,children:y,dynamicChildren:_}=e;if(null==t){const t=e.el=g(""),c=e.anchor=g("");d(t,n,r),d(c,n,r);const h=e.target=Re(e.props,p),f=e.targetAnchor=g("");h&&(d(f,h),a=a||je(h));const m=(t,e)=>{16&b&&u(y,t,e,i,o,a,s,l)};v?m(n,c):h&&m(h,f)}else{e.el=t.el;const r=e.anchor=t.anchor,u=e.target=t.target,d=e.targetAnchor=t.targetAnchor,g=Ne(t.props),m=g?n:u,b=g?r:d;if(a=a||je(u),_?(f(t.dynamicChildren,_,m,i,o,a,s),Ae(t,e,!0)):l||h(t,e,m,b,i,o,a,s,!1),v)g||We(e,n,r,c,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const t=e.target=Re(e.props,p);t&&We(e,t,null,c,0)}else g&&We(e,u,d,c,1)}},remove(t,e,n,r,{um:i,o:{remove:o}},a){const{shapeFlag:s,children:l,anchor:c,targetAnchor:u,target:h,props:f}=t;if(h&&o(u),(a||!Ne(f))&&(o(c),16&s))for(let d=0;d0?Ze||i.Z6:null,Xe(),Ge>0&&Ze&&Ze.push(t),t}function Qe(t,e,n,r,i,o){return Ke(sn(t,e,n,r,i,o,!0))}function tn(t,e,n,r,i){return Ke(ln(t,e,n,r,i,!0))}function en(t){return!!t&&!0===t.__v_isVNode}function nn(t,e){return t.type===e.type&&t.key===e.key}const rn="__vInternal",on=({key:t})=>null!=t?t:null,an=({ref:t,ref_key:e,ref_for:n})=>null!=t?(0,i.HD)(t)||(0,r.dq)(t)||(0,i.mf)(t)?{i:A,r:t,k:e,f:!!n}:t:null;function sn(t,e=null,n=null,r=0,o=null,a=(t===He?0:1),s=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&on(e),ref:e&&an(e),scopeId:L,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return l?(vn(c,n),128&a&&t.normalize(c)):n&&(c.shapeFlag|=(0,i.HD)(n)?8:16),Ge>0&&!s&&Ze&&(c.patchFlag>0||6&a)&&32!==c.patchFlag&&Ze.push(c),c}const ln=cn;function cn(t,e=null,n=null,o=0,a=null,s=!1){if(t&&t!==Rt||(t=Ve),en(t)){const r=hn(t,e,!0);return n&&vn(r,n),Ge>0&&!s&&Ze&&(6&r.shapeFlag?Ze[Ze.indexOf(t)]=r:Ze.push(r)),r.patchFlag|=-2,r}if(Wn(t)&&(t=t.__vccOpts),e){e=un(e);let{class:t,style:n}=e;t&&!(0,i.HD)(t)&&(e.class=(0,i.C_)(t)),(0,i.Kn)(n)&&((0,r.X3)(n)&&!(0,i.kJ)(n)&&(n=(0,i.l7)({},n)),e.style=(0,i.j5)(n))}const l=(0,i.HD)(t)?1:V(t)?128:Ie(t)?64:(0,i.Kn)(t)?4:(0,i.mf)(t)?2:0;return sn(t,e,n,o,a,l,s,!0)}function un(t){return t?(0,r.X3)(t)||rn in t?(0,i.l7)({},t):t:null}function hn(t,e,n=!1){const{props:r,ref:o,patchFlag:a,children:s}=t,l=e?bn(r||{},e):r,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:l,key:l&&on(l),ref:e&&e.ref?n&&o?(0,i.kJ)(o)?o.concat(an(e)):[o,an(e)]:an(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:s,target:t.target,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==He?-1===a?16:16|a:a,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:t.transition,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&hn(t.ssContent),ssFallback:t.ssFallback&&hn(t.ssFallback),el:t.el,anchor:t.anchor};return c}function fn(t=" ",e=0){return ln(Be,null,t,e)}function dn(t,e){const n=ln($e,null,t);return n.staticCount=e,n}function pn(t="",e=!1){return e?(qe(),tn(Ve,null,t)):ln(Ve,null,t)}function gn(t){return null==t||"boolean"===typeof t?ln(Ve):(0,i.kJ)(t)?ln(He,null,t.slice()):"object"===typeof t?mn(t):ln(Be,null,String(t))}function mn(t){return null===t.el||t.memo?t:hn(t)}function vn(t,e){let n=0;const{shapeFlag:r}=t;if(null==e)e=null;else if((0,i.kJ)(e))n=16;else if("object"===typeof e){if(65&r){const n=e.default;return void(n&&(n._c&&(n._d=!1),vn(t,n()),n._c&&(n._d=!0)))}{n=32;const r=e._;r||rn in e?3===r&&A&&(1===A.slots._?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=A}}else(0,i.mf)(e)?(e={default:e,_ctx:A},n=32):(e=String(e),64&r?(n=16,e=[fn(e)]):n=8);t.children=e,t.shapeFlag|=n}function bn(...t){const e={};for(let n=0;nkn||A,On=t=>{kn=t,t.scope.on()},Sn=()=>{kn&&kn.scope.off(),kn=null};function En(t){return 4&t.vnode.shapeFlag}let Tn,Cn,Pn=!1;function Dn(t,e=!1){Pn=e;const{props:n,children:r}=t.vnode,i=En(t);se(t,n,i,e),xe(t,r);const o=i?An(t,e):void 0;return Pn=!1,o}function An(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=(0,r.Xl)(new Proxy(t.ctx,Yt));const{setup:a}=n;if(a){const n=t.setupContext=a.length>1?jn(t):null;On(t),(0,r.Jd)();const l=o(a,t,0,[t.props,n]);if((0,r.lk)(),Sn(),(0,i.tI)(l)){if(l.then(Sn,Sn),e)return l.then((n=>{Ln(t,n,e)})).catch((e=>{s(e,t,0)}));t.asyncDep=l}else Ln(t,l,e)}else In(t,e)}function Ln(t,e,n){(0,i.mf)(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:(0,i.Kn)(e)&&(t.setupState=(0,r.WL)(e)),In(t,n)}function In(t,e,n){const o=t.type;if(!t.render){if(!e&&Tn&&!o.render){const e=o.template||Kt(t).template;if(e){0;const{isCustomElement:n,compilerOptions:r}=t.appContext.config,{delimiters:a,compilerOptions:s}=o,l=(0,i.l7)((0,i.l7)({isCustomElement:n,delimiters:a},r),s);o.render=Tn(e,l)}}t.render=o.render||i.dG,Cn&&Cn(t)}On(t),(0,r.Jd)(),qt(t),(0,r.lk)(),Sn()}function Nn(t){return new Proxy(t.attrs,{get(e,n){return(0,r.j)(t,"get","$attrs"),e[n]}})}function jn(t){const e=e=>{t.exposed=e||{}};let n;return{get attrs(){return n||(n=Nn(t))},slots:t.slots,emit:t.emit,expose:e}}function Rn(t){if(t.exposed)return t.exposeProxy||(t.exposeProxy=new Proxy((0,r.WL)((0,r.Xl)(t.exposed)),{get(e,n){return n in e?e[n]:n in $t?$t[n](t):void 0}}))}function Fn(t,e=!0){return(0,i.mf)(t)?t.displayName||t.name:t.name||e&&t.__name}function Wn(t){return(0,i.mf)(t)&&"__vccOpts"in t}const Un=(t,e)=>(0,r.Fl)(t,e,Pn);function zn(t,e,n){const r=arguments.length;return 2===r?(0,i.Kn)(e)&&!(0,i.kJ)(e)?en(e)?ln(t,null,[e]):ln(t,e):ln(t,null,e):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&en(n)&&(n=[n]),ln(t,e,n))}Symbol("");const Hn="3.2.39"},9963:function(t,e,n){"use strict";n.d(e,{D2:function(){return vt},YZ:function(){return ut},bM:function(){return at},iM:function(){return gt},nr:function(){return nt},ri:function(){return wt},sY:function(){return xt}});var r=n(3577),i=n(6252);n(2262);const o="http://www.w3.org/2000/svg",a="undefined"!==typeof document?document:null,s=a&&a.createElement("template"),l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,r)=>{const i=e?a.createElementNS(o,t):a.createElement(t,n?{is:n}:void 0);return"select"===t&&r&&null!=r.multiple&&i.setAttribute("multiple",r.multiple),i},createText:t=>a.createTextNode(t),createComment:t=>a.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>a.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},cloneNode(t){const e=t.cloneNode(!0);return"_value"in t&&(e._value=t._value),e},insertStaticContent(t,e,n,r,i,o){const a=n?n.previousSibling:e.lastChild;if(i&&(i===o||i.nextSibling)){while(1)if(e.insertBefore(i.cloneNode(!0),n),i===o||!(i=i.nextSibling))break}else{s.innerHTML=r?`${t}`:t;const i=s.content;if(r){const t=i.firstChild;while(t.firstChild)i.appendChild(t.firstChild);i.removeChild(t)}e.insertBefore(i,n)}return[a?a.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}};function c(t,e,n){const r=t._vtc;r&&(e=(e?[e,...r]:[...r]).join(" ")),null==e?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}function u(t,e,n){const i=t.style,o=(0,r.HD)(n);if(n&&!o){for(const t in n)f(i,t,n[t]);if(e&&!(0,r.HD)(e))for(const t in e)null==n[t]&&f(i,t,"")}else{const r=i.display;o?e!==n&&(i.cssText=n):e&&t.removeAttribute("style"),"_vod"in t&&(i.display=r)}}const h=/\s*!important$/;function f(t,e,n){if((0,r.kJ)(n))n.forEach((n=>f(t,e,n)));else if(null==n&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const i=g(t,e);h.test(n)?t.setProperty((0,r.rs)(i),n.replace(h,""),"important"):t[i]=n}}const d=["Webkit","Moz","ms"],p={};function g(t,e){const n=p[e];if(n)return n;let i=(0,r._A)(e);if("filter"!==i&&i in t)return p[e]=i;i=(0,r.kC)(i);for(let r=0;r{let t=Date.now,e=!1;if("undefined"!==typeof window){Date.now()>document.createEvent("Event").timeStamp&&(t=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);e=!!(n&&Number(n[1])<=53)}return[t,e]})();let x=0;const w=Promise.resolve(),k=()=>{x=0},M=()=>x||(w.then(k),x=y());function O(t,e,n,r){t.addEventListener(e,n,r)}function S(t,e,n,r){t.removeEventListener(e,n,r)}function E(t,e,n,r,i=null){const o=t._vei||(t._vei={}),a=o[e];if(r&&a)a.value=r;else{const[n,s]=C(e);if(r){const a=o[e]=P(r,i);O(t,n,a,s)}else a&&(S(t,n,a,s),o[e]=void 0)}}const T=/(?:Once|Passive|Capture)$/;function C(t){let e;if(T.test(t)){let n;e={};while(n=t.match(T))t=t.slice(0,t.length-n[0].length),e[n[0].toLowerCase()]=!0}const n=":"===t[2]?t.slice(3):(0,r.rs)(t.slice(2));return[n,e]}function P(t,e){const n=t=>{const r=t.timeStamp||y();(_||r>=n.attached-1)&&(0,i.$d)(D(t,n.value),e,5,[t])};return n.value=t,n.attached=M(),n}function D(t,e){if((0,r.kJ)(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map((t=>e=>!e._stopped&&t&&t(e)))}return e}const A=/^on[a-z]/,L=(t,e,n,i,o=!1,a,s,l,h)=>{"class"===e?c(t,i,o):"style"===e?u(t,n,i):(0,r.F7)(e)?(0,r.tR)(e)||E(t,e,n,i,s):("."===e[0]?(e=e.slice(1),1):"^"===e[0]?(e=e.slice(1),0):I(t,e,i,o))?b(t,e,i,a,s,l,h):("true-value"===e?t._trueValue=i:"false-value"===e&&(t._falseValue=i),v(t,e,i,o))};function I(t,e,n,i){return i?"innerHTML"===e||"textContent"===e||!!(e in t&&A.test(e)&&(0,r.mf)(n)):"spellcheck"!==e&&"draggable"!==e&&"translate"!==e&&("form"!==e&&(("list"!==e||"INPUT"!==t.tagName)&&(("type"!==e||"TEXTAREA"!==t.tagName)&&((!A.test(e)||!(0,r.HD)(n))&&e in t))))}"undefined"!==typeof HTMLElement&&HTMLElement;const N="transition",j="animation",R=(t,{slots:e})=>(0,i.h)(i.P$,z(t),e);R.displayName="Transition";const F={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},W=(R.props=(0,r.l7)({},i.P$.props,F),(t,e=[])=>{(0,r.kJ)(t)?t.forEach((t=>t(...e))):t&&t(...e)}),U=t=>!!t&&((0,r.kJ)(t)?t.some((t=>t.length>1)):t.length>1);function z(t){const e={};for(const r in t)r in F||(e[r]=t[r]);if(!1===t.css)return e;const{name:n="v",type:i,duration:o,enterFromClass:a=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=s,appearToClass:h=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=t,g=H(o),m=g&&g[0],v=g&&g[1],{onBeforeEnter:b,onEnter:y,onEnterCancelled:_,onLeave:x,onLeaveCancelled:w,onBeforeAppear:k=b,onAppear:M=y,onAppearCancelled:O=_}=e,S=(t,e,n)=>{$(t,e?h:l),$(t,e?u:s),n&&n()},E=(t,e)=>{t._isLeaving=!1,$(t,f),$(t,p),$(t,d),e&&e()},T=t=>(e,n)=>{const r=t?M:y,o=()=>S(e,t,n);W(r,[e,o]),Y((()=>{$(e,t?c:a),V(e,t?h:l),U(r)||q(e,i,m,o)}))};return(0,r.l7)(e,{onBeforeEnter(t){W(b,[t]),V(t,a),V(t,s)},onBeforeAppear(t){W(k,[t]),V(t,c),V(t,u)},onEnter:T(!1),onAppear:T(!0),onLeave(t,e){t._isLeaving=!0;const n=()=>E(t,e);V(t,f),K(),V(t,d),Y((()=>{t._isLeaving&&($(t,f),V(t,p),U(x)||q(t,i,v,n))})),W(x,[t,n])},onEnterCancelled(t){S(t,!1),W(_,[t])},onAppearCancelled(t){S(t,!0),W(O,[t])},onLeaveCancelled(t){E(t),W(w,[t])}})}function H(t){if(null==t)return null;if((0,r.Kn)(t))return[B(t.enter),B(t.leave)];{const e=B(t);return[e,e]}}function B(t){const e=(0,r.He)(t);return e}function V(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.add(e))),(t._vtc||(t._vtc=new Set)).add(e)}function $(t,e){e.split(/\s+/).forEach((e=>e&&t.classList.remove(e)));const{_vtc:n}=t;n&&(n.delete(e),n.size||(t._vtc=void 0))}function Y(t){requestAnimationFrame((()=>{requestAnimationFrame(t)}))}let Z=0;function q(t,e,n,r){const i=t._endId=++Z,o=()=>{i===t._endId&&r()};if(n)return setTimeout(o,n);const{type:a,timeout:s,propCount:l}=X(t,e);if(!a)return r();const c=a+"end";let u=0;const h=()=>{t.removeEventListener(c,f),o()},f=e=>{e.target===t&&++u>=l&&h()};setTimeout((()=>{u(n[t]||"").split(", "),i=r(N+"Delay"),o=r(N+"Duration"),a=G(i,o),s=r(j+"Delay"),l=r(j+"Duration"),c=G(s,l);let u=null,h=0,f=0;e===N?a>0&&(u=N,h=a,f=o.length):e===j?c>0&&(u=j,h=c,f=l.length):(h=Math.max(a,c),u=h>0?a>c?N:j:null,f=u?u===N?o.length:l.length:0);const d=u===N&&/\b(transform|all)(,|$)/.test(n[N+"Property"]);return{type:u,timeout:h,propCount:f,hasTransform:d}}function G(t,e){while(t.lengthJ(e)+J(t[n]))))}function J(t){return 1e3*Number(t.slice(0,-1).replace(",","."))}function K(){return document.body.offsetHeight}new WeakMap,new WeakMap;const Q=t=>{const e=t.props["onUpdate:modelValue"]||!1;return(0,r.kJ)(e)?t=>(0,r.ir)(e,t):e};function tt(t){t.target.composing=!0}function et(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const nt={created(t,{modifiers:{lazy:e,trim:n,number:i}},o){t._assign=Q(o);const a=i||o.props&&"number"===o.props.type;O(t,e?"change":"input",(e=>{if(e.target.composing)return;let i=t.value;n&&(i=i.trim()),a&&(i=(0,r.He)(i)),t._assign(i)})),n&&O(t,"change",(()=>{t.value=t.value.trim()})),e||(O(t,"compositionstart",tt),O(t,"compositionend",et),O(t,"change",et))},mounted(t,{value:e}){t.value=null==e?"":e},beforeUpdate(t,{value:e,modifiers:{lazy:n,trim:i,number:o}},a){if(t._assign=Q(a),t.composing)return;if(document.activeElement===t&&"range"!==t.type){if(n)return;if(i&&t.value.trim()===e)return;if((o||"number"===t.type)&&(0,r.He)(t.value)===e)return}const s=null==e?"":e;t.value!==s&&(t.value=s)}},rt={deep:!0,created(t,e,n){t._assign=Q(n),O(t,"change",(()=>{const e=t._modelValue,n=lt(t),i=t.checked,o=t._assign;if((0,r.kJ)(e)){const t=(0,r.hq)(e,n),a=-1!==t;if(i&&!a)o(e.concat(n));else if(!i&&a){const n=[...e];n.splice(t,1),o(n)}}else if((0,r.DM)(e)){const t=new Set(e);i?t.add(n):t.delete(n),o(t)}else o(ct(t,i))}))},mounted:it,beforeUpdate(t,e,n){t._assign=Q(n),it(t,e,n)}};function it(t,{value:e,oldValue:n},i){t._modelValue=e,(0,r.kJ)(e)?t.checked=(0,r.hq)(e,i.props.value)>-1:(0,r.DM)(e)?t.checked=e.has(i.props.value):e!==n&&(t.checked=(0,r.WV)(e,ct(t,!0)))}const ot={created(t,{value:e},n){t.checked=(0,r.WV)(e,n.props.value),t._assign=Q(n),O(t,"change",(()=>{t._assign(lt(t))}))},beforeUpdate(t,{value:e,oldValue:n},i){t._assign=Q(i),e!==n&&(t.checked=(0,r.WV)(e,i.props.value))}},at={deep:!0,created(t,{value:e,modifiers:{number:n}},i){const o=(0,r.DM)(e);O(t,"change",(()=>{const e=Array.prototype.filter.call(t.options,(t=>t.selected)).map((t=>n?(0,r.He)(lt(t)):lt(t)));t._assign(t.multiple?o?new Set(e):e:e[0])})),t._assign=Q(i)},mounted(t,{value:e}){st(t,e)},beforeUpdate(t,e,n){t._assign=Q(n)},updated(t,{value:e}){st(t,e)}};function st(t,e){const n=t.multiple;if(!n||(0,r.kJ)(e)||(0,r.DM)(e)){for(let i=0,o=t.options.length;i-1:o.selected=e.has(a);else if((0,r.WV)(lt(o),e))return void(t.selectedIndex!==i&&(t.selectedIndex=i))}n||-1===t.selectedIndex||(t.selectedIndex=-1)}}function lt(t){return"_value"in t?t._value:t.value}function ct(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const ut={created(t,e,n){ft(t,e,n,null,"created")},mounted(t,e,n){ft(t,e,n,null,"mounted")},beforeUpdate(t,e,n,r){ft(t,e,n,r,"beforeUpdate")},updated(t,e,n,r){ft(t,e,n,r,"updated")}};function ht(t,e){switch(t){case"SELECT":return at;case"TEXTAREA":return nt;default:switch(e){case"checkbox":return rt;case"radio":return ot;default:return nt}}}function ft(t,e,n,r,i){const o=ht(t.tagName,n.props&&n.props.type),a=o[i];a&&a(t,e,n,r)}const dt=["ctrl","shift","alt","meta"],pt={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&0!==t.button,middle:t=>"button"in t&&1!==t.button,right:t=>"button"in t&&2!==t.button,exact:(t,e)=>dt.some((n=>t[`${n}Key`]&&!e.includes(n)))},gt=(t,e)=>(n,...r)=>{for(let t=0;tn=>{if(!("key"in n))return;const i=(0,r.rs)(n.key);return e.some((t=>t===i||mt[t]===i))?t(n):void 0};const bt=(0,r.l7)({patchProp:L},l);let yt;function _t(){return yt||(yt=(0,i.Us)(bt))}const xt=(...t)=>{_t().render(...t)},wt=(...t)=>{const e=_t().createApp(...t);const{mount:n}=e;return e.mount=t=>{const i=kt(t);if(!i)return;const o=e._component;(0,r.mf)(o)||o.render||o.template||(o.template=i.innerHTML),i.innerHTML="";const a=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),a},e};function kt(t){if((0,r.HD)(t)){const e=document.querySelector(t);return e}return t}},3577:function(t,e,n){"use strict";function r(t,e){const n=Object.create(null),r=t.split(",");for(let i=0;i!!n[t.toLowerCase()]:t=>!!n[t]}n.d(e,{C_:function(){return d},DM:function(){return A},E9:function(){return rt},F7:function(){return M},Gg:function(){return V},HD:function(){return N},He:function(){return et},Kn:function(){return R},NO:function(){return w},Nj:function(){return tt},Od:function(){return E},PO:function(){return H},Pq:function(){return s},RI:function(){return C},S0:function(){return B},W7:function(){return z},WV:function(){return g},Z6:function(){return _},_A:function(){return Z},_N:function(){return D},aU:function(){return K},dG:function(){return x},e1:function(){return o},fY:function(){return r},hR:function(){return J},hq:function(){return m},ir:function(){return Q},j5:function(){return c},kC:function(){return G},kJ:function(){return P},kT:function(){return y},l7:function(){return S},mf:function(){return I},rs:function(){return X},tI:function(){return F},tR:function(){return O},yA:function(){return l},yk:function(){return j},zw:function(){return v}});const i="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt",o=r(i);const a="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",s=r(a);function l(t){return!!t||""===t}function c(t){if(P(t)){const e={};for(let n=0;n{if(t){const n=t.split(h);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}function d(t){let e="";if(N(t))e=t;else if(P(t))for(let n=0;ng(t,e)))}const v=t=>N(t)?t:null==t?"":P(t)||R(t)&&(t.toString===W||!I(t.toString))?JSON.stringify(t,b,2):String(t),b=(t,e)=>e&&e.__v_isRef?b(t,e.value):D(e)?{[`Map(${e.size})`]:[...e.entries()].reduce(((t,[e,n])=>(t[`${e} =>`]=n,t)),{})}:A(e)?{[`Set(${e.size})`]:[...e.values()]}:!R(e)||P(e)||H(e)?e:String(e),y={},_=[],x=()=>{},w=()=>!1,k=/^on[^a-z]/,M=t=>k.test(t),O=t=>t.startsWith("onUpdate:"),S=Object.assign,E=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},T=Object.prototype.hasOwnProperty,C=(t,e)=>T.call(t,e),P=Array.isArray,D=t=>"[object Map]"===U(t),A=t=>"[object Set]"===U(t),L=t=>"[object Date]"===U(t),I=t=>"function"===typeof t,N=t=>"string"===typeof t,j=t=>"symbol"===typeof t,R=t=>null!==t&&"object"===typeof t,F=t=>R(t)&&I(t.then)&&I(t.catch),W=Object.prototype.toString,U=t=>W.call(t),z=t=>U(t).slice(8,-1),H=t=>"[object Object]"===U(t),B=t=>N(t)&&"NaN"!==t&&"-"!==t[0]&&""+parseInt(t,10)===t,V=r(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$=t=>{const e=Object.create(null);return n=>{const r=e[n];return r||(e[n]=t(n))}},Y=/-(\w)/g,Z=$((t=>t.replace(Y,((t,e)=>e?e.toUpperCase():"")))),q=/\B([A-Z])/g,X=$((t=>t.replace(q,"-$1").toLowerCase())),G=$((t=>t.charAt(0).toUpperCase()+t.slice(1))),J=$((t=>t?`on${G(t)}`:"")),K=(t,e)=>!Object.is(t,e),Q=(t,e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:n})},et=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let nt;const rt=()=>nt||(nt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof n.g?n.g:{})},4366:function(t,e,n){"use strict";n.d(e,{tu:function(){return Wt},Mu:function(){return W}});const r=t=>0===Object.keys(t).length,i=(t,e)=>t.push.apply(t,e),o=(t,e)=>{const n=t.split("");return n.map((t=>e[t]||t)).join("")},a=t=>t.sort(((t,e)=>t.i-e.i||t.j-e.j)),s=t=>{const e={};let n=1;return t.forEach((t=>{e[t]=n,n+=1})),e};var l={4:[[1,2],[2,3]],5:[[1,3],[2,3],[2,4]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]};const c=2050,u=1e3,h=l,f=10,d=1e4,p=10,g=50,m=20,v=/^[A-Z\xbf-\xdf][^A-Z\xbf-\xdf]+$/,b=/^[^A-Z\xbf-\xdf]+[A-Z\xbf-\xdf]$/,y=/^[A-Z\xbf-\xdf]+$/,_=/^[^a-z\xdf-\xff]+$/,x=/^[a-z\xdf-\xff]+$/,w=/^[^A-Z\xbf-\xdf]+$/,k=/[a-z\xdf-\xff]/,M=/[A-Z\xbf-\xdf]/,O=/[^A-Za-z\xbf-\xdf]/gi,S=/^\d+$/,E=(new Date).getFullYear(),T={recentYear:/19\d\d|200\d|201\d|202\d/g};class C{match({password:t}){const e=[...this.getMatchesWithoutSeparator(t),...this.getMatchesWithSeparator(t)],n=this.filterNoise(e);return a(n)}getMatchesWithSeparator(t){const e=[],n=/^(\d{1,4})([\s/\\_.-])(\d{1,2})\2(\d{1,4})$/;for(let r=0;r<=Math.abs(t.length-6);r+=1)for(let i=r+5;i<=r+9;i+=1){if(i>=t.length)break;const o=t.slice(r,+i+1||9e9),a=n.exec(o);if(null!=a){const t=this.mapIntegersToDayMonthYear([parseInt(a[1],10),parseInt(a[3],10),parseInt(a[4],10)]);null!=t&&e.push({pattern:"date",token:o,i:r,j:i,separator:a[2],year:t.year,month:t.month,day:t.day})}}return e}getMatchesWithoutSeparator(t){const e=[],n=/^\d{4,8}$/,r=t=>Math.abs(t.year-E);for(let i=0;i<=Math.abs(t.length-4);i+=1)for(let o=i+3;o<=i+7;o+=1){if(o>=t.length)break;const a=t.slice(i,+o+1||9e9);if(n.exec(a)){const t=[],n=a.length,s=h[n];if(s.forEach((([e,n])=>{const r=this.mapIntegersToDayMonthYear([parseInt(a.slice(0,e),10),parseInt(a.slice(e,n),10),parseInt(a.slice(n),10)]);null!=r&&t.push(r)})),t.length>0){let n=t[0],s=r(t[0]);t.slice(1).forEach((t=>{const e=r(t);e{let n=!1;const r=t.length;for(let i=0;i=e.j){n=!0;break}}return!n}))}mapIntegersToDayMonthYear(t){if(t[1]>31||t[1]<=0)return null;let e=0,n=0,r=0;for(let i=0,o=t.length;i99&&oc)return null;o>31&&(n+=1),o>12&&(e+=1),o<=0&&(r+=1)}return n>=2||3===e||r>=2?null:this.getDayMonth(t)}getDayMonth(t){const e=[[t[2],t.slice(0,2)],[t[0],t.slice(1,3)]],n=e.length;for(let r=0;r=1&&r<=31&&i>=1&&i<=12)return{day:r,month:i}}return null}twoToFourDigitYear(t){return t>99?t:t>50?t+1900:t+2e3}}const P=new Uint32Array(65536),D=(t,e)=>{const n=t.length,r=e.length,i=1<{const n=e.length,r=t.length,i=[],o=[],a=Math.ceil(n/32),s=Math.ceil(r/32);for(let p=0;p>>t%32&1,l=i[t/32|0]>>>t%32&1,c=n|a,u=((n|l)&s)+s^s|n|l;let h=a|~(u|s),f=s&u;h>>>31^r&&(o[t/32|0]^=1<>>31^l&&(i[t/32|0]^=1<>>p%32&1,a=i[p/32|0]>>>p%32&1,s=t|c,l=((t|a)&u)+u^u|t|a;let h=c|~(l|u),f=u&l;d+=h>>>r%32-1&1,d-=f>>>r%32-1&1,h>>>31^n&&(o[p/32|0]^=1<>>31^a&&(i[p/32|0]^=1<{if(t.length{const r=t.length<=e.length,i=t.length<=n,o=r||i;return o?Math.ceil(t.length/4):n},N=(t,e,n)=>{let r=0;const i=Object.keys(e).find((e=>{const i=I(t,e,n),o=L(t,e),a=o<=i;return a&&(r=o),a}));return i?{levenshteinDistance:r,levenshteinDistanceEntry:i}:{}};var j={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},R={warnings:{straightRow:"straightRow",keyPattern:"keyPattern",simpleRepeat:"simpleRepeat",extendedRepeat:"extendedRepeat",sequences:"sequences",recentYears:"recentYears",dates:"dates",topTen:"topTen",topHundred:"topHundred",common:"common",similarToCommon:"similarToCommon",wordByItself:"wordByItself",namesByThemselves:"namesByThemselves",commonNames:"commonNames",userInputs:"userInputs",pwned:"pwned"},suggestions:{l33t:"l33t",reverseWords:"reverseWords",allUppercase:"allUppercase",capitalization:"capitalization",dates:"dates",recentYears:"recentYears",associatedYears:"associatedYears",sequences:"sequences",repeated:"repeated",longerKeyboardPattern:"longerKeyboardPattern",anotherWord:"anotherWord",useWords:"useWords",noNeed:"noNeed",pwned:"pwned"},timeEstimation:{ltSecond:"ltSecond",second:"second",seconds:"seconds",minute:"minute",minutes:"minutes",hour:"hour",hours:"hours",day:"day",days:"days",month:"month",months:"months",year:"year",years:"years",centuries:"centuries"}};class F{constructor(){this.matchers={},this.l33tTable=j,this.dictionary={userInputs:[]},this.rankedDictionaries={},this.translations=R,this.graphs={},this.availableGraphs=[],this.useLevenshteinDistance=!1,this.levenshteinThreshold=2,this.setRankedDictionaries()}setOptions(t={}){t.l33tTable&&(this.l33tTable=t.l33tTable),t.dictionary&&(this.dictionary=t.dictionary,this.setRankedDictionaries()),t.translations&&this.setTranslations(t.translations),t.graphs&&(this.graphs=t.graphs),void 0!==t.useLevenshteinDistance&&(this.useLevenshteinDistance=t.useLevenshteinDistance),void 0!==t.levenshteinThreshold&&(this.levenshteinThreshold=t.levenshteinThreshold)}setTranslations(t){if(!this.checkCustomTranslations(t))throw new Error("Invalid translations object fallback to keys");this.translations=t}checkCustomTranslations(t){let e=!0;return Object.keys(R).forEach((n=>{if(n in t){const r=n;Object.keys(R[r]).forEach((n=>{n in t[r]||(e=!1)}))}else e=!1})),e}setRankedDictionaries(){const t={};Object.keys(this.dictionary).forEach((e=>{t[e]=this.getRankedDictionary(e)})),this.rankedDictionaries=t}getRankedDictionary(t){const e=this.dictionary[t];if("userInputs"===t){const t=[];return e.forEach((e=>{const n=typeof e;"string"!==n&&"number"!==n&&"boolean"!==n||t.push(e.toString().toLowerCase())})),s(t)}return s(e)}extendUserInputsDictionary(t){this.dictionary.userInputs?this.dictionary.userInputs=[...this.dictionary.userInputs,...t]:this.dictionary.userInputs=t,this.rankedDictionaries.userInputs=this.getRankedDictionary("userInputs")}addMatcher(t,e){this.matchers[t]?console.info("Matcher already exists"):this.matchers[t]=e}}const W=new F;class U{constructor(t){this.defaultMatch=t}match({password:t}){const e=t.split("").reverse().join("");return this.defaultMatch({password:e}).map((e=>({...e,token:e.token.split("").reverse().join(""),reversed:!0,i:t.length-1-e.j,j:t.length-1-e.i})))}}class z{constructor(t){this.defaultMatch=t}match({password:t}){const e=[],n=this.enumerateL33tSubs(this.relevantL33tSubtable(t,W.l33tTable));for(let i=0;i{const r=t.slice(n.i,+n.j+1||9e9);if(r.toLowerCase()!==n.matchedWord){const t={};Object.keys(a).forEach((e=>{const n=a[e];-1!==r.indexOf(e)&&(t[e]=n)}));const i=Object.keys(t).map((e=>`${e} -> ${t[e]}`)).join(", ");e.push({...n,l33t:!0,token:r,sub:t,subDisplay:i})}}))}return e.filter((t=>t.token.length>1))}relevantL33tSubtable(t,e){const n={},r={};return t.split("").forEach((t=>{n[t]=!0})),Object.keys(e).forEach((t=>{const i=e[t],o=i.filter((t=>t in n));o.length>0&&(r[t]=o)})),r}enumerateL33tSubs(t){const e=Object.keys(t),n=this.getSubs(e,[[]],t);return n.map((t=>{const e={};return t.forEach((([t,n])=>{e[t]=n})),e}))}getSubs(t,e,n){if(!t.length)return e;const r=t[0],i=t.slice(1),o=[];n[r].forEach((t=>{e.forEach((e=>{let n=-1;for(let r=0;r{const r=t.map(((t,e)=>[t,e]));r.sort();const i=r.map((([t,e])=>`${t},${e}`)).join("-");i in n||(n[i]=!0,e.push(t))})),e}}class H{constructor(){this.l33t=new z(this.defaultMatch),this.reverse=new U(this.defaultMatch)}match({password:t}){const e=[...this.defaultMatch({password:t}),...this.reverse.match({password:t}),...this.l33t.match({password:t})];return a(e)}defaultMatch({password:t}){const e=[],n=t.length,r=t.toLowerCase();return Object.keys(W.rankedDictionaries).forEach((i=>{const o=W.rankedDictionaries[i];for(let a=0;a{const i=e[r];i.lastIndex=0;const o=i.exec(t);if(o){const t=o[0];n.push({pattern:"regex",token:t,i:o.index,j:o.index+o[0].length-1,regexName:r,regexMatch:o})}})),a(n)}}var V={nCk(t,e){let n=t;if(e>n)return 0;if(0===e)return 1;let r=1;for(let i=1;i<=e;i+=1)r*=n,r/=i,n-=1;return r},log10(t){return Math.log(t)/Math.log(10)},log2(t){return Math.log(t)/Math.log(2)},factorial(t){let e=1;for(let n=2;n<=t;n+=1)e*=n;return e}},$=({token:t})=>{let e,n=f**t.length;return n===Number.POSITIVE_INFINITY&&(n=Number.MAX_VALUE),e=1===t.length?p+1:g+1,Math.max(n,e)},Y=({year:t,separator:e})=>{const n=Math.max(Math.abs(t-E),m);let r=365*n;return e&&(r*=4),r};const Z=t=>{const e=t.split(""),n=e.filter((t=>t.match(M))).length,r=e.filter((t=>t.match(k))).length;let i=0;const o=Math.min(n,r);for(let a=1;a<=o;a+=1)i+=V.nCk(n+r,a);return i};var q=t=>{const e=t.replace(O,"");if(e.match(w)||e.toLowerCase()===e)return 1;const n=[v,b,_],r=n.length;for(let i=0;i{const r=t[e],i=n.toLowerCase().split(""),o=i.filter((t=>t===e)).length,a=i.filter((t=>t===r)).length;return{subbedCount:o,unsubbedCount:a}};var G=({l33t:t,sub:e,token:n})=>{if(!t)return 1;let r=1;const i=e;return Object.keys(i).forEach((t=>{const{subbedCount:e,unsubbedCount:o}=X({subs:i,subbed:t,token:n});if(0===e||0===o)r*=2;else{const t=Math.min(o,e);let n=0;for(let r=1;r<=t;r+=1)n+=V.nCk(o+e,r);r*=n}})),r},J=({rank:t,reversed:e,l33t:n,sub:r,token:i})=>{const o=t,a=q(i),s=G({l33t:n,sub:r,token:i}),l=e?2:1,c=o*a*s*l;return{baseGuesses:o,uppercaseVariations:a,l33tVariations:s,calculation:c}},K=({regexName:t,regexMatch:e,token:n})=>{const r={alphaLower:26,alphaUpper:26,alpha:52,alphanumeric:62,digits:10,symbols:33};if(t in r)return r[t]**n.length;switch(t){case"recentYear":return Math.max(Math.abs(parseInt(e[0],10)-E),m)}return 0},Q=({baseGuesses:t,repeatCount:e})=>t*e,tt=({token:t,ascending:e})=>{const n=t.charAt(0);let r=0;const i=["a","A","z","Z","0","1","9"];return r=i.includes(n)?4:n.match(/\d/)?10:26,e||(r*=2),r*t.length};const et=t=>{let e=0;return Object.keys(t).forEach((n=>{const r=t[n];e+=r.filter((t=>!!t)).length})),e/=Object.entries(t).length,e},nt=({token:t,graph:e,turns:n})=>{const r=Object.keys(W.graphs[e]).length,i=et(W.graphs[e]);let o=0;const a=t.length;for(let s=2;s<=a;s+=1){const t=Math.min(n,s-1);for(let e=1;e<=t;e+=1)o+=V.nCk(s-1,e-1)*r*i**e}return o};var rt=({graph:t,token:e,shiftedCount:n,turns:r})=>{let i=nt({token:e,graph:t,turns:r});if(n){const t=e.length-n;if(0===n||0===t)i*=2;else{let e=0;for(let r=1;r<=Math.min(n,t);r+=1)e+=V.nCk(n+t,r);i*=e}}return Math.round(i)};const it=(t,e)=>{let n=1;return t.token.lengthot[t]?ot[t](e):W.matchers[t]&&"scoring"in W.matchers[t]?W.matchers[t].scoring(e):0;var st=(t,e)=>{const n={};if("guesses"in t&&null!=t.guesses)return t;const r=it(t,e),i=at(t.pattern,t);let o=0;"number"===typeof i?o=i:"dictionary"===t.pattern&&(o=i.calculation,n.baseGuesses=i.baseGuesses,n.uppercaseVariations=i.uppercaseVariations,n.l33tVariations=i.l33tVariations);const a=Math.max(o,r);return{...t,...n,guesses:a,guessesLog10:V.log10(a)}};const lt={password:"",optimal:{},excludeAdditive:!1,fillArray(t,e){const n=[];for(let r=0;r1&&(i*=this.optimal.pi[r.i-1][e-1]);let o=V.factorial(e)*i;this.excludeAdditive||(o+=d**(e-1));let a=!1;Object.keys(this.optimal.g[n]).forEach((t=>{const r=this.optimal.g[n][t];parseInt(t,10)<=e&&r<=o&&(a=!0)})),a||(this.optimal.g[n][e]=o,this.optimal.m[n][e]=r,this.optimal.pi[n][e]=i)},bruteforceUpdate(t){let e=this.makeBruteforceMatch(0,t);this.update(e,1);for(let n=1;n<=t;n+=1){e=this.makeBruteforceMatch(n,t);const r=this.optimal.m[n-1];Object.keys(r).forEach((t=>{const n=r[t];"bruteforce"!==n.pattern&&this.update(e,parseInt(t,10)+1)}))}},unwind(t){const e=[];let n=t-1,r=0,i=Infinity;const o=this.optimal.g[n];o&&Object.keys(o).forEach((t=>{const e=o[t];e=0){const t=this.optimal.m[n][r];e.unshift(t),n=t.i-1,r-=1}return e}};var ct={mostGuessableMatchSequence(t,e,n=!1){lt.password=t,lt.excludeAdditive=n;const r=t.length;let i=lt.fillArray(r,"array");e.forEach((t=>{i[t.j].push(t)})),i=i.map((t=>t.sort(((t,e)=>t.i-e.i)))),lt.optimal={m:lt.fillArray(r,"object"),pi:lt.fillArray(r,"object"),g:lt.fillArray(r,"object")};for(let l=0;l{t.i>0?Object.keys(lt.optimal.m[t.i-1]).forEach((e=>{lt.update(t,parseInt(e,10)+1)})):lt.update(t,1)})),lt.bruteforceUpdate(l);const o=lt.unwind(r),a=o.length,s=this.getGuesses(t,a);return{password:t,guesses:s,guessesLog10:V.log10(s),sequence:o}},getGuesses(t,e){const n=t.length;let r=0;return r=0===t.length?1:lt.optimal.g[n-1][e],r}};class ut{match({password:t,omniMatch:e}){const n=[];let r=0;while(rt instanceof Promise));return i?Promise.all(n):n}normalizeMatch(t,e,n,r){const i={pattern:"repeat",i:n.index,j:e,token:n[0],baseToken:t,baseGuesses:0,repeatCount:n[0].length/t.length};return r instanceof Promise?r.then((t=>({...i,baseGuesses:t}))):{...i,baseGuesses:r}}getGreedyMatch(t,e){const n=/(.+)\1+/g;return n.lastIndex=e,n.exec(t)}getLazyMatch(t,e){const n=/(.+?)\1+/g;return n.lastIndex=e,n.exec(t)}setMatchToken(t,e){const n=/^(.+?)\1+$/;let r,i="";if(e&&t[0].length>e[0].length){r=t;const e=n.exec(r[0]);e&&(i=e[1])}else r=e,r&&(i=r[1]);return{match:r,baseToken:i}}getBaseGuesses(t,e){const n=e.match(t);if(n instanceof Promise)return n.then((e=>{const n=ct.mostGuessableMatchSequence(t,e);return n.guesses}));const r=ct.mostGuessableMatchSequence(t,n);return r.guesses}}class ht{constructor(){this.MAX_DELTA=5}match({password:t}){const e=[];if(1===t.length)return[];let n=0,r=null;const i=t.length;for(let o=1;o1||1===Math.abs(n)){const o=Math.abs(n);if(o>0&&o<=this.MAX_DELTA){const o=r.slice(t,+e+1||9e9),{sequenceName:a,sequenceSpace:s}=this.getSequence(o);return i.push({pattern:"sequence",i:t,j:e,token:r.slice(t,+e+1||9e9),sequenceName:a,sequenceSpace:s,ascending:n>0})}}return null}getSequence(t){let e="unicode",n=26;return x.test(t)?(e="lower",n=26):y.test(t)?(e="upper",n=26):S.test(t)&&(e="digits",n=10),{sequenceName:e,sequenceSpace:n}}}class ft{constructor(){this.SHIFTED_RX=/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/}match({password:t}){const e=[];return Object.keys(W.graphs).forEach((n=>{const r=W.graphs[n];i(e,this.helper(t,r,n))})),a(e)}checkIfShifted(t,e,n){return!t.includes("keypad")&&this.SHIFTED_RX.test(e.charAt(n))?1:0}helper(t,e,n){let r;const i=[];let o=0;const a=t.length;while(o2&&i.push({pattern:"spatial",i:o,j:s-1,token:t.slice(o,s),graph:n,turns:c,shiftedCount:r}),o=s;break}s+=1}}return i}}class dt{constructor(){this.matchers={date:C,dictionary:H,regex:B,repeat:ut,sequence:ht,spatial:ft}}match(t){const e=[],n=[],r=[...Object.keys(this.matchers),...Object.keys(W.matchers)];return r.forEach((r=>{if(!this.matchers[r]&&!W.matchers[r])return;const o=this.matchers[r]?this.matchers[r]:W.matchers[r].Matching,a=new o,s=a.match({password:t,omniMatch:this});s instanceof Promise?(s.then((t=>{i(e,t)})),n.push(s)):i(e,s)})),n.length>0?new Promise((t=>{Promise.all(n).then((()=>{t(a(e))}))})):a(e)}}const pt=1,gt=60*pt,mt=60*gt,vt=24*mt,bt=31*vt,yt=12*bt,_t=100*yt,xt={second:pt,minute:gt,hour:mt,day:vt,month:bt,year:yt,century:_t};class wt{translate(t,e){let n=t;void 0!==e&&1!==e&&(n+="s");const{timeEstimation:r}=W.translations;return r[n].replace("{base}",`${e}`)}estimateAttackTimes(t){const e={onlineThrottling100PerHour:t/(100/3600),onlineNoThrottling10PerSecond:t/10,offlineSlowHashing1e4PerSecond:t/1e4,offlineFastHashing1e10PerSecond:t/1e10},n={onlineThrottling100PerHour:"",onlineNoThrottling10PerSecond:"",offlineSlowHashing1e4PerSecond:"",offlineFastHashing1e10PerSecond:""};return Object.keys(e).forEach((t=>{const r=e[t];n[t]=this.displayTime(r)})),{crackTimesSeconds:e,crackTimesDisplay:n,score:this.guessesToScore(t)}}guessesToScore(t){const e=5;return t<1e3+e?0:t<1e6+e?1:t<1e8+e?2:t<1e10+e?3:4}displayTime(t){let e,n="centuries";const r=Object.keys(xt),i=r.findIndex((e=>t-1&&(n=r[i-1],0!==i?e=Math.round(t/xt[n]):n="ltSecond"),this.translate(n,e)}}var kt=()=>null,Mt=()=>({warning:W.translations.warnings.dates,suggestions:[W.translations.suggestions.dates]});const Ot=(t,e)=>{let n="";return!e||t.l33t||t.reversed?t.guessesLog10<=4&&(n=W.translations.warnings.similarToCommon):n=t.rank<=10?W.translations.warnings.topTen:t.rank<=100?W.translations.warnings.topHundred:W.translations.warnings.common,n},St=(t,e)=>{let n="";return e&&(n=W.translations.warnings.wordByItself),n},Et=(t,e)=>e?W.translations.warnings.namesByThemselves:W.translations.warnings.commonNames,Tt=(t,e)=>{let n="";const r=t.dictionaryName,i="lastnames"===r||r.toLowerCase().includes("firstnames");return"passwords"===r?n=Ot(t,e):r.includes("wikipedia")?n=St(t,e):i?n=Et(t,e):"userInputs"===r&&(n=W.translations.warnings.userInputs),n};var Ct=(t,e)=>{const n=Tt(t,e),r=[],i=t.token;return i.match(v)?r.push(W.translations.suggestions.capitalization):i.match(_)&&i.toLowerCase()!==i&&r.push(W.translations.suggestions.allUppercase),t.reversed&&t.token.length>=4&&r.push(W.translations.suggestions.reverseWords),t.l33t&&r.push(W.translations.suggestions.l33t),{warning:n,suggestions:r}},Pt=t=>"recentYear"===t.regexName?{warning:W.translations.warnings.recentYears,suggestions:[W.translations.suggestions.recentYears,W.translations.suggestions.associatedYears]}:{warning:"",suggestions:[]},Dt=t=>{let e=W.translations.warnings.extendedRepeat;return 1===t.baseToken.length&&(e=W.translations.warnings.simpleRepeat),{warning:e,suggestions:[W.translations.suggestions.repeated]}},At=()=>({warning:W.translations.warnings.sequences,suggestions:[W.translations.suggestions.sequences]}),Lt=t=>{let e=W.translations.warnings.keyPattern;return 1===t.turns&&(e=W.translations.warnings.straightRow),{warning:e,suggestions:[W.translations.suggestions.longerKeyboardPattern]}};const It={warning:"",suggestions:[]};class Nt{constructor(){this.matchers={bruteforce:kt,date:Mt,dictionary:Ct,regex:Pt,repeat:Dt,sequence:At,spatial:Lt},this.defaultFeedback={warning:"",suggestions:[]},this.setDefaultSuggestions()}setDefaultSuggestions(){this.defaultFeedback.suggestions.push(W.translations.suggestions.useWords,W.translations.suggestions.noNeed)}getFeedback(t,e){if(0===e.length)return this.defaultFeedback;if(t>2)return It;const n=W.translations.suggestions.anotherWord,r=this.getLongestMatch(e);let i=this.getMatchFeedback(r,1===e.length);return null!==i&&void 0!==i?(i.suggestions.unshift(n),null==i.warning&&(i.warning="")):i={warning:"",suggestions:[n]},i}getLongestMatch(t){let e=t[0];const n=t.slice(1);return n.forEach((t=>{t.token.length>e.token.length&&(e=t)})),e}getMatchFeedback(t,e){return this.matchers[t.pattern]?this.matchers[t.pattern](t,e):W.matchers[t.pattern]&&"feedback"in W.matchers[t.pattern]?W.matchers[t.pattern].feedback(t,e):It}}const jt=()=>(new Date).getTime(),Rt=(t,e,n)=>{const r=new Nt,i=new wt,o=ct.mostGuessableMatchSequence(e,t),a=jt()-n,s=i.estimateAttackTimes(o.guesses);return{calcTime:a,...o,...s,feedback:r.getFeedback(s.score,o.sequence)}},Ft=(t,e)=>{e&&W.extendUserInputsDictionary(e);const n=new dt;return n.match(t)},Wt=(t,e)=>{const n=jt(),r=Ft(t,e);if(r instanceof Promise)throw new Error("You are using a Promised matcher, please use `zxcvbnAsync` for it.");return Rt(r,t,n)}},9669:function(t,e,n){t.exports=n(1609)},5448:function(t,e,n){"use strict";var r=n(4867),i=n(6026),o=n(4372),a=n(5327),s=n(4097),l=n(4109),c=n(7985),u=n(5061),h=n(7874),f=n(5263);t.exports=function(t){return new Promise((function(e,n){var d,p=t.data,g=t.headers,m=t.responseType;function v(){t.cancelToken&&t.cancelToken.unsubscribe(d),t.signal&&t.signal.removeEventListener("abort",d)}r.isFormData(p)&&delete g["Content-Type"];var b=new XMLHttpRequest;if(t.auth){var y=t.auth.username||"",_=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";g.Authorization="Basic "+btoa(y+":"+_)}var x=s(t.baseURL,t.url);function w(){if(b){var r="getAllResponseHeaders"in b?l(b.getAllResponseHeaders()):null,o=m&&"text"!==m&&"json"!==m?b.response:b.responseText,a={data:o,status:b.status,statusText:b.statusText,headers:r,config:t,request:b};i((function(t){e(t),v()}),(function(t){n(t),v()}),a),b=null}}if(b.open(t.method.toUpperCase(),a(x,t.params,t.paramsSerializer),!0),b.timeout=t.timeout,"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){b&&4===b.readyState&&(0!==b.status||b.responseURL&&0===b.responseURL.indexOf("file:"))&&setTimeout(w)},b.onabort=function(){b&&(n(u("Request aborted",t,"ECONNABORTED",b)),b=null)},b.onerror=function(){n(u("Network Error",t,null,b)),b=null},b.ontimeout=function(){var e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",r=t.transitional||h;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(u(e,t,r.clarifyTimeoutError?"ETIMEDOUT":"ECONNABORTED",b)),b=null},r.isStandardBrowserEnv()){var k=(t.withCredentials||c(x))&&t.xsrfCookieName?o.read(t.xsrfCookieName):void 0;k&&(g[t.xsrfHeaderName]=k)}"setRequestHeader"in b&&r.forEach(g,(function(t,e){"undefined"===typeof p&&"content-type"===e.toLowerCase()?delete g[e]:b.setRequestHeader(e,t)})),r.isUndefined(t.withCredentials)||(b.withCredentials=!!t.withCredentials),m&&"json"!==m&&(b.responseType=t.responseType),"function"===typeof t.onDownloadProgress&&b.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&b.upload&&b.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(d=function(t){b&&(n(!t||t&&t.type?new f("canceled"):t),b.abort(),b=null)},t.cancelToken&&t.cancelToken.subscribe(d),t.signal&&(t.signal.aborted?d():t.signal.addEventListener("abort",d))),p||(p=null),b.send(p)}))}},1609:function(t,e,n){"use strict";var r=n(4867),i=n(1849),o=n(321),a=n(7185),s=n(5546);function l(t){var e=new o(t),n=i(o.prototype.request,e);return r.extend(n,o.prototype,e),r.extend(n,e),n.create=function(e){return l(a(t,e))},n}var c=l(s);c.Axios=o,c.Cancel=n(5263),c.CancelToken=n(4972),c.isCancel=n(6502),c.VERSION=n(7288).version,c.all=function(t){return Promise.all(t)},c.spread=n(8713),c.isAxiosError=n(6268),t.exports=c,t.exports["default"]=c},5263:function(t){"use strict";function e(t){this.message=t}e.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},e.prototype.__CANCEL__=!0,t.exports=e},4972:function(t,e,n){"use strict";var r=n(5263);function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var n=this;this.promise.then((function(t){if(n._listeners){var e,r=n._listeners.length;for(e=0;e=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(t){h.headers[t]={}})),r.forEach(["post","put","patch"],(function(t){h.headers[t]=r.merge(s)})),t.exports=h},7874:function(t){"use strict";t.exports={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1}},7288:function(t){t.exports={version:"0.26.1"}},1849:function(t){"use strict";t.exports=function(t,e){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([n]):a[e]?a[e]+", "+n:n}})),a):a}},8713:function(t){"use strict";t.exports=function(t){return function(e){return t.apply(null,e)}}},4875:function(t,e,n){"use strict";var r=n(7288).version,i={};["object","boolean","number","function","string","symbol"].forEach((function(t,e){i[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));var o={};function a(t,e,n){if("object"!==typeof t)throw new TypeError("options must be an object");var r=Object.keys(t),i=r.length;while(i-- >0){var o=r[i],a=e[o];if(a){var s=t[o],l=void 0===s||a(s,o,t);if(!0!==l)throw new TypeError("option "+o+" must be "+l)}else if(!0!==n)throw Error("Unknown option "+o)}}i.transitional=function(t,e,n){function i(t,e){return"[Axios v"+r+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}return function(n,r,a){if(!1===t)throw new Error(i(r," has been removed"+(e?" in "+e:"")));return e&&!o[r]&&(o[r]=!0,console.warn(i(r," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,r,a)}},t.exports={assertOptions:a,validators:i}},4867:function(t,e,n){"use strict";var r=n(1849),i=Object.prototype.toString;function o(t){return Array.isArray(t)}function a(t){return"undefined"===typeof t}function s(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function l(t){return"[object ArrayBuffer]"===i.call(t)}function c(t){return"[object FormData]"===i.call(t)}function u(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&l(t.buffer),e}function h(t){return"string"===typeof t}function f(t){return"number"===typeof t}function d(t){return null!==t&&"object"===typeof t}function p(t){if("[object Object]"!==i.call(t))return!1;var e=Object.getPrototypeOf(t);return null===e||e===Object.prototype}function g(t){return"[object Date]"===i.call(t)}function m(t){return"[object File]"===i.call(t)}function v(t){return"[object Blob]"===i.call(t)}function b(t){return"[object Function]"===i.call(t)}function y(t){return d(t)&&b(t.pipe)}function _(t){return"[object URLSearchParams]"===i.call(t)}function x(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function k(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),o(t))for(var n=0,r=t.length;nn.right&&(r|=h),en.bottom&&(r|=f),r}function g(t,e){var n,r,i,o=t.x0,a=t.y0,s=t.x1,l=t.y1,c=p(o,a,e),g=p(s,l,e);while(1){if(!(c|g)||c&g)break;n=c||g,n&d?(r=o+(s-o)*(e.top-a)/(l-a),i=e.top):n&f?(r=o+(s-o)*(e.bottom-a)/(l-a),i=e.bottom):n&h?(i=a+(l-a)*(e.right-o)/(s-o),r=e.right):n&u&&(i=a+(l-a)*(e.left-o)/(s-o),r=e.left),n===c?(o=r,a=i,c=p(o,a,e)):(s=r,l=i,g=p(s,l,e))}return{x0:o,x1:s,y0:a,y1:l}}function m(t,e){var n,r,i=e.anchor,o=t;return e.clamp&&(o=g(o,e.area)),"start"===i?(n=o.x0,r=o.y0):"end"===i?(n=o.x1,r=o.y1):(n=(o.x0+o.x1)/2,r=(o.y0+o.y1)/2),l(n,r,t.vx,t.vy,e.align)}var v={arc:function(t,e){var n=(t.startAngle+t.endAngle)/2,r=Math.cos(n),i=Math.sin(n),o=t.innerRadius,a=t.outerRadius;return m({x0:t.x+r*o,y0:t.y+i*o,x1:t.x+r*a,y1:t.y+i*a,vx:r,vy:i},e)},point:function(t,e){var n=s(t,e.origin),r=n.x*t.options.radius,i=n.y*t.options.radius;return m({x0:t.x-r,y0:t.y-i,x1:t.x+r,y1:t.y+i,vx:n.x,vy:n.y},e)},bar:function(t,e){var n=s(t,e.origin),r=t.x,i=t.y,o=0,a=0;return t.horizontal?(r=Math.min(t.x,t.base),o=Math.abs(t.base-t.x)):(i=Math.min(t.y,t.base),a=Math.abs(t.base-t.y)),m({x0:r,y0:i+a,x1:r+o,y1:i,vx:n.x,vy:n.y},e)},fallback:function(t,e){var n=s(t,e.origin);return m({x0:t.x,y0:t.y,x1:t.x+(t.width||0),y1:t.y+(t.height||0),vx:n.x,vy:n.y},e)}},b=a.rasterize;function y(t){var e=t.borderWidth||0,n=t.padding,r=t.size.height,i=t.size.width,o=-i/2,a=-r/2;return{frame:{x:o-n.left-e,y:a-n.top-e,w:i+n.width+2*e,h:r+n.height+2*e},text:{x:o,y:a,w:i,h:r}}}function _(t,e){var n=e.chart.getDatasetMeta(e.datasetIndex).vScale;if(!n)return null;if(void 0!==n.xCenter&&void 0!==n.yCenter)return{x:n.xCenter,y:n.yCenter};var r=n.getBasePixel();return t.horizontal?{x:r,y:null}:{x:null,y:r}}function x(t){return t instanceof i.qi?v.arc:t instanceof i.od?v.point:t instanceof i.ZL?v.bar:v.fallback}function w(t,e,n,r,i,o){var a=Math.PI/2;if(o){var s=Math.min(o,i/2,r/2),l=e+s,c=n+s,u=e+r-s,h=n+i-s;t.moveTo(e,c),l=0;--n)for(i=t[n].$layout,r=n-1;r>=0&&i._visible;--r)o=t[r].$layout,o._visible&&i._box.intersects(o._box)&&e(i,o);return t}function j(t){var e,n,r,i,o,a,s;for(e=0,n=t.length;et.getProps([e],!0)[e]}),o=r.geometry(),a=I(s,r.model(),o),i._box.update(a,o,r.rotation()));return N(t,(function(t,e){var n=t._hidable,r=e._hidable;n&&r||r?e._visible=!1:n&&(t._visible=!1)}))}(0,r.V)(L.prototype,{center:function(){var t=this._rect;return{x:t.x+t.w/2,y:t.y+t.h/2}},update:function(t,e,n){this._rotation=n,this._rect={x:e.x+t.x,y:e.y+t.y,w:e.w,h:e.h}},contains:function(t){var e=this,n=1,r=e._rect;return t=P(t,e.center(),-e._rotation),!(t.xr.x+r.w+2*n||t.y>r.y+r.h+2*n)},intersects:function(t){var e,n,r,i=this._points(),o=t._points(),a=[A(i[0],i[1]),A(i[0],i[3])];for(this._rotation!==t._rotation&&a.push(A(o[0],o[1]),A(o[0],o[3])),e=0;e=0;--n)if(r=t[n].$layout,r&&r._visible&&r._box.contains(e))return t[n];return null},draw:function(t,e){var n,r,i,o,a,s;for(n=0,r=e.length;nu)if(s=l[u++],s!=s)return!0}else for(;c>u;u++)if((t||u in l)&&l[u]===n)return t||u||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},3658:function(t,e,n){"use strict";var r=n(9781),i=n(3157),o=TypeError,a=Object.getOwnPropertyDescriptor,s=r&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(i(t)&&!a(t,"length").writable)throw o("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},4326:function(t,e,n){var r=n(1702),i=r({}.toString),o=r("".slice);t.exports=function(t){return o(i(t),8,-1)}},648:function(t,e,n){var r=n(1694),i=n(614),o=n(4326),a=n(5112),s=a("toStringTag"),l=Object,c="Arguments"==o(function(){return arguments}()),u=function(t,e){try{return t[e]}catch(n){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=u(e=l(t),s))?n:c?o(e):"Object"==(r=o(e))&&i(e.callee)?"Arguments":r}},9920:function(t,e,n){var r=n(2597),i=n(3887),o=n(1236),a=n(3070);t.exports=function(t,e,n){for(var s=i(e),l=a.f,c=o.f,u=0;un)throw e("Maximum allowed index exceeded");return t}},8113:function(t,e,n){var r=n(5005);t.exports=r("navigator","userAgent")||""},7392:function(t,e,n){var r,i,o=n(7854),a=n(8113),s=o.process,l=o.Deno,c=s&&s.versions||l&&l.version,u=c&&c.v8;u&&(r=u.split("."),i=r[0]>0&&r[0]<4?1:+(r[0]+r[1])),!i&&a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=+r[1]))),t.exports=i},748:function(t){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},1060:function(t,e,n){var r=n(1702),i=Error,o=r("".replace),a=function(t){return String(i(t).stack)}("zxcasd"),s=/\n\s*at [^:]*:[^\n]*/,l=s.test(a);t.exports=function(t,e){if(l&&"string"==typeof t&&!i.prepareStackTrace)while(e--)t=o(t,s,"");return t}},2914:function(t,e,n){var r=n(7293),i=n(9114);t.exports=!r((function(){var t=Error("a");return!("stack"in t)||(Object.defineProperty(t,"stack",i(1,7)),7!==t.stack)}))},2109:function(t,e,n){var r=n(7854),i=n(1236).f,o=n(8880),a=n(8052),s=n(3072),l=n(9920),c=n(4705);t.exports=function(t,e){var n,u,h,f,d,p,g=t.target,m=t.global,v=t.stat;if(u=m?r:v?r[g]||s(g,{}):(r[g]||{}).prototype,u)for(h in e){if(d=e[h],t.dontCallGetSet?(p=i(u,h),f=p&&p.value):f=u[h],n=c(m?h:g+(v?".":"#")+h,t.forced),!n&&void 0!==f){if(typeof d==typeof f)continue;l(d,f)}(t.sham||f&&f.sham)&&o(d,"sham",!0),a(u,h,d,t)}}},7293:function(t){t.exports=function(t){try{return!!t()}catch(e){return!0}}},2104:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.apply,a=i.call;t.exports="object"==typeof Reflect&&Reflect.apply||(r?a.bind(o):function(){return a.apply(o,arguments)})},4374:function(t,e,n){var r=n(7293);t.exports=!r((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},6916:function(t,e,n){var r=n(4374),i=Function.prototype.call;t.exports=r?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(t,e,n){var r=n(9781),i=n(2597),o=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,s=i(o,"name"),l=s&&"something"===function(){}.name,c=s&&(!r||r&&a(o,"name").configurable);t.exports={EXISTS:s,PROPER:l,CONFIGURABLE:c}},1702:function(t,e,n){var r=n(4374),i=Function.prototype,o=i.bind,a=i.call,s=r&&o.bind(a,a);t.exports=r?function(t){return t&&s(t)}:function(t){return t&&function(){return a.apply(t,arguments)}}},5005:function(t,e,n){var r=n(7854),i=n(614),o=function(t){return i(t)?t:void 0};t.exports=function(t,e){return arguments.length<2?o(r[t]):r[t]&&r[t][e]}},8173:function(t,e,n){var r=n(9662),i=n(8554);t.exports=function(t,e){var n=t[e];return i(n)?void 0:r(n)}},7854:function(t,e,n){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},2597:function(t,e,n){var r=n(1702),i=n(7908),o=r({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return o(i(t),e)}},3501:function(t){t.exports={}},4664:function(t,e,n){var r=n(9781),i=n(7293),o=n(317);t.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},8361:function(t,e,n){var r=n(1702),i=n(7293),o=n(4326),a=Object,s=r("".split);t.exports=i((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?s(t,""):a(t)}:a},9587:function(t,e,n){var r=n(614),i=n(111),o=n(7674);t.exports=function(t,e,n){var a,s;return o&&r(a=e.constructor)&&a!==n&&i(s=a.prototype)&&s!==n.prototype&&o(t,s),t}},2788:function(t,e,n){var r=n(1702),i=n(614),o=n(5465),a=r(Function.toString);i(o.inspectSource)||(o.inspectSource=function(t){return a(t)}),t.exports=o.inspectSource},8340:function(t,e,n){var r=n(111),i=n(8880);t.exports=function(t,e){r(e)&&"cause"in e&&i(t,"cause",e.cause)}},9909:function(t,e,n){var r,i,o,a=n(4811),s=n(7854),l=n(1702),c=n(111),u=n(8880),h=n(2597),f=n(5465),d=n(6200),p=n(3501),g="Object already initialized",m=s.TypeError,v=s.WeakMap,b=function(t){return o(t)?i(t):r(t,{})},y=function(t){return function(e){var n;if(!c(e)||(n=i(e)).type!==t)throw m("Incompatible receiver, "+t+" required");return n}};if(a||f.state){var _=f.state||(f.state=new v),x=l(_.get),w=l(_.has),k=l(_.set);r=function(t,e){if(w(_,t))throw m(g);return e.facade=t,k(_,t,e),e},i=function(t){return x(_,t)||{}},o=function(t){return w(_,t)}}else{var M=d("state");p[M]=!0,r=function(t,e){if(h(t,M))throw m(g);return e.facade=t,u(t,M,e),e},i=function(t){return h(t,M)?t[M]:{}},o=function(t){return h(t,M)}}t.exports={set:r,get:i,has:o,enforce:b,getterFor:y}},3157:function(t,e,n){var r=n(4326);t.exports=Array.isArray||function(t){return"Array"==r(t)}},614:function(t){t.exports=function(t){return"function"==typeof t}},4705:function(t,e,n){var r=n(7293),i=n(614),o=/#|\.prototype\./,a=function(t,e){var n=l[s(t)];return n==u||n!=c&&(i(e)?r(e):!!e)},s=a.normalize=function(t){return String(t).replace(o,".").toLowerCase()},l=a.data={},c=a.NATIVE="N",u=a.POLYFILL="P";t.exports=a},8554:function(t){t.exports=function(t){return null===t||void 0===t}},111:function(t,e,n){var r=n(614),i="object"==typeof document&&document.all,o="undefined"==typeof i&&void 0!==i;t.exports=o?function(t){return"object"==typeof t?null!==t:r(t)||t===i}:function(t){return"object"==typeof t?null!==t:r(t)}},1913:function(t){t.exports=!1},2190:function(t,e,n){var r=n(5005),i=n(614),o=n(7976),a=n(3307),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=r("Symbol");return i(e)&&o(e.prototype,s(t))}},6244:function(t,e,n){var r=n(7466);t.exports=function(t){return r(t.length)}},6339:function(t,e,n){var r=n(7293),i=n(614),o=n(2597),a=n(9781),s=n(6530).CONFIGURABLE,l=n(2788),c=n(9909),u=c.enforce,h=c.get,f=Object.defineProperty,d=a&&!r((function(){return 8!==f((function(){}),"length",{value:8}).length})),p=String(String).split("String"),g=t.exports=function(t,e,n){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!o(t,"name")||s&&t.name!==e)&&(a?f(t,"name",{value:e,configurable:!0}):t.name=e),d&&n&&o(n,"arity")&&t.length!==n.arity&&f(t,"length",{value:n.arity});try{n&&o(n,"constructor")&&n.constructor?a&&f(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(i){}var r=u(t);return o(r,"source")||(r.source=p.join("string"==typeof e?e:"")),t};Function.prototype.toString=g((function(){return i(this)&&h(this).source||l(this)}),"toString")},4758:function(t){var e=Math.ceil,n=Math.floor;t.exports=Math.trunc||function(t){var r=+t;return(r>0?n:e)(r)}},6277:function(t,e,n){var r=n(1340);t.exports=function(t,e){return void 0===t?arguments.length<2?"":e:r(t)}},3070:function(t,e,n){var r=n(9781),i=n(4664),o=n(3353),a=n(9670),s=n(4948),l=TypeError,c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,h="enumerable",f="configurable",d="writable";e.f=r?o?function(t,e,n){if(a(t),e=s(e),a(n),"function"===typeof t&&"prototype"===e&&"value"in n&&d in n&&!n[d]){var r=u(t,e);r&&r[d]&&(t[e]=n.value,n={configurable:f in n?n[f]:r[f],enumerable:h in n?n[h]:r[h],writable:!1})}return c(t,e,n)}:c:function(t,e,n){if(a(t),e=s(e),a(n),i)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw l("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},1236:function(t,e,n){var r=n(9781),i=n(6916),o=n(5296),a=n(9114),s=n(5656),l=n(4948),c=n(2597),u=n(4664),h=Object.getOwnPropertyDescriptor;e.f=r?h:function(t,e){if(t=s(t),e=l(e),u)try{return h(t,e)}catch(n){}if(c(t,e))return a(!i(o.f,t,e),t[e])}},8006:function(t,e,n){var r=n(6324),i=n(748),o=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},5181:function(t,e){e.f=Object.getOwnPropertySymbols},7976:function(t,e,n){var r=n(1702);t.exports=r({}.isPrototypeOf)},6324:function(t,e,n){var r=n(1702),i=n(2597),o=n(5656),a=n(1318).indexOf,s=n(3501),l=r([].push);t.exports=function(t,e){var n,r=o(t),c=0,u=[];for(n in r)!i(s,n)&&i(r,n)&&l(u,n);while(e.length>c)i(r,n=e[c++])&&(~a(u,n)||l(u,n));return u}},5296:function(t,e){"use strict";var n={}.propertyIsEnumerable,r=Object.getOwnPropertyDescriptor,i=r&&!n.call({1:2},1);e.f=i?function(t){var e=r(this,t);return!!e&&e.enumerable}:n},7674:function(t,e,n){var r=n(1702),i=n(9670),o=n(6077);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=r(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),t(n,[]),e=n instanceof Array}catch(a){}return function(n,r){return i(n),o(r),e?t(n,r):n.__proto__=r,n}}():void 0)},2140:function(t,e,n){var r=n(6916),i=n(614),o=n(111),a=TypeError;t.exports=function(t,e){var n,s;if("string"===e&&i(n=t.toString)&&!o(s=r(n,t)))return s;if(i(n=t.valueOf)&&!o(s=r(n,t)))return s;if("string"!==e&&i(n=t.toString)&&!o(s=r(n,t)))return s;throw a("Can't convert object to primitive value")}},3887:function(t,e,n){var r=n(5005),i=n(1702),o=n(8006),a=n(5181),s=n(9670),l=i([].concat);t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(s(t)),n=a.f;return n?l(e,n(t)):e}},2626:function(t,e,n){var r=n(3070).f;t.exports=function(t,e,n){n in t||r(t,n,{configurable:!0,get:function(){return e[n]},set:function(t){e[n]=t}})}},4488:function(t,e,n){var r=n(8554),i=TypeError;t.exports=function(t){if(r(t))throw i("Can't call method on "+t);return t}},6200:function(t,e,n){var r=n(2309),i=n(9711),o=r("keys");t.exports=function(t){return o[t]||(o[t]=i(t))}},5465:function(t,e,n){var r=n(7854),i=n(3072),o="__core-js_shared__",a=r[o]||i(o,{});t.exports=a},2309:function(t,e,n){var r=n(1913),i=n(5465);(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.25.1",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.1/LICENSE",source:"https://github.com/zloirock/core-js"})},6293:function(t,e,n){var r=n(7392),i=n(7293);t.exports=!!Object.getOwnPropertySymbols&&!i((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},1400:function(t,e,n){var r=n(9303),i=Math.max,o=Math.min;t.exports=function(t,e){var n=r(t);return n<0?i(n+e,0):o(n,e)}},5656:function(t,e,n){var r=n(8361),i=n(4488);t.exports=function(t){return r(i(t))}},9303:function(t,e,n){var r=n(4758);t.exports=function(t){var e=+t;return e!==e||0===e?0:r(e)}},7466:function(t,e,n){var r=n(9303),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},7908:function(t,e,n){var r=n(4488),i=Object;t.exports=function(t){return i(r(t))}},7593:function(t,e,n){var r=n(6916),i=n(111),o=n(2190),a=n(8173),s=n(2140),l=n(5112),c=TypeError,u=l("toPrimitive");t.exports=function(t,e){if(!i(t)||o(t))return t;var n,l=a(t,u);if(l){if(void 0===e&&(e="default"),n=r(l,t,e),!i(n)||o(n))return n;throw c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},4948:function(t,e,n){var r=n(7593),i=n(2190);t.exports=function(t){var e=r(t,"string");return i(e)?e:e+""}},1694:function(t,e,n){var r=n(5112),i=r("toStringTag"),o={};o[i]="z",t.exports="[object z]"===String(o)},1340:function(t,e,n){var r=n(648),i=String;t.exports=function(t){if("Symbol"===r(t))throw TypeError("Cannot convert a Symbol value to a string");return i(t)}},6330:function(t){var e=String;t.exports=function(t){try{return e(t)}catch(n){return"Object"}}},9711:function(t,e,n){var r=n(1702),i=0,o=Math.random(),a=r(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++i+o,36)}},3307:function(t,e,n){var r=n(6293);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},3353:function(t,e,n){var r=n(9781),i=n(7293);t.exports=r&&i((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},4811:function(t,e,n){var r=n(7854),i=n(614),o=r.WeakMap;t.exports=i(o)&&/native code/.test(String(o))},5112:function(t,e,n){var r=n(7854),i=n(2309),o=n(2597),a=n(9711),s=n(6293),l=n(3307),c=i("wks"),u=r.Symbol,h=u&&u["for"],f=l?u:u&&u.withoutSetter||a;t.exports=function(t){if(!o(c,t)||!s&&"string"!=typeof c[t]){var e="Symbol."+t;s&&o(u,t)?c[t]=u[t]:c[t]=l&&h?h(e):f(e)}return c[t]}},9191:function(t,e,n){"use strict";var r=n(5005),i=n(2597),o=n(8880),a=n(7976),s=n(7674),l=n(9920),c=n(2626),u=n(9587),h=n(6277),f=n(8340),d=n(1060),p=n(2914),g=n(9781),m=n(1913);t.exports=function(t,e,n,v){var b="stackTraceLimit",y=v?2:1,_=t.split("."),x=_[_.length-1],w=r.apply(null,_);if(w){var k=w.prototype;if(!m&&i(k,"cause")&&delete k.cause,!n)return w;var M=r("Error"),O=e((function(t,e){var n=h(v?e:t,void 0),r=v?new w(t):new w;return void 0!==n&&o(r,"message",n),p&&o(r,"stack",d(r.stack,2)),this&&a(k,this)&&u(r,this,O),arguments.length>y&&f(r,arguments[y]),r}));if(O.prototype=k,"Error"!==x?s?s(O,M):l(O,M,{name:!0}):g&&b in w&&(c(O,w,b),c(O,w,"prepareStackTrace")),l(O,w),!m)try{k.name!==x&&o(k,"name",x),k.constructor=O}catch(S){}return O}}},7658:function(t,e,n){"use strict";var r=n(2109),i=n(7908),o=n(6244),a=n(3658),s=n(7207),l=n(7293),c=l((function(){return 4294967297!==[].push.call({length:4294967296},1)})),u=!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(t){return t instanceof TypeError}}();r({target:"Array",proto:!0,arity:1,forced:c||u},{push:function(t){var e=i(this),n=o(e),r=arguments.length;s(n+r);for(var l=0;l0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return c.default.y(t,e)},Y:function(t,e,n,r){var i=(0,s.default)(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return(0,l.default)(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):(0,l.default)(o,e.length)},R:function(t,e){var n=(0,o.default)(t);return(0,l.default)(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return(0,l.default)(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return(0,l.default)(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return(0,l.default)(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return c.default.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return(0,l.default)(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=(0,a.default)(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):(0,l.default)(i,e.length)},I:function(t,e,n){var r=(0,i.default)(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):(0,l.default)(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):c.default.d(t,e)},D:function(t,e,n){var i=(0,r.default)(t);return"Do"===e?n.ordinalNumber(i,{unit:"dayOfYear"}):(0,l.default)(i,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return(0,l.default)(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return(0,l.default)(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return(0,l.default)(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?h.noon:0===i?h.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?h.evening:i>=12?h.afternoon:i>=4?h.morning:h.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return c.default.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):c.default.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):(0,l.default)(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):c.default.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):c.default.s(t,e)},S:function(t,e){return c.default.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return p(o);case"XXXX":case"XX":return g(o);case"XXXXX":case"XXX":default:return g(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return p(o);case"xxxx":case"xx":return g(o);case"xxxxx":case"xxx":default:return g(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+d(o,":");case"OOOO":default:return"GMT"+g(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+d(o,":");case"zzzz":default:return"GMT"+g(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return(0,l.default)(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return(0,l.default)(o,e.length)}};function d(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+(0,l.default)(o,2)}function p(t,e){if(t%60===0){var n=t>0?"-":"+";return n+(0,l.default)(Math.abs(t)/60,2)}return g(t,e)}function g(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=(0,l.default)(Math.floor(i/60),2),a=(0,l.default)(i%60,2);return r+o+n+a}var m=f;e["default"]=m,t.exports=e.default},2699:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(7394));function i(t){return t&&t.__esModule?t:{default:t}}var o={y:function(t,e){var n=t.getUTCFullYear(),i=n>0?n:1-n;return(0,r.default)("yy"===e?i%100:i,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):(0,r.default)(n+1,2)},d:function(t,e){return(0,r.default)(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return(0,r.default)(t.getUTCHours()%12||12,e.length)},H:function(t,e){return(0,r.default)(t.getUTCHours(),e.length)},m:function(t,e){return(0,r.default)(t.getUTCMinutes(),e.length)},s:function(t,e){return(0,r.default)(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,i=t.getUTCMilliseconds(),o=Math.floor(i*Math.pow(10,n-3));return(0,r.default)(o,e.length)}},a=o;e["default"]=a,t.exports=e.default},5209:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},r=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},i=function(t,e){var i,o=t.match(/(P+)(p+)?/)||[],a=o[1],s=o[2];if(!s)return n(t,e);switch(a){case"P":i=e.dateTime({width:"short"});break;case"PP":i=e.dateTime({width:"medium"});break;case"PPP":i=e.dateTime({width:"long"});break;case"PPPP":default:i=e.dateTime({width:"full"});break}return i.replace("{{date}}",n(a,e)).replace("{{time}}",r(s,e))},o={p:r,P:i},a=o;e["default"]=a,t.exports=e.default},3561:function(t,e){"use strict";function n(t){var e=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return e.setUTCFullYear(t.getFullYear()),t.getTime()-e.getTime()}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1603:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}var a=864e5;function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getTime();e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0);var o=e.getTime(),s=n-o;return Math.floor(s/a)+1}t.exports=e.default},1354:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(79)),o=s(n(4275)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t){(0,a.default)(1,arguments);var e=(0,r.default)(t),n=(0,i.default)(e).getTime()-(0,o.default)(e).getTime();return Math.round(n/l)+1}t.exports=e.default},1370:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(1171)),i=a(n(8734)),o=a(n(79));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){(0,i.default)(1,arguments);var e=(0,r.default)(t),n=e.getUTCFullYear(),a=new Date(0);a.setUTCFullYear(n+1,0,4),a.setUTCHours(0,0,0,0);var s=(0,o.default)(a),l=new Date(0);l.setUTCFullYear(n,0,4),l.setUTCHours(0,0,0,0);var c=(0,o.default)(l);return e.getTime()>=s.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}t.exports=e.default},623:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=s(n(1171)),i=s(n(9209)),o=s(n(4118)),a=s(n(8734));function s(t){return t&&t.__esModule?t:{default:t}}var l=6048e5;function c(t,e){(0,a.default)(1,arguments);var n=(0,r.default)(t),s=(0,i.default)(n,e).getTime()-(0,o.default)(n,e).getTime();return Math.round(s/l)+1}t.exports=e.default},6226:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=c;var r=l(n(1171)),i=l(n(8734)),o=l(n(9209)),a=l(n(2084)),s=n(8729);function l(t){return t&&t.__esModule?t:{default:t}}function c(t,e){var n,l,c,u,h,f,d,p;(0,i.default)(1,arguments);var g=(0,r.default)(t),m=g.getUTCFullYear(),v=(0,s.getDefaultOptions)(),b=(0,a.default)(null!==(n=null!==(l=null!==(c=null!==(u=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==u?u:null===e||void 0===e||null===(h=e.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.firstWeekContainsDate)&&void 0!==c?c:v.firstWeekContainsDate)&&void 0!==l?l:null===(d=v.locale)||void 0===d||null===(p=d.options)||void 0===p?void 0:p.firstWeekContainsDate)&&void 0!==n?n:1);if(!(b>=1&&b<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var y=new Date(0);y.setUTCFullYear(m+1,0,b),y.setUTCHours(0,0,0,0);var _=(0,o.default)(y,e),x=new Date(0);x.setUTCFullYear(m,0,b),x.setUTCHours(0,0,0,0);var w=(0,o.default)(x,e);return g.getTime()>=_.getTime()?m+1:g.getTime()>=w.getTime()?m:m-1}t.exports=e.default},6736:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isProtectedDayOfYearToken=i,e.isProtectedWeekYearToken=o,e.throwProtectedError=a;var n=["D","DD"],r=["YY","YYYY"];function i(t){return-1!==n.indexOf(t)}function o(t){return-1!==r.indexOf(t)}function a(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}},8734:function(t,e){"use strict";function n(t,e){if(e.length1?"s":"")+" required, but only "+e.length+" present")}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},79:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=o(n(1171)),i=o(n(8734));function o(t){return t&&t.__esModule?t:{default:t}}function a(t){(0,i.default)(1,arguments);var e=1,n=(0,r.default)(t),o=n.getUTCDay(),a=(o=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.default)(t),v=m.getUTCDay(),b=(v1?"s":"")+" required, but only "+e.length+" present")}n.d(e,{Z:function(){return r}})},3946:function(t,e,n){"use strict";function r(t){if(null===t||!0===t||!1===t)return NaN;var e=Number(t);return isNaN(e)?e:e<0?Math.ceil(e):Math.floor(e)}n.d(e,{Z:function(){return r}})},7349:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);return isNaN(a)?new Date(NaN):a?(n.setDate(n.getDate()+a),n):n}},1640:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),a=(0,r.Z)(e);if(isNaN(a))return new Date(NaN);if(!a)return n;var s=n.getDate(),l=new Date(n.getTime());l.setMonth(n.getMonth()+a+1,0);var c=l.getDate();return s>=c?l:(n.setFullYear(l.getFullYear(),l.getMonth(),s),n)}},3500:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(7349),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e),a=7*n;return(0,i.Z)(t,a)}},1593:function(t,e,n){"use strict";n.d(e,{Z:function(){return a}});var r=n(3946),i=n(1640),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,r.Z)(e);return(0,i.Z)(t,12*n)}},4135:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t),n=e.getMonth();return e.setFullYear(e.getFullYear(),n+1,0),e.setHours(23,59,59,999),e}},7090:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(4314),i=n(9013),o=n(3946),a=n(3882);function s(t,e){var n,s,l,c,u,h,f,d;(0,a.Z)(1,arguments);var p=(0,r.j)(),g=(0,o.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,i.Z)(t),v=m.getDay(),b=6+(v=o.getTime()?n+1:e.getTime()>=l.getTime()?n:n-1}function g(t){(0,r.Z)(1,arguments);var e=p(t),n=new Date(0);n.setUTCFullYear(e,0,4),n.setUTCHours(0,0,0,0);var i=d(n);return i}var m=6048e5;function v(t){(0,r.Z)(1,arguments);var e=(0,a.Z)(t),n=d(e).getTime()-g(e).getTime();return Math.round(n/m)+1}var b=n(4314);function y(t,e){var n,i,o,s,c,u,h,f;(0,r.Z)(1,arguments);var d=(0,b.j)(),p=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(s=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==s?s:null===e||void 0===e||null===(c=e.locale)||void 0===c||null===(u=c.options)||void 0===u?void 0:u.weekStartsOn)&&void 0!==o?o:d.weekStartsOn)&&void 0!==i?i:null===(h=d.locale)||void 0===h||null===(f=h.options)||void 0===f?void 0:f.weekStartsOn)&&void 0!==n?n:0);if(!(p>=0&&p<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var g=(0,a.Z)(t),m=g.getUTCDay(),v=(m=1&&m<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var v=new Date(0);v.setUTCFullYear(p+1,0,m),v.setUTCHours(0,0,0,0);var _=y(v,e),x=new Date(0);x.setUTCFullYear(p,0,m),x.setUTCHours(0,0,0,0);var w=y(x,e);return d.getTime()>=_.getTime()?p+1:d.getTime()>=w.getTime()?p:p-1}function x(t,e){var n,i,o,a,s,c,u,h;(0,r.Z)(1,arguments);var f=(0,b.j)(),d=(0,l.Z)(null!==(n=null!==(i=null!==(o=null!==(a=null===e||void 0===e?void 0:e.firstWeekContainsDate)&&void 0!==a?a:null===e||void 0===e||null===(s=e.locale)||void 0===s||null===(c=s.options)||void 0===c?void 0:c.firstWeekContainsDate)&&void 0!==o?o:f.firstWeekContainsDate)&&void 0!==i?i:null===(u=f.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.firstWeekContainsDate)&&void 0!==n?n:1),p=_(t,e),g=new Date(0);g.setUTCFullYear(p,0,d),g.setUTCHours(0,0,0,0);var m=y(g,e);return m}var w=6048e5;function k(t,e){(0,r.Z)(1,arguments);var n=(0,a.Z)(t),i=y(n,e).getTime()-x(n,e).getTime();return Math.round(i/w)+1}function M(t,e){var n=t<0?"-":"",r=Math.abs(t).toString();while(r.length0?n:1-n;return M("yy"===e?r%100:r,e.length)},M:function(t,e){var n=t.getUTCMonth();return"M"===e?String(n+1):M(n+1,2)},d:function(t,e){return M(t.getUTCDate(),e.length)},a:function(t,e){var n=t.getUTCHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return"am"===n?"a.m.":"p.m."}},h:function(t,e){return M(t.getUTCHours()%12||12,e.length)},H:function(t,e){return M(t.getUTCHours(),e.length)},m:function(t,e){return M(t.getUTCMinutes(),e.length)},s:function(t,e){return M(t.getUTCSeconds(),e.length)},S:function(t,e){var n=e.length,r=t.getUTCMilliseconds(),i=Math.floor(r*Math.pow(10,n-3));return M(i,e.length)}},S=O,E={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},T={G:function(t,e,n){var r=t.getUTCFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if("yo"===e){var r=t.getUTCFullYear(),i=r>0?r:1-r;return n.ordinalNumber(i,{unit:"year"})}return S.y(t,e)},Y:function(t,e,n,r){var i=_(t,r),o=i>0?i:1-i;if("YY"===e){var a=o%100;return M(a,2)}return"Yo"===e?n.ordinalNumber(o,{unit:"year"}):M(o,e.length)},R:function(t,e){var n=p(t);return M(n,e.length)},u:function(t,e){var n=t.getUTCFullYear();return M(n,e.length)},Q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return M(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){var r=Math.ceil((t.getUTCMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return M(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){var r=t.getUTCMonth();switch(e){case"M":case"MM":return S.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){var r=t.getUTCMonth();switch(e){case"L":return String(r+1);case"LL":return M(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){var i=k(t,r);return"wo"===e?n.ordinalNumber(i,{unit:"week"}):M(i,e.length)},I:function(t,e,n){var r=v(t);return"Io"===e?n.ordinalNumber(r,{unit:"week"}):M(r,e.length)},d:function(t,e,n){return"do"===e?n.ordinalNumber(t.getUTCDate(),{unit:"date"}):S.d(t,e)},D:function(t,e,n){var r=f(t);return"Do"===e?n.ordinalNumber(r,{unit:"dayOfYear"}):M(r,e.length)},E:function(t,e,n){var r=t.getUTCDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(o);case"ee":return M(o,2);case"eo":return n.ordinalNumber(o,{unit:"day"});case"eee":return n.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(i,{width:"short",context:"formatting"});case"eeee":default:return n.day(i,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){var i=t.getUTCDay(),o=(i-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(o);case"cc":return M(o,e.length);case"co":return n.ordinalNumber(o,{unit:"day"});case"ccc":return n.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(i,{width:"narrow",context:"standalone"});case"cccccc":return n.day(i,{width:"short",context:"standalone"});case"cccc":default:return n.day(i,{width:"wide",context:"standalone"})}},i:function(t,e,n){var r=t.getUTCDay(),i=0===r?7:r;switch(e){case"i":return String(i);case"ii":return M(i,e.length);case"io":return n.ordinalNumber(i,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){var r=t.getUTCHours(),i=r/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(t,e,n){var r,i=t.getUTCHours();switch(r=12===i?E.noon:0===i?E.midnight:i/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(t,e,n){var r,i=t.getUTCHours();switch(r=i>=17?E.evening:i>=12?E.afternoon:i>=4?E.morning:E.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(t,e,n){if("ho"===e){var r=t.getUTCHours()%12;return 0===r&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return S.h(t,e)},H:function(t,e,n){return"Ho"===e?n.ordinalNumber(t.getUTCHours(),{unit:"hour"}):S.H(t,e)},K:function(t,e,n){var r=t.getUTCHours()%12;return"Ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},k:function(t,e,n){var r=t.getUTCHours();return 0===r&&(r=24),"ko"===e?n.ordinalNumber(r,{unit:"hour"}):M(r,e.length)},m:function(t,e,n){return"mo"===e?n.ordinalNumber(t.getUTCMinutes(),{unit:"minute"}):S.m(t,e)},s:function(t,e,n){return"so"===e?n.ordinalNumber(t.getUTCSeconds(),{unit:"second"}):S.s(t,e)},S:function(t,e){return S.S(t,e)},X:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();if(0===o)return"Z";switch(e){case"X":return P(o);case"XXXX":case"XX":return D(o);case"XXXXX":case"XXX":default:return D(o,":")}},x:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"x":return P(o);case"xxxx":case"xx":return D(o);case"xxxxx":case"xxx":default:return D(o,":")}},O:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+C(o,":");case"OOOO":default:return"GMT"+D(o,":")}},z:function(t,e,n,r){var i=r._originalDate||t,o=i.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+C(o,":");case"zzzz":default:return"GMT"+D(o,":")}},t:function(t,e,n,r){var i=r._originalDate||t,o=Math.floor(i.getTime()/1e3);return M(o,e.length)},T:function(t,e,n,r){var i=r._originalDate||t,o=i.getTime();return M(o,e.length)}};function C(t,e){var n=t>0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),o=r%60;if(0===o)return n+String(i);var a=e||"";return n+String(i)+a+M(o,2)}function P(t,e){if(t%60===0){var n=t>0?"-":"+";return n+M(Math.abs(t)/60,2)}return D(t,e)}function D(t,e){var n=e||"",r=t>0?"-":"+",i=Math.abs(t),o=M(Math.floor(i/60),2),a=M(i%60,2);return r+o+n+a}var A=T,L=function(t,e){switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});case"PPPP":default:return e.date({width:"full"})}},I=function(t,e){switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});case"pppp":default:return e.time({width:"full"})}},N=function(t,e){var n,r=t.match(/(P+)(p+)?/)||[],i=r[1],o=r[2];if(!o)return L(t,e);switch(i){case"P":n=e.dateTime({width:"short"});break;case"PP":n=e.dateTime({width:"medium"});break;case"PPP":n=e.dateTime({width:"long"});break;case"PPPP":default:n=e.dateTime({width:"full"});break}return n.replace("{{date}}",L(i,e)).replace("{{time}}",I(o,e))},j={p:I,P:N},R=j,F=n(4262),W=["D","DD"],U=["YY","YYYY"];function z(t){return-1!==W.indexOf(t)}function H(t){return-1!==U.indexOf(t)}function B(t,e,n){if("YYYY"===t)throw new RangeError("Use `yyyy` instead of `YYYY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("YY"===t)throw new RangeError("Use `yy` instead of `YY` (in `".concat(e,"`) for formatting years to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("D"===t)throw new RangeError("Use `d` instead of `D` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"));if("DD"===t)throw new RangeError("Use `dd` instead of `DD` (in `".concat(e,"`) for formatting days of the month to the input `").concat(n,"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md"))}var V=n(4941),$=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Y=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Z=/^'([^]*?)'?$/,q=/''/g,X=/[a-zA-Z]/;function G(t,e,n){var i,o,c,h,f,d,p,g,m,v,y,_,x,w,k,M,O,S;(0,r.Z)(2,arguments);var E=String(e),T=(0,b.j)(),C=null!==(i=null!==(o=null===n||void 0===n?void 0:n.locale)&&void 0!==o?o:T.locale)&&void 0!==i?i:V.Z,P=(0,l.Z)(null!==(c=null!==(h=null!==(f=null!==(d=null===n||void 0===n?void 0:n.firstWeekContainsDate)&&void 0!==d?d:null===n||void 0===n||null===(p=n.locale)||void 0===p||null===(g=p.options)||void 0===g?void 0:g.firstWeekContainsDate)&&void 0!==f?f:T.firstWeekContainsDate)&&void 0!==h?h:null===(m=T.locale)||void 0===m||null===(v=m.options)||void 0===v?void 0:v.firstWeekContainsDate)&&void 0!==c?c:1);if(!(P>=1&&P<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var D=(0,l.Z)(null!==(y=null!==(_=null!==(x=null!==(w=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==w?w:null===n||void 0===n||null===(k=n.locale)||void 0===k||null===(M=k.options)||void 0===M?void 0:M.weekStartsOn)&&void 0!==x?x:T.weekStartsOn)&&void 0!==_?_:null===(O=T.locale)||void 0===O||null===(S=O.options)||void 0===S?void 0:S.weekStartsOn)&&void 0!==y?y:0);if(!(D>=0&&D<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!C.localize)throw new RangeError("locale must contain localize property");if(!C.formatLong)throw new RangeError("locale must contain formatLong property");var L=(0,a.Z)(t);if(!s(L))throw new RangeError("Invalid time value");var I=(0,F.Z)(L),N=u(L,I),j={firstWeekContainsDate:P,weekStartsOn:D,locale:C,_originalDate:L},W=E.match(Y).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=R[e];return n(t,C.formatLong)}return t})).join("").match($).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return J(r);var o=A[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!H(r)||B(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!z(r)||B(r,e,String(t)),o(N,r,C.localize,j);if(i.match(X))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return W}function J(t){var e=t.match(Z);return e?e[1].replace(q,"'"):t}},1818:function(t,e,n){"use strict";n.d(e,{Z:function(){return O}});var r=n(4314),i=n(9013),o=n(3882);function a(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getTime()-r.getTime();return a<0?-1:a>0?1:a}function s(t,e){(0,o.Z)(2,arguments);var n=(0,i.Z)(t),r=(0,i.Z)(e),a=n.getFullYear()-r.getFullYear(),s=n.getMonth()-r.getMonth();return 12*a+s}function l(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return e.setHours(23,59,59,999),e}var c=n(4135);function u(t){(0,o.Z)(1,arguments);var e=(0,i.Z)(t);return l(e).getTime()===(0,c.Z)(e).getTime()}function h(t,e){(0,o.Z)(2,arguments);var n,r=(0,i.Z)(t),l=(0,i.Z)(e),c=a(r,l),h=Math.abs(s(r,l));if(h<1)n=0;else{1===r.getMonth()&&r.getDate()>27&&r.setDate(30),r.setMonth(r.getMonth()-c*h);var f=a(r,l)===-c;u((0,i.Z)(t))&&1===h&&1===a(t,l)&&(f=!1),n=c*(h-Number(f))}return 0===n?0:n}function f(t,e){return(0,o.Z)(2,arguments),(0,i.Z)(t).getTime()-(0,i.Z)(e).getTime()}var d={ceil:Math.ceil,round:Math.round,floor:Math.floor,trunc:function(t){return t<0?Math.ceil(t):Math.floor(t)}},p="trunc";function g(t){return t?d[t]:d[p]}function m(t,e,n){(0,o.Z)(2,arguments);var r=f(t,e)/1e3;return g(null===n||void 0===n?void 0:n.roundingMethod)(r)}var v=n(4941);function b(t,e){if(null==t)throw new TypeError("assign requires that input parameter not be null or undefined");for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}function y(t){return b({},t)}var _=n(4262),x=1440,w=2520,k=43200,M=86400;function O(t,e,n){var s,l;(0,o.Z)(2,arguments);var c=(0,r.j)(),u=null!==(s=null!==(l=null===n||void 0===n?void 0:n.locale)&&void 0!==l?l:c.locale)&&void 0!==s?s:v.Z;if(!u.formatDistance)throw new RangeError("locale must contain formatDistance property");var f=a(t,e);if(isNaN(f))throw new RangeError("Invalid time value");var d,p,g=b(y(n),{addSuffix:Boolean(null===n||void 0===n?void 0:n.addSuffix),comparison:f});f>0?(d=(0,i.Z)(e),p=(0,i.Z)(t)):(d=(0,i.Z)(t),p=(0,i.Z)(e));var O,S=m(p,d),E=((0,_.Z)(p)-(0,_.Z)(d))/1e3,T=Math.round((S-E)/60);if(T<2)return null!==n&&void 0!==n&&n.includeSeconds?S<5?u.formatDistance("lessThanXSeconds",5,g):S<10?u.formatDistance("lessThanXSeconds",10,g):S<20?u.formatDistance("lessThanXSeconds",20,g):S<40?u.formatDistance("halfAMinute",0,g):S<60?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",1,g):0===T?u.formatDistance("lessThanXMinutes",1,g):u.formatDistance("xMinutes",T,g);if(T<45)return u.formatDistance("xMinutes",T,g);if(T<90)return u.formatDistance("aboutXHours",1,g);if(T0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}n.d(e,{Z:function(){return r}})},8486:function(t,e,n){"use strict";function r(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}n.d(e,{Z:function(){return r}})},6723:function(t,e,n){"use strict";function r(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.width,a=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?o(u,(function(t){return t.test(c)})):i(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function i(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function o(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}n.d(e,{Z:function(){return r}})},879:function(t,e,n){"use strict";n.d(e,{Z:function(){return B}});var r={lessThanXSeconds:{standalone:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"},withPreposition:{one:"weniger als 1 Sekunde",other:"weniger als {{count}} Sekunden"}},xSeconds:{standalone:{one:"1 Sekunde",other:"{{count}} Sekunden"},withPreposition:{one:"1 Sekunde",other:"{{count}} Sekunden"}},halfAMinute:{standalone:"halbe Minute",withPreposition:"halben Minute"},lessThanXMinutes:{standalone:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"},withPreposition:{one:"weniger als 1 Minute",other:"weniger als {{count}} Minuten"}},xMinutes:{standalone:{one:"1 Minute",other:"{{count}} Minuten"},withPreposition:{one:"1 Minute",other:"{{count}} Minuten"}},aboutXHours:{standalone:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"},withPreposition:{one:"etwa 1 Stunde",other:"etwa {{count}} Stunden"}},xHours:{standalone:{one:"1 Stunde",other:"{{count}} Stunden"},withPreposition:{one:"1 Stunde",other:"{{count}} Stunden"}},xDays:{standalone:{one:"1 Tag",other:"{{count}} Tage"},withPreposition:{one:"1 Tag",other:"{{count}} Tagen"}},aboutXWeeks:{standalone:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"},withPreposition:{one:"etwa 1 Woche",other:"etwa {{count}} Wochen"}},xWeeks:{standalone:{one:"1 Woche",other:"{{count}} Wochen"},withPreposition:{one:"1 Woche",other:"{{count}} Wochen"}},aboutXMonths:{standalone:{one:"etwa 1 Monat",other:"etwa {{count}} Monate"},withPreposition:{one:"etwa 1 Monat",other:"etwa {{count}} Monaten"}},xMonths:{standalone:{one:"1 Monat",other:"{{count}} Monate"},withPreposition:{one:"1 Monat",other:"{{count}} Monaten"}},aboutXYears:{standalone:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahre"},withPreposition:{one:"etwa 1 Jahr",other:"etwa {{count}} Jahren"}},xYears:{standalone:{one:"1 Jahr",other:"{{count}} Jahre"},withPreposition:{one:"1 Jahr",other:"{{count}} Jahren"}},overXYears:{standalone:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahre"},withPreposition:{one:"mehr als 1 Jahr",other:"mehr als {{count}} Jahren"}},almostXYears:{standalone:{one:"fast 1 Jahr",other:"fast {{count}} Jahre"},withPreposition:{one:"fast 1 Jahr",other:"fast {{count}} Jahren"}}},i=function(t,e,n){var i,o=null!==n&&void 0!==n&&n.addSuffix?r[t].withPreposition:r[t].standalone;return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:"vor "+i:i},o=i,a=n(9526),s={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],wide:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]},y={narrow:b.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:b.wide},_={narrow:["S","M","D","M","D","F","S"],short:["So","Mo","Di","Mi","Do","Fr","Sa"],abbreviated:["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],wide:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},x={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachm.",evening:"Abend",night:"Nacht"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"Morgen",afternoon:"Nachmittag",evening:"Abend",night:"Nacht"}},w={narrow:{am:"vm.",pm:"nm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachm.",evening:"abends",night:"nachts"},abbreviated:{am:"vorm.",pm:"nachm.",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"},wide:{am:"vormittags",pm:"nachmittags",midnight:"Mitternacht",noon:"Mittag",morning:"morgens",afternoon:"nachmittags",evening:"abends",night:"nachts"}},k=function(t){var e=Number(t);return e+"."},M={ordinalNumber:k,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,formattingValues:y,defaultWidth:"wide"}),day:(0,g.Z)({values:_,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:x,defaultWidth:"wide",formattingValues:w,defaultFormattingWidth:"wide"})},O=M,S=n(6723),E=n(974),T=/^(\d+)(\.)?/i,C=/\d+/i,P={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},D={any:[/^v/i,/^n/i]},A={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},L={any:[/1/i,/2/i,/3/i,/4/i]},I={narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},N={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},j={narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},R={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},F={narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},W={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},U={ordinalNumber:(0,E.Z)({matchPattern:T,parsePattern:C,valueCallback:function(t){return parseInt(t)}}),era:(0,S.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any"}),quarter:(0,S.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,S.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),day:(0,S.Z)({matchPatterns:j,defaultMatchWidth:"wide",parsePatterns:R,defaultParseWidth:"any"}),dayPeriod:(0,S.Z)({matchPatterns:F,defaultMatchWidth:"wide",parsePatterns:W,defaultParseWidth:"any"})},z=U,H={code:"de",formatDistance:o,formatLong:h,formatRelative:p,localize:O,match:z,options:{weekStartsOn:1,firstWeekContainsDate:4}},B=H},5826:function(t,e,n){"use strict";n.d(e,{Z:function(){return H}});var r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"in "+i:i+" ago":i},o=i,a=n(9526),s={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},l={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},c={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},v={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},y={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},_={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},x={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},w=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},k={ordinalNumber:w,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide",formattingValues:x,defaultFormattingWidth:"wide"})},M=k,O=n(6723),S=n(974),E=/^(\d+)(th|st|nd|rd)?/i,T=/\d+/i,C={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},P={any:[/^b/i,/^(a|c)/i]},D={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},A={any:[/1/i,/2/i,/3/i,/4/i]},L={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},I={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},N={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},j={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},R={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},F={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},W={ordinalNumber:(0,S.Z)({matchPattern:E,parsePattern:T,valueCallback:function(t){return parseInt(t,10)}}),era:(0,O.Z)({matchPatterns:C,defaultMatchWidth:"wide",parsePatterns:P,defaultParseWidth:"any"}),quarter:(0,O.Z)({matchPatterns:D,defaultMatchWidth:"wide",parsePatterns:A,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,O.Z)({matchPatterns:L,defaultMatchWidth:"wide",parsePatterns:I,defaultParseWidth:"any"}),day:(0,O.Z)({matchPatterns:N,defaultMatchWidth:"wide",parsePatterns:j,defaultParseWidth:"any"}),dayPeriod:(0,O.Z)({matchPatterns:R,defaultMatchWidth:"any",parsePatterns:F,defaultParseWidth:"any"})},U=W,z={code:"en-US",formatDistance:o,formatLong:h,formatRelative:p,localize:M,match:U,options:{weekStartsOn:0,firstWeekContainsDate:1}},H=z},5830:function(t,e,n){"use strict";n.d(e,{Z:function(){return z}});var r={lessThanXSeconds:{one:"moins d’une seconde",other:"moins de {{count}} secondes"},xSeconds:{one:"1 seconde",other:"{{count}} secondes"},halfAMinute:"30 secondes",lessThanXMinutes:{one:"moins d’une minute",other:"moins de {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"environ 1 heure",other:"environ {{count}} heures"},xHours:{one:"1 heure",other:"{{count}} heures"},xDays:{one:"1 jour",other:"{{count}} jours"},aboutXWeeks:{one:"environ 1 semaine",other:"environ {{count}} semaines"},xWeeks:{one:"1 semaine",other:"{{count}} semaines"},aboutXMonths:{one:"environ 1 mois",other:"environ {{count}} mois"},xMonths:{one:"1 mois",other:"{{count}} mois"},aboutXYears:{one:"environ 1 an",other:"environ {{count}} ans"},xYears:{one:"1 an",other:"{{count}} ans"},overXYears:{one:"plus d’un an",other:"plus de {{count}} ans"},almostXYears:{one:"presqu’un an",other:"presque {{count}} ans"}},i=function(t,e,n){var i,o=r[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",String(e)),null!==n&&void 0!==n&&n.addSuffix?n.comparison&&n.comparison>0?"dans "+i:"il y a "+i:i},o=i,a=n(9526),s={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},c={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},u={date:(0,a.Z)({formats:s,defaultWidth:"full"}),time:(0,a.Z)({formats:l,defaultWidth:"full"}),dateTime:(0,a.Z)({formats:c,defaultWidth:"full"})},h=u,f={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},d=function(t,e,n,r){return f[t]},p=d,g=n(8486),m={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},v={narrow:["T1","T2","T3","T4"],abbreviated:["1er trim.","2ème trim.","3ème trim.","4ème trim."],wide:["1er trimestre","2ème trimestre","3ème trimestre","4ème trimestre"]},b={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],wide:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"]},y={narrow:["D","L","M","M","J","V","S"],short:["di","lu","ma","me","je","ve","sa"],abbreviated:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],wide:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},_={narrow:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"mat.",afternoon:"ap.m.",evening:"soir",night:"mat."},abbreviated:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"matin",afternoon:"après-midi",evening:"soir",night:"matin"},wide:{am:"AM",pm:"PM",midnight:"minuit",noon:"midi",morning:"du matin",afternoon:"de l’après-midi",evening:"du soir",night:"du matin"}},x=function(t,e){var n=Number(t),r=null===e||void 0===e?void 0:e.unit;if(0===n)return"0";var i,o=["year","week","hour","minute","second"];return i=1===n?r&&o.includes(r)?"ère":"er":"ème",n+i},w={ordinalNumber:x,era:(0,g.Z)({values:m,defaultWidth:"wide"}),quarter:(0,g.Z)({values:v,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,g.Z)({values:b,defaultWidth:"wide"}),day:(0,g.Z)({values:y,defaultWidth:"wide"}),dayPeriod:(0,g.Z)({values:_,defaultWidth:"wide"})},k=w,M=n(6723),O=n(974),S=/^(\d+)(ième|ère|ème|er|e)?/i,E=/\d+/i,T={narrow:/^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i,abbreviated:/^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i,wide:/^(avant Jésus-Christ|après Jésus-Christ)/i},C={any:[/^av/i,/^ap/i]},P={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},D={any:[/1/i,/2/i,/3/i,/4/i]},A={narrow:/^[jfmasond]/i,abbreviated:/^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i,wide:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i},L={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^av/i,/^ma/i,/^juin/i,/^juil/i,/^ao/i,/^s/i,/^o/i,/^n/i,/^d/i]},I={narrow:/^[lmjvsd]/i,short:/^(di|lu|ma|me|je|ve|sa)/i,abbreviated:/^(dim|lun|mar|mer|jeu|ven|sam)\.?/i,wide:/^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i},N={narrow:[/^d/i,/^l/i,/^m/i,/^m/i,/^j/i,/^v/i,/^s/i],any:[/^di/i,/^lu/i,/^ma/i,/^me/i,/^je/i,/^ve/i,/^sa/i]},j={narrow:/^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i,any:/^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i},R={any:{am:/^a/i,pm:/^p/i,midnight:/^min/i,noon:/^mid/i,morning:/mat/i,afternoon:/ap/i,evening:/soir/i,night:/nuit/i}},F={ordinalNumber:(0,O.Z)({matchPattern:S,parsePattern:E,valueCallback:function(t){return parseInt(t)}}),era:(0,M.Z)({matchPatterns:T,defaultMatchWidth:"wide",parsePatterns:C,defaultParseWidth:"any"}),quarter:(0,M.Z)({matchPatterns:P,defaultMatchWidth:"wide",parsePatterns:D,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,M.Z)({matchPatterns:A,defaultMatchWidth:"wide",parsePatterns:L,defaultParseWidth:"any"}),day:(0,M.Z)({matchPatterns:I,defaultMatchWidth:"wide",parsePatterns:N,defaultParseWidth:"any"}),dayPeriod:(0,M.Z)({matchPatterns:j,defaultMatchWidth:"any",parsePatterns:R,defaultParseWidth:"any"})},W=F,U={code:"fr",formatDistance:o,formatLong:h,formatRelative:p,localize:k,match:W,options:{weekStartsOn:1,firstWeekContainsDate:4}},z=U},3703:function(t,e,n){"use strict";n.d(e,{Z:function(){return o}});var r=n(9013),i=n(3882);function o(t){(0,i.Z)(1,arguments);var e=(0,r.Z)(t);return e.setDate(1),e.setHours(0,0,0,0),e}},584:function(t,e,n){"use strict";n.d(e,{Z:function(){return s}});var r=n(9013),i=n(3946),o=n(3882),a=n(4314);function s(t,e){var n,s,l,c,u,h,f,d;(0,o.Z)(1,arguments);var p=(0,a.j)(),g=(0,i.Z)(null!==(n=null!==(s=null!==(l=null!==(c=null===e||void 0===e?void 0:e.weekStartsOn)&&void 0!==c?c:null===e||void 0===e||null===(u=e.locale)||void 0===u||null===(h=u.options)||void 0===h?void 0:h.weekStartsOn)&&void 0!==l?l:p.weekStartsOn)&&void 0!==s?s:null===(f=p.locale)||void 0===f||null===(d=f.options)||void 0===d?void 0:d.weekStartsOn)&&void 0!==n?n:0);if(!(g>=0&&g<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var m=(0,r.Z)(t),v=m.getDay(),b=(v=1&&W<=7))throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");var U=(0,u.default)(null!==(T=null!==(C=null!==(P=null!==(D=null===n||void 0===n?void 0:n.weekStartsOn)&&void 0!==D?D:null===n||void 0===n||null===(A=n.locale)||void 0===A||null===(L=A.options)||void 0===L?void 0:L.weekStartsOn)&&void 0!==P?P:R.weekStartsOn)&&void 0!==C?C:null===(I=R.locale)||void 0===I||null===(N=I.options)||void 0===N?void 0:N.weekStartsOn)&&void 0!==T?T:0);if(!(U>=0&&U<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");if(!F.localize)throw new RangeError("locale must contain localize property");if(!F.formatLong)throw new RangeError("locale must contain formatLong property");var z=(0,o.default)(t);if(!(0,r.default)(z))throw new RangeError("Invalid time value");var H=(0,l.default)(z),B=(0,i.default)(z,H),V={firstWeekContainsDate:W,weekStartsOn:U,locale:F,_originalDate:z},$=j.match(m).map((function(t){var e=t[0];if("p"===e||"P"===e){var n=s.default[e];return n(t,F.formatLong)}return t})).join("").match(g).map((function(r){if("''"===r)return"'";var i=r[0];if("'"===i)return x(r);var o=a.default[i];if(o)return null!==n&&void 0!==n&&n.useAdditionalWeekYearTokens||!(0,c.isProtectedWeekYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),null!==n&&void 0!==n&&n.useAdditionalDayOfYearTokens||!(0,c.isProtectedDayOfYearToken)(r)||(0,c.throwProtectedError)(r,e,String(t)),o(B,r,F.localize,V);if(i.match(y))throw new RangeError("Format string contains an unescaped latin alphabet character `"+i+"`");return r})).join("");return $}function x(t){var e=t.match(v);return e?e[1].replace(b,"'"):t}t.exports=e.default},2382:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){return(0,r.default)(1,arguments),t instanceof Date||"object"===o(t)&&"[object Date]"===Object.prototype.toString.call(t)}t.exports=e.default},9989:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(2382)),i=a(n(1171)),o=a(n(8734));function a(t){return t&&t.__esModule?t:{default:t}}function s(t){if((0,o.default)(1,arguments),!(0,r.default)(t)&&"number"!==typeof t)return!1;var e=(0,i.default)(t);return!isNaN(Number(e))}t.exports=e.default},289:function(t,e){"use strict";function n(t){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.width?String(e.width):t.defaultWidth,r=t.formats[n]||t.formats[t.defaultWidth];return r}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},6245:function(t,e){"use strict";function n(t){return function(e,n){var r,i=null!==n&&void 0!==n&&n.context?String(n.context):"standalone";if("formatting"===i&&t.formattingValues){var o=t.defaultFormattingWidth||t.defaultWidth,a=null!==n&&void 0!==n&&n.width?String(n.width):o;r=t.formattingValues[a]||t.formattingValues[o]}else{var s=t.defaultWidth,l=null!==n&&void 0!==n&&n.width?String(n.width):t.defaultWidth;r=t.values[l]||t.values[s]}var c=t.argumentCallback?t.argumentCallback(e):e;return r[c]}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},3421:function(t,e){"use strict";function n(t){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=n.width,a=o&&t.matchPatterns[o]||t.matchPatterns[t.defaultMatchWidth],s=e.match(a);if(!s)return null;var l,c=s[0],u=o&&t.parsePatterns[o]||t.parsePatterns[t.defaultParseWidth],h=Array.isArray(u)?i(u,(function(t){return t.test(c)})):r(u,(function(t){return t.test(c)}));l=t.valueCallback?t.valueCallback(h):h,l=n.valueCallback?n.valueCallback(l):l;var f=e.slice(c.length);return{value:l,rest:f}}}function r(t,e){for(var n in t)if(t.hasOwnProperty(n)&&e(t[n]))return n}function i(t,e){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:{},r=e.match(t.matchPattern);if(!r)return null;var i=r[0],o=e.match(t.parsePattern);if(!o)return null;var a=t.valueCallback?t.valueCallback(o[0]):o[0];a=n.valueCallback?n.valueCallback(a):a;var s=e.slice(i.length);return{value:a,rest:s}}}Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=n,t.exports=e.default},1924:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},r=function(t,e,r){var i,o=n[t];return i="string"===typeof o?o:1===e?o.one:o.other.replace("{{count}}",e.toString()),null!==r&&void 0!==r&&r.addSuffix?r.comparison&&r.comparison>0?"in "+i:i+" ago":i},i=r;e["default"]=i,t.exports=e.default},5062:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(289));function i(t){return t&&t.__esModule?t:{default:t}}var o={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},a={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},s={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},l={date:(0,r.default)({formats:o,defaultWidth:"full"}),time:(0,r.default)({formats:a,defaultWidth:"full"}),dateTime:(0,r.default)({formats:s,defaultWidth:"full"})},c=l;e["default"]=c,t.exports=e.default},5102:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var n={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},r=function(t,e,r,i){return n[t]},i=r;e["default"]=i,t.exports=e.default},7839:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=i(n(6245));function i(t){return t&&t.__esModule?t:{default:t}}var o={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},a={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},s={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},l={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},c={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},u={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},h=function(t,e){var n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},f={ordinalNumber:h,era:(0,r.default)({values:o,defaultWidth:"wide"}),quarter:(0,r.default)({values:a,defaultWidth:"wide",argumentCallback:function(t){return t-1}}),month:(0,r.default)({values:s,defaultWidth:"wide"}),day:(0,r.default)({values:l,defaultWidth:"wide"}),dayPeriod:(0,r.default)({values:c,defaultWidth:"wide",formattingValues:u,defaultFormattingWidth:"wide"})},d=f;e["default"]=d,t.exports=e.default},9796:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=o(n(3421)),i=o(n(8926));function o(t){return t&&t.__esModule?t:{default:t}}var a=/^(\d+)(th|st|nd|rd)?/i,s=/\d+/i,l={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},c={any:[/^b/i,/^(a|c)/i]},u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},h={any:[/1/i,/2/i,/3/i,/4/i]},f={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},d={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},p={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},g={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},m={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},v={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},b={ordinalNumber:(0,i.default)({matchPattern:a,parsePattern:s,valueCallback:function(t){return parseInt(t,10)}}),era:(0,r.default)({matchPatterns:l,defaultMatchWidth:"wide",parsePatterns:c,defaultParseWidth:"any"}),quarter:(0,r.default)({matchPatterns:u,defaultMatchWidth:"wide",parsePatterns:h,defaultParseWidth:"any",valueCallback:function(t){return t+1}}),month:(0,r.default)({matchPatterns:f,defaultMatchWidth:"wide",parsePatterns:d,defaultParseWidth:"any"}),day:(0,r.default)({matchPatterns:p,defaultMatchWidth:"wide",parsePatterns:g,defaultParseWidth:"any"}),dayPeriod:(0,r.default)({matchPatterns:m,defaultMatchWidth:"any",parsePatterns:v,defaultParseWidth:"any"})},y=b;e["default"]=y,t.exports=e.default},2512:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=void 0;var r=l(n(1924)),i=l(n(5062)),o=l(n(5102)),a=l(n(7839)),s=l(n(9796));function l(t){return t&&t.__esModule?t:{default:t}}var c={code:"en-US",formatDistance:r.default,formatLong:i.default,formatRelative:o.default,localize:a.default,match:s.default,options:{weekStartsOn:0,firstWeekContainsDate:1}},u=c;e["default"]=u,t.exports=e.default},3239:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=s;var r=a(n(5065)),i=a(n(8734)),o=a(n(2084));function a(t){return t&&t.__esModule?t:{default:t}}function s(t,e){(0,i.default)(2,arguments);var n=(0,o.default)(e);return(0,r.default)(t,-n)}t.exports=e.default},1171:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e["default"]=a;var r=i(n(8734));function i(t){return t&&t.__esModule?t:{default:t}}function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function a(t){(0,r.default)(1,arguments);var e=Object.prototype.toString.call(t);return t instanceof Date||"object"===o(t)&&"[object Date]"===e?new Date(t.getTime()):"number"===typeof t||"[object Number]"===e?new Date(t):("string"!==typeof t&&"[object String]"!==e||"undefined"===typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"),console.warn((new Error).stack)),new Date(NaN))}t.exports=e.default},6959:function(t){"use strict";const e=/[\p{Lu}]/u,n=/[\p{Ll}]/u,r=/^[\p{Lu}](?![\p{Lu}])/gu,i=/([\p{Alpha}\p{N}_]|$)/u,o=/[_.\- ]+/,a=new RegExp("^"+o.source),s=new RegExp(o.source+i.source,"gu"),l=new RegExp("\\d+"+i.source,"gu"),c=(t,r,i)=>{let o=!1,a=!1,s=!1;for(let l=0;l(r.lastIndex=0,t.replace(r,(t=>e(t)))),h=(t,e)=>(s.lastIndex=0,l.lastIndex=0,t.replace(s,((t,n)=>e(n))).replace(l,(t=>e(t)))),f=(t,e)=>{if("string"!==typeof t&&!Array.isArray(t))throw new TypeError("Expected the input to be `string | string[]`");if(e={pascalCase:!1,preserveConsecutiveUppercase:!1,...e},t=Array.isArray(t)?t.map((t=>t.trim())).filter((t=>t.length)).join("-"):t.trim(),0===t.length)return"";const n=!1===e.locale?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e.locale),r=!1===e.locale?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e.locale);if(1===t.length)return e.pascalCase?r(t):n(t);const i=t!==n(t);return i&&(t=c(t,n,r)),t=t.replace(a,""),t=e.preserveConsecutiveUppercase?u(t,n):n(t),e.pascalCase&&(t=r(t.charAt(0))+t.slice(1)),h(t,r)};t.exports=f,t.exports["default"]=f},5205:function(t,e,n){"use strict";n.d(e,{z:function(){return o}});var r,i=function(){return Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/))};function o(t,e){void 0===e&&(e={});var n=e.registrationOptions;void 0===n&&(n={}),delete e.registrationOptions;var o=function(t){var n=[],r=arguments.length-1;while(r-- >0)n[r]=arguments[r+1];e&&e[t]&&e[t].apply(e,n)};"serviceWorker"in navigator&&r.then((function(){i()?(l(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)}))):(s(t,o,n),navigator.serviceWorker.ready.then((function(t){o("ready",t)})).catch((function(t){return a(o,t)})))}))}function a(t,e){navigator.onLine||t("offline"),t("error",e)}function s(t,e,n){navigator.serviceWorker.register(t,n).then((function(t){e("registered",t),t.waiting?e("updated",t):t.onupdatefound=function(){e("updatefound",t);var n=t.installing;n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?e("updated",t):e("cached",t))}}})).catch((function(t){return a(e,t)}))}function l(t,e,n){fetch(t).then((function(r){404===r.status?(e("error",new Error("Service worker not found at "+t)),c()):-1===r.headers.get("content-type").indexOf("javascript")?(e("error",new Error("Expected "+t+" to have javascript content-type, but received "+r.headers.get("content-type"))),c()):s(t,e,n)})).catch((function(t){return a(e,t)}))}function c(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(t){t.unregister()})).catch((function(t){return a(emit,t)}))}"undefined"!==typeof window&&(r="undefined"!==typeof Promise?new Promise((function(t){return window.addEventListener("load",t)})):{then:function(t){return window.addEventListener("load",t)}})},2343:function(t,e,n){"use strict";var r,i,o,a,s,l,c,u,h,f=n(6252),d=n(2262),p=Object.defineProperty,g=Object.defineProperties,m=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,b=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable,_=(t,e,n)=>e in t?p(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n /*! * vue-fullscreen v3.1.1 * https://github.com/mirari/vue-fullscreen#readme @@ -64,4 +64,4 @@ function Mt(t){return t+.5|0}const Ot=(t,e,n)=>Math.max(Math.min(t,n),e);functio * @license MIT */ const o="undefined"!==typeof window;function a(t){return t.__esModule||"Module"===t[Symbol.toStringTag]}const s=Object.assign;function l(t,e){const n={};for(const r in e){const i=e[r];n[r]=u(i)?i.map(t):t(i)}return n}const c=()=>{},u=Array.isArray;const h=/\/$/,f=t=>t.replace(h,"");function d(t,e,n="/"){let r,i={},o="",a="";const s=e.indexOf("#");let l=e.indexOf("?");return s=0&&(l=-1),l>-1&&(r=e.slice(0,l),o=e.slice(l+1,s>-1?s:e.length),i=t(o)),s>-1&&(r=r||e.slice(0,s),a=e.slice(s,e.length)),r=x(null!=r?r:e,n),{fullPath:r+(o&&"?")+o+a,path:r,query:i,hash:a}}function p(t,e){const n=e.query?t(e.query):"";return e.path+(n&&"?")+n+(e.hash||"")}function g(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function m(t,e,n){const r=e.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&v(e.matched[r],n.matched[i])&&b(e.params,n.params)&&t(e.query)===t(n.query)&&e.hash===n.hash}function v(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function b(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(!y(t[n],e[n]))return!1;return!0}function y(t,e){return u(t)?_(t,e):u(e)?_(e,t):t===e}function _(t,e){return u(e)?t.length===e.length&&t.every(((t,n)=>t===e[n])):1===t.length&&t[0]===e}function x(t,e){if(t.startsWith("/"))return t;if(!t)return e;const n=e.split("/"),r=t.split("/");let i,o,a=n.length-1;for(i=0;i1&&a--}return n.slice(0,a).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var w,k;(function(t){t["pop"]="pop",t["push"]="push"})(w||(w={})),function(t){t["back"]="back",t["forward"]="forward",t["unknown"]=""}(k||(k={}));function M(t){if(!t)if(o){const e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return"/"!==t[0]&&"#"!==t[0]&&(t="/"+t),f(t)}const O=/^[^#]+#/;function S(t,e){return t.replace(O,"#")+e}function E(t,e){const n=document.documentElement.getBoundingClientRect(),r=t.getBoundingClientRect();return{behavior:e.behavior,left:r.left-n.left-(e.left||0),top:r.top-n.top-(e.top||0)}}const T=()=>({left:window.pageXOffset,top:window.pageYOffset});function C(t){let e;if("el"in t){const n=t.el,r="string"===typeof n&&n.startsWith("#");0;const i="string"===typeof n?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;e=E(i,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function P(t,e){const n=history.state?history.state.position-e:-1;return n+t}const D=new Map;function A(t,e){D.set(t,e)}function L(t){const e=D.get(t);return D.delete(t),e}let I=()=>location.protocol+"//"+location.host;function N(t,e){const{pathname:n,search:r,hash:i}=e,o=t.indexOf("#");if(o>-1){let e=i.includes(t.slice(o))?t.slice(o).length:1,n=i.slice(e);return"/"!==n[0]&&(n="/"+n),g(n,"")}const a=g(n,t);return a+r+i}function j(t,e,n,r){let i=[],o=[],a=null;const l=({state:o})=>{const s=N(t,location),l=n.value,c=e.value;let u=0;if(o){if(n.value=s,e.value=o,a&&a===l)return void(a=null);u=c?o.position-c.position:0}else r(s);i.forEach((t=>{t(n.value,l,{delta:u,type:w.pop,direction:u?u>0?k.forward:k.back:k.unknown})}))};function c(){a=n.value}function u(t){i.push(t);const e=()=>{const e=i.indexOf(t);e>-1&&i.splice(e,1)};return o.push(e),e}function h(){const{history:t}=window;t.state&&t.replaceState(s({},t.state,{scroll:T()}),"")}function f(){for(const t of o)t();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",h)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",h),{pauseListeners:c,listen:u,destroy:f}}function R(t,e,n,r=!1,i=!1){return{back:t,current:e,forward:n,replaced:r,position:window.history.length,scroll:i?T():null}}function F(t){const{history:e,location:n}=window,r={value:N(t,n)},i={value:e.state};function o(r,o,a){const s=t.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?t:t.slice(s))+r:I()+t+r;try{e[a?"replaceState":"pushState"](o,"",l),i.value=o}catch(c){console.error(c),n[a?"replace":"assign"](l)}}function a(t,n){const a=s({},e.state,R(i.value.back,t,i.value.forward,!0),n,{position:i.value.position});o(t,a,!0),r.value=t}function l(t,n){const a=s({},i.value,e.state,{forward:t,scroll:T()});o(a.current,a,!0);const l=s({},R(r.value,t,null),{position:a.position+1},n);o(t,l,!1),r.value=t}return i.value||o(r.value,{back:null,current:r.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:r,state:i,push:l,replace:a}}function W(t){t=M(t);const e=F(t),n=j(t,e.state,e.location,e.replace);function r(t,e=!0){e||n.pauseListeners(),history.go(t)}const i=s({location:"",base:t,go:r,createHref:S.bind(null,t)},e,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>e.state.value}),i}function U(t){return"string"===typeof t||t&&"object"===typeof t}function z(t){return"string"===typeof t||"symbol"===typeof t}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},B=Symbol("");var V;(function(t){t[t["aborted"]=4]="aborted",t[t["cancelled"]=8]="cancelled",t[t["duplicated"]=16]="duplicated"})(V||(V={}));function $(t,e){return s(new Error,{type:t,[B]:!0},e)}function Y(t,e){return t instanceof Error&&B in t&&(null==e||!!(t.type&e))}const Z="[^/]+?",q={sensitive:!1,strict:!1,start:!0,end:!0},X=/[.+*?^${}()[\]/\\]/g;function G(t,e){const n=s({},q,e),r=[];let i=n.start?"^":"";const o=[];for(const s of t){const t=s.length?[]:[90];n.strict&&!s.length&&(i+="/");for(let e=0;ee.length?1===e.length&&80===e[0]?1:-1:0}function K(t,e){let n=0;const r=t.score,i=e.score;while(n0&&e[e.length-1]<0}const tt={type:0,value:""},et=/[a-zA-Z0-9_]/;function nt(t){if(!t)return[[]];if("/"===t)return[[tt]];if(!t.startsWith("/"))throw new Error(`Invalid path "${t}"`);function e(t){throw new Error(`ERR (${n})/"${c}": ${t}`)}let n=0,r=n;const i=[];let o;function a(){o&&i.push(o),o=[]}let s,l=0,c="",u="";function h(){c&&(0===n?o.push({type:0,value:c}):1===n||2===n||3===n?(o.length>1&&("*"===s||"+"===s)&&e(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:c,regexp:u,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):e("Invalid state to consume buffer"),c="")}function f(){c+=s}while(l{a(p)}:c}function a(t){if(z(t)){const e=r.get(t);e&&(r.delete(t),n.splice(n.indexOf(e),1),e.children.forEach(a),e.alias.forEach(a))}else{const e=n.indexOf(t);e>-1&&(n.splice(e,1),t.record.name&&r.delete(t.record.name),t.children.forEach(a),t.alias.forEach(a))}}function l(){return n}function u(t){let e=0;while(e=0&&(t.record.path!==n[e].record.path||!ht(t,n[e])))e++;n.splice(e,0,t),t.record.name&&!lt(t)&&r.set(t.record.name,t)}function h(t,e){let i,o,a,l={};if("name"in t&&t.name){if(i=r.get(t.name),!i)throw $(1,{location:t});0,a=i.record.name,l=s(ot(e.params,i.keys.filter((t=>!t.optional)).map((t=>t.name))),t.params&&ot(t.params,i.keys.map((t=>t.name)))),o=i.stringify(l)}else if("path"in t)o=t.path,i=n.find((t=>t.re.test(o))),i&&(l=i.parse(o),a=i.record.name);else{if(i=e.name?r.get(e.name):n.find((t=>t.re.test(e.path))),!i)throw $(1,{location:t,currentLocation:e});a=i.record.name,l=s({},e.params,t.params),o=i.stringify(l)}const c=[];let u=i;while(u)c.unshift(u.record),u=u.parent;return{name:a,path:o,params:l,matched:c,meta:ct(c)}}return e=ut({strict:!1,end:!0,sensitive:!1},e),t.forEach((t=>o(t))),{addRoute:o,resolve:h,removeRoute:a,getRoutes:l,getRecordMatcher:i}}function ot(t,e){const n={};for(const r of e)r in t&&(n[r]=t[r]);return n}function at(t){return{path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:void 0,beforeEnter:t.beforeEnter,props:st(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}}}function st(t){const e={},n=t.props||!1;if("component"in t)e.default=n;else for(const r in t.components)e[r]="boolean"===typeof n?n:n[r];return e}function lt(t){while(t){if(t.record.aliasOf)return!0;t=t.parent}return!1}function ct(t){return t.reduce(((t,e)=>s(t,e.meta)),{})}function ut(t,e){const n={};for(const r in t)n[r]=r in e?e[r]:t[r];return n}function ht(t,e){return e.children.some((e=>e===t||ht(t,e)))}const ft=/#/g,dt=/&/g,pt=/\//g,gt=/=/g,mt=/\?/g,vt=/\+/g,bt=/%5B/g,yt=/%5D/g,_t=/%5E/g,xt=/%60/g,wt=/%7B/g,kt=/%7C/g,Mt=/%7D/g,Ot=/%20/g;function St(t){return encodeURI(""+t).replace(kt,"|").replace(bt,"[").replace(yt,"]")}function Et(t){return St(t).replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Tt(t){return St(t).replace(vt,"%2B").replace(Ot,"+").replace(ft,"%23").replace(dt,"%26").replace(xt,"`").replace(wt,"{").replace(Mt,"}").replace(_t,"^")}function Ct(t){return Tt(t).replace(gt,"%3D")}function Pt(t){return St(t).replace(ft,"%23").replace(mt,"%3F")}function Dt(t){return null==t?"":Pt(t).replace(pt,"%2F")}function At(t){try{return decodeURIComponent(""+t)}catch(e){}return""+t}function Lt(t){const e={};if(""===t||"?"===t)return e;const n="?"===t[0],r=(n?t.slice(1):t).split("&");for(let i=0;it&&Tt(t))):[r&&Tt(r)];i.forEach((t=>{void 0!==t&&(e+=(e.length?"&":"")+n,null!=t&&(e+="="+t))}))}return e}function Nt(t){const e={};for(const n in t){const r=t[n];void 0!==r&&(e[n]=u(r)?r.map((t=>null==t?null:""+t)):null==r?r:""+r)}return e}const jt=Symbol(""),Rt=Symbol(""),Ft=Symbol(""),Wt=Symbol(""),Ut=Symbol("");function zt(){let t=[];function e(e){return t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}}function n(){t=[]}return{add:e,list:()=>t,reset:n}}function Ht(t,e,n,r,i){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise(((a,s)=>{const l=t=>{!1===t?s($(4,{from:n,to:e})):t instanceof Error?s(t):U(t)?s($(2,{from:e,to:t})):(o&&r.enterCallbacks[i]===o&&"function"===typeof t&&o.push(t),a())},c=t.call(r&&r.instances[i],e,n,l);let u=Promise.resolve(c);t.length<3&&(u=u.then(l)),u.catch((t=>s(t)))}))}function Bt(t,e,n,r){const i=[];for(const o of t){0;for(const t in o.components){let s=o.components[t];if("beforeRouteEnter"===e||o.instances[t])if(Vt(s)){const a=s.__vccOpts||s,l=a[e];l&&i.push(Ht(l,n,r,o,t))}else{let l=s();0,i.push((()=>l.then((i=>{if(!i)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${o.path}"`));const s=a(i)?i.default:i;o.components[t]=s;const l=s.__vccOpts||s,c=l[e];return c&&Ht(c,n,r,o,t)()}))))}}}return i}function Vt(t){return"object"===typeof t||"displayName"in t||"props"in t||"__vccOpts"in t}function $t(t){const e=(0,r.f3)(Ft),n=(0,r.f3)(Wt),o=(0,r.Fl)((()=>e.resolve((0,i.SU)(t.to)))),a=(0,r.Fl)((()=>{const{matched:t}=o.value,{length:e}=t,r=t[e-1],i=n.matched;if(!r||!i.length)return-1;const a=i.findIndex(v.bind(null,r));if(a>-1)return a;const s=Gt(t[e-2]);return e>1&&Gt(r)===s&&i[i.length-1].path!==s?i.findIndex(v.bind(null,t[e-2])):a})),s=(0,r.Fl)((()=>a.value>-1&&Xt(n.params,o.value.params))),l=(0,r.Fl)((()=>a.value>-1&&a.value===n.matched.length-1&&b(n.params,o.value.params)));function u(n={}){return qt(n)?e[(0,i.SU)(t.replace)?"replace":"push"]((0,i.SU)(t.to)).catch(c):Promise.resolve()}return{route:o,href:(0,r.Fl)((()=>o.value.href)),isActive:s,isExactActive:l,navigate:u}}const Yt=(0,r.aZ)({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:$t,setup(t,{slots:e}){const n=(0,i.qj)($t(t)),{options:o}=(0,r.f3)(Ft),a=(0,r.Fl)((()=>({[Jt(t.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Jt(t.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive})));return()=>{const i=e.default&&e.default(n);return t.custom?i:(0,r.h)("a",{"aria-current":n.isExactActive?t.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},i)}}}),Zt=Yt;function qt(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){const e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function Xt(t,e){for(const n in e){const r=e[n],i=t[n];if("string"===typeof r){if(r!==i)return!1}else if(!u(i)||i.length!==r.length||r.some(((t,e)=>t!==i[e])))return!1}return!0}function Gt(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const Jt=(t,e,n)=>null!=t?t:null!=e?e:n,Kt=(0,r.aZ)({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:n}){const o=(0,r.f3)(Ut),a=(0,r.Fl)((()=>t.route||o.value)),l=(0,r.f3)(Rt,0),c=(0,r.Fl)((()=>{let t=(0,i.SU)(l);const{matched:e}=a.value;let n;while((n=e[t])&&!n.components)t++;return t})),u=(0,r.Fl)((()=>a.value.matched[c.value]));(0,r.JJ)(Rt,(0,r.Fl)((()=>c.value+1))),(0,r.JJ)(jt,u),(0,r.JJ)(Ut,a);const h=(0,i.iH)();return(0,r.YP)((()=>[h.value,u.value,t.name]),(([t,e,n],[r,i,o])=>{e&&(e.instances[n]=t,i&&i!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=i.leaveGuards),e.updateGuards.size||(e.updateGuards=i.updateGuards))),!t||!e||i&&v(e,i)&&r||(e.enterCallbacks[n]||[]).forEach((e=>e(t)))}),{flush:"post"}),()=>{const i=a.value,o=t.name,l=u.value,c=l&&l.components[o];if(!c)return Qt(n.default,{Component:c,route:i});const f=l.props[o],d=f?!0===f?i.params:"function"===typeof f?f(i):f:null,p=t=>{t.component.isUnmounted&&(l.instances[o]=null)},g=(0,r.h)(c,s({},d,e,{onVnodeUnmounted:p,ref:h}));return Qt(n.default,{Component:g,route:i})||g}}});function Qt(t,e){if(!t)return null;const n=t(e);return 1===n.length?n[0]:n}const te=Kt;function ee(t){const e=it(t.routes,t),n=t.parseQuery||Lt,a=t.stringifyQuery||It,h=t.history;const f=zt(),g=zt(),v=zt(),b=(0,i.XI)(H);let y=H;o&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const _=l.bind(null,(t=>""+t)),x=l.bind(null,Dt),k=l.bind(null,At);function M(t,n){let r,i;return z(t)?(r=e.getRecordMatcher(t),i=n):i=t,e.addRoute(i,r)}function O(t){const n=e.getRecordMatcher(t);n&&e.removeRoute(n)}function S(){return e.getRoutes().map((t=>t.record))}function E(t){return!!e.getRecordMatcher(t)}function D(t,r){if(r=s({},r||b.value),"string"===typeof t){const i=d(n,t,r.path),o=e.resolve({path:i.path},r),a=h.createHref(i.fullPath);return s(i,o,{params:k(o.params),hash:At(i.hash),redirectedFrom:void 0,href:a})}let i;if("path"in t)i=s({},t,{path:d(n,t.path,r.path).path});else{const e=s({},t.params);for(const t in e)null==e[t]&&delete e[t];i=s({},t,{params:x(t.params)}),r.params=x(r.params)}const o=e.resolve(i,r),l=t.hash||"";o.params=_(k(o.params));const c=p(a,s({},t,{hash:Et(l),path:o.path})),u=h.createHref(c);return s({fullPath:c,hash:l,query:a===It?Nt(t.query):t.query||{}},o,{redirectedFrom:void 0,href:u})}function I(t){return"string"===typeof t?d(n,t,b.value.path):s({},t)}function N(t,e){if(y!==t)return $(8,{from:e,to:t})}function j(t){return W(t)}function R(t){return j(s(I(t),{replace:!0}))}function F(t){const e=t.matched[t.matched.length-1];if(e&&e.redirect){const{redirect:n}=e;let r="function"===typeof n?n(t):n;return"string"===typeof r&&(r=r.includes("?")||r.includes("#")?r=I(r):{path:r},r.params={}),s({query:t.query,hash:t.hash,params:"path"in r?{}:t.params},r)}}function W(t,e){const n=y=D(t),r=b.value,i=t.state,o=t.force,l=!0===t.replace,c=F(n);if(c)return W(s(I(c),{state:"object"===typeof c?s({},i,c.state):i,force:o,replace:l}),e||n);const u=n;let h;return u.redirectedFrom=e,!o&&m(a,r,n)&&(h=$(16,{to:u,from:r}),nt(r,r,!0,!1)),(h?Promise.resolve(h):B(u,r)).catch((t=>Y(t)?Y(t,2)?t:et(t):Q(t,u,r))).then((t=>{if(t){if(Y(t,2))return W(s({replace:l},I(t.to),{state:"object"===typeof t.to?s({},i,t.to.state):i,force:o}),e||u)}else t=Z(u,r,!0,l,i);return V(u,r,t),t}))}function U(t,e){const n=N(t,e);return n?Promise.reject(n):Promise.resolve()}function B(t,e){let n;const[r,i,o]=re(t,e);n=Bt(r.reverse(),"beforeRouteLeave",t,e);for(const s of r)s.leaveGuards.forEach((r=>{n.push(Ht(r,t,e))}));const a=U.bind(null,t,e);return n.push(a),ne(n).then((()=>{n=[];for(const r of f.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).then((()=>{n=Bt(i,"beforeRouteUpdate",t,e);for(const r of i)r.updateGuards.forEach((r=>{n.push(Ht(r,t,e))}));return n.push(a),ne(n)})).then((()=>{n=[];for(const r of t.matched)if(r.beforeEnter&&!e.matched.includes(r))if(u(r.beforeEnter))for(const i of r.beforeEnter)n.push(Ht(i,t,e));else n.push(Ht(r.beforeEnter,t,e));return n.push(a),ne(n)})).then((()=>(t.matched.forEach((t=>t.enterCallbacks={})),n=Bt(o,"beforeRouteEnter",t,e),n.push(a),ne(n)))).then((()=>{n=[];for(const r of g.list())n.push(Ht(r,t,e));return n.push(a),ne(n)})).catch((t=>Y(t,8)?t:Promise.reject(t)))}function V(t,e,n){for(const r of v.list())r(t,e,n)}function Z(t,e,n,r,i){const a=N(t,e);if(a)return a;const l=e===H,c=o?history.state:{};n&&(r||l?h.replace(t.fullPath,s({scroll:l&&c&&c.scroll},i)):h.push(t.fullPath,i)),b.value=t,nt(t,e,n,l),et()}let q;function X(){q||(q=h.listen(((t,e,n)=>{if(!st.listening)return;const r=D(t),i=F(r);if(i)return void W(s(i,{replace:!0}),r).catch(c);y=r;const a=b.value;o&&A(P(a.fullPath,n.delta),T()),B(r,a).catch((t=>Y(t,12)?t:Y(t,2)?(W(t.to,r).then((t=>{Y(t,20)&&!n.delta&&n.type===w.pop&&h.go(-1,!1)})).catch(c),Promise.reject()):(n.delta&&h.go(-n.delta,!1),Q(t,r,a)))).then((t=>{t=t||Z(r,a,!1),t&&(n.delta&&!Y(t,8)?h.go(-n.delta,!1):n.type===w.pop&&Y(t,20)&&h.go(-1,!1)),V(r,a,t)})).catch(c)})))}let G,J=zt(),K=zt();function Q(t,e,n){et(t);const r=K.list();return r.length?r.forEach((r=>r(t,e,n))):console.error(t),Promise.reject(t)}function tt(){return G&&b.value!==H?Promise.resolve():new Promise(((t,e)=>{J.add([t,e])}))}function et(t){return G||(G=!t,X(),J.list().forEach((([e,n])=>t?n(t):e())),J.reset()),t}function nt(e,n,i,a){const{scrollBehavior:s}=t;if(!o||!s)return Promise.resolve();const l=!i&&L(P(e.fullPath,0))||(a||!i)&&history.state&&history.state.scroll||null;return(0,r.Y3)().then((()=>s(e,n,l))).then((t=>t&&C(t))).catch((t=>Q(t,e,n)))}const rt=t=>h.go(t);let ot;const at=new Set,st={currentRoute:b,listening:!0,addRoute:M,removeRoute:O,hasRoute:E,getRoutes:S,resolve:D,options:t,push:j,replace:R,go:rt,back:()=>rt(-1),forward:()=>rt(1),beforeEach:f.add,beforeResolve:g.add,afterEach:v.add,onError:K.add,isReady:tt,install(t){const e=this;t.component("RouterLink",Zt),t.component("RouterView",te),t.config.globalProperties.$router=e,Object.defineProperty(t.config.globalProperties,"$route",{enumerable:!0,get:()=>(0,i.SU)(b)}),o&&!ot&&b.value===H&&(ot=!0,j(h.location).catch((t=>{0})));const n={};for(const i in H)n[i]=(0,r.Fl)((()=>b.value[i]));t.provide(Ft,e),t.provide(Wt,(0,i.qj)(n)),t.provide(Ut,b);const a=t.unmount;at.add(t),t.unmount=function(){at.delete(t),at.size<1&&(y=H,q&&q(),q=null,b.value=H,ot=!1,G=!1),a()}}};return st}function ne(t){return t.reduce(((t,e)=>t.then((()=>e()))),Promise.resolve())}function re(t,e){const n=[],r=[],i=[],o=Math.max(e.matched.length,t.matched.length);for(let a=0;av(t,o)))?r.push(o):n.push(o));const s=t.matched[a];s&&(e.matched.find((t=>v(t,s)))||i.push(s))}return[n,r,i]}function ie(){return(0,r.f3)(Ft)}function oe(){return(0,r.f3)(Wt)}}}]); -//# sourceMappingURL=chunk-vendors.48d33bd7.js.map \ No newline at end of file +//# sourceMappingURL=chunk-vendors.54e51b70.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.48d33bd7.js.map b/fittrackee/dist/static/js/chunk-vendors.54e51b70.js.map similarity index 99% rename from fittrackee/dist/static/js/chunk-vendors.48d33bd7.js.map rename to fittrackee/dist/static/js/chunk-vendors.54e51b70.js.map index 0596f0ea..eb47232c 100644 --- a/fittrackee/dist/static/js/chunk-vendors.48d33bd7.js.map +++ b/fittrackee/dist/static/js/chunk-vendors.54e51b70.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/chunk-vendors.48d33bd7.js","mappings":"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","sources":["webpack://fittrackee_client/./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack://fittrackee_client/./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/helper.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/dateSplits.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/const.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/vendor/fastest-levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/levenshtein.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/l33tTable.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/data/translationKeys.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Options.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/reverse.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/matching/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/utils.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/uppercase.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/variants/scoring/l33t.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/scoring.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/estimate.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/scoring/index.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Matching.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/TimeEstimates.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/bruteforce/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/date/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/dictionary/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/regex/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/repeat/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/sequence/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/matcher/spatial/feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/Feedback.esm.js","webpack://fittrackee_client/./node_modules/@zxcvbn-ts/core/dist/index.esm.js","webpack://fittrackee_client/./node_modules/axios/index.js","webpack://fittrackee_client/./node_modules/axios/lib/adapters/xhr.js","webpack://fittrackee_client/./node_modules/axios/lib/axios.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/Cancel.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/CancelToken.js","webpack://fittrackee_client/./node_modules/axios/lib/cancel/isCancel.js","webpack://fittrackee_client/./node_modules/axios/lib/core/Axios.js","webpack://fittrackee_client/./node_modules/axios/lib/core/InterceptorManager.js","webpack://fittrackee_client/./node_modules/axios/lib/core/buildFullPath.js","webpack://fittrackee_client/./node_modules/axios/lib/core/createError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/dispatchRequest.js","webpack://fittrackee_client/./node_modules/axios/lib/core/enhanceError.js","webpack://fittrackee_client/./node_modules/axios/lib/core/mergeConfig.js","webpack://fittrackee_client/./node_modules/axios/lib/core/settle.js","webpack://fittrackee_client/./node_modules/axios/lib/core/transformData.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/index.js","webpack://fittrackee_client/./node_modules/axios/lib/defaults/transitional.js","webpack://fittrackee_client/./node_modules/axios/lib/env/data.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/bind.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/buildURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/combineURLs.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/cookies.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/spread.js","webpack://fittrackee_client/./node_modules/axios/lib/helpers/validator.js","webpack://fittrackee_client/./node_modules/axios/lib/utils.js","webpack://fittrackee_client/./node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/a-possible-prototype.js","webpack://fittrackee_client/./node_modules/core-js/internals/an-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-includes.js","webpack://fittrackee_client/./node_modules/core-js/internals/array-set-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof-raw.js","webpack://fittrackee_client/./node_modules/core-js/internals/classof.js","webpack://fittrackee_client/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/create-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/define-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/define-global-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/descriptors.js","webpack://fittrackee_client/./node_modules/core-js/internals/document-create-element.js","webpack://fittrackee_client/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-user-agent.js","webpack://fittrackee_client/./node_modules/core-js/internals/engine-v8-version.js","webpack://fittrackee_client/./node_modules/core-js/internals/enum-bug-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/error-stack-clear.js","webpack://fittrackee_client/./node_modules/core-js/internals/error-stack-installable.js","webpack://fittrackee_client/./node_modules/core-js/internals/export.js","webpack://fittrackee_client/./node_modules/core-js/internals/fails.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-apply.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-bind-native.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-call.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-name.js","webpack://fittrackee_client/./node_modules/core-js/internals/function-uncurry-this.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/get-method.js","webpack://fittrackee_client/./node_modules/core-js/internals/global.js","webpack://fittrackee_client/./node_modules/core-js/internals/has-own-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/hidden-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/ie8-dom-define.js","webpack://fittrackee_client/./node_modules/core-js/internals/indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/inherit-if-required.js","webpack://fittrackee_client/./node_modules/core-js/internals/inspect-source.js","webpack://fittrackee_client/./node_modules/core-js/internals/install-error-cause.js","webpack://fittrackee_client/./node_modules/core-js/internals/internal-state.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-array.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-callable.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-forced.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-pure.js","webpack://fittrackee_client/./node_modules/core-js/internals/is-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/length-of-array-like.js","webpack://fittrackee_client/./node_modules/core-js/internals/make-built-in.js","webpack://fittrackee_client/./node_modules/core-js/internals/math-trunc.js","webpack://fittrackee_client/./node_modules/core-js/internals/normalize-string-argument.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-define-property.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-keys-internal.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://fittrackee_client/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://fittrackee_client/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/own-keys.js","webpack://fittrackee_client/./node_modules/core-js/internals/proxy-accessor.js","webpack://fittrackee_client/./node_modules/core-js/internals/require-object-coercible.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared-store.js","webpack://fittrackee_client/./node_modules/core-js/internals/shared.js","webpack://fittrackee_client/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-absolute-index.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-indexed-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-length.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-object.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-primitive.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-property-key.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string-tag-support.js","webpack://fittrackee_client/./node_modules/core-js/internals/to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/try-to-string.js","webpack://fittrackee_client/./node_modules/core-js/internals/uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://fittrackee_client/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://fittrackee_client/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://fittrackee_client/./node_modules/core-js/internals/well-known-symbol.js","webpack://fittrackee_client/./node_modules/core-js/internals/wrap-error-constructor-with-cause.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.array.push.js","webpack://fittrackee_client/./node_modules/core-js/modules/es.error.cause.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/defaultLocale/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/defaultOptions/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/defaultLocale/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/defaultOptions/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/toInteger/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addDays/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/addMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/getUTCWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/format/longFormatters/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/protectedTokens/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/compareAsc/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInCalendarMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/endOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isLastDayOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/roundingMethods/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/differenceInSeconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/assign/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/_lib/cloneObject/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameDay/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isSameMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/isToday/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/de/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/locale/fr/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfMonth/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfWeek/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/startOfYear/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subMonths/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subWeeks/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/subYears/index.js","webpack://fittrackee_client/./node_modules/date-fns/esm/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/format/index.js","webpack://fittrackee_client/./node_modules/date-fns/isDate/index.js","webpack://fittrackee_client/./node_modules/date-fns/isValid/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildFormatLongFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildLocalizeFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/_lib/buildMatchPatternFn/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatDistance/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatLong/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/formatRelative/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/localize/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/_lib/match/index.js","webpack://fittrackee_client/./node_modules/date-fns/locale/en-US/index.js","webpack://fittrackee_client/./node_modules/date-fns/subMilliseconds/index.js","webpack://fittrackee_client/./node_modules/date-fns/toDate/index.js","webpack://fittrackee_client/./node_modules/pascalcase/node_modules/camelcase/index.js","webpack://fittrackee_client/./node_modules/register-service-worker/index.js","webpack://fittrackee_client/./node_modules/vue-fullscreen/dist/index.es.js","webpack://fittrackee_client/./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack://fittrackee_client/./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack://fittrackee_client/./node_modules/vue-loader/dist/exportHelper.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/env.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/const.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/time.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack://fittrackee_client/./node_modules/@vue/devtools-api/lib/esm/index.js","webpack://fittrackee_client/./node_modules/vuex/dist/vuex.esm-bundler.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/newDateUTC/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzIntlTimeZoneName/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzParseTimezone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzPattern/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/_lib/tzTokenizeDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/formatters/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/format/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/formatInTimeZone/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/getTimezoneOffset/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/toDate/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/utcToZonedTime/index.js","webpack://fittrackee_client/./node_modules/date-fns-tz/zonedTimeToUtc/index.js","webpack://fittrackee_client/./node_modules/chart.js/dist/chart.mjs","webpack://fittrackee_client/./node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/eq.js","webpack://fittrackee_client/./node_modules/lodash-es/_assocIndexOf.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_listCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_ListCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_freeGlobal.js","webpack://fittrackee_client/./node_modules/lodash-es/_root.js","webpack://fittrackee_client/./node_modules/lodash-es/_Symbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_getRawTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_objectToString.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetTag.js","webpack://fittrackee_client/./node_modules/lodash-es/isObject.js","webpack://fittrackee_client/./node_modules/lodash-es/isFunction.js","webpack://fittrackee_client/./node_modules/lodash-es/_coreJsData.js","webpack://fittrackee_client/./node_modules/lodash-es/_isMasked.js","webpack://fittrackee_client/./node_modules/lodash-es/_toSource.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_getValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_getNative.js","webpack://fittrackee_client/./node_modules/lodash-es/_Map.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_hashSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Hash.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheClear.js","webpack://fittrackee_client/./node_modules/lodash-es/_isKeyable.js","webpack://fittrackee_client/./node_modules/lodash-es/_getMapData.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheDelete.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheGet.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapCacheSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_MapCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_stackSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_Stack.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheAdd.js","webpack://fittrackee_client/./node_modules/lodash-es/_setCacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_SetCache.js","webpack://fittrackee_client/./node_modules/lodash-es/_arraySome.js","webpack://fittrackee_client/./node_modules/lodash-es/_cacheHas.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalArrays.js","webpack://fittrackee_client/./node_modules/lodash-es/_Uint8Array.js","webpack://fittrackee_client/./node_modules/lodash-es/_mapToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_setToArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayPush.js","webpack://fittrackee_client/./node_modules/lodash-es/isArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseGetAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayFilter.js","webpack://fittrackee_client/./node_modules/lodash-es/stubArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseTimes.js","webpack://fittrackee_client/./node_modules/lodash-es/isObjectLike.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/isArguments.js","webpack://fittrackee_client/./node_modules/lodash-es/stubFalse.js","webpack://fittrackee_client/./node_modules/lodash-es/isBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_isIndex.js","webpack://fittrackee_client/./node_modules/lodash-es/isLength.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseUnary.js","webpack://fittrackee_client/./node_modules/lodash-es/_nodeUtil.js","webpack://fittrackee_client/./node_modules/lodash-es/isTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayLikeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_isPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_overArg.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/isArrayLike.js","webpack://fittrackee_client/./node_modules/lodash-es/keys.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeys.js","webpack://fittrackee_client/./node_modules/lodash-es/_equalObjects.js","webpack://fittrackee_client/./node_modules/lodash-es/_DataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_Promise.js","webpack://fittrackee_client/./node_modules/lodash-es/_Set.js","webpack://fittrackee_client/./node_modules/lodash-es/_WeakMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_getTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqualDeep.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/isEqual.js","webpack://fittrackee_client/./node_modules/lodash-es/_arrayEach.js","webpack://fittrackee_client/./node_modules/lodash-es/_defineProperty.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_assignValue.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssign.js","webpack://fittrackee_client/./node_modules/lodash-es/_nativeKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/keysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseAssignIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_copyArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbols.js","webpack://fittrackee_client/./node_modules/lodash-es/_getPrototype.js","webpack://fittrackee_client/./node_modules/lodash-es/_getSymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_copySymbolsIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_getAllKeysIn.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneArrayBuffer.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneDataView.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneRegExp.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneSymbol.js","webpack://fittrackee_client/./node_modules/lodash-es/_cloneTypedArray.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneByTag.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseCreate.js","webpack://fittrackee_client/./node_modules/lodash-es/_initCloneObject.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsMap.js","webpack://fittrackee_client/./node_modules/lodash-es/isMap.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseIsSet.js","webpack://fittrackee_client/./node_modules/lodash-es/isSet.js","webpack://fittrackee_client/./node_modules/lodash-es/_baseClone.js","webpack://fittrackee_client/./node_modules/lodash-es/cloneDeep.js","webpack://fittrackee_client/./node_modules/pascalcase/index.js","webpack://fittrackee_client/./node_modules/vue-chart-3/dist/index.js","webpack://fittrackee_client/./node_modules/vue-router/dist/vue-router.mjs"],"sourcesContent":["import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\r\n console.warn(`[Vue warn] ${msg}`, ...args);\r\n}\n\nlet activeEffectScope;\r\nclass EffectScope {\r\n constructor(detached = false) {\r\n /**\r\n * @internal\r\n */\r\n this.active = true;\r\n /**\r\n * @internal\r\n */\r\n this.effects = [];\r\n /**\r\n * @internal\r\n */\r\n this.cleanups = [];\r\n if (!detached && activeEffectScope) {\r\n this.parent = activeEffectScope;\r\n this.index =\r\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\r\n }\r\n }\r\n run(fn) {\r\n if (this.active) {\r\n const currentEffectScope = activeEffectScope;\r\n try {\r\n activeEffectScope = this;\r\n return fn();\r\n }\r\n finally {\r\n activeEffectScope = currentEffectScope;\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`cannot run an inactive effect scope.`);\r\n }\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n on() {\r\n activeEffectScope = this;\r\n }\r\n /**\r\n * This should only be called on non-detached scopes\r\n * @internal\r\n */\r\n off() {\r\n activeEffectScope = this.parent;\r\n }\r\n stop(fromParent) {\r\n if (this.active) {\r\n let i, l;\r\n for (i = 0, l = this.effects.length; i < l; i++) {\r\n this.effects[i].stop();\r\n }\r\n for (i = 0, l = this.cleanups.length; i < l; i++) {\r\n this.cleanups[i]();\r\n }\r\n if (this.scopes) {\r\n for (i = 0, l = this.scopes.length; i < l; i++) {\r\n this.scopes[i].stop(true);\r\n }\r\n }\r\n // nested scope, dereference from parent to avoid memory leaks\r\n if (this.parent && !fromParent) {\r\n // optimized O(1) removal\r\n const last = this.parent.scopes.pop();\r\n if (last && last !== this) {\r\n this.parent.scopes[this.index] = last;\r\n last.index = this.index;\r\n }\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction effectScope(detached) {\r\n return new EffectScope(detached);\r\n}\r\nfunction recordEffectScope(effect, scope = activeEffectScope) {\r\n if (scope && scope.active) {\r\n scope.effects.push(effect);\r\n }\r\n}\r\nfunction getCurrentScope() {\r\n return activeEffectScope;\r\n}\r\nfunction onScopeDispose(fn) {\r\n if (activeEffectScope) {\r\n activeEffectScope.cleanups.push(fn);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`onScopeDispose() is called when there is no active effect scope` +\r\n ` to be associated with.`);\r\n }\r\n}\n\nconst createDep = (effects) => {\r\n const dep = new Set(effects);\r\n dep.w = 0;\r\n dep.n = 0;\r\n return dep;\r\n};\r\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\r\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\r\nconst initDepMarkers = ({ deps }) => {\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].w |= trackOpBit; // set was tracked\r\n }\r\n }\r\n};\r\nconst finalizeDepMarkers = (effect) => {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n let ptr = 0;\r\n for (let i = 0; i < deps.length; i++) {\r\n const dep = deps[i];\r\n if (wasTracked(dep) && !newTracked(dep)) {\r\n dep.delete(effect);\r\n }\r\n else {\r\n deps[ptr++] = dep;\r\n }\r\n // clear bits\r\n dep.w &= ~trackOpBit;\r\n dep.n &= ~trackOpBit;\r\n }\r\n deps.length = ptr;\r\n }\r\n};\n\nconst targetMap = new WeakMap();\r\n// The number of effects currently being tracked recursively.\r\nlet effectTrackDepth = 0;\r\nlet trackOpBit = 1;\r\n/**\r\n * The bitwise track markers support at most 30 levels of recursion.\r\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\r\n * When recursion depth is greater, fall back to using a full cleanup.\r\n */\r\nconst maxMarkerBits = 30;\r\nlet activeEffect;\r\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\r\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\r\nclass ReactiveEffect {\r\n constructor(fn, scheduler = null, scope) {\r\n this.fn = fn;\r\n this.scheduler = scheduler;\r\n this.active = true;\r\n this.deps = [];\r\n this.parent = undefined;\r\n recordEffectScope(this, scope);\r\n }\r\n run() {\r\n if (!this.active) {\r\n return this.fn();\r\n }\r\n let parent = activeEffect;\r\n let lastShouldTrack = shouldTrack;\r\n while (parent) {\r\n if (parent === this) {\r\n return;\r\n }\r\n parent = parent.parent;\r\n }\r\n try {\r\n this.parent = activeEffect;\r\n activeEffect = this;\r\n shouldTrack = true;\r\n trackOpBit = 1 << ++effectTrackDepth;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n initDepMarkers(this);\r\n }\r\n else {\r\n cleanupEffect(this);\r\n }\r\n return this.fn();\r\n }\r\n finally {\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n finalizeDepMarkers(this);\r\n }\r\n trackOpBit = 1 << --effectTrackDepth;\r\n activeEffect = this.parent;\r\n shouldTrack = lastShouldTrack;\r\n this.parent = undefined;\r\n if (this.deferStop) {\r\n this.stop();\r\n }\r\n }\r\n }\r\n stop() {\r\n // stopped while running itself - defer the cleanup\r\n if (activeEffect === this) {\r\n this.deferStop = true;\r\n }\r\n else if (this.active) {\r\n cleanupEffect(this);\r\n if (this.onStop) {\r\n this.onStop();\r\n }\r\n this.active = false;\r\n }\r\n }\r\n}\r\nfunction cleanupEffect(effect) {\r\n const { deps } = effect;\r\n if (deps.length) {\r\n for (let i = 0; i < deps.length; i++) {\r\n deps[i].delete(effect);\r\n }\r\n deps.length = 0;\r\n }\r\n}\r\nfunction effect(fn, options) {\r\n if (fn.effect) {\r\n fn = fn.effect.fn;\r\n }\r\n const _effect = new ReactiveEffect(fn);\r\n if (options) {\r\n extend(_effect, options);\r\n if (options.scope)\r\n recordEffectScope(_effect, options.scope);\r\n }\r\n if (!options || !options.lazy) {\r\n _effect.run();\r\n }\r\n const runner = _effect.run.bind(_effect);\r\n runner.effect = _effect;\r\n return runner;\r\n}\r\nfunction stop(runner) {\r\n runner.effect.stop();\r\n}\r\nlet shouldTrack = true;\r\nconst trackStack = [];\r\nfunction pauseTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = false;\r\n}\r\nfunction enableTracking() {\r\n trackStack.push(shouldTrack);\r\n shouldTrack = true;\r\n}\r\nfunction resetTracking() {\r\n const last = trackStack.pop();\r\n shouldTrack = last === undefined ? true : last;\r\n}\r\nfunction track(target, type, key) {\r\n if (shouldTrack && activeEffect) {\r\n let depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n targetMap.set(target, (depsMap = new Map()));\r\n }\r\n let dep = depsMap.get(key);\r\n if (!dep) {\r\n depsMap.set(key, (dep = createDep()));\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { effect: activeEffect, target, type, key }\r\n : undefined;\r\n trackEffects(dep, eventInfo);\r\n }\r\n}\r\nfunction trackEffects(dep, debuggerEventExtraInfo) {\r\n let shouldTrack = false;\r\n if (effectTrackDepth <= maxMarkerBits) {\r\n if (!newTracked(dep)) {\r\n dep.n |= trackOpBit; // set newly tracked\r\n shouldTrack = !wasTracked(dep);\r\n }\r\n }\r\n else {\r\n // Full cleanup mode.\r\n shouldTrack = !dep.has(activeEffect);\r\n }\r\n if (shouldTrack) {\r\n dep.add(activeEffect);\r\n activeEffect.deps.push(dep);\r\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\r\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\r\n }\r\n }\r\n}\r\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\r\n const depsMap = targetMap.get(target);\r\n if (!depsMap) {\r\n // never been tracked\r\n return;\r\n }\r\n let deps = [];\r\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\r\n // collection being cleared\r\n // trigger all effects for target\r\n deps = [...depsMap.values()];\r\n }\r\n else if (key === 'length' && isArray(target)) {\r\n depsMap.forEach((dep, key) => {\r\n if (key === 'length' || key >= newValue) {\r\n deps.push(dep);\r\n }\r\n });\r\n }\r\n else {\r\n // schedule runs for SET | ADD | DELETE\r\n if (key !== void 0) {\r\n deps.push(depsMap.get(key));\r\n }\r\n // also run for iteration key on ADD | DELETE | Map.SET\r\n switch (type) {\r\n case \"add\" /* TriggerOpTypes.ADD */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n else if (isIntegerKey(key)) {\r\n // new index added to array -> length changes\r\n deps.push(depsMap.get('length'));\r\n }\r\n break;\r\n case \"delete\" /* TriggerOpTypes.DELETE */:\r\n if (!isArray(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\r\n }\r\n }\r\n break;\r\n case \"set\" /* TriggerOpTypes.SET */:\r\n if (isMap(target)) {\r\n deps.push(depsMap.get(ITERATE_KEY));\r\n }\r\n break;\r\n }\r\n }\r\n const eventInfo = (process.env.NODE_ENV !== 'production')\r\n ? { target, type, key, newValue, oldValue, oldTarget }\r\n : undefined;\r\n if (deps.length === 1) {\r\n if (deps[0]) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(deps[0], eventInfo);\r\n }\r\n else {\r\n triggerEffects(deps[0]);\r\n }\r\n }\r\n }\r\n else {\r\n const effects = [];\r\n for (const dep of deps) {\r\n if (dep) {\r\n effects.push(...dep);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(createDep(effects), eventInfo);\r\n }\r\n else {\r\n triggerEffects(createDep(effects));\r\n }\r\n }\r\n}\r\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\r\n // spread into array for stabilization\r\n const effects = isArray(dep) ? dep : [...dep];\r\n for (const effect of effects) {\r\n if (effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n for (const effect of effects) {\r\n if (!effect.computed) {\r\n triggerEffect(effect, debuggerEventExtraInfo);\r\n }\r\n }\r\n}\r\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\r\n if (effect !== activeEffect || effect.allowRecurse) {\r\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\r\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\r\n }\r\n if (effect.scheduler) {\r\n effect.scheduler();\r\n }\r\n else {\r\n effect.run();\r\n }\r\n }\r\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\r\nconst builtInSymbols = new Set(\r\n/*#__PURE__*/\r\nObject.getOwnPropertyNames(Symbol)\r\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\r\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\r\n // function\r\n .filter(key => key !== 'arguments' && key !== 'caller')\r\n .map(key => Symbol[key])\r\n .filter(isSymbol));\r\nconst get = /*#__PURE__*/ createGetter();\r\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\r\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\r\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\r\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\r\nfunction createArrayInstrumentations() {\r\n const instrumentations = {};\r\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n const arr = toRaw(this);\r\n for (let i = 0, l = this.length; i < l; i++) {\r\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\r\n }\r\n // we run the method using the original args first (which may be reactive)\r\n const res = arr[key](...args);\r\n if (res === -1 || res === false) {\r\n // if that didn't work, run it again using raw values.\r\n return arr[key](...args.map(toRaw));\r\n }\r\n else {\r\n return res;\r\n }\r\n };\r\n });\r\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\r\n instrumentations[key] = function (...args) {\r\n pauseTracking();\r\n const res = toRaw(this)[key].apply(this, args);\r\n resetTracking();\r\n return res;\r\n };\r\n });\r\n return instrumentations;\r\n}\r\nfunction createGetter(isReadonly = false, shallow = false) {\r\n return function get(target, key, receiver) {\r\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\r\n return shallow;\r\n }\r\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\r\n receiver ===\r\n (isReadonly\r\n ? shallow\r\n ? shallowReadonlyMap\r\n : readonlyMap\r\n : shallow\r\n ? shallowReactiveMap\r\n : reactiveMap).get(target)) {\r\n return target;\r\n }\r\n const targetIsArray = isArray(target);\r\n if (!isReadonly && targetIsArray && hasOwn(arrayInstrumentations, key)) {\r\n return Reflect.get(arrayInstrumentations, key, receiver);\r\n }\r\n const res = Reflect.get(target, key, receiver);\r\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\r\n return res;\r\n }\r\n if (!isReadonly) {\r\n track(target, \"get\" /* TrackOpTypes.GET */, key);\r\n }\r\n if (shallow) {\r\n return res;\r\n }\r\n if (isRef(res)) {\r\n // ref unwrapping - skip unwrap for Array + integer key.\r\n return targetIsArray && isIntegerKey(key) ? res : res.value;\r\n }\r\n if (isObject(res)) {\r\n // Convert returned value into a proxy as well. we do the isObject check\r\n // here to avoid invalid value warning. Also need to lazy access readonly\r\n // and reactive here to avoid circular dependency.\r\n return isReadonly ? readonly(res) : reactive(res);\r\n }\r\n return res;\r\n };\r\n}\r\nconst set = /*#__PURE__*/ createSetter();\r\nconst shallowSet = /*#__PURE__*/ createSetter(true);\r\nfunction createSetter(shallow = false) {\r\n return function set(target, key, value, receiver) {\r\n let oldValue = target[key];\r\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\r\n return false;\r\n }\r\n if (!shallow) {\r\n if (!isShallow(value) && !isReadonly(value)) {\r\n oldValue = toRaw(oldValue);\r\n value = toRaw(value);\r\n }\r\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n }\r\n const hadKey = isArray(target) && isIntegerKey(key)\r\n ? Number(key) < target.length\r\n : hasOwn(target, key);\r\n const result = Reflect.set(target, key, value, receiver);\r\n // don't trigger if target is something up in the prototype chain of original\r\n if (target === toRaw(receiver)) {\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\r\n }\r\n }\r\n return result;\r\n };\r\n}\r\nfunction deleteProperty(target, key) {\r\n const hadKey = hasOwn(target, key);\r\n const oldValue = target[key];\r\n const result = Reflect.deleteProperty(target, key);\r\n if (result && hadKey) {\r\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction has(target, key) {\r\n const result = Reflect.has(target, key);\r\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\r\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\r\n }\r\n return result;\r\n}\r\nfunction ownKeys(target) {\r\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\r\n return Reflect.ownKeys(target);\r\n}\r\nconst mutableHandlers = {\r\n get,\r\n set,\r\n deleteProperty,\r\n has,\r\n ownKeys\r\n};\r\nconst readonlyHandlers = {\r\n get: readonlyGet,\r\n set(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n },\r\n deleteProperty(target, key) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\r\n }\r\n return true;\r\n }\r\n};\r\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\r\n get: shallowGet,\r\n set: shallowSet\r\n});\r\n// Props handlers are special in the sense that it should not unwrap top-level\r\n// refs (in order to allow refs to be explicitly passed down), but should\r\n// retain the reactivity of the normal readonly object.\r\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\r\n get: shallowReadonlyGet\r\n});\n\nconst toShallow = (value) => value;\r\nconst getProto = (v) => Reflect.getPrototypeOf(v);\r\nfunction get$1(target, key, isReadonly = false, isShallow = false) {\r\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\r\n // of the value\r\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\r\n }\r\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\r\n }\r\n const { has } = getProto(rawTarget);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n if (has.call(rawTarget, key)) {\r\n return wrap(target.get(key));\r\n }\r\n else if (has.call(rawTarget, rawKey)) {\r\n return wrap(target.get(rawKey));\r\n }\r\n else if (target !== rawTarget) {\r\n // #3602 readonly(reactive(Map))\r\n // ensure that the nested reactive `Map` can do tracking for itself\r\n target.get(key);\r\n }\r\n}\r\nfunction has$1(key, isReadonly = false) {\r\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n const rawTarget = toRaw(target);\r\n const rawKey = toRaw(key);\r\n if (!isReadonly) {\r\n if (key !== rawKey) {\r\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\r\n }\r\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\r\n }\r\n return key === rawKey\r\n ? target.has(key)\r\n : target.has(key) || target.has(rawKey);\r\n}\r\nfunction size(target, isReadonly = false) {\r\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\r\n return Reflect.get(target, 'size', target);\r\n}\r\nfunction add(value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const proto = getProto(target);\r\n const hadKey = proto.has.call(target, value);\r\n if (!hadKey) {\r\n target.add(value);\r\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\r\n }\r\n return this;\r\n}\r\nfunction set$1(key, value) {\r\n value = toRaw(value);\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get.call(target, key);\r\n target.set(key, value);\r\n if (!hadKey) {\r\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\r\n }\r\n else if (hasChanged(value, oldValue)) {\r\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\r\n }\r\n return this;\r\n}\r\nfunction deleteEntry(key) {\r\n const target = toRaw(this);\r\n const { has, get } = getProto(target);\r\n let hadKey = has.call(target, key);\r\n if (!hadKey) {\r\n key = toRaw(key);\r\n hadKey = has.call(target, key);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n checkIdentityKeys(target, has, key);\r\n }\r\n const oldValue = get ? get.call(target, key) : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.delete(key);\r\n if (hadKey) {\r\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\r\n }\r\n return result;\r\n}\r\nfunction clear() {\r\n const target = toRaw(this);\r\n const hadItems = target.size !== 0;\r\n const oldTarget = (process.env.NODE_ENV !== 'production')\r\n ? isMap(target)\r\n ? new Map(target)\r\n : new Set(target)\r\n : undefined;\r\n // forward the operation before queueing reactions\r\n const result = target.clear();\r\n if (hadItems) {\r\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\r\n }\r\n return result;\r\n}\r\nfunction createForEach(isReadonly, isShallow) {\r\n return function forEach(callback, thisArg) {\r\n const observed = this;\r\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n const rawTarget = toRaw(target);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\r\n return target.forEach((value, key) => {\r\n // important: make sure the callback is\r\n // 1. invoked with the reactive map as `this` and 3rd arg\r\n // 2. the value received should be a corresponding reactive/readonly.\r\n return callback.call(thisArg, wrap(value), wrap(key), observed);\r\n });\r\n };\r\n}\r\nfunction createIterableMethod(method, isReadonly, isShallow) {\r\n return function (...args) {\r\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n const rawTarget = toRaw(target);\r\n const targetIsMap = isMap(rawTarget);\r\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\r\n const isKeyOnly = method === 'keys' && targetIsMap;\r\n const innerIterator = target[method](...args);\r\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\r\n !isReadonly &&\r\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\r\n // return a wrapped iterator which returns observed versions of the\r\n // values emitted from the real iterator\r\n return {\r\n // iterator protocol\r\n next() {\r\n const { value, done } = innerIterator.next();\r\n return done\r\n ? { value, done }\r\n : {\r\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\r\n done\r\n };\r\n },\r\n // iterable protocol\r\n [Symbol.iterator]() {\r\n return this;\r\n }\r\n };\r\n };\r\n}\r\nfunction createReadonlyMethod(type) {\r\n return function (...args) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\r\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\r\n }\r\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\r\n };\r\n}\r\nfunction createInstrumentations() {\r\n const mutableInstrumentations = {\r\n get(key) {\r\n return get$1(this, key);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, false)\r\n };\r\n const shallowInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, false, true);\r\n },\r\n get size() {\r\n return size(this);\r\n },\r\n has: has$1,\r\n add,\r\n set: set$1,\r\n delete: deleteEntry,\r\n clear,\r\n forEach: createForEach(false, true)\r\n };\r\n const readonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\r\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\r\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\r\n forEach: createForEach(true, false)\r\n };\r\n const shallowReadonlyInstrumentations = {\r\n get(key) {\r\n return get$1(this, key, true, true);\r\n },\r\n get size() {\r\n return size(this, true);\r\n },\r\n has(key) {\r\n return has$1.call(this, key, true);\r\n },\r\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\r\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\r\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\r\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\r\n forEach: createForEach(true, true)\r\n };\r\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\r\n iteratorMethods.forEach(method => {\r\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\r\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\r\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\r\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\r\n });\r\n return [\r\n mutableInstrumentations,\r\n readonlyInstrumentations,\r\n shallowInstrumentations,\r\n shallowReadonlyInstrumentations\r\n ];\r\n}\r\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\r\nfunction createInstrumentationGetter(isReadonly, shallow) {\r\n const instrumentations = shallow\r\n ? isReadonly\r\n ? shallowReadonlyInstrumentations\r\n : shallowInstrumentations\r\n : isReadonly\r\n ? readonlyInstrumentations\r\n : mutableInstrumentations;\r\n return (target, key, receiver) => {\r\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\r\n return !isReadonly;\r\n }\r\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\r\n return isReadonly;\r\n }\r\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\r\n return target;\r\n }\r\n return Reflect.get(hasOwn(instrumentations, key) && key in target\r\n ? instrumentations\r\n : target, key, receiver);\r\n };\r\n}\r\nconst mutableCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\r\n};\r\nconst shallowCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\r\n};\r\nconst readonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\r\n};\r\nconst shallowReadonlyCollectionHandlers = {\r\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\r\n};\r\nfunction checkIdentityKeys(target, has, key) {\r\n const rawKey = toRaw(key);\r\n if (rawKey !== key && has.call(target, rawKey)) {\r\n const type = toRawType(target);\r\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\r\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\r\n `which can lead to inconsistencies. ` +\r\n `Avoid differentiating between the raw and reactive versions ` +\r\n `of an object and only use the reactive version if possible.`);\r\n }\r\n}\n\nconst reactiveMap = new WeakMap();\r\nconst shallowReactiveMap = new WeakMap();\r\nconst readonlyMap = new WeakMap();\r\nconst shallowReadonlyMap = new WeakMap();\r\nfunction targetTypeMap(rawType) {\r\n switch (rawType) {\r\n case 'Object':\r\n case 'Array':\r\n return 1 /* TargetType.COMMON */;\r\n case 'Map':\r\n case 'Set':\r\n case 'WeakMap':\r\n case 'WeakSet':\r\n return 2 /* TargetType.COLLECTION */;\r\n default:\r\n return 0 /* TargetType.INVALID */;\r\n }\r\n}\r\nfunction getTargetType(value) {\r\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\r\n ? 0 /* TargetType.INVALID */\r\n : targetTypeMap(toRawType(value));\r\n}\r\nfunction reactive(target) {\r\n // if trying to observe a readonly proxy, return the readonly version.\r\n if (isReadonly(target)) {\r\n return target;\r\n }\r\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\r\n}\r\n/**\r\n * Return a shallowly-reactive copy of the original object, where only the root\r\n * level properties are reactive. It also does not auto-unwrap refs (even at the\r\n * root level).\r\n */\r\nfunction shallowReactive(target) {\r\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\r\n}\r\n/**\r\n * Creates a readonly copy of the original object. Note the returned copy is not\r\n * made reactive, but `readonly` can be called on an already reactive object.\r\n */\r\nfunction readonly(target) {\r\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\r\n}\r\n/**\r\n * Returns a reactive-copy of the original object, where only the root level\r\n * properties are readonly, and does NOT unwrap refs nor recursively convert\r\n * returned properties.\r\n * This is used for creating the props proxy object for stateful components.\r\n */\r\nfunction shallowReadonly(target) {\r\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\r\n}\r\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\r\n if (!isObject(target)) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n console.warn(`value cannot be made reactive: ${String(target)}`);\r\n }\r\n return target;\r\n }\r\n // target is already a Proxy, return it.\r\n // exception: calling readonly() on a reactive object\r\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\r\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\r\n return target;\r\n }\r\n // target already has corresponding Proxy\r\n const existingProxy = proxyMap.get(target);\r\n if (existingProxy) {\r\n return existingProxy;\r\n }\r\n // only specific value types can be observed.\r\n const targetType = getTargetType(target);\r\n if (targetType === 0 /* TargetType.INVALID */) {\r\n return target;\r\n }\r\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\r\n proxyMap.set(target, proxy);\r\n return proxy;\r\n}\r\nfunction isReactive(value) {\r\n if (isReadonly(value)) {\r\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\r\n }\r\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\r\n}\r\nfunction isReadonly(value) {\r\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\r\n}\r\nfunction isShallow(value) {\r\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\r\n}\r\nfunction isProxy(value) {\r\n return isReactive(value) || isReadonly(value);\r\n}\r\nfunction toRaw(observed) {\r\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\r\n return raw ? toRaw(raw) : observed;\r\n}\r\nfunction markRaw(value) {\r\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\r\n return value;\r\n}\r\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\r\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\r\n if (shouldTrack && activeEffect) {\r\n ref = toRaw(ref);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n trackEffects(ref.dep || (ref.dep = createDep()), {\r\n target: ref,\r\n type: \"get\" /* TrackOpTypes.GET */,\r\n key: 'value'\r\n });\r\n }\r\n else {\r\n trackEffects(ref.dep || (ref.dep = createDep()));\r\n }\r\n }\r\n}\r\nfunction triggerRefValue(ref, newVal) {\r\n ref = toRaw(ref);\r\n if (ref.dep) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n triggerEffects(ref.dep, {\r\n target: ref,\r\n type: \"set\" /* TriggerOpTypes.SET */,\r\n key: 'value',\r\n newValue: newVal\r\n });\r\n }\r\n else {\r\n triggerEffects(ref.dep);\r\n }\r\n }\r\n}\r\nfunction isRef(r) {\r\n return !!(r && r.__v_isRef === true);\r\n}\r\nfunction ref(value) {\r\n return createRef(value, false);\r\n}\r\nfunction shallowRef(value) {\r\n return createRef(value, true);\r\n}\r\nfunction createRef(rawValue, shallow) {\r\n if (isRef(rawValue)) {\r\n return rawValue;\r\n }\r\n return new RefImpl(rawValue, shallow);\r\n}\r\nclass RefImpl {\r\n constructor(value, __v_isShallow) {\r\n this.__v_isShallow = __v_isShallow;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this._rawValue = __v_isShallow ? value : toRaw(value);\r\n this._value = __v_isShallow ? value : toReactive(value);\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n return this._value;\r\n }\r\n set value(newVal) {\r\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\r\n newVal = useDirectValue ? newVal : toRaw(newVal);\r\n if (hasChanged(newVal, this._rawValue)) {\r\n this._rawValue = newVal;\r\n this._value = useDirectValue ? newVal : toReactive(newVal);\r\n triggerRefValue(this, newVal);\r\n }\r\n }\r\n}\r\nfunction triggerRef(ref) {\r\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\r\n}\r\nfunction unref(ref) {\r\n return isRef(ref) ? ref.value : ref;\r\n}\r\nconst shallowUnwrapHandlers = {\r\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\r\n set: (target, key, value, receiver) => {\r\n const oldValue = target[key];\r\n if (isRef(oldValue) && !isRef(value)) {\r\n oldValue.value = value;\r\n return true;\r\n }\r\n else {\r\n return Reflect.set(target, key, value, receiver);\r\n }\r\n }\r\n};\r\nfunction proxyRefs(objectWithRefs) {\r\n return isReactive(objectWithRefs)\r\n ? objectWithRefs\r\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\r\n}\r\nclass CustomRefImpl {\r\n constructor(factory) {\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\r\n this._get = get;\r\n this._set = set;\r\n }\r\n get value() {\r\n return this._get();\r\n }\r\n set value(newVal) {\r\n this._set(newVal);\r\n }\r\n}\r\nfunction customRef(factory) {\r\n return new CustomRefImpl(factory);\r\n}\r\nfunction toRefs(object) {\r\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\r\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\r\n }\r\n const ret = isArray(object) ? new Array(object.length) : {};\r\n for (const key in object) {\r\n ret[key] = toRef(object, key);\r\n }\r\n return ret;\r\n}\r\nclass ObjectRefImpl {\r\n constructor(_object, _key, _defaultValue) {\r\n this._object = _object;\r\n this._key = _key;\r\n this._defaultValue = _defaultValue;\r\n this.__v_isRef = true;\r\n }\r\n get value() {\r\n const val = this._object[this._key];\r\n return val === undefined ? this._defaultValue : val;\r\n }\r\n set value(newVal) {\r\n this._object[this._key] = newVal;\r\n }\r\n}\r\nfunction toRef(object, key, defaultValue) {\r\n const val = object[key];\r\n return isRef(val)\r\n ? val\r\n : new ObjectRefImpl(object, key, defaultValue);\r\n}\n\nvar _a;\r\nclass ComputedRefImpl {\r\n constructor(getter, _setter, isReadonly, isSSR) {\r\n this._setter = _setter;\r\n this.dep = undefined;\r\n this.__v_isRef = true;\r\n this[_a] = false;\r\n this._dirty = true;\r\n this.effect = new ReactiveEffect(getter, () => {\r\n if (!this._dirty) {\r\n this._dirty = true;\r\n triggerRefValue(this);\r\n }\r\n });\r\n this.effect.computed = this;\r\n this.effect.active = this._cacheable = !isSSR;\r\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\r\n }\r\n get value() {\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n const self = toRaw(this);\r\n trackRefValue(self);\r\n if (self._dirty || !self._cacheable) {\r\n self._dirty = false;\r\n self._value = self.effect.run();\r\n }\r\n return self._value;\r\n }\r\n set value(newValue) {\r\n this._setter(newValue);\r\n }\r\n}\r\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\r\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\r\n let getter;\r\n let setter;\r\n const onlyGetter = isFunction(getterOrOptions);\r\n if (onlyGetter) {\r\n getter = getterOrOptions;\r\n setter = (process.env.NODE_ENV !== 'production')\r\n ? () => {\r\n console.warn('Write operation failed: computed value is readonly');\r\n }\r\n : NOOP;\r\n }\r\n else {\r\n getter = getterOrOptions.get;\r\n setter = getterOrOptions.set;\r\n }\r\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\r\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\r\n cRef.effect.onTrack = debugOptions.onTrack;\r\n cRef.effect.onTrigger = debugOptions.onTrigger;\r\n }\r\n return cRef;\r\n}\n\nvar _a$1;\r\nconst tick = /*#__PURE__*/ Promise.resolve();\r\nconst queue = [];\r\nlet queued = false;\r\nconst scheduler = (fn) => {\r\n queue.push(fn);\r\n if (!queued) {\r\n queued = true;\r\n tick.then(flush);\r\n }\r\n};\r\nconst flush = () => {\r\n for (let i = 0; i < queue.length; i++) {\r\n queue[i]();\r\n }\r\n queue.length = 0;\r\n queued = false;\r\n};\r\nclass DeferredComputedRefImpl {\r\n constructor(getter) {\r\n this.dep = undefined;\r\n this._dirty = true;\r\n this.__v_isRef = true;\r\n this[_a$1] = true;\r\n let compareTarget;\r\n let hasCompareTarget = false;\r\n let scheduled = false;\r\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\r\n if (this.dep) {\r\n if (computedTrigger) {\r\n compareTarget = this._value;\r\n hasCompareTarget = true;\r\n }\r\n else if (!scheduled) {\r\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\r\n scheduled = true;\r\n hasCompareTarget = false;\r\n scheduler(() => {\r\n if (this.effect.active && this._get() !== valueToCompare) {\r\n triggerRefValue(this);\r\n }\r\n scheduled = false;\r\n });\r\n }\r\n // chained upstream computeds are notified synchronously to ensure\r\n // value invalidation in case of sync access; normal effects are\r\n // deferred to be triggered in scheduler.\r\n for (const e of this.dep) {\r\n if (e.computed instanceof DeferredComputedRefImpl) {\r\n e.scheduler(true /* computedTrigger */);\r\n }\r\n }\r\n }\r\n this._dirty = true;\r\n });\r\n this.effect.computed = this;\r\n }\r\n _get() {\r\n if (this._dirty) {\r\n this._dirty = false;\r\n return (this._value = this.effect.run());\r\n }\r\n return this._value;\r\n }\r\n get value() {\r\n trackRefValue(this);\r\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\r\n return toRaw(this)._get();\r\n }\r\n}\r\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\r\nfunction deferredComputed(getter) {\r\n return new DeferredComputedRefImpl(getter);\r\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, EffectScope, markRaw, proxyRefs, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, toNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\r\nfunction pushWarningContext(vnode) {\r\n stack.push(vnode);\r\n}\r\nfunction popWarningContext() {\r\n stack.pop();\r\n}\r\nfunction warn(msg, ...args) {\r\n // avoid props formatting or warn handler tracking deps that might be mutated\r\n // during patch, leading to infinite recursion.\r\n pauseTracking();\r\n const instance = stack.length ? stack[stack.length - 1].component : null;\r\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\r\n const trace = getComponentTrace();\r\n if (appWarnHandler) {\r\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\r\n msg + args.join(''),\r\n instance && instance.proxy,\r\n trace\r\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\r\n .join('\\n'),\r\n trace\r\n ]);\r\n }\r\n else {\r\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\r\n /* istanbul ignore if */\r\n if (trace.length &&\r\n // avoid spamming console during tests\r\n !false) {\r\n warnArgs.push(`\\n`, ...formatTrace(trace));\r\n }\r\n console.warn(...warnArgs);\r\n }\r\n resetTracking();\r\n}\r\nfunction getComponentTrace() {\r\n let currentVNode = stack[stack.length - 1];\r\n if (!currentVNode) {\r\n return [];\r\n }\r\n // we can't just use the stack because it will be incomplete during updates\r\n // that did not start from the root. Re-construct the parent chain using\r\n // instance parent pointers.\r\n const normalizedStack = [];\r\n while (currentVNode) {\r\n const last = normalizedStack[0];\r\n if (last && last.vnode === currentVNode) {\r\n last.recurseCount++;\r\n }\r\n else {\r\n normalizedStack.push({\r\n vnode: currentVNode,\r\n recurseCount: 0\r\n });\r\n }\r\n const parentInstance = currentVNode.component && currentVNode.component.parent;\r\n currentVNode = parentInstance && parentInstance.vnode;\r\n }\r\n return normalizedStack;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatTrace(trace) {\r\n const logs = [];\r\n trace.forEach((entry, i) => {\r\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\r\n });\r\n return logs;\r\n}\r\nfunction formatTraceEntry({ vnode, recurseCount }) {\r\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\r\n const isRoot = vnode.component ? vnode.component.parent == null : false;\r\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\r\n const close = `>` + postfix;\r\n return vnode.props\r\n ? [open, ...formatProps(vnode.props), close]\r\n : [open + close];\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProps(props) {\r\n const res = [];\r\n const keys = Object.keys(props);\r\n keys.slice(0, 3).forEach(key => {\r\n res.push(...formatProp(key, props[key]));\r\n });\r\n if (keys.length > 3) {\r\n res.push(` ...`);\r\n }\r\n return res;\r\n}\r\n/* istanbul ignore next */\r\nfunction formatProp(key, value, raw) {\r\n if (isString(value)) {\r\n value = JSON.stringify(value);\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (typeof value === 'number' ||\r\n typeof value === 'boolean' ||\r\n value == null) {\r\n return raw ? value : [`${key}=${value}`];\r\n }\r\n else if (isRef(value)) {\r\n value = formatProp(key, toRaw(value.value), true);\r\n return raw ? value : [`${key}=Ref<`, value, `>`];\r\n }\r\n else if (isFunction(value)) {\r\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\r\n }\r\n else {\r\n value = toRaw(value);\r\n return raw ? value : [`${key}=`, value];\r\n }\r\n}\n\nconst ErrorTypeStrings = {\r\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\r\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\r\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\r\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\r\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\r\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\r\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\r\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\r\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\r\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\r\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\r\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\r\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\r\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\r\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\r\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\r\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\r\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\r\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\r\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\r\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\r\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\r\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\r\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\r\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\r\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\r\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\r\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\r\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\r\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\r\n};\r\nfunction callWithErrorHandling(fn, instance, type, args) {\r\n let res;\r\n try {\r\n res = args ? fn(...args) : fn();\r\n }\r\n catch (err) {\r\n handleError(err, instance, type);\r\n }\r\n return res;\r\n}\r\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\r\n if (isFunction(fn)) {\r\n const res = callWithErrorHandling(fn, instance, type, args);\r\n if (res && isPromise(res)) {\r\n res.catch(err => {\r\n handleError(err, instance, type);\r\n });\r\n }\r\n return res;\r\n }\r\n const values = [];\r\n for (let i = 0; i < fn.length; i++) {\r\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\r\n }\r\n return values;\r\n}\r\nfunction handleError(err, instance, type, throwInDev = true) {\r\n const contextVNode = instance ? instance.vnode : null;\r\n if (instance) {\r\n let cur = instance.parent;\r\n // the exposed instance is the render proxy to keep it consistent with 2.x\r\n const exposedInstance = instance.proxy;\r\n // in production the hook receives only the error code\r\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\r\n while (cur) {\r\n const errorCapturedHooks = cur.ec;\r\n if (errorCapturedHooks) {\r\n for (let i = 0; i < errorCapturedHooks.length; i++) {\r\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\r\n return;\r\n }\r\n }\r\n }\r\n cur = cur.parent;\r\n }\r\n // app-level handling\r\n const appErrorHandler = instance.appContext.config.errorHandler;\r\n if (appErrorHandler) {\r\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\r\n return;\r\n }\r\n }\r\n logError(err, type, contextVNode, throwInDev);\r\n}\r\nfunction logError(err, type, contextVNode, throwInDev = true) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const info = ErrorTypeStrings[type];\r\n if (contextVNode) {\r\n pushWarningContext(contextVNode);\r\n }\r\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\r\n if (contextVNode) {\r\n popWarningContext();\r\n }\r\n // crash in dev by default so it's more noticeable\r\n if (throwInDev) {\r\n throw err;\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n }\r\n else {\r\n // recover in prod to reduce the impact on end-user\r\n console.error(err);\r\n }\r\n}\n\nlet isFlushing = false;\r\nlet isFlushPending = false;\r\nconst queue = [];\r\nlet flushIndex = 0;\r\nconst pendingPostFlushCbs = [];\r\nlet activePostFlushCbs = null;\r\nlet postFlushIndex = 0;\r\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\r\nlet currentFlushPromise = null;\r\nconst RECURSION_LIMIT = 100;\r\nfunction nextTick(fn) {\r\n const p = currentFlushPromise || resolvedPromise;\r\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\r\n}\r\n// #2768\r\n// Use binary-search to find a suitable position in the queue,\r\n// so that the queue maintains the increasing order of job's id,\r\n// which can prevent the job from being skipped and also can avoid repeated patching.\r\nfunction findInsertionIndex(id) {\r\n // the start index should be `flushIndex + 1`\r\n let start = flushIndex + 1;\r\n let end = queue.length;\r\n while (start < end) {\r\n const middle = (start + end) >>> 1;\r\n const middleJobId = getId(queue[middle]);\r\n middleJobId < id ? (start = middle + 1) : (end = middle);\r\n }\r\n return start;\r\n}\r\nfunction queueJob(job) {\r\n // the dedupe search uses the startIndex argument of Array.includes()\r\n // by default the search index includes the current job that is being run\r\n // so it cannot recursively trigger itself again.\r\n // if the job is a watch() callback, the search will start with a +1 index to\r\n // allow it recursively trigger itself - it is the user's responsibility to\r\n // ensure it doesn't end up in an infinite loop.\r\n if (!queue.length ||\r\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\r\n if (job.id == null) {\r\n queue.push(job);\r\n }\r\n else {\r\n queue.splice(findInsertionIndex(job.id), 0, job);\r\n }\r\n queueFlush();\r\n }\r\n}\r\nfunction queueFlush() {\r\n if (!isFlushing && !isFlushPending) {\r\n isFlushPending = true;\r\n currentFlushPromise = resolvedPromise.then(flushJobs);\r\n }\r\n}\r\nfunction invalidateJob(job) {\r\n const i = queue.indexOf(job);\r\n if (i > flushIndex) {\r\n queue.splice(i, 1);\r\n }\r\n}\r\nfunction queuePostFlushCb(cb) {\r\n if (!isArray(cb)) {\r\n if (!activePostFlushCbs ||\r\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\r\n pendingPostFlushCbs.push(cb);\r\n }\r\n }\r\n else {\r\n // if cb is an array, it is a component lifecycle hook which can only be\r\n // triggered by a job, which is already deduped in the main queue, so\r\n // we can skip duplicate check here to improve perf\r\n pendingPostFlushCbs.push(...cb);\r\n }\r\n queueFlush();\r\n}\r\nfunction flushPreFlushCbs(seen, \r\n// if currently flushing, skip the current job itself\r\ni = isFlushing ? flushIndex + 1 : 0) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n for (; i < queue.length; i++) {\r\n const cb = queue[i];\r\n if (cb && cb.pre) {\r\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\r\n continue;\r\n }\r\n queue.splice(i, 1);\r\n i--;\r\n cb();\r\n }\r\n }\r\n}\r\nfunction flushPostFlushCbs(seen) {\r\n if (pendingPostFlushCbs.length) {\r\n const deduped = [...new Set(pendingPostFlushCbs)];\r\n pendingPostFlushCbs.length = 0;\r\n // #1947 already has active queue, nested flushPostFlushCbs call\r\n if (activePostFlushCbs) {\r\n activePostFlushCbs.push(...deduped);\r\n return;\r\n }\r\n activePostFlushCbs = deduped;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\r\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\r\n continue;\r\n }\r\n activePostFlushCbs[postFlushIndex]();\r\n }\r\n activePostFlushCbs = null;\r\n postFlushIndex = 0;\r\n }\r\n}\r\nconst getId = (job) => job.id == null ? Infinity : job.id;\r\nconst comparator = (a, b) => {\r\n const diff = getId(a) - getId(b);\r\n if (diff === 0) {\r\n if (a.pre && !b.pre)\r\n return -1;\r\n if (b.pre && !a.pre)\r\n return 1;\r\n }\r\n return diff;\r\n};\r\nfunction flushJobs(seen) {\r\n isFlushPending = false;\r\n isFlushing = true;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n seen = seen || new Map();\r\n }\r\n // Sort queue before flush.\r\n // This ensures that:\r\n // 1. Components are updated from parent to child. (because parent is always\r\n // created before the child so its render effect will have smaller\r\n // priority number)\r\n // 2. If a component is unmounted during a parent component's update,\r\n // its update can be skipped.\r\n queue.sort(comparator);\r\n // conditional usage of checkRecursiveUpdate must be determined out of\r\n // try ... catch block since Rollup by default de-optimizes treeshaking\r\n // inside try-catch. This can leave all warning code unshaked. Although\r\n // they would get eventually shaken by a minifier like terser, some minifiers\r\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\r\n const check = (process.env.NODE_ENV !== 'production')\r\n ? (job) => checkRecursiveUpdates(seen, job)\r\n : NOOP;\r\n try {\r\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\r\n const job = queue[flushIndex];\r\n if (job && job.active !== false) {\r\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\r\n continue;\r\n }\r\n // console.log(`running:`, job.id)\r\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\r\n }\r\n }\r\n }\r\n finally {\r\n flushIndex = 0;\r\n queue.length = 0;\r\n flushPostFlushCbs(seen);\r\n isFlushing = false;\r\n currentFlushPromise = null;\r\n // some postFlushCb queued jobs!\r\n // keep flushing until it drains.\r\n if (queue.length || pendingPostFlushCbs.length) {\r\n flushJobs(seen);\r\n }\r\n }\r\n}\r\nfunction checkRecursiveUpdates(seen, fn) {\r\n if (!seen.has(fn)) {\r\n seen.set(fn, 1);\r\n }\r\n else {\r\n const count = seen.get(fn);\r\n if (count > RECURSION_LIMIT) {\r\n const instance = fn.ownerInstance;\r\n const componentName = instance && getComponentName(instance.type);\r\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\r\n `This means you have a reactive effect that is mutating its own ` +\r\n `dependencies and thus recursively triggering itself. Possible sources ` +\r\n `include component template, render function, updated hook or ` +\r\n `watcher source function.`);\r\n return true;\r\n }\r\n else {\r\n seen.set(fn, count + 1);\r\n }\r\n }\r\n}\n\n/* eslint-disable no-restricted-globals */\r\nlet isHmrUpdating = false;\r\nconst hmrDirtyComponents = new Set();\r\n// Expose the HMR runtime on the global object\r\n// This makes it entirely tree-shakable without polluting the exports and makes\r\n// it easier to be used in toolings like vue-loader\r\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\r\n// to be set so that its instances can be registered / removed.\r\nif ((process.env.NODE_ENV !== 'production')) {\r\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\r\n createRecord: tryWrap(createRecord),\r\n rerender: tryWrap(rerender),\r\n reload: tryWrap(reload)\r\n };\r\n}\r\nconst map = new Map();\r\nfunction registerHMR(instance) {\r\n const id = instance.type.__hmrId;\r\n let record = map.get(id);\r\n if (!record) {\r\n createRecord(id, instance.type);\r\n record = map.get(id);\r\n }\r\n record.instances.add(instance);\r\n}\r\nfunction unregisterHMR(instance) {\r\n map.get(instance.type.__hmrId).instances.delete(instance);\r\n}\r\nfunction createRecord(id, initialDef) {\r\n if (map.has(id)) {\r\n return false;\r\n }\r\n map.set(id, {\r\n initialDef: normalizeClassComponent(initialDef),\r\n instances: new Set()\r\n });\r\n return true;\r\n}\r\nfunction normalizeClassComponent(component) {\r\n return isClassComponent(component) ? component.__vccOpts : component;\r\n}\r\nfunction rerender(id, newRender) {\r\n const record = map.get(id);\r\n if (!record) {\r\n return;\r\n }\r\n // update initial record (for not-yet-rendered component)\r\n record.initialDef.render = newRender;\r\n [...record.instances].forEach(instance => {\r\n if (newRender) {\r\n instance.render = newRender;\r\n normalizeClassComponent(instance.type).render = newRender;\r\n }\r\n instance.renderCache = [];\r\n // this flag forces child components with slot content to update\r\n isHmrUpdating = true;\r\n instance.update();\r\n isHmrUpdating = false;\r\n });\r\n}\r\nfunction reload(id, newComp) {\r\n const record = map.get(id);\r\n if (!record)\r\n return;\r\n newComp = normalizeClassComponent(newComp);\r\n // update initial def (for not-yet-rendered components)\r\n updateComponentDef(record.initialDef, newComp);\r\n // create a snapshot which avoids the set being mutated during updates\r\n const instances = [...record.instances];\r\n for (const instance of instances) {\r\n const oldComp = normalizeClassComponent(instance.type);\r\n if (!hmrDirtyComponents.has(oldComp)) {\r\n // 1. Update existing comp definition to match new one\r\n if (oldComp !== record.initialDef) {\r\n updateComponentDef(oldComp, newComp);\r\n }\r\n // 2. mark definition dirty. This forces the renderer to replace the\r\n // component on patch.\r\n hmrDirtyComponents.add(oldComp);\r\n }\r\n // 3. invalidate options resolution cache\r\n instance.appContext.optionsCache.delete(instance.type);\r\n // 4. actually update\r\n if (instance.ceReload) {\r\n // custom element\r\n hmrDirtyComponents.add(oldComp);\r\n instance.ceReload(newComp.styles);\r\n hmrDirtyComponents.delete(oldComp);\r\n }\r\n else if (instance.parent) {\r\n // 4. Force the parent instance to re-render. This will cause all updated\r\n // components to be unmounted and re-mounted. Queue the update so that we\r\n // don't end up forcing the same parent to re-render multiple times.\r\n queueJob(instance.parent.update);\r\n // instance is the inner component of an async custom element\r\n // invoke to reset styles\r\n if (instance.parent.type.__asyncLoader &&\r\n instance.parent.ceReload) {\r\n instance.parent.ceReload(newComp.styles);\r\n }\r\n }\r\n else if (instance.appContext.reload) {\r\n // root instance mounted via createApp() has a reload method\r\n instance.appContext.reload();\r\n }\r\n else if (typeof window !== 'undefined') {\r\n // root instance inside tree created via raw render(). Force reload.\r\n window.location.reload();\r\n }\r\n else {\r\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\r\n }\r\n }\r\n // 5. make sure to cleanup dirty hmr components after update\r\n queuePostFlushCb(() => {\r\n for (const instance of instances) {\r\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\r\n }\r\n });\r\n}\r\nfunction updateComponentDef(oldComp, newComp) {\r\n extend(oldComp, newComp);\r\n for (const key in oldComp) {\r\n if (key !== '__file' && !(key in newComp)) {\r\n delete oldComp[key];\r\n }\r\n }\r\n}\r\nfunction tryWrap(fn) {\r\n return (id, arg) => {\r\n try {\r\n return fn(id, arg);\r\n }\r\n catch (e) {\r\n console.error(e);\r\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\r\n `Full reload required.`);\r\n }\r\n };\r\n}\n\nlet devtools;\r\nlet buffer = [];\r\nlet devtoolsNotInstalled = false;\r\nfunction emit(event, ...args) {\r\n if (devtools) {\r\n devtools.emit(event, ...args);\r\n }\r\n else if (!devtoolsNotInstalled) {\r\n buffer.push({ event, args });\r\n }\r\n}\r\nfunction setDevtoolsHook(hook, target) {\r\n var _a, _b;\r\n devtools = hook;\r\n if (devtools) {\r\n devtools.enabled = true;\r\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\r\n buffer = [];\r\n }\r\n else if (\r\n // handle late devtools injection - only do this if we are in an actual\r\n // browser environment to avoid the timer handle stalling test runner exit\r\n // (#4815)\r\n typeof window !== 'undefined' &&\r\n // some envs mock window but not fully\r\n window.HTMLElement &&\r\n // also exclude jsdom\r\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\r\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\r\n replay.push((newHook) => {\r\n setDevtoolsHook(newHook, target);\r\n });\r\n // clear buffer after 3s - the user probably doesn't have devtools installed\r\n // at all, and keeping the buffer will cause memory leaks (#4738)\r\n setTimeout(() => {\r\n if (!devtools) {\r\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n }, 3000);\r\n }\r\n else {\r\n // non-browser env, assume not installed\r\n devtoolsNotInstalled = true;\r\n buffer = [];\r\n }\r\n}\r\nfunction devtoolsInitApp(app, version) {\r\n emit(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\r\n Fragment,\r\n Text,\r\n Comment,\r\n Static\r\n });\r\n}\r\nfunction devtoolsUnmountApp(app) {\r\n emit(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\r\n}\r\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\r\nconst devtoolsComponentUpdated = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\r\nconst devtoolsComponentRemoved = \r\n/*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\r\nfunction createDevtoolsComponentHook(hook) {\r\n return (component) => {\r\n emit(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\r\n };\r\n}\r\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\r\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\r\nfunction createDevtoolsPerformanceHook(hook) {\r\n return (component, type, time) => {\r\n emit(hook, component.appContext.app, component.uid, component, type, time);\r\n };\r\n}\r\nfunction devtoolsComponentEmit(component, event, params) {\r\n emit(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\r\n}\n\nfunction emit$1(instance, event, ...rawArgs) {\r\n if (instance.isUnmounted)\r\n return;\r\n const props = instance.vnode.props || EMPTY_OBJ;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\r\n if (emitsOptions) {\r\n if (!(event in emitsOptions) &&\r\n !(false )) {\r\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\r\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\r\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\r\n }\r\n }\r\n else {\r\n const validator = emitsOptions[event];\r\n if (isFunction(validator)) {\r\n const isValid = validator(...rawArgs);\r\n if (!isValid) {\r\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n let args = rawArgs;\r\n const isModelListener = event.startsWith('update:');\r\n // for v-model update:xxx events, apply modifiers on args\r\n const modelArg = isModelListener && event.slice(7);\r\n if (modelArg && modelArg in props) {\r\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\r\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\r\n if (trim) {\r\n args = rawArgs.map(a => a.trim());\r\n }\r\n if (number) {\r\n args = rawArgs.map(toNumber);\r\n }\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentEmit(instance, event, args);\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const lowerCaseEvent = event.toLowerCase();\r\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\r\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\r\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\r\n `Note that HTML attributes are case-insensitive and you cannot use ` +\r\n `v-on to listen to camelCase events when using in-DOM templates. ` +\r\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\r\n }\r\n }\r\n let handlerName;\r\n let handler = props[(handlerName = toHandlerKey(event))] ||\r\n // also try camelCase event handler (#2249)\r\n props[(handlerName = toHandlerKey(camelize(event)))];\r\n // for v-model update:xxx events, also trigger kebab-case equivalent\r\n // for props passed via kebab-case\r\n if (!handler && isModelListener) {\r\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\r\n }\r\n if (handler) {\r\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n const onceHandler = props[handlerName + `Once`];\r\n if (onceHandler) {\r\n if (!instance.emitted) {\r\n instance.emitted = {};\r\n }\r\n else if (instance.emitted[handlerName]) {\r\n return;\r\n }\r\n instance.emitted[handlerName] = true;\r\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\r\n }\r\n}\r\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\r\n const cache = appContext.emitsCache;\r\n const cached = cache.get(comp);\r\n if (cached !== undefined) {\r\n return cached;\r\n }\r\n const raw = comp.emits;\r\n let normalized = {};\r\n // apply mixin/extends props\r\n let hasExtends = false;\r\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\r\n const extendEmits = (raw) => {\r\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\r\n if (normalizedFromExtend) {\r\n hasExtends = true;\r\n extend(normalized, normalizedFromExtend);\r\n }\r\n };\r\n if (!asMixin && appContext.mixins.length) {\r\n appContext.mixins.forEach(extendEmits);\r\n }\r\n if (comp.extends) {\r\n extendEmits(comp.extends);\r\n }\r\n if (comp.mixins) {\r\n comp.mixins.forEach(extendEmits);\r\n }\r\n }\r\n if (!raw && !hasExtends) {\r\n if (isObject(comp)) {\r\n cache.set(comp, null);\r\n }\r\n return null;\r\n }\r\n if (isArray(raw)) {\r\n raw.forEach(key => (normalized[key] = null));\r\n }\r\n else {\r\n extend(normalized, raw);\r\n }\r\n if (isObject(comp)) {\r\n cache.set(comp, normalized);\r\n }\r\n return normalized;\r\n}\r\n// Check if an incoming prop key is a declared emit event listener.\r\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\r\n// both considered matched listeners.\r\nfunction isEmitListener(options, key) {\r\n if (!options || !isOn(key)) {\r\n return false;\r\n }\r\n key = key.slice(2).replace(/Once$/, '');\r\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\r\n hasOwn(options, hyphenate(key)) ||\r\n hasOwn(options, key));\r\n}\n\n/**\r\n * mark the current rendering instance for asset resolution (e.g.\r\n * resolveComponent, resolveDirective) during render\r\n */\r\nlet currentRenderingInstance = null;\r\nlet currentScopeId = null;\r\n/**\r\n * Note: rendering calls maybe nested. The function returns the parent rendering\r\n * instance if present, which should be restored after the render is done:\r\n *\r\n * ```js\r\n * const prev = setCurrentRenderingInstance(i)\r\n * // ...render\r\n * setCurrentRenderingInstance(prev)\r\n * ```\r\n */\r\nfunction setCurrentRenderingInstance(instance) {\r\n const prev = currentRenderingInstance;\r\n currentRenderingInstance = instance;\r\n currentScopeId = (instance && instance.type.__scopeId) || null;\r\n return prev;\r\n}\r\n/**\r\n * Set scope id when creating hoisted vnodes.\r\n * @private compiler helper\r\n */\r\nfunction pushScopeId(id) {\r\n currentScopeId = id;\r\n}\r\n/**\r\n * Technically we no longer need this after 3.0.8 but we need to keep the same\r\n * API for backwards compat w/ code generated by compilers.\r\n * @private\r\n */\r\nfunction popScopeId() {\r\n currentScopeId = null;\r\n}\r\n/**\r\n * Only for backwards compat\r\n * @private\r\n */\r\nconst withScopeId = (_id) => withCtx;\r\n/**\r\n * Wrap a slot function to memoize current rendering instance\r\n * @private compiler helper\r\n */\r\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\r\n) {\r\n if (!ctx)\r\n return fn;\r\n // already normalized\r\n if (fn._n) {\r\n return fn;\r\n }\r\n const renderFnWithContext = (...args) => {\r\n // If a user calls a compiled slot inside a template expression (#1745), it\r\n // can mess up block tracking, so by default we disable block tracking and\r\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\r\n // This isn't necessary if rendering a compiled ``, so we flip the\r\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(-1);\r\n }\r\n const prevInstance = setCurrentRenderingInstance(ctx);\r\n const res = fn(...args);\r\n setCurrentRenderingInstance(prevInstance);\r\n if (renderFnWithContext._d) {\r\n setBlockTracking(1);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\r\n devtoolsComponentUpdated(ctx);\r\n }\r\n return res;\r\n };\r\n // mark normalized to avoid duplicated wrapping\r\n renderFnWithContext._n = true;\r\n // mark this as compiled by default\r\n // this is used in vnode.ts -> normalizeChildren() to set the slot\r\n // rendering flag.\r\n renderFnWithContext._c = true;\r\n // disable block tracking by default\r\n renderFnWithContext._d = true;\r\n return renderFnWithContext;\r\n}\n\n/**\r\n * dev only flag to track whether $attrs was used during render.\r\n * If $attrs was used during render then the warning for failed attrs\r\n * fallthrough can be suppressed.\r\n */\r\nlet accessedAttrs = false;\r\nfunction markAttrsAccessed() {\r\n accessedAttrs = true;\r\n}\r\nfunction renderComponentRoot(instance) {\r\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\r\n let result;\r\n let fallthroughAttrs;\r\n const prev = setCurrentRenderingInstance(instance);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n accessedAttrs = false;\r\n }\r\n try {\r\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\r\n // withProxy is a proxy with a different `has` trap only for\r\n // runtime-compiled render functions using `with` block.\r\n const proxyToUse = withProxy || proxy;\r\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\r\n fallthroughAttrs = attrs;\r\n }\r\n else {\r\n // functional\r\n const render = Component;\r\n // in dev, mark attrs accessed if optional props (attrs === props)\r\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\r\n markAttrsAccessed();\r\n }\r\n result = normalizeVNode(render.length > 1\r\n ? render(props, (process.env.NODE_ENV !== 'production')\r\n ? {\r\n get attrs() {\r\n markAttrsAccessed();\r\n return attrs;\r\n },\r\n slots,\r\n emit\r\n }\r\n : { attrs, slots, emit })\r\n : render(props, null /* we know it doesn't need it */));\r\n fallthroughAttrs = Component.props\r\n ? attrs\r\n : getFunctionalFallthrough(attrs);\r\n }\r\n }\r\n catch (err) {\r\n blockStack.length = 0;\r\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\r\n result = createVNode(Comment);\r\n }\r\n // attr merging\r\n // in dev mode, comments are preserved, and it's possible for a template\r\n // to have comments along side the root element which makes it a fragment\r\n let root = result;\r\n let setRoot = undefined;\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n result.patchFlag > 0 &&\r\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\r\n [root, setRoot] = getChildRoot(result);\r\n }\r\n if (fallthroughAttrs && inheritAttrs !== false) {\r\n const keys = Object.keys(fallthroughAttrs);\r\n const { shapeFlag } = root;\r\n if (keys.length) {\r\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\r\n if (propsOptions && keys.some(isModelListener)) {\r\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\r\n // prop, it indicates this component expects to handle v-model and\r\n // it should not fallthrough.\r\n // related: #1543, #1643, #1989\r\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\r\n }\r\n root = cloneVNode(root, fallthroughAttrs);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\r\n const allAttrs = Object.keys(attrs);\r\n const eventAttrs = [];\r\n const extraAttrs = [];\r\n for (let i = 0, l = allAttrs.length; i < l; i++) {\r\n const key = allAttrs[i];\r\n if (isOn(key)) {\r\n // ignore v-model handlers when they fail to fallthrough\r\n if (!isModelListener(key)) {\r\n // remove `on`, lowercase first letter to reflect event casing\r\n // accurately\r\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\r\n }\r\n }\r\n else {\r\n extraAttrs.push(key);\r\n }\r\n }\r\n if (extraAttrs.length) {\r\n warn(`Extraneous non-props attributes (` +\r\n `${extraAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes.`);\r\n }\r\n if (eventAttrs.length) {\r\n warn(`Extraneous non-emits event listeners (` +\r\n `${eventAttrs.join(', ')}) ` +\r\n `were passed to component but could not be automatically inherited ` +\r\n `because component renders fragment or text root nodes. ` +\r\n `If the listener is intended to be a component custom event listener only, ` +\r\n `declare it using the \"emits\" option.`);\r\n }\r\n }\r\n }\r\n }\r\n // inherit directives\r\n if (vnode.dirs) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Runtime directive used on component with non-element root node. ` +\r\n `The directives will not function as intended.`);\r\n }\r\n // clone before mutating since the root may be a hoisted vnode\r\n root = cloneVNode(root);\r\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\r\n }\r\n // inherit transition data\r\n if (vnode.transition) {\r\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\r\n warn(`Component inside renders non-element root node ` +\r\n `that cannot be animated.`);\r\n }\r\n root.transition = vnode.transition;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\r\n setRoot(root);\r\n }\r\n else {\r\n result = root;\r\n }\r\n setCurrentRenderingInstance(prev);\r\n return result;\r\n}\r\n/**\r\n * dev only\r\n * In dev mode, template root level comments are rendered, which turns the\r\n * template into a fragment root, but we need to locate the single element\r\n * root for attrs and scope id processing.\r\n */\r\nconst getChildRoot = (vnode) => {\r\n const rawChildren = vnode.children;\r\n const dynamicChildren = vnode.dynamicChildren;\r\n const childRoot = filterSingleRoot(rawChildren);\r\n if (!childRoot) {\r\n return [vnode, undefined];\r\n }\r\n const index = rawChildren.indexOf(childRoot);\r\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\r\n const setRoot = (updatedRoot) => {\r\n rawChildren[index] = updatedRoot;\r\n if (dynamicChildren) {\r\n if (dynamicIndex > -1) {\r\n dynamicChildren[dynamicIndex] = updatedRoot;\r\n }\r\n else if (updatedRoot.patchFlag > 0) {\r\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\r\n }\r\n }\r\n };\r\n return [normalizeVNode(childRoot), setRoot];\r\n};\r\nfunction filterSingleRoot(children) {\r\n let singleRoot;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (isVNode(child)) {\r\n // ignore user comment\r\n if (child.type !== Comment || child.children === 'v-if') {\r\n if (singleRoot) {\r\n // has more than 1 non-comment child, return now\r\n return;\r\n }\r\n else {\r\n singleRoot = child;\r\n }\r\n }\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n return singleRoot;\r\n}\r\nconst getFunctionalFallthrough = (attrs) => {\r\n let res;\r\n for (const key in attrs) {\r\n if (key === 'class' || key === 'style' || isOn(key)) {\r\n (res || (res = {}))[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst filterModelListeners = (attrs, props) => {\r\n const res = {};\r\n for (const key in attrs) {\r\n if (!isModelListener(key) || !(key.slice(9) in props)) {\r\n res[key] = attrs[key];\r\n }\r\n }\r\n return res;\r\n};\r\nconst isElementRoot = (vnode) => {\r\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\r\n vnode.type === Comment // potential v-if branch switch\r\n );\r\n};\r\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\r\n const { props: prevProps, children: prevChildren, component } = prevVNode;\r\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\r\n const emits = component.emitsOptions;\r\n // Parent component's render function was hot-updated. Since this may have\r\n // caused the child component's slots content to have changed, we need to\r\n // force the child to update as well.\r\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\r\n return true;\r\n }\r\n // force child update for runtime directive or transition on component vnode.\r\n if (nextVNode.dirs || nextVNode.transition) {\r\n return true;\r\n }\r\n if (optimized && patchFlag >= 0) {\r\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\r\n // slot content that references values that might have changed,\r\n // e.g. in a v-for\r\n return true;\r\n }\r\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n // presence of this flag indicates props are always non-null\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\r\n const dynamicProps = nextVNode.dynamicProps;\r\n for (let i = 0; i < dynamicProps.length; i++) {\r\n const key = dynamicProps[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emits, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n // this path is only taken by manually written render functions\r\n // so presence of any children leads to a forced update\r\n if (prevChildren || nextChildren) {\r\n if (!nextChildren || !nextChildren.$stable) {\r\n return true;\r\n }\r\n }\r\n if (prevProps === nextProps) {\r\n return false;\r\n }\r\n if (!prevProps) {\r\n return !!nextProps;\r\n }\r\n if (!nextProps) {\r\n return true;\r\n }\r\n return hasPropsChanged(prevProps, nextProps, emits);\r\n }\r\n return false;\r\n}\r\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\r\n const nextKeys = Object.keys(nextProps);\r\n if (nextKeys.length !== Object.keys(prevProps).length) {\r\n return true;\r\n }\r\n for (let i = 0; i < nextKeys.length; i++) {\r\n const key = nextKeys[i];\r\n if (nextProps[key] !== prevProps[key] &&\r\n !isEmitListener(emitsOptions, key)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\r\n) {\r\n while (parent && parent.subTree === vnode) {\r\n (vnode = parent.vnode).el = el;\r\n parent = parent.parent;\r\n }\r\n}\n\nconst isSuspense = (type) => type.__isSuspense;\r\n// Suspense exposes a component-like API, and is treated like a component\r\n// in the compiler, but internally it's a special built-in type that hooks\r\n// directly into the renderer.\r\nconst SuspenseImpl = {\r\n name: 'Suspense',\r\n // In order to make Suspense tree-shakable, we need to avoid importing it\r\n // directly in the renderer. The renderer checks for the __isSuspense flag\r\n // on a vnode's type and calls the `process` method, passing in renderer\r\n // internals.\r\n __isSuspense: true,\r\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \r\n // platform-specific impl passed from renderer\r\n rendererInternals) {\r\n if (n1 == null) {\r\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n else {\r\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\r\n }\r\n },\r\n hydrate: hydrateSuspense,\r\n create: createSuspenseBoundary,\r\n normalize: normalizeSuspenseChildren\r\n};\r\n// Force-casted public typing for h and TSX props inference\r\nconst Suspense = (SuspenseImpl );\r\nfunction triggerEvent(vnode, name) {\r\n const eventListener = vnode.props && vnode.props[name];\r\n if (isFunction(eventListener)) {\r\n eventListener();\r\n }\r\n}\r\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\r\n const { p: patch, o: { createElement } } = rendererInternals;\r\n const hiddenContainer = createElement('div');\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\r\n // start mounting the content subtree in an off-dom container\r\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\r\n // now check if we have encountered any async deps\r\n if (suspense.deps > 0) {\r\n // has async\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onPending');\r\n triggerEvent(vnode, 'onFallback');\r\n // mount the fallback tree\r\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds);\r\n setActiveBranch(suspense, vnode.ssFallback);\r\n }\r\n else {\r\n // Suspense has no async deps. Just resolve.\r\n suspense.resolve();\r\n }\r\n}\r\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\r\n const suspense = (n2.suspense = n1.suspense);\r\n suspense.vnode = n2;\r\n n2.el = n1.el;\r\n const newBranch = n2.ssContent;\r\n const newFallback = n2.ssFallback;\r\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\r\n if (pendingBranch) {\r\n suspense.pendingBranch = newBranch;\r\n if (isSameVNodeType(newBranch, pendingBranch)) {\r\n // same root type but content may have changed.\r\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else if (isInFallback) {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else {\r\n // toggled before pending tree is resolved\r\n suspense.pendingId++;\r\n if (isHydrating) {\r\n // if toggled before hydration is finished, the current DOM tree is\r\n // no longer valid. set it as the active branch so it will be unmounted\r\n // when resolved\r\n suspense.isHydrating = false;\r\n suspense.activeBranch = pendingBranch;\r\n }\r\n else {\r\n unmount(pendingBranch, parentComponent, suspense);\r\n }\r\n // increment pending ID. this is used to invalidate async callbacks\r\n // reset suspense state\r\n suspense.deps = 0;\r\n // discard effects from pending branch\r\n suspense.effects.length = 0;\r\n // discard previous container\r\n suspense.hiddenContainer = createElement('div');\r\n if (isInFallback) {\r\n // already in fallback state\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n else {\r\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newFallback);\r\n }\r\n }\r\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // toggled \"back\" to current active branch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n // force resolve\r\n suspense.resolve(true);\r\n }\r\n else {\r\n // switched to a 3rd branch\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n suspense.resolve();\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\r\n // root did not change, just normal patch\r\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, newBranch);\r\n }\r\n else {\r\n // root node toggled\r\n // invoke @pending event\r\n triggerEvent(n2, 'onPending');\r\n // mount pending branch in off-dom container\r\n suspense.pendingBranch = newBranch;\r\n suspense.pendingId++;\r\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\r\n if (suspense.deps <= 0) {\r\n // incoming branch has no async deps, resolve now.\r\n suspense.resolve();\r\n }\r\n else {\r\n const { timeout, pendingId } = suspense;\r\n if (timeout > 0) {\r\n setTimeout(() => {\r\n if (suspense.pendingId === pendingId) {\r\n suspense.fallback(newFallback);\r\n }\r\n }, timeout);\r\n }\r\n else if (timeout === 0) {\r\n suspense.fallback(newFallback);\r\n }\r\n }\r\n }\r\n }\r\n}\r\nlet hasWarned = false;\r\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\r\n /* istanbul ignore if */\r\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\r\n hasWarned = true;\r\n // @ts-ignore `console.info` cannot be null error\r\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\r\n }\r\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\r\n const timeout = toNumber(vnode.props && vnode.props.timeout);\r\n const suspense = {\r\n vnode,\r\n parent,\r\n parentComponent,\r\n isSVG,\r\n container,\r\n hiddenContainer,\r\n anchor,\r\n deps: 0,\r\n pendingId: 0,\r\n timeout: typeof timeout === 'number' ? timeout : -1,\r\n activeBranch: null,\r\n pendingBranch: null,\r\n isInFallback: true,\r\n isHydrating,\r\n isUnmounted: false,\r\n effects: [],\r\n resolve(resume = false) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!resume && !suspense.pendingBranch) {\r\n throw new Error(`suspense.resolve() is called without a pending branch.`);\r\n }\r\n if (suspense.isUnmounted) {\r\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\r\n }\r\n }\r\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\r\n if (suspense.isHydrating) {\r\n suspense.isHydrating = false;\r\n }\r\n else if (!resume) {\r\n const delayEnter = activeBranch &&\r\n pendingBranch.transition &&\r\n pendingBranch.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = () => {\r\n if (pendingId === suspense.pendingId) {\r\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\r\n }\r\n };\r\n }\r\n // this is initial anchor on mount\r\n let { anchor } = suspense;\r\n // unmount current active tree\r\n if (activeBranch) {\r\n // if the fallback tree was mounted, it may have been moved\r\n // as part of a parent suspense. get the latest anchor for insertion\r\n anchor = next(activeBranch);\r\n unmount(activeBranch, parentComponent, suspense, true);\r\n }\r\n if (!delayEnter) {\r\n // move content from off-dom container to actual container\r\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\r\n }\r\n }\r\n setActiveBranch(suspense, pendingBranch);\r\n suspense.pendingBranch = null;\r\n suspense.isInFallback = false;\r\n // flush buffered effects\r\n // check if there is a pending parent suspense\r\n let parent = suspense.parent;\r\n let hasUnresolvedAncestor = false;\r\n while (parent) {\r\n if (parent.pendingBranch) {\r\n // found a pending parent suspense, merge buffered post jobs\r\n // into that parent\r\n parent.effects.push(...effects);\r\n hasUnresolvedAncestor = true;\r\n break;\r\n }\r\n parent = parent.parent;\r\n }\r\n // no pending parent suspense, flush all jobs\r\n if (!hasUnresolvedAncestor) {\r\n queuePostFlushCb(effects);\r\n }\r\n suspense.effects = [];\r\n // invoke @resolve event\r\n triggerEvent(vnode, 'onResolve');\r\n },\r\n fallback(fallbackVNode) {\r\n if (!suspense.pendingBranch) {\r\n return;\r\n }\r\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\r\n // invoke @fallback event\r\n triggerEvent(vnode, 'onFallback');\r\n const anchor = next(activeBranch);\r\n const mountFallback = () => {\r\n if (!suspense.isInFallback) {\r\n return;\r\n }\r\n // mount the fallback tree\r\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\r\n isSVG, slotScopeIds, optimized);\r\n setActiveBranch(suspense, fallbackVNode);\r\n };\r\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\r\n if (delayEnter) {\r\n activeBranch.transition.afterLeave = mountFallback;\r\n }\r\n suspense.isInFallback = true;\r\n // unmount current active branch\r\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\r\n true // shouldRemove\r\n );\r\n if (!delayEnter) {\r\n mountFallback();\r\n }\r\n },\r\n move(container, anchor, type) {\r\n suspense.activeBranch &&\r\n move(suspense.activeBranch, container, anchor, type);\r\n suspense.container = container;\r\n },\r\n next() {\r\n return suspense.activeBranch && next(suspense.activeBranch);\r\n },\r\n registerDep(instance, setupRenderEffect) {\r\n const isInPendingSuspense = !!suspense.pendingBranch;\r\n if (isInPendingSuspense) {\r\n suspense.deps++;\r\n }\r\n const hydratedEl = instance.vnode.el;\r\n instance\r\n .asyncDep.catch(err => {\r\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\r\n })\r\n .then(asyncSetupResult => {\r\n // retry when the setup() promise resolves.\r\n // component may have been unmounted before resolve.\r\n if (instance.isUnmounted ||\r\n suspense.isUnmounted ||\r\n suspense.pendingId !== instance.suspenseId) {\r\n return;\r\n }\r\n // retry from this component\r\n instance.asyncResolved = true;\r\n const { vnode } = instance;\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n pushWarningContext(vnode);\r\n }\r\n handleSetupResult(instance, asyncSetupResult, false);\r\n if (hydratedEl) {\r\n // vnode may have been replaced if an update happened before the\r\n // async dep is resolved.\r\n vnode.el = hydratedEl;\r\n }\r\n const placeholder = !hydratedEl && instance.subTree.el;\r\n setupRenderEffect(instance, vnode, \r\n // component may have been moved before resolve.\r\n // if this is not a hydration, instance.subTree will be the comment\r\n // placeholder.\r\n parentNode(hydratedEl || instance.subTree.el), \r\n // anchor will not be used if this is hydration, so only need to\r\n // consider the comment placeholder case.\r\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\r\n if (placeholder) {\r\n remove(placeholder);\r\n }\r\n updateHOCHostEl(instance, vnode.el);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n popWarningContext();\r\n }\r\n // only decrease deps count if suspense is not already resolved\r\n if (isInPendingSuspense && --suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n });\r\n },\r\n unmount(parentSuspense, doRemove) {\r\n suspense.isUnmounted = true;\r\n if (suspense.activeBranch) {\r\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n if (suspense.pendingBranch) {\r\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\r\n }\r\n }\r\n };\r\n return suspense;\r\n}\r\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\r\n /* eslint-disable no-restricted-globals */\r\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\r\n // there are two possible scenarios for server-rendered suspense:\r\n // - success: ssr content should be fully resolved\r\n // - failure: ssr content should be the fallback branch.\r\n // however, on the client we don't really know if it has failed or not\r\n // attempt to hydrate the DOM assuming it has succeeded, but we still\r\n // need to construct a suspense boundary first\r\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\r\n if (suspense.deps === 0) {\r\n suspense.resolve();\r\n }\r\n return result;\r\n /* eslint-enable no-restricted-globals */\r\n}\r\nfunction normalizeSuspenseChildren(vnode) {\r\n const { shapeFlag, children } = vnode;\r\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\r\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\r\n vnode.ssFallback = isSlotChildren\r\n ? normalizeSuspenseSlot(children.fallback)\r\n : createVNode(Comment);\r\n}\r\nfunction normalizeSuspenseSlot(s) {\r\n let block;\r\n if (isFunction(s)) {\r\n const trackBlock = isBlockTreeEnabled && s._c;\r\n if (trackBlock) {\r\n // disableTracking: false\r\n // allow block tracking for compiled slots\r\n // (see ./componentRenderContext.ts)\r\n s._d = false;\r\n openBlock();\r\n }\r\n s = s();\r\n if (trackBlock) {\r\n s._d = true;\r\n block = currentBlock;\r\n closeBlock();\r\n }\r\n }\r\n if (isArray(s)) {\r\n const singleChild = filterSingleRoot(s);\r\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\r\n warn(` slots expect a single root node.`);\r\n }\r\n s = singleChild;\r\n }\r\n s = normalizeVNode(s);\r\n if (block && !s.dynamicChildren) {\r\n s.dynamicChildren = block.filter(c => c !== s);\r\n }\r\n return s;\r\n}\r\nfunction queueEffectWithSuspense(fn, suspense) {\r\n if (suspense && suspense.pendingBranch) {\r\n if (isArray(fn)) {\r\n suspense.effects.push(...fn);\r\n }\r\n else {\r\n suspense.effects.push(fn);\r\n }\r\n }\r\n else {\r\n queuePostFlushCb(fn);\r\n }\r\n}\r\nfunction setActiveBranch(suspense, branch) {\r\n suspense.activeBranch = branch;\r\n const { vnode, parentComponent } = suspense;\r\n const el = (vnode.el = branch.el);\r\n // in case suspense is the root node of a component,\r\n // recursively update the HOC el\r\n if (parentComponent && parentComponent.subTree === vnode) {\r\n parentComponent.vnode.el = el;\r\n updateHOCHostEl(parentComponent, el);\r\n }\r\n}\n\nfunction provide(key, value) {\r\n if (!currentInstance) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`provide() can only be used inside setup().`);\r\n }\r\n }\r\n else {\r\n let provides = currentInstance.provides;\r\n // by default an instance inherits its parent's provides object\r\n // but when it needs to provide values of its own, it creates its\r\n // own provides object using parent provides object as prototype.\r\n // this way in `inject` we can simply look up injections from direct\r\n // parent and let the prototype chain do the work.\r\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\r\n if (parentProvides === provides) {\r\n provides = currentInstance.provides = Object.create(parentProvides);\r\n }\r\n // TS doesn't allow symbol as index type\r\n provides[key] = value;\r\n }\r\n}\r\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\r\n // fallback to `currentRenderingInstance` so that this can be called in\r\n // a functional component\r\n const instance = currentInstance || currentRenderingInstance;\r\n if (instance) {\r\n // #2400\r\n // to support `app.use` plugins,\r\n // fallback to appContext's `provides` if the instance is at root\r\n const provides = instance.parent == null\r\n ? instance.vnode.appContext && instance.vnode.appContext.provides\r\n : instance.parent.provides;\r\n if (provides && key in provides) {\r\n // TS doesn't allow symbol as index type\r\n return provides[key];\r\n }\r\n else if (arguments.length > 1) {\r\n return treatDefaultAsFactory && isFunction(defaultValue)\r\n ? defaultValue.call(instance.proxy)\r\n : defaultValue;\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`injection \"${String(key)}\" not found.`);\r\n }\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`inject() can only be used inside setup() or functional components.`);\r\n }\r\n}\n\n// Simple effect.\r\nfunction watchEffect(effect, options) {\r\n return doWatch(effect, null, options);\r\n}\r\nfunction watchPostEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' }));\r\n}\r\nfunction watchSyncEffect(effect, options) {\r\n return doWatch(effect, null, ((process.env.NODE_ENV !== 'production')\r\n ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' }));\r\n}\r\n// initial value for watchers to trigger on undefined initial values\r\nconst INITIAL_WATCHER_VALUE = {};\r\n// implementation\r\nfunction watch(source, cb, options) {\r\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\r\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\r\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\r\n `supports \\`watch(source, cb, options?) signature.`);\r\n }\r\n return doWatch(source, cb, options);\r\n}\r\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\r\n if ((process.env.NODE_ENV !== 'production') && !cb) {\r\n if (immediate !== undefined) {\r\n warn(`watch() \"immediate\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n if (deep !== undefined) {\r\n warn(`watch() \"deep\" option is only respected when using the ` +\r\n `watch(source, callback, options?) signature.`);\r\n }\r\n }\r\n const warnInvalidSource = (s) => {\r\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\r\n `a reactive object, or an array of these types.`);\r\n };\r\n const instance = currentInstance;\r\n let getter;\r\n let forceTrigger = false;\r\n let isMultiSource = false;\r\n if (isRef(source)) {\r\n getter = () => source.value;\r\n forceTrigger = isShallow$1(source);\r\n }\r\n else if (isReactive(source)) {\r\n getter = () => source;\r\n deep = true;\r\n }\r\n else if (isArray(source)) {\r\n isMultiSource = true;\r\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\r\n getter = () => source.map(s => {\r\n if (isRef(s)) {\r\n return s.value;\r\n }\r\n else if (isReactive(s)) {\r\n return traverse(s);\r\n }\r\n else if (isFunction(s)) {\r\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\r\n }\r\n else {\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\r\n }\r\n });\r\n }\r\n else if (isFunction(source)) {\r\n if (cb) {\r\n // getter with cb\r\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\r\n }\r\n else {\r\n // no cb -> simple effect\r\n getter = () => {\r\n if (instance && instance.isUnmounted) {\r\n return;\r\n }\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\r\n };\r\n }\r\n }\r\n else {\r\n getter = NOOP;\r\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\r\n }\r\n if (cb && deep) {\r\n const baseGetter = getter;\r\n getter = () => traverse(baseGetter());\r\n }\r\n let cleanup;\r\n let onCleanup = (fn) => {\r\n cleanup = effect.onStop = () => {\r\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\r\n };\r\n };\r\n // in SSR there is no need to setup an actual effect, and it should be noop\r\n // unless it's eager\r\n if (isInSSRComponentSetup) {\r\n // we will also not call the invalidate callback (+ runner is not set up)\r\n onCleanup = NOOP;\r\n if (!cb) {\r\n getter();\r\n }\r\n else if (immediate) {\r\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\r\n getter(),\r\n isMultiSource ? [] : undefined,\r\n onCleanup\r\n ]);\r\n }\r\n return NOOP;\r\n }\r\n let oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;\r\n const job = () => {\r\n if (!effect.active) {\r\n return;\r\n }\r\n if (cb) {\r\n // watch(source, cb)\r\n const newValue = effect.run();\r\n if (deep ||\r\n forceTrigger ||\r\n (isMultiSource\r\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\r\n : hasChanged(newValue, oldValue)) ||\r\n (false )) {\r\n // cleanup before running cb again\r\n if (cleanup) {\r\n cleanup();\r\n }\r\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\r\n newValue,\r\n // pass undefined as the old value when it's changed for the first time\r\n oldValue === INITIAL_WATCHER_VALUE ? undefined : oldValue,\r\n onCleanup\r\n ]);\r\n oldValue = newValue;\r\n }\r\n }\r\n else {\r\n // watchEffect\r\n effect.run();\r\n }\r\n };\r\n // important: mark the job as a watcher callback so that scheduler knows\r\n // it is allowed to self-trigger (#1727)\r\n job.allowRecurse = !!cb;\r\n let scheduler;\r\n if (flush === 'sync') {\r\n scheduler = job; // the scheduler function gets called directly\r\n }\r\n else if (flush === 'post') {\r\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\r\n }\r\n else {\r\n // default: 'pre'\r\n job.pre = true;\r\n if (instance)\r\n job.id = instance.uid;\r\n scheduler = () => queueJob(job);\r\n }\r\n const effect = new ReactiveEffect(getter, scheduler);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n effect.onTrack = onTrack;\r\n effect.onTrigger = onTrigger;\r\n }\r\n // initial run\r\n if (cb) {\r\n if (immediate) {\r\n job();\r\n }\r\n else {\r\n oldValue = effect.run();\r\n }\r\n }\r\n else if (flush === 'post') {\r\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\r\n }\r\n else {\r\n effect.run();\r\n }\r\n return () => {\r\n effect.stop();\r\n if (instance && instance.scope) {\r\n remove(instance.scope.effects, effect);\r\n }\r\n };\r\n}\r\n// this.$watch\r\nfunction instanceWatch(source, value, options) {\r\n const publicThis = this.proxy;\r\n const getter = isString(source)\r\n ? source.includes('.')\r\n ? createPathGetter(publicThis, source)\r\n : () => publicThis[source]\r\n : source.bind(publicThis, publicThis);\r\n let cb;\r\n if (isFunction(value)) {\r\n cb = value;\r\n }\r\n else {\r\n cb = value.handler;\r\n options = value;\r\n }\r\n const cur = currentInstance;\r\n setCurrentInstance(this);\r\n const res = doWatch(getter, cb.bind(publicThis), options);\r\n if (cur) {\r\n setCurrentInstance(cur);\r\n }\r\n else {\r\n unsetCurrentInstance();\r\n }\r\n return res;\r\n}\r\nfunction createPathGetter(ctx, path) {\r\n const segments = path.split('.');\r\n return () => {\r\n let cur = ctx;\r\n for (let i = 0; i < segments.length && cur; i++) {\r\n cur = cur[segments[i]];\r\n }\r\n return cur;\r\n };\r\n}\r\nfunction traverse(value, seen) {\r\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\r\n return value;\r\n }\r\n seen = seen || new Set();\r\n if (seen.has(value)) {\r\n return value;\r\n }\r\n seen.add(value);\r\n if (isRef(value)) {\r\n traverse(value.value, seen);\r\n }\r\n else if (isArray(value)) {\r\n for (let i = 0; i < value.length; i++) {\r\n traverse(value[i], seen);\r\n }\r\n }\r\n else if (isSet(value) || isMap(value)) {\r\n value.forEach((v) => {\r\n traverse(v, seen);\r\n });\r\n }\r\n else if (isPlainObject(value)) {\r\n for (const key in value) {\r\n traverse(value[key], seen);\r\n }\r\n }\r\n return value;\r\n}\n\nfunction useTransitionState() {\r\n const state = {\r\n isMounted: false,\r\n isLeaving: false,\r\n isUnmounting: false,\r\n leavingVNodes: new Map()\r\n };\r\n onMounted(() => {\r\n state.isMounted = true;\r\n });\r\n onBeforeUnmount(() => {\r\n state.isUnmounting = true;\r\n });\r\n return state;\r\n}\r\nconst TransitionHookValidator = [Function, Array];\r\nconst BaseTransitionImpl = {\r\n name: `BaseTransition`,\r\n props: {\r\n mode: String,\r\n appear: Boolean,\r\n persisted: Boolean,\r\n // enter\r\n onBeforeEnter: TransitionHookValidator,\r\n onEnter: TransitionHookValidator,\r\n onAfterEnter: TransitionHookValidator,\r\n onEnterCancelled: TransitionHookValidator,\r\n // leave\r\n onBeforeLeave: TransitionHookValidator,\r\n onLeave: TransitionHookValidator,\r\n onAfterLeave: TransitionHookValidator,\r\n onLeaveCancelled: TransitionHookValidator,\r\n // appear\r\n onBeforeAppear: TransitionHookValidator,\r\n onAppear: TransitionHookValidator,\r\n onAfterAppear: TransitionHookValidator,\r\n onAppearCancelled: TransitionHookValidator\r\n },\r\n setup(props, { slots }) {\r\n const instance = getCurrentInstance();\r\n const state = useTransitionState();\r\n let prevTransitionKey;\r\n return () => {\r\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\r\n if (!children || !children.length) {\r\n return;\r\n }\r\n let child = children[0];\r\n if (children.length > 1) {\r\n let hasFound = false;\r\n // locate first non-comment child\r\n for (const c of children) {\r\n if (c.type !== Comment) {\r\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\r\n // warn more than one non-comment child\r\n warn(' can only be used on a single element or component. ' +\r\n 'Use for lists.');\r\n break;\r\n }\r\n child = c;\r\n hasFound = true;\r\n if (!(process.env.NODE_ENV !== 'production'))\r\n break;\r\n }\r\n }\r\n }\r\n // there's no need to track reactivity for these props so use the raw\r\n // props for a bit better perf\r\n const rawProps = toRaw(props);\r\n const { mode } = rawProps;\r\n // check mode\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n mode &&\r\n mode !== 'in-out' &&\r\n mode !== 'out-in' &&\r\n mode !== 'default') {\r\n warn(`invalid mode: ${mode}`);\r\n }\r\n if (state.isLeaving) {\r\n return emptyPlaceholder(child);\r\n }\r\n // in the case of , we need to\r\n // compare the type of the kept-alive children.\r\n const innerChild = getKeepAliveChild(child);\r\n if (!innerChild) {\r\n return emptyPlaceholder(child);\r\n }\r\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\r\n setTransitionHooks(innerChild, enterHooks);\r\n const oldChild = instance.subTree;\r\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\r\n let transitionKeyChanged = false;\r\n const { getTransitionKey } = innerChild.type;\r\n if (getTransitionKey) {\r\n const key = getTransitionKey();\r\n if (prevTransitionKey === undefined) {\r\n prevTransitionKey = key;\r\n }\r\n else if (key !== prevTransitionKey) {\r\n prevTransitionKey = key;\r\n transitionKeyChanged = true;\r\n }\r\n }\r\n // handle mode\r\n if (oldInnerChild &&\r\n oldInnerChild.type !== Comment &&\r\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\r\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\r\n // update old tree's hooks in case of dynamic transition\r\n setTransitionHooks(oldInnerChild, leavingHooks);\r\n // switching between different views\r\n if (mode === 'out-in') {\r\n state.isLeaving = true;\r\n // return placeholder node and queue update when leave finishes\r\n leavingHooks.afterLeave = () => {\r\n state.isLeaving = false;\r\n instance.update();\r\n };\r\n return emptyPlaceholder(child);\r\n }\r\n else if (mode === 'in-out' && innerChild.type !== Comment) {\r\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\r\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\r\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\r\n // early removal callback\r\n el._leaveCb = () => {\r\n earlyRemove();\r\n el._leaveCb = undefined;\r\n delete enterHooks.delayedLeave;\r\n };\r\n enterHooks.delayedLeave = delayedLeave;\r\n };\r\n }\r\n }\r\n return child;\r\n };\r\n }\r\n};\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\nconst BaseTransition = BaseTransitionImpl;\r\nfunction getLeavingNodesForType(state, vnode) {\r\n const { leavingVNodes } = state;\r\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\r\n if (!leavingVNodesCache) {\r\n leavingVNodesCache = Object.create(null);\r\n leavingVNodes.set(vnode.type, leavingVNodesCache);\r\n }\r\n return leavingVNodesCache;\r\n}\r\n// The transition hooks are attached to the vnode as vnode.transition\r\n// and will be called at appropriate timing in the renderer.\r\nfunction resolveTransitionHooks(vnode, props, state, instance) {\r\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\r\n const key = String(vnode.key);\r\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\r\n const callHook = (hook, args) => {\r\n hook &&\r\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\r\n };\r\n const callAsyncHook = (hook, args) => {\r\n const done = args[1];\r\n callHook(hook, args);\r\n if (isArray(hook)) {\r\n if (hook.every(hook => hook.length <= 1))\r\n done();\r\n }\r\n else if (hook.length <= 1) {\r\n done();\r\n }\r\n };\r\n const hooks = {\r\n mode,\r\n persisted,\r\n beforeEnter(el) {\r\n let hook = onBeforeEnter;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onBeforeAppear || onBeforeEnter;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n // for same element (v-show)\r\n if (el._leaveCb) {\r\n el._leaveCb(true /* cancelled */);\r\n }\r\n // for toggled element with same key (v-if)\r\n const leavingVNode = leavingVNodesCache[key];\r\n if (leavingVNode &&\r\n isSameVNodeType(vnode, leavingVNode) &&\r\n leavingVNode.el._leaveCb) {\r\n // force early removal (not cancelled)\r\n leavingVNode.el._leaveCb();\r\n }\r\n callHook(hook, [el]);\r\n },\r\n enter(el) {\r\n let hook = onEnter;\r\n let afterHook = onAfterEnter;\r\n let cancelHook = onEnterCancelled;\r\n if (!state.isMounted) {\r\n if (appear) {\r\n hook = onAppear || onEnter;\r\n afterHook = onAfterAppear || onAfterEnter;\r\n cancelHook = onAppearCancelled || onEnterCancelled;\r\n }\r\n else {\r\n return;\r\n }\r\n }\r\n let called = false;\r\n const done = (el._enterCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n if (cancelled) {\r\n callHook(cancelHook, [el]);\r\n }\r\n else {\r\n callHook(afterHook, [el]);\r\n }\r\n if (hooks.delayedLeave) {\r\n hooks.delayedLeave();\r\n }\r\n el._enterCb = undefined;\r\n });\r\n if (hook) {\r\n callAsyncHook(hook, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n leave(el, remove) {\r\n const key = String(vnode.key);\r\n if (el._enterCb) {\r\n el._enterCb(true /* cancelled */);\r\n }\r\n if (state.isUnmounting) {\r\n return remove();\r\n }\r\n callHook(onBeforeLeave, [el]);\r\n let called = false;\r\n const done = (el._leaveCb = (cancelled) => {\r\n if (called)\r\n return;\r\n called = true;\r\n remove();\r\n if (cancelled) {\r\n callHook(onLeaveCancelled, [el]);\r\n }\r\n else {\r\n callHook(onAfterLeave, [el]);\r\n }\r\n el._leaveCb = undefined;\r\n if (leavingVNodesCache[key] === vnode) {\r\n delete leavingVNodesCache[key];\r\n }\r\n });\r\n leavingVNodesCache[key] = vnode;\r\n if (onLeave) {\r\n callAsyncHook(onLeave, [el, done]);\r\n }\r\n else {\r\n done();\r\n }\r\n },\r\n clone(vnode) {\r\n return resolveTransitionHooks(vnode, props, state, instance);\r\n }\r\n };\r\n return hooks;\r\n}\r\n// the placeholder really only handles one special case: KeepAlive\r\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\r\n// placeholder with empty content to avoid the KeepAlive instance from being\r\n// unmounted.\r\nfunction emptyPlaceholder(vnode) {\r\n if (isKeepAlive(vnode)) {\r\n vnode = cloneVNode(vnode);\r\n vnode.children = null;\r\n return vnode;\r\n }\r\n}\r\nfunction getKeepAliveChild(vnode) {\r\n return isKeepAlive(vnode)\r\n ? vnode.children\r\n ? vnode.children[0]\r\n : undefined\r\n : vnode;\r\n}\r\nfunction setTransitionHooks(vnode, hooks) {\r\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\r\n setTransitionHooks(vnode.component.subTree, hooks);\r\n }\r\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\r\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\r\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\r\n }\r\n else {\r\n vnode.transition = hooks;\r\n }\r\n}\r\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\r\n let ret = [];\r\n let keyedFragmentCount = 0;\r\n for (let i = 0; i < children.length; i++) {\r\n let child = children[i];\r\n // #5360 inherit parent key in case of