diff --git a/fittrackee/dist/index.html b/fittrackee/dist/index.html index e6d5c09c..52c17bec 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 1f855b6b..b3be5802 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:"2dddf8984e41161347cde417dab7d22d"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.eee1934d.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.f492102f.js",revision:null},{url:"/static/js/chunk-vendors.e9c5b3a5.js",revision:null},{url:"/static/js/profile.dd30724d.js",revision:null},{url:"/static/js/reset.987a4de8.js",revision:null},{url:"/static/js/statistics.9cd652fd.js",revision:null},{url:"/static/js/workouts.26e6ad88.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:"08af5a980a5b390789e698b83de92299"},{url:"/manifest.json",revision:"c61028ca6e9f81bf958e6b66238e2d7c"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"},{url:"/static/css/admin.73df498d.css",revision:null},{url:"/static/css/app.a67ca8d9.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.d2b129a9.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.b9fbed25.js",revision:null},{url:"/static/js/chunk-vendors.a306e708.js",revision:null},{url:"/static/js/profile.19106879.js",revision:null},{url:"/static/js/reset.2d1612a0.js",revision:null},{url:"/static/js/statistics.9cd652fd.js",revision:null},{url:"/static/js/workouts.c9c3ec2a.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 7597a9c8..9d03ef5a 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/5ca2ae7278f9f01ade1be191f6e75c3c/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\": \"2dddf8984e41161347cde417dab7d22d\"\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.eee1934d.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.f492102f.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.e9c5b3a5.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.dd30724d.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.987a4de8.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.9cd652fd.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.26e6ad88.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/d2947575bfe6ae01e343ed3cc6a68d2f/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\": \"08af5a980a5b390789e698b83de92299\"\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.a67ca8d9.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.d2b129a9.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.b9fbed25.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/chunk-vendors.a306e708.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/profile.19106879.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/reset.2d1612a0.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/statistics.9cd652fd.js\",\n \"revision\": null\n },\n {\n \"url\": \"/static/js/workouts.c9c3ec2a.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.eee1934d.css b/fittrackee/dist/static/css/app.a67ca8d9.css similarity index 78% rename from fittrackee/dist/static/css/app.eee1934d.css rename to fittrackee/dist/static/css/app.a67ca8d9.css index 6c5c8475..a478c55d 100644 --- a/fittrackee/dist/static/css/app.eee1934d.css +++ b/fittrackee/dist/static/css/app.a67ca8d9.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-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-b3c885de]: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-b3c885de]{display:flex}#user-auth-form #user-form[data-v-b3c885de]{width:60%}#user-auth-form #user-form .account[data-v-b3c885de]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-b3c885de]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-b3c885de]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-b3c885de]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-b3c885de]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-b3c885de]{margin-bottom:50px}#user-auth-form #user-form[data-v-b3c885de]{width:100%}}.user-form[data-v-b3c885de]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-b3c885de]{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-dc12ff78]{display:none}#admin-users .no-users[data-v-dc12ff78]{display:flex;justify-content:center;padding:20px 0;font-weight:700}#admin-users table td[data-v-dc12ff78]{font-size:1.1em}#admin-users .left-text[data-v-dc12ff78]{text-align:left}#admin-users[data-v-dc12ff78] .user-picture img{height:30px;width:30px}#admin-users[data-v-dc12ff78] .user-picture .no-picture{font-size:2em}@media screen and (max-width:700px){#admin-users .top-button[data-v-dc12ff78]{display:block;margin-bottom:20px}#admin-users .pagination-center[data-v-dc12ff78]{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-217519af]{white-space:pre-wrap}#user-infos .alert-message[data-v-217519af]{margin:0}#user-infos .profile-buttons[data-v-217519af]{display:flex;flex-wrap:wrap}#user-infos .email-form[data-v-217519af]{display:flex}#user-infos .email-form form[data-v-217519af]{width:100%}#user-infos .email-form .form-buttons[data-v-217519af]{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-5e5a4552] .show-password{font-weight:400;font-size:.8em;margin-top:-4px;padding-left:0}.form-buttons[data-v-5e5a4552]{flex-direction:row}@media screen and (max-width:500px){.form-buttons[data-v-5e5a4552]{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-065d5e6c]{padding-top:5px}#user-preferences-edition .form-checkboxes .checkboxes-label[data-v-065d5e6c]{font-weight:700}#user-preferences-edition .form-checkboxes .checkboxes[data-v-065d5e6c]{display:flex;gap:10px;flex-wrap:wrap}#user-preferences-edition .form-checkboxes .checkboxes .checkbox-label[data-v-065d5e6c]{padding-left:5px}#user-preferences-edition .form-checkboxes .checkboxes label[data-v-065d5e6c]{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-3a844fa2]{display:flex;flex-wrap:wrap;gap:10px}#oauth2-app .app-secret[data-v-3a844fa2]{word-break:break-word}#oauth2-app .client-scopes[data-v-3a844fa2]{display:flex;flex-wrap:wrap}#oauth2-app .client-scopes .client-scope[data-v-3a844fa2]{padding-right:15px}#oauth2-app .fa-copy[data-v-3a844fa2]{font-size:.9em}#oauth2-app .no-description[data-v-3a844fa2]{font-style:italic}#oauth2-app .no-app[data-v-3a844fa2]{font-style:italic;padding:10px 0}#oauth2-apps-list ul[data-v-efa45ea0]{list-style:square}#oauth2-apps-list ul li[data-v-efa45ea0]{padding-bottom:10px}#oauth2-apps-list .app-issued-at[data-v-efa45ea0]{font-size:.85em;font-style:italic;padding-left:10px}#oauth2-apps-list .apps-list[data-v-efa45ea0]{font-size:1.05em;font-weight:700}#oauth2-apps-list .app-list-buttons[data-v-efa45ea0]{display:flex;gap:10px}#oauth2-apps-list .no-apps[data-v-efa45ea0]{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-96abcc38]{padding-right:5px}.timeline-workout[data-v-96abcc38]{margin-bottom:20px}.timeline-workout .box[data-v-96abcc38]{flex-direction:column;padding:0}.timeline-workout .box .workout-user-date[data-v-96abcc38]{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 10px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38]{display:flex}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture img{height:25px;width:25px}.timeline-workout .box .workout-user-date .workout-user[data-v-96abcc38] .user-picture .no-picture{font-size:1.5em}.timeline-workout .box .workout-user-date .workout-user .workout-user-name[data-v-96abcc38]{white-space:nowrap;padding-left:5px}.timeline-workout .box .workout-user-date .workout-date[data-v-96abcc38]{font-size:.85em;font-style:italic;white-space:nowrap}.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:block;text-align:center;padding:0 10px}@media screen and (max-width:500px){.timeline-workout .box .workout-user-date .workout-title[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-map[data-v-96abcc38]{background-color:var(--workout-no-map-bg-color);height:150px}.timeline-workout .box .workout-map .no-map[data-v-96abcc38]{line-height:150px}.timeline-workout .box .workout-map[data-v-96abcc38] .bg-map-image{height:150px}.timeline-workout .box .workout-data[data-v-96abcc38]{display:flex;padding:5px;font-size:.9em}.timeline-workout .box .workout-data .sport-img[data-v-96abcc38]{height:25px;width:25px}.timeline-workout .box .workout-data .data[data-v-96abcc38],.timeline-workout .box .workout-data .img[data-v-96abcc38]{display:flex;align-items:center}.timeline-workout .box .workout-data .data .data-values[data-v-96abcc38],.timeline-workout .box .workout-data .img .data-values[data-v-96abcc38]{display:flex;flex-wrap:wrap}.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:flex-end;width:10%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:22%}@media screen and (max-width:500px){.timeline-workout .box .workout-data .img[data-v-96abcc38]{justify-content:center;width:20%}.timeline-workout .box .workout-data .data[data-v-96abcc38]{justify-content:center;width:40%}.timeline-workout .box .workout-data .altitude[data-v-96abcc38],.timeline-workout .box .workout-data .elevation[data-v-96abcc38]{display:none}}.timeline-workout .box .workout-data.without-gpx .data[data-v-96abcc38],.timeline-workout .box .workout-data.without-gpx .img[data-v-96abcc38]{justify-content:center;width:33%}.timeline-workout .box .workout-data[data-v-96abcc38],.timeline-workout .box .workout-map[data-v-96abcc38]{cursor:pointer}.timeline-workout .box .no-cursor[data-v-96abcc38]{cursor:default}.timeline-workout .box .fa[data-v-96abcc38]{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-8d17c606]{width:100%;padding-bottom:3px}.records-card[data-v-8d17c606] .card{font-size:.9em}.records-card[data-v-8d17c606] .card .card-title{display:flex;font-size:.9em}.records-card[data-v-8d17c606] .card .card-title .sport-img{padding-right:10px;height:20px;width:20px}.records-card[data-v-8d17c606] .card .card-content{font-size:.9em;padding:10px}.records-card[data-v-8d17c606] .card .card-content .record{display:flex;align-items:center;justify-content:space-between}.records-card[data-v-8d17c606] .card .card-content .record span{padding:2px}.records-card[data-v-8d17c606] .card .card-content .record .record-type{flex-grow:1}.records-card[data-v-8d17c606] .card .card-content .record .record-value{font-weight:700;white-space:nowrap;padding-right:10px}.records-card[data-v-8d17c606] .card .card-content .record .record-date{white-space:nowrap;min-width:30%;text-align:right}@media screen and (max-width:1000px){.records-card[data-v-8d17c606] .card,.records-card[data-v-8d17c606] .card .card-title{font-size:1em}.records-card[data-v-8d17c606] .card .card-title .sport-img{height:22px;width:22px}}.user-records .no-records[data-v-f0c85cb8]{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-b3c885de]: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-b3c885de]{display:flex}#user-auth-form #user-form[data-v-b3c885de]{width:60%}#user-auth-form #user-form .account[data-v-b3c885de]{font-size:.9em;padding-left:10px}#user-auth-form #user-form .links[data-v-b3c885de]{font-size:.9em;font-style:italic;padding:0 10px}#user-auth-form #user-form button[data-v-b3c885de]{margin:10px;border:solid 1px var(--app-color)}#user-auth-form #user-form button[data-v-b3c885de]:disabled{border-color:var(--disabled-color)}#user-auth-form #user-form .success-message[data-v-b3c885de]{margin:10px}@media screen and (max-width:1000px){#user-auth-form[data-v-b3c885de]{margin-bottom:50px}#user-auth-form #user-form[data-v-b3c885de]{width:100%}}.user-form[data-v-b3c885de]{margin-top:200px}@media screen and (max-width:700px){.user-form[data-v-b3c885de]{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/css/workouts.dd7c6bdb.css b/fittrackee/dist/static/css/workouts.d2b129a9.css similarity index 92% rename from fittrackee/dist/static/css/workouts.dd7c6bdb.css rename to fittrackee/dist/static/css/workouts.d2b129a9.css index 60033eb0..1daf0f75 100644 --- a/fittrackee/dist/static/css/workouts.dd7c6bdb.css +++ b/fittrackee/dist/static/css/workouts.d2b129a9.css @@ -1 +1 @@ -.workouts-filters .form[data-v-6c38593a]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6c38593a]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-6c38593a]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6c38593a]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-6c38593a]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-6c38593a]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-6c38593a]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-6c38593a]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-6c38593a]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-6c38593a]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-6c38593a]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:75%}.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-6c38593a]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-6c38593a]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6c38593a]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-6c38593a]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6c38593a]{padding:5px}.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-6c38593a]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:wrap}}.workouts-list[data-v-7637d6de]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-7637d6de]{padding:10px 15px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-7637d6de]{display:none}}.workouts-list .box .total[data-v-7637d6de]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-7637d6de]{font-weight:700}.workouts-list .box .top-pagination[data-v-7637d6de]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-7637d6de]{display:flex}.workouts-list .box[data-v-7637d6de] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .smaller th[data-v-7637d6de]{font-size:.95em;padding:10px 0;max-width:100px}.workouts-list .box .workouts-table td[data-v-7637d6de]{text-align:right}.workouts-list .box .workouts-table .sport-col[data-v-7637d6de]{padding:0}.workouts-list .box .workouts-table .workout-title[data-v-7637d6de]{text-align:left;width:100px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-7637d6de]{font-size:.75em;padding-right:5px}.workouts-list .box .workouts-table .workout-title .nav-item[data-v-7637d6de]{white-space:nowrap}.workouts-list .box .workouts-table .workout-title .nav-item .title[data-v-7637d6de]{word-break:break-word;white-space:normal}.workouts-list .box .workouts-table .workout-title .static-map[data-v-7637d6de]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-7637d6de]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-7637d6de]{height:20px;width:20px}.workouts-list .box .workouts-table .workout-date[data-v-7637d6de]{max-width:60px;text-align:left}@media screen and (max-width:700px){.workouts-list .box .workouts-table .workout-date[data-v-7637d6de],.workouts-list .box .workouts-table .workout-title[data-v-7637d6de],.workouts-list .box .workouts-table td[data-v-7637d6de]{text-align:center}.workouts-list .box .workouts-table .sport-col[data-v-7637d6de]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-date[data-v-7637d6de]{max-width:none}.workouts-list .box .workouts-table .workout-title[data-v-7637d6de]{max-width:none;width:100%}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-7637d6de]{display:none}}.workouts-list .more-workouts[data-v-7637d6de]{display:flex;justify-content:center;padding:10px}#workouts[data-v-77e54012]{height:100%}#workouts .workouts-container[data-v-77e54012]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-77e54012]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-77e54012],#workouts .workouts-container .list-container[data-v-77e54012]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-77e54012]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-77e54012]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-77e54012]{display:none}}#workouts .workouts-container .display-filters[data-v-77e54012]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-77e54012]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-77e54012]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-77e54012]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-77e54012]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-77e54012]{width:100%}}#workout-card-title[data-v-4d9f9a8a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-4d9f9a8a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-4d9f9a8a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-4d9f9a8a]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-4d9f9a8a]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-4d9f9a8a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-4d9f9a8a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-4d9f9a8a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-4d9f9a8a]{cursor:pointer;padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-download[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-edit[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-trash[data-v-4d9f9a8a]{padding:0 7px}}.workout-record sup[data-v-1a5282f6]{font-size:75%;line-height:0}.wind[data-v-46a7c31c]{display:flex;justify-content:center}.wind .wind-bearing[data-v-46a7c31c]{padding-left:5px}#workout-weather[data-v-76e9ab62]{padding-top:10px}#workout-weather .weather-img[data-v-76e9ab62]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-76e9ab62]{height:20px}#workout-weather .weather-table[data-v-76e9ab62]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-76e9ab62]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-76e9ab62]{font-size:.8em}#workout-info[data-v-74c5993b]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-74c5993b],#workout-info .mountains[data-v-74c5993b]{padding-right:5px}#workout-info .workout-data[data-v-74c5993b]{padding:5px 0}#workout-info .workout-data .label[data-v-74c5993b]{text-transform:capitalize}#workout-info .workout-data .value[data-v-74c5993b]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-74c5993b]{padding:10px}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:hsla(0,0%,100%,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-control-attribution svg{display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:#fff;background:hsla(0,0%,100%,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;color-adjust:exact}}#workout-map[data-v-6b490f5d]{padding:10px 0}#workout-map .leaflet-container[data-v-6b490f5d],#workout-map .no-map[data-v-6b490f5d]{height:400px;width:600px}#workout-map .no-map[data-v-6b490f5d]{line-height:400px}#workout-map .map-control[data-v-6b490f5d]{background:#fff;padding:5px 10px;border:2px solid #bfc0ab;border-radius:3px;color:#000}#workout-map[data-v-6b490f5d] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-6b490f5d] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width:700px){#workout-map[data-v-6b490f5d]{padding:0}#workout-map .leaflet-container[data-v-6b490f5d]{width:100%;height:300px}#workout-map .no-map[data-v-6b490f5d]{display:none}}.workout-detail[data-v-40fe2f7b]{display:flex}.workout-detail[data-v-40fe2f7b] .card{width:100%}.workout-detail[data-v-40fe2f7b] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-40fe2f7b] .card .card-content{flex-direction:column}}#workout-chart[data-v-dcea1168] .card .card-title{text-transform:capitalize}#workout-chart[data-v-dcea1168] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-dcea1168] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-dcea1168] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-dcea1168] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul li span{border-radius:5%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:20px}@media screen and (max-width:700px){#workout-chart[data-v-dcea1168] .card .card-content{padding:10px 0}#workout-chart[data-v-dcea1168] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-dcea1168] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-dcea1168] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}#workout-note[data-v-028ad527] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-6b8a27cd] .card .card-title{text-transform:capitalize}#workout-segments[data-v-6b8a27cd] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-6b8a27cd] .card .card-content a{font-weight:700}#workout-segments[data-v-6b8a27cd] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-53c4e53a]{display:flex}#workout .container[data-v-53c4e53a]{width:100%;padding:0}#workout .container .workout-container[data-v-53c4e53a]{width:100%}#workout .container .workout-loading[data-v-53c4e53a]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-53c4e53a]{display:flex;align-items:center;height:100%}#workout-edition[data-v-886f93f6] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content{padding:10px 0}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}@media screen and (max-width:700px){#workout-edition[data-v-886f93f6]{margin-bottom:0}#workout-edition.center-form[data-v-886f93f6]{margin:50px auto}#workout-edition.with-margin[data-v-886f93f6]{margin-top:0}} \ No newline at end of file +.workouts-filters .form[data-v-6c38593a]{display:flex;flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6c38593a]{display:flex;flex-direction:column;padding:5px}.workouts-filters .form .form-items-group .form-item[data-v-6c38593a]{display:flex;flex-direction:column}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{display:flex;flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:34%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6c38593a]{padding:5px}.workouts-filters .form .form-items-group .form-item input[data-v-6c38593a]{height:16px}.workouts-filters .form .form-items-group .form-item select[data-v-6c38593a]{height:36px;padding:0 5px}.workouts-filters .form-button[data-v-6c38593a]{display:flex;justify-content:center;flex-wrap:wrap;margin:5px}.workouts-filters .form-button button[data-v-6c38593a]{margin-top:10px;width:100%}@media screen and (max-width:1000px){.workouts-filters .form[data-v-6c38593a]{flex-direction:row;padding-top:5px}.workouts-filters .form .form-items-group[data-v-6c38593a]{padding:0 5px;height:100%}.workouts-filters .form .form-items-group .form-item label[data-v-6c38593a]{font-size:.9em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{flex-direction:column;justify-content:normal;padding:0}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:75%}.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-6c38593a]{margin:10px 5px;width:100%}}@media screen and (max-width:700px){.workouts-filters .form[data-v-6c38593a]{flex-direction:column;padding-top:0}.workouts-filters .form .form-items-group[data-v-6c38593a]{padding:5px}.workouts-filters .form .form-items-group .form-item label[data-v-6c38593a]{font-size:1em}.workouts-filters .form .form-items-group .form-item .form-inputs-group[data-v-6c38593a]{flex-direction:row;justify-content:space-around;align-items:center}.workouts-filters .form .form-items-group .form-item .form-inputs-group input[data-v-6c38593a]{width:50%}.workouts-filters .form .form-items-group .form-item .form-inputs-group span[data-v-6c38593a]{padding:5px}.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:nowrap}.workouts-filters .form-button button[data-v-6c38593a]{margin:10px 5px}}@media screen and (max-width:500px){.workouts-filters .form-button[data-v-6c38593a]{flex-wrap:wrap}}.workouts-list[data-v-0f8ea7b0]{display:flex;flex-direction:column;margin-bottom:50px;width:100%}.workouts-list .box[data-v-0f8ea7b0]{padding:10px 15px}@media screen and (max-width:700px){.workouts-list .box.empty-table[data-v-0f8ea7b0]{display:none}}.workouts-list .box .total[data-v-0f8ea7b0]{display:flex;gap:5px}.workouts-list .box .total .total-label[data-v-0f8ea7b0]{font-weight:700}.workouts-list .box .top-pagination[data-v-0f8ea7b0]{display:none}@media screen and (max-width:700px){.workouts-list .box .top-pagination[data-v-0f8ea7b0]{display:flex}.workouts-list .box[data-v-0f8ea7b0] .pagination-center ul{margin-top:0}}.workouts-list .box .workouts-table .smaller th[data-v-0f8ea7b0]{font-size:.95em;padding:10px 0;max-width:100px}.workouts-list .box .workouts-table td[data-v-0f8ea7b0]{text-align:right}.workouts-list .box .workouts-table .sport-col[data-v-0f8ea7b0]{padding:0}.workouts-list .box .workouts-table .workout-title[data-v-0f8ea7b0]{text-align:left;width:100px;position:relative}.workouts-list .box .workouts-table .workout-title .fa-map-o[data-v-0f8ea7b0]{font-size:.75em;padding-right:5px}.workouts-list .box .workouts-table .workout-title .nav-item[data-v-0f8ea7b0]{white-space:nowrap}.workouts-list .box .workouts-table .workout-title .nav-item .title[data-v-0f8ea7b0]{word-break:break-word;white-space:normal}.workouts-list .box .workouts-table .workout-title .static-map[data-v-0f8ea7b0]{display:none;box-shadow:3px 3px 3px 1px #d3d3d3}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-0f8ea7b0]{display:block}.workouts-list .box .workouts-table .sport-img[data-v-0f8ea7b0]{height:20px;width:20px}.workouts-list .box .workouts-table .workout-date[data-v-0f8ea7b0]{max-width:60px;text-align:left}@media screen and (max-width:700px){.workouts-list .box .workouts-table .workout-date[data-v-0f8ea7b0],.workouts-list .box .workouts-table .workout-title[data-v-0f8ea7b0],.workouts-list .box .workouts-table td[data-v-0f8ea7b0]{text-align:center}.workouts-list .box .workouts-table .sport-col[data-v-0f8ea7b0]{display:flex;justify-content:center;padding:10px}.workouts-list .box .workouts-table .workout-date[data-v-0f8ea7b0]{max-width:none}.workouts-list .box .workouts-table .workout-title[data-v-0f8ea7b0]{max-width:none;width:100%}.workouts-list .box .workouts-table .workout-title:hover .static-map[data-v-0f8ea7b0]{display:none}}.workouts-list .more-workouts[data-v-0f8ea7b0]{display:flex;justify-content:center;padding:10px}#workouts[data-v-77e54012]{height:100%}#workouts .workouts-container[data-v-77e54012]{display:flex;flex-direction:row}@media screen and (max-width:1000px){#workouts .workouts-container[data-v-77e54012]{flex-direction:column}}#workouts .workouts-container .filters-container[data-v-77e54012],#workouts .workouts-container .list-container[data-v-77e54012]{display:flex;flex-direction:column}#workouts .workouts-container .filters-container[data-v-77e54012]{width:25%}@media screen and (max-width:1000px){#workouts .workouts-container .filters-container[data-v-77e54012]{width:100%}}@media screen and (max-width:1000px)and (max-width:700px){#workouts .workouts-container .filters-container.hidden[data-v-77e54012]{display:none}}#workouts .workouts-container .display-filters[data-v-77e54012]{display:none;font-size:.8em;padding:0 20px}#workouts .workouts-container .display-filters span[data-v-77e54012]{cursor:pointer;font-weight:700;padding-left:5px}#workouts .workouts-container .display-filters .fa[data-v-77e54012]{cursor:pointer}@media screen and (max-width:700px){#workouts .workouts-container .display-filters[data-v-77e54012]{display:flex;justify-content:flex-end;align-items:center}}#workouts .workouts-container .list-container[data-v-77e54012]{width:75%}@media screen and (max-width:1000px){#workouts .workouts-container .list-container[data-v-77e54012]{width:100%}}#workout-card-title[data-v-4d9f9a8a]{display:flex;justify-content:space-between;align-items:center}#workout-card-title .workout-arrow[data-v-4d9f9a8a]{cursor:pointer}#workout-card-title .workout-arrow.inactive[data-v-4d9f9a8a]{color:var(--disabled-color);cursor:default}#workout-card-title .workout-card-title[data-v-4d9f9a8a]{display:flex;flex-grow:1;align-items:center}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a]{padding:0 10px}#workout-card-title .workout-card-title .sport-img[data-v-4d9f9a8a] svg{height:35px;width:35px}#workout-card-title .workout-card-title .workout-title span[data-v-4d9f9a8a]{margin-right:5px}#workout-card-title .workout-card-title .workout-date[data-v-4d9f9a8a]{font-size:.8em;font-weight:400}#workout-card-title .workout-card-title .workout-segment[data-v-4d9f9a8a]{font-weight:400}#workout-card-title .workout-card-title .workout-link[data-v-4d9f9a8a]{padding-left:10px}#workout-card-title .workout-card-title .fa[data-v-4d9f9a8a]{cursor:pointer;padding:0 3px}@media screen and (max-width:700px){#workout-card-title .workout-card-title .fa-download[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-edit[data-v-4d9f9a8a],#workout-card-title .workout-card-title .fa-trash[data-v-4d9f9a8a]{padding:0 7px}}.workout-record sup[data-v-1a5282f6]{font-size:75%;line-height:0}.wind[data-v-46a7c31c]{display:flex;justify-content:center}.wind .wind-bearing[data-v-46a7c31c]{padding-left:5px}#workout-weather[data-v-76e9ab62]{padding-top:10px}#workout-weather .weather-img[data-v-76e9ab62]{height:30px;filter:var(--workout-img-color)}#workout-weather .weather-img-small[data-v-76e9ab62]{height:20px}#workout-weather .weather-table[data-v-76e9ab62]{width:100%;text-align:center}#workout-weather .weather-table .weather-th[data-v-76e9ab62]{display:flex;flex-direction:column;text-transform:capitalize}#workout-weather .weather-table tbody[data-v-76e9ab62]{font-size:.8em}#workout-info[data-v-74c5993b]{display:flex;flex-direction:column;padding:10px 20px;width:100%}#workout-info .fa[data-v-74c5993b],#workout-info .mountains[data-v-74c5993b]{padding-right:5px}#workout-info .workout-data[data-v-74c5993b]{padding:5px 0}#workout-info .workout-data .label[data-v-74c5993b]{text-transform:capitalize}#workout-info .workout-data .value[data-v-74c5993b]{font-weight:700;text-transform:lowercase}@media screen and (max-width:700px){#workout-info[data-v-74c5993b]{padding:10px}}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::-moz-selection{background:transparent}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-bottom,.leaflet-top{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:hsla(0,0%,100%,.5)}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px rgba(0,0,0,.4);background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:hsla(0,0%,100%,.8);margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-control-attribution svg{display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;overflow:hidden;box-sizing:border-box;background:#fff;background:hsla(0,0%,100%,.5)}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:17px 0;margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px rgba(0,0,0,.4)}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto;border-bottom:1px solid #ddd;border-top:1px solid #ddd}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678)}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.4)}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;color-adjust:exact}}#workout-map[data-v-6b490f5d]{padding:10px 0}#workout-map .leaflet-container[data-v-6b490f5d],#workout-map .no-map[data-v-6b490f5d]{height:400px;width:600px}#workout-map .no-map[data-v-6b490f5d]{line-height:400px}#workout-map .map-control[data-v-6b490f5d]{background:#fff;padding:5px 10px;border:2px solid #bfc0ab;border-radius:3px;color:#000}#workout-map[data-v-6b490f5d] .fullscreen{display:flex;align-items:center;z-index:1000}#workout-map[data-v-6b490f5d] .fullscreen .fullscreen-map{height:100%;width:100%}@media screen and (max-width:700px){#workout-map[data-v-6b490f5d]{padding:0}#workout-map .leaflet-container[data-v-6b490f5d]{width:100%;height:300px}#workout-map .no-map[data-v-6b490f5d]{display:none}}.workout-detail[data-v-9fc0bab8]{display:flex}.workout-detail[data-v-9fc0bab8] .card{width:100%}.workout-detail[data-v-9fc0bab8] .card .card-content{display:flex;flex-direction:row}@media screen and (max-width:1000px){.workout-detail[data-v-9fc0bab8] .card .card-content{flex-direction:column}}#workout-chart[data-v-dcea1168] .card .card-title{text-transform:capitalize}#workout-chart[data-v-dcea1168] .card .card-content{display:flex;flex-direction:column}#workout-chart[data-v-dcea1168] .card .card-content .chart-radio{width:100%;display:flex;justify-content:center}#workout-chart[data-v-dcea1168] .card .card-content .chart-radio label{padding:0 10px}#workout-chart[data-v-dcea1168] .card .card-content .chart-info{display:flex;justify-content:space-between;font-size:.85em;font-style:italic}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend{display:flex;justify-content:center}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul{display:flex;margin-bottom:0;padding:0}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul li{cursor:pointer;display:flex;font-size:.85em;padding:0 5px}#workout-chart[data-v-dcea1168] .card .card-content #chart-legend ul li span{border-radius:5%;border-style:solid;border-width:1.5px;height:10px;margin-top:4px;margin-left:2px;width:20px}@media screen and (max-width:700px){#workout-chart[data-v-dcea1168] .card .card-content{padding:10px 0}#workout-chart[data-v-dcea1168] .card .card-content .chart-info{display:flex;flex-direction:column-reverse}#workout-chart[data-v-dcea1168] .card .card-content .chart-info .elevation-start{padding:10px 15px 0}#workout-chart[data-v-dcea1168] .card .card-content .chart-info .no-data-cleaning{padding:0 20px}}#workout-note[data-v-028ad527] .card-content{font-style:italic;white-space:pre-wrap}#workout-segments[data-v-6b8a27cd] .card .card-title{text-transform:capitalize}#workout-segments[data-v-6b8a27cd] .card .card-content{padding-bottom:0;padding-top:0}#workout-segments[data-v-6b8a27cd] .card .card-content a{font-weight:700}#workout-segments[data-v-6b8a27cd] .card .card-content ul{padding:0 10px;list-style:square}#workout[data-v-53c4e53a]{display:flex}#workout .container[data-v-53c4e53a]{width:100%;padding:0}#workout .container .workout-container[data-v-53c4e53a]{width:100%}#workout .container .workout-loading[data-v-53c4e53a]{height:calc(100vh - 130px);width:100%}#workout .container .workout-loading .loading[data-v-53c4e53a]{display:flex;align-items:center;height:100%}#workout-edition[data-v-886f93f6] .card .card-title{text-align:center;text-transform:uppercase}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content{padding:10px 0}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items{display:flex;flex-direction:column}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items input{height:20px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .workout-date-duration{display:flex;flex-direction:row;justify-content:space-between}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .workout-date-duration{flex-direction:column}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item{display:flex;flex-direction:column;padding:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-date-time{display:flex}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-date-time #workout-date{margin-right:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item .workout-duration{width:25px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio{display:flex;justify-content:space-around}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio label{font-weight:400}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio label{font-size:.9em}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-items .form-item-radio input{margin-top:-2px;vertical-align:middle}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-buttons{display:flex;justify-content:flex-end}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .form-buttons button{margin:5px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help{display:flex;justify-content:space-around;margin-top:10px}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div{display:flex}@media screen and (max-width:1000px){#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div{flex-direction:column}}#workout-edition[data-v-886f93f6] .card .card-content #workout-form .files-help div ul{margin:0;padding:0 20px}@media screen and (max-width:700px){#workout-edition[data-v-886f93f6]{margin-bottom:0}#workout-edition.center-form[data-v-886f93f6]{margin:50px auto}#workout-edition.with-margin[data-v-886f93f6]{margin-top:0}} \ No newline at end of file diff --git a/fittrackee/dist/static/js/app.b9fbed25.js b/fittrackee/dist/static/js/app.b9fbed25.js new file mode 100644 index 00000000..3d99eb53 --- /dev/null +++ b/fittrackee/dist/static/js/app.b9fbed25.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 S}});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 during gpx processing":e=>{const{normalize:t}=e;return t(["Fehler bei der GPX-Verarbeitung."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Fehler beim Einlesen der GPX-Datei"])},"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"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autorisieren"])},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"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Angezeigt"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Versteckt"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},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={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Eine neue OAuth2-Anwendung hinzufügen"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["ID"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Geheimnis"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Anwendungsbeschreibung"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Erstellt am"])},NAME:e=>{const{normalize:t}=e;return t(["Anwendungsname"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Weiterleitungs-URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Geltungsbereich"])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf auth-Endpunkte"])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf auth-Endpunkte"])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf users-Endpunkte"])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf users-Endpunkte"])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf workouts-Endpunkte"])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf workouts-Endpunkte"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf die Anwendungskonfiguration"])}},URL:e=>{const{normalize:t}=e;return t(["Anwendungs-URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist sicher, dass du diese App löschen willst?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Die Anwendung ",n(r(0))," fragt an:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2-Anwendungen"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," den Zugriff auf deinen Account erlauben?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["in Zwischenablage kopieren"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Anwendung löschen"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Anwendung hinzufügen"])},NO_APP:e=>{const{normalize:t}=e;return t(["Anwendung wurde nicht gefunden!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["keine Anwendungen"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["keine Beschreibung"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Alle Tokens zurückrufen"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du alle Tokens zurückrufen möchtest?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Alle vorhandenen und vergebenen Tokens wurde zurückgerufen."])}},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Virtuell)"])}},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"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Anstiegs-bezogene Daten (Aufnahmen, gesamt)"])},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"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Datumsanzeigeformat"])},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"])},APPS:e=>{const{normalize:t}=e;return t(["Anwendungen"])},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."])}},E={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_HA:e=>{const{normalize:t}=e;return t(["Höchster Anstieg"])},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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});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"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},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_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_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},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(["Add an application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Virtual)"])}},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"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Date display format"])},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.'])}},E={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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});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)"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},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(["Description de l'application"])},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_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_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},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 application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Virtuel)"])}},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"])},DATE_FORMAT:e=>{const{normalize:t}=e;return t(["Format d'affichage de la date"])},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."])}},E={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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},4970: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"},E={class:"footer-item"},S=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"},R=["href"],I=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),U={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",E,[S,(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,R)])):(0,l.kq)("",!0),I,(0,l._)("div",U,[(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"},$=k((()=>(0,l._)("i",{class:"fa fa-language"},null,-1)));var B=(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"),E=(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)(E,{key:2,class:"nav-item",options:(0,c.SU)(D.mT),selected:(0,c.SU)(o),onSelected:m},{default:(0,l.w5)((()=>[$])),_:1},8,["options","selected"])):(0,l.kq)("",!0)])],2)])])}}});const Z=(0,z.Z)(B,[["__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(5073),_e=n(2894);const Ee={class:"alert-message"},Se=["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",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Se)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Re={class:"custom-textarea"},Ie=["id","name","maxLenght","disabled"],Ue={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",Re,[(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,Ie),[[o.nr,r.value]]),(0,l._)("div",Ue,(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 $e={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"},Be=(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=[Be,Ze];function qe(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",$e,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",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"},it=(0,l.uE)(' silhouette of a person riding a bicycle with virtual indicator ',4),lt=[it];function ct(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,lt)}var ut={name:"CyclingVirtual"};const dt=(0,z.Z)(ut,[["render",ct]]);var mt=dt;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 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Et=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),St=(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),Tt=[Et,St];function pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_t,Tt)}var At={name:"Hiking"};const Ot=(0,z.Z)(At,[["render",pt]]);var Rt=Ot;const It={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"},Ut=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),gt=(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),Nt=[Ut,gt];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",It,Nt)}var ht={name:"MountainBiking"};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: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"},Ct=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Dt=[Ct];function kt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vt,Dt)}var Pt={name:"MountainBikingElectric"};const Lt=(0,z.Z)(Pt,[["render",kt]]);var Mt=Lt;const bt={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"},yt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Gt=(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),Ft=[yt,Gt];function Wt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",bt,Ft)}var Kt={name:"Rowing"};const Yt=(0,z.Z)(Kt,[["render",Wt]]);var xt=Yt;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 494.49 494.49",style:{"enable-background":"new 0 0 494.49 494.49"},"xml:space":"preserve"},Bt=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Zt=(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),Ht=[Bt,Zt];function qt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",$t,Ht)}var Vt={name:"Running"};const jt=(0,z.Z)(Vt,[["render",qt]]);var Xt=jt;const Jt={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"},Qt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),en=(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),tn=[Qt,en];function nn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Jt,tn)}var rn={name:"SkiingAlpine"};const an=(0,z.Z)(rn,[["render",nn]]);var on=an;const sn={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"},ln=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),cn=(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),un=[ln,cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",sn,un)}var mn={name:"SkiingCrossCountry"};const _n=(0,z.Z)(mn,[["render",dn]]);var En=_n;const Sn={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"},Tn=(0,l.uE)('silhouette of a person with snowshoes',6),pn=[Tn];function An(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Sn,pn)}var On={name:"Snowshoes"};const Rn=(0,z.Z)(On,[["render",An]]);var In=Rn;const Un={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"},gn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),Nn=(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),zn=[gn,Nn];function hn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Un,zn)}var wn={name:"Trail"};const fn=(0,z.Z)(wn,[["render",hn]]);var vn=fn;const Cn={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"},Dn=(0,l.uE)('silhouette of a walking person',3),kn=[Dn];function Pn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Cn,kn)}var Ln={name:"Walking"};const Mn=(0,z.Z)(Ln,[["render",Pn]]);var bn=Mn;const yn=["title"];var Gn=(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),"Cycling (Virtual)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(mt,{key:2})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rt,{key:3})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Mt,{key:5})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(xt,{key:6})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Xt,{key:7})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(on,{key:8})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(In,{key:10})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(vn,{key:11})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bn,{key:12})):(0,l.kq)("",!0)],12,yn))}});const Fn=Gn;var Wn=Fn;const Kn={class:"loader"};function Yn(e,t){return(0,l.wg)(),(0,l.iD)("div",Kn)}const xn={},$n=(0,z.Z)(xn,[["render",Yn],["__scopeId","data-v-4c9921ee"]]);var Bn=$n;const Zn={id:"modal"},Hn={class:"custom-modal"},qn={key:0,class:"modal-message"},Vn={key:1,class:"modal-message"},jn={class:"modal-buttons"};var Xn=(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",Zn,[(0,l._)("div",Hn,[(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",qn,[(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",Vn,(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",jn,[(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 Jn=(0,z.Z)(Xn,[["__scopeId","data-v-e8fcfaba"]]);var Qn=Jn;const er=[{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:Bn,name:"Loader"},{target:Qn,name:"Modal"},{target:Wn,name:"SportImage"}],tr={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 nr=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 rr=(0,o.ri)(ue).provide("sportColors",nr.Zo).use(de.Z).use(_e.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",tr);er.forEach((e=>{rr.component(e.name,e.target)})),rr.mount("#app")},5073:function(e,t,n){"use strict";n.d(t,{Z:function(){return Cl}});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"],E={for:"admin_contact"},S=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},R={class:"info-box"},I=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),U={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",E,[(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,S))]),(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",R,[I,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",U,[(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 $=x;const B={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",B,[(0,a.Wm)($,{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)($,{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)($,{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)($,{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"},Ee={class:"text-left sport-action"},Se=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"},Re={class:"cell-heading"},Ie={class:"text-center"},Ue={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",Ee,(0,o.zw)(e.$t("admin.ACTION")),1),Se])]),(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",Re,(0,o.zw)(e.$t("admin.SPORTS.TABLE.LABEL")),1),(0,a.Uk)(" "+(0,o.zw)(t.translatedLabel),1)]),(0,a._)("td",Ie,[(0,a._)("span",Ue,(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(8626),Pe=n(5020),Le=n(6595);const Me={class:"users-filters"},be={class:"search-username"},ye=["onKeyup","placeholder"];var Ge=(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",Me,[(0,a._)("div",be,[(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,ye),[[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 Fe=(0,P.Z)(Ge,[["__scopeId","data-v-627a8e91"]]);var We=Fe,Ke=n(2766),Ye=n(6558);const xe=e=>((0,a.dD)("data-v-dc12ff78"),e=e(),(0,a.Cn)(),e),$e={id:"admin-users",class:"admin-card"},Be={key:0,class:"no-users"},Ze={key:1,class:"responsive-table"},He=xe((()=>(0,a._)("th",null,"#",-1))),qe={class:"left-text"},Ve={class:"left-text"},je={class:"left-text"},Xe={class:"cell-heading"},Je={class:"cell-heading"},Qe={class:"cell-heading"},et={class:"cell-heading"},tt={class:"text-center"},nt={class:"cell-heading"},rt={class:"text-center"},at={class:"cell-heading"},ot={class:"text-center"},st={class:"cell-heading"},it={class:"text-center"},lt={class:"cell-heading"},ct=["disabled","onClick"];var ut=(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,Ke.pm)(n.query,d,m));const E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),S=(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){I("q",e.value)}function R(e,n){t.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,admin:n})}function I(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,Ke.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)(We,{onFilterOnUsername:O}),(0,a.Wm)(ke.Z,{sort:(0,i.SU)(Ke.fS),order_by:d,query:(0,i.SU)(_),message:"admin.USERS.SELECTS.ORDER_BY",onUpdateSelect:I},null,8,["sort","query"]),0===(0,i.SU)(S).length?((0,a.wg)(),(0,a.iD)("div",Be,(0,o.zw)(e.$t("user.NO_USERS_FOUND")),1)):((0,a.wg)(),(0,a.iD)("div",Ze,[(0,a._)("table",null,[(0,a._)("thead",null,[(0,a._)("tr",null,[He,(0,a._)("th",qe,(0,o.zw)(e.$t("user.USERNAME")),1),(0,a._)("th",Ve,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a._)("th",je,(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)(S),(t=>((0,a.wg)(),(0,a.iD)("tr",{key:t.username},[(0,a._)("td",null,[(0,a._)("span",Xe,(0,o.zw)(e.$t("user.PROFILE.PICTURE")),1),(0,a.Wm)(Le.Z,{user:t},null,8,["user"])]),(0,a._)("td",null,[(0,a._)("span",Je,(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",Qe,(0,o.zw)(e.$t("user.EMAIL")),1),(0,a.Uk)(" "+(0,o.zw)(t.email),1)]),(0,a._)("td",null,[(0,a._)("span",et,(0,o.zw)(e.$t("user.PROFILE.REGISTRATION_DATE")),1),(0,a.Uk)(" "+(0,o.zw)((0,i.SU)(Ye.p6)(t.created_at,(0,i.SU)(E).timezone,(0,i.SU)(E).date_format)),1)]),(0,a._)("td",tt,[(0,a._)("span",nt,(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",rt,[(0,a._)("span",at,(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",ot,[(0,a._)("span",st,(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",it,[(0,a._)("span",lt,(0,o.zw)(e.$t("admin.ACTION")),1),(0,a._)("button",{class:(0,o.C_)({danger:t.admin}),disabled:t.username===(0,i.SU)(E).username,onClick:e=>R(t.username,!t.admin)},(0,o.zw)(e.$t(`admin.USERS.TABLE.${t.admin?"REMOVE":"ADD"}_ADMIN_RIGHTS`)),11,ct)])])))),128))])]),(0,i.SU)(T).page?((0,a.wg)(),(0,a.j4)(Pe.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 dt=(0,P.Z)(ut,[["__scopeId","data-v-dc12ff78"]]);var mt=dt,_t=n(2179);const Et={class:"profile-tabs custom-checkboxes-group"},St={class:"profile-tabs-checkboxes custom-checkboxes"},Tt=["id","name","checked","disabled","onInput"];var pt=(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",St,[((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,Tt),(0,a._)("span",null,(0,o.zw)(e.$t(`user.PROFILE.TABS.${t}`)),1)])])))),128))])]))}});const At=pt;var Ot=At;const Rt={id:"user-profile"},It={class:"box"};var Ut=(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)(_t.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",It,[(0,a.Wm)(Ot,{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 gt=(0,P.Z)(Ut,[["__scopeId","data-v-9729cba4"]]);var Nt=gt,zt=n(1585),ht=n(6287);const wt={id:"user-preferences",class:"description-list"},ft={class:"profile-buttons"};var vt=(0,a.aZ)({__name:"UserPreferences",props:{user:null},setup(e){const t=e,n=(0,c.o)(),r=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),s=(0,a.Fl)((()=>t.user.language?ht.zK[t.user.language]:ht.zK.en)),u=(0,a.Fl)((()=>t.user.weekm?"MONDAY":"SUNDAY")),d=(0,a.Fl)((()=>t.user.timezone?t.user.timezone:"Europe/Paris")),m=(0,a.Fl)((()=>t.user.date_format?t.user.date_format:"MM/dd/yyyy")),_=(0,a.Fl)((()=>t.user.display_ascent?"DISPLAYED":"HIDDEN"));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",wt,[(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)(s)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.TIMEZONE"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(d)),1),(0,a._)("dt",null,(0,o.zw)(t.$t("user.PROFILE.DATE_FORMAT"))+":",1),(0,a._)("dd",null,(0,o.zw)((0,i.SU)(Ye.mh)((0,i.SU)(m),(0,i.SU)(r))),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)(u)}`)),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)(_)}`)),1)]),(0,a._)("div",ft,[(0,a._)("button",{onClick:n[0]||(n[0]=e=>t.$router.push("/profile/edit/preferences"))},(0,o.zw)(t.$t("user.PROFILE.EDIT_PREFERENCES")),1),(0,a._)("button",{onClick:n[1]||(n[1]=e=>t.$router.push("/"))},(0,o.zw)(t.$t("common.HOME")),1)])]))}});const Ct=vt;var Dt=Ct;const kt={id:"user-profile-edition",class:"center-card"};var Pt=(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",kt,[(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)(Ot,{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 Lt=Pt;var Mt=Lt,bt=n(8403);const yt={id:"user-infos-edition"},Gt={class:"profile-form form-box"},Ft={key:1,class:"info-box success-message"},Wt=["onSubmit"],Kt={class:"form-items",for:"email"},Yt=["disabled"],xt={class:"form-items",for:"password-field"},$t={class:"form-items",for:"new-password-field"},Bt={class:"form-buttons"},Zt={class:"confirm",type:"submit"};var Ht=(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])),E=(0,i.iH)(!1),S=(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 R(e){u.password=e}function I(e){u.new_password=e}function U(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),E.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&&(R(""),I(""),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",yt,[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",Gt,[(0,i.SU)(S)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(S)},null,8,["message"])):(0,a.kq)("",!0),(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",Ft,(0,o.zw)(e.$t(`user.PROFILE.SUCCESSFUL_${E.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)(U,["prevent"])},[(0,a._)("label",Kt,[(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,Yt),[[s.nr,u.email]])]),(0,a._)("label",xt,[(0,a.Uk)((0,o.zw)(e.$t("user.CURRENT_PASSWORD"))+"* ",1),(0,a.Wm)(bt.Z,{id:"password-field",disabled:(0,i.SU)(d),password:u.password,required:!0,onUpdatePassword:R,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)(bt.Z,{id:"new-password-field",disabled:(0,i.SU)(d),checkStrength:!0,password:u.new_password,isSuccess:!1,onUpdatePassword:I,onPasswordError:A},null,8,["disabled","password"])]),(0,a._)("div",Bt,[(0,a._)("button",Zt,(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,Wt)])])}}});const qt=(0,P.Z)(Ht,[["__scopeId","data-v-37b8c4c8"]]);var Vt=qt,jt=n(4850);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,Ye.p6)(t.user.created_at,t.user.timezone,t.user.date_format):"")),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,jt.Z)(new Date(e.birth_date),"yyyy-MM-dd"):"",r.location=e.location?e.location:"",r.bio=e.bio?e.bio:""}function E(e){r.bio=e}function S(){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)(S,["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:E},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 En=(0,P.Z)(_n,[["__scopeId","data-v-5e5a4552"]]);var Sn=En;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"],Rn={class:"picture-help"},In={class:"info-box"},Un=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):"",E=(0,i.iH)(null);function S(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(E.value=e.target.files[0])}function p(){E.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:E.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)(Le.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",Rn,[(0,a._)("span",In,[Un,(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:!E.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:S},(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 E(e){m.value=e}function S(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&S(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=>S((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=>S(e),onMouseover:e=>E(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"},xn=["disabled"],$n=["value"],Bn={class:"form-items form-checkboxes"},Zn={class:"checkboxes-label"},Hn={class:"checkboxes"},qn=["id","name","checked","disabled","onInput"],Vn={class:"checkbox-label"},jn={class:"form-items form-checkboxes"},Xn={class:"checkboxes-label"},Jn={class:"checkboxes"},Qn=["id","name","checked","disabled","onInput"],er={class:"checkbox-label"},tr={class:"form-items form-checkboxes"},nr={class:"checkboxes-label"},rr={class:"checkboxes"},ar=["id","name","checked","disabled","onInput"],or={class:"checkbox-label"},sr={class:"form-buttons"},ir={class:"confirm",type:"submit"};var lr=(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",date_format:"dd/MM/yyyy",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])),E=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),S=(0,a.Fl)((()=>(0,Ye.d2)((new Date).toUTCString(),t.user.timezone,r.language)));function T(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.date_format=e.date_format?e.date_format:"dd/MM/yyyy",r.weekm=!!e.weekm&&e.weekm}function p(){n.dispatch(l.YN.ACTIONS.UPDATE_USER_PREFERENCES,r)}function A(e){r.timezone=e}function O(e){r.display_ascent=e}function R(e){r.imperial_units=e}function I(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&T(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)(E)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(E)},null,8,["message"])):(0,a.kq)("",!0),(0,a._)("form",{onSubmit:(0,s.iM)(p,["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)(ht.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:A},null,8,["input","disabled"])]),(0,a._)("label",Yn,[(0,a.Uk)((0,o.zw)(e.$t("user.PROFILE.DATE_FORMAT"))+" ",1),(0,a.wy)((0,a._)("select",{id:"date_format","onUpdate:modelValue":t[1]||(t[1]=e=>r.date_format=e),disabled:(0,i.SU)(_)},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(S),(e=>((0,a.wg)(),(0,a.iD)("option",{value:e.value,key:e.value},(0,o.zw)(e.label),9,$n)))),128))],8,xn),[[s.bM,r.date_format]])]),(0,a._)("div",Bn,[(0,a._)("span",Zn,(0,o.zw)(e.$t("user.PROFILE.FIRST_DAY_OF_WEEK")),1),(0,a._)("div",Hn,[((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=>I(t.value)},null,40,qn),(0,a._)("span",Vn,(0,o.zw)(e.$t(`user.PROFILE.${t.label}`)),1)]))),64))])]),(0,a._)("div",jn,[(0,a._)("span",Xn,(0,o.zw)(e.$t("user.PROFILE.UNITS.LABEL")),1),(0,a._)("div",Jn,[((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=>R(t.value)},null,40,Qn),(0,a._)("span",er,(0,o.zw)(e.$t(`user.PROFILE.UNITS.${t.label}`)),1)]))),64))])]),(0,a._)("div",tr,[(0,a._)("span",nr,(0,o.zw)(e.$t("user.PROFILE.ASCENT_DATA")),1),(0,a._)("div",rr,[((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=>O(t.value)},null,40,ar),(0,a._)("span",or,(0,o.zw)(e.$t(`common.${t.label}`)),1)]))),64))])]),(0,a._)("div",sr,[(0,a._)("button",ir,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,a._)("button",{class:"cancel",onClick:t[2]||(t[2]=(0,s.iM)((t=>e.$router.push("/profile/preferences")),["prevent"]))},(0,o.zw)(e.$t("buttons.CANCEL")),1)])],40,yn)])])}}});const cr=(0,P.Z)(lr,[["__scopeId","data-v-065d5e6c"]]);var ur=cr;const dr=["profile:read","profile:write","users:read","users:write","workouts:read","workouts:write"],mr=["application:write"],_r={id:"new-oauth2-app"},Er={id:"new-oauth2-title"},Sr={id:"apps-form"},Tr=["onSubmit"],pr={class:"form-items"},Ar={class:"form-item"},Or={for:"app-name"},Rr={class:"form-item"},Ir={for:"app-description"},Ur={class:"form-item"},gr={for:"app-url"},Nr={class:"form-item"},zr={for:"app-redirect-uri"},hr={class:"form-item-scope"},wr={class:"form-item-scope-label"},fr={class:"scope-label"},vr=["name","checked","onChange"],Cr=["innerHTML"],Dr={class:"form-buttons"},kr=["disabled"];var Pr=(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)((()=>S(t.authUser,mr,dr)));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 E(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function S(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",_r,[(0,a._)("h1",Er,(0,o.zw)(e.$t("oauth2.ADD_A_NEW_APP")),1),(0,a._)("div",Sr,[(0,a._)("form",{onSubmit:(0,s.iM)(m,["prevent"])},[(0,a._)("div",pr,[(0,a._)("div",Ar,[(0,a._)("label",Or,(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",Rr,[(0,a._)("label",Ir,(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",Ur,[(0,a._)("label",gr,(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",Nr,[(0,a._)("label",zr,(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",hr,[(0,a._)("div",wr,(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",fr,[(0,a._)("input",{type:"checkbox",name:t,checked:u.includes(t),onChange:e=>E(t)},null,40,vr),(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,Cr)])))),128))])]),(0,a._)("div",Dr,[(0,a._)("button",{class:"confirm",type:"submit",disabled:0===u.length},(0,o.zw)(e.$t("buttons.SUBMIT")),9,kr),(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,Tr)])])}}});const Lr=(0,P.Z)(Pr,[["__scopeId","data-v-0657ee77"]]);var Mr=Lr;const br={id:"authorize-oauth2-app"},yr={key:0},Gr={id:"authorize-oauth2-title"},Fr={class:"oauth2-access description-list"},Wr={class:"client-scope"},Kr=["innerHTML"],Yr={class:"authorize-oauth2-buttons"},xr={key:1},$r={class:"no-app"};var Br=(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",br,[(0,i.SU)(s).client_id?((0,a.wg)(),(0,a.iD)("div",yr,[(0,a._)("h1",Gr,[(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",Fr,[(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",Wr,[(0,a._)("code",null,(0,o.zw)(t),1)]),(0,a._)("dd",{innerHTML:e.$t(`oauth2.APP.SCOPE.${t}_DESCRIPTION`)},null,8,Kr)],64)))),128))]),(0,a._)("div",Yr,[(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",xr,[(0,a._)("p",$r,(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 Zr=(0,P.Z)(Br,[["__scopeId","data-v-3b2fe9ed"]]);var Hr=Zr;const qr={id:"oauth2-apps"};var Vr=(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",qr,[(0,a.Wm)(n,{authUser:(0,i.SU)(r)},null,8,["authUser"])])}}});const jr=Vr;var Xr=jr;const Jr={id:"oauth2-app",class:"description-list"},Qr={key:1},ea={key:0,class:"info-box success-message"},ta=["title"],na={key:0},ra={key:1,class:"app-secret"},aa=["title"],oa={class:"client-scopes"},sa={class:"app-buttons"},ia={key:2},la={class:"no-app"};var ca=(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])),E=(0,i.iH)(!1),S=(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 R(e){S.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",I(!0)}function I(e){E.value=e,e||(S.value=null)}function U(e){"oauth2.APP_DELETION_CONFIRMATION"===S.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&&I(!1)})),(e,t)=>{const n=(0,a.up)("Modal");return(0,a.wg)(),(0,a.iD)("div",Jr,[E.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(S.value),onConfirmAction:t[0]||(t[0]=e=>U((0,i.SU)(m).id)),onCancelAction:t[1]||(t[1]=e=>I(!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",Qr,[(0,i.SU)(u)||(0,i.SU)(_)?((0,a.wg)(),(0,a.iD)("div",ea,(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,ta)):(0,a.kq)("",!0)]),(0,i.SU)(u)&&(0,i.SU)(m).client_secret?((0,a.wg)(),(0,a.iD)("dt",na,(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",ra,[(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,aa)):(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)(Ye.p6)((0,i.SU)(m).issued_at,(0,i.SU)(d).timezone,(0,i.SU)(d).date_format)),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",oa,[((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",sa,[(0,a._)("button",{class:"danger",onClick:t[2]||(t[2]=e=>R(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>R(!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",ia,[(0,a._)("p",la,(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 ua=(0,P.Z)(ca,[["__scopeId","data-v-3a844fa2"]]);var da=ua;const ma={id:"oauth2-apps-list"},_a={class:"apps-list"},Ea={key:0},Sa={class:"app-issued-at"},Ta={key:1,class:"no-apps"},pa={class:"app-list-buttons"};var Aa=(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 _=E(s.query);function E(e){const t={};return e.page&&(t.page=(0,Ke.z_)(e.page,Ke.Hf)),t}function S(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{S(_)})),(0,a.YP)((()=>s.query),(async e=>{_=E(e),S(_)})),(e,t)=>{const n=(0,a.up)("router-link");return(0,a.wg)(),(0,a.iD)("div",ma,[(0,a._)("p",_a,(0,o.zw)(e.$t("oauth2.APPS_LIST")),1),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.iD)("ul",Ea,[((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",Sa,(0,o.zw)(e.$t("oauth2.APP.ISSUE_AT"))+" "+(0,o.zw)((0,i.SU)(Ye.p6)(t.issued_at,(0,i.SU)(u).timezone,(0,i.SU)(u).date_format)),1)])))),128))])):((0,a.wg)(),(0,a.iD)("div",Ta,(0,o.zw)(e.$t("oauth2.NO_APPS")),1)),(0,i.SU)(d).length>0?((0,a.wg)(),(0,a.j4)(Pe.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",pa,[(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 Oa=(0,P.Z)(Aa,[["__scopeId","data-v-efa45ea0"]]);var Ra=Oa;const Ia={id:"user-sport-preferences"},Ua={key:0,class:"responsive-table"},ga={class:"mobile-display"},Na={key:0,class:"profile-buttons mobile-display"},za={key:1,class:"profile-buttons"},ha={class:"text-left"},wa={key:0},fa={class:"cell-heading"},va=["value"],Ca={class:"cell-heading"},Da={key:0,class:"disabled-message"},ka={key:1,class:"fa fa-refresh fa-spin fa-fw"},Pa={class:"cell-heading"},La={class:"cell-heading"},Ma=["checked"],ba={class:"cell-heading"},ya=["value"],Ga={key:1},Fa={key:0,class:"action-buttons"},Wa={class:"cell-heading"},Ka=["onClick"],Ya={key:1,class:"edition-buttons"},xa=["disabled"],$a=["disabled","onClick"],Ba=["disabled"],Za={key:0,class:"profile-buttons"},Ha={key:1,class:"profile-buttons"};var qa=(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"),E=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),S=(0,a.Fl)((()=>(0,le.xH)(E.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 R(e){return A.sport_id===e}function I(e){A.color=e.target.value}function U(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",Ia,[(0,i.SU)(E).length>0?((0,a.wg)(),(0,a.iD)("div",Ua,[(0,a._)("div",ga,[(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Na,[(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",za,[(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",ha,(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",wa,(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)(S),(s=>((0,a.wg)(),(0,a.iD)("tr",{key:s.id},[(0,a._)("td",null,[(0,a._)("span",fa,(0,o.zw)(e.$t("user.PROFILE.SPORT.COLOR")),1),R(s.id)?((0,a.wg)(),(0,a.iD)("input",{key:0,class:"sport-color",type:"color",value:A.color,onInput:I},null,40,va)):((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",Ca,(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",Da," ("+(0,o.zw)(e.$t("user.PROFILE.SPORT.DISABLED_BY_ADMIN"))+") ",1)),(0,i.SU)(T)&&R(s.id)?((0,a.wg)(),(0,a.iD)("i",ka)):(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",Pa,(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",La,(0,o.zw)(e.$t("user.PROFILE.SPORT.IS_ACTIVE")),1),R(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,Ma)):((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",ba,(0,o.zw)(e.$t("user.PROFILE.SPORT.STOPPED_SPEED_THRESHOLD")),1),R(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:U},null,40,ya)):((0,a.wg)(),(0,a.iD)("span",Ga,(0,o.zw)(s.stopped_speed_threshold),1))],2),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("td",Fa,[(0,a._)("span",Wa,(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,Ka)):(0,a.kq)("",!0),R(s.id)?((0,a.wg)(),(0,a.iD)("div",Ya,[(0,a._)("button",{disabled:(0,i.SU)(T),onClick:z},(0,o.zw)(e.$t("buttons.SUBMIT")),9,xa),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:e=>h(e,s.id)},(0,o.zw)(e.$t("buttons.RESET")),9,$a),(0,a._)("button",{disabled:(0,i.SU)(T),onClick:t[3]||(t[3]=e=>O(null))},(0,o.zw)(e.$t("buttons.CANCEL")),9,Ba)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])]),(0,i.SU)(u)?((0,a.wg)(),(0,a.iD)("div",Za,[(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",Ha,[(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 Va=(0,P.Z)(qa,[["__scopeId","data-v-74e52489"]]);var ja=Va,Xa=n(2894);const Ja=e=>((0,a.dD)("data-v-74257266"),e=e(),(0,a.Cn)(),e),Qa={class:"about-text"},eo=["innerHTML"],to=Ja((()=>(0,a._)("i",{class:"fa fa-book fa-padding","aria-hidden":"true"},null,-1))),no={href:"https://samr1.github.io/FitTrackee/",target:"_blank",rel:"noopener noreferrer"},ro=Ja((()=>(0,a._)("i",{class:"fa fa-github fa-padding","aria-hidden":"true"},null,-1))),ao={href:"https://github.com/SamR1/FitTrackee",target:"_blank",rel:"noopener noreferrer"},oo=Ja((()=>(0,a._)("i",{class:"fa fa-balance-scale fa-padding","aria-hidden":"true"},null,-1))),so=Ja((()=>(0,a._)("a",{href:"https://choosealicense.com/licenses/agpl-3.0/",target:"_blank",rel:"noopener noreferrer"}," AGPLv3 ",-1))),io={key:0},lo=Ja((()=>(0,a._)("i",{class:"fa fa-envelope-o fa-padding","aria-hidden":"true"},null,-1))),co=["href"];var uo=(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",Qa,[(0,a._)("div",null,[(0,a._)("p",{class:"error-message",innerHTML:e.$t("about.FITTRACKEE_DESCRIPTION")},null,8,eo),(0,a._)("p",null,[to,(0,a._)("a",no,(0,o.zw)((0,o.kC)(e.$t("common.DOCUMENTATION"))),1)]),(0,a._)("p",null,[ro,(0,a._)("a",ao,(0,o.zw)(e.$t("about.SOURCE_CODE")),1)]),(0,a._)("p",null,[oo,(0,a.Wm)(r,{keypath:"about.FITTRACKEE_LICENSE"},{default:(0,a.w5)((()=>[so])),_:1})]),(0,i.SU)(n).admin_contact?((0,a.wg)(),(0,a.iD)("div",io,[lo,(0,a._)("a",{href:`mailto:${(0,i.SU)(n).admin_contact}`},(0,o.zw)(e.$t("about.CONTACT_ADMIN")),9,co)])):(0,a.kq)("",!0)])])}}});const mo=(0,P.Z)(uo,[["__scopeId","data-v-74257266"]]);var _o=mo;const Eo={id:"bike"},So=["src"];function To(e,t){return(0,a.wg)(),(0,a.iD)("div",Eo,[(0,a._)("img",{class:"bike-img",src:"/img/bike.svg",alt:"mountain bike"},null,8,So)])}const po={},Ao=(0,P.Z)(po,[["render",To],["__scopeId","data-v-795f7f5f"]]);var Oo=Ao;const Ro={id:"about",class:"view"},Io={class:"container"},Uo={class:"container-sub"},go={class:"container-sub about-details"};var No=(0,a.aZ)({__name:"AboutView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ro,[(0,a._)("div",Io,[(0,a._)("div",Uo,[(0,a.Wm)(Oo)]),(0,a._)("div",go,[(0,a.Wm)(_o)])])]))}});const zo=(0,P.Z)(No,[["__scopeId","data-v-bffb50d0"]]);var ho=zo,wo=n(1818),fo=n(2056);const vo=e=>((0,a.dD)("data-v-96abcc38"),e=e(),(0,a.Cn)(),e),Co={class:"timeline-workout"},Do={class:"box"},ko={class:"workout-user-date"},Po={class:"workout-user"},Lo=["title"],Mo={key:0},bo={key:1,class:"no-map"},yo={class:"img"},Go={class:"data"},Fo=vo((()=>(0,a._)("i",{class:"fa fa-clock-o","aria-hidden":"true"},null,-1))),Wo={key:0},Ko={class:"data"},Yo=vo((()=>(0,a._)("i",{class:"fa fa-road","aria-hidden":"true"},null,-1))),xo={key:0,class:"data elevation"},$o=["alt"],Bo={class:"data-values"},Zo=(0,a.Uk)("/ "),Ho={key:1,class:"data altitude"},qo=vo((()=>(0,a._)("i",{class:"fa fa-location-arrow","aria-hidden":"true"},null,-1))),Vo={class:"data-values"},jo=(0,a.Uk)(" +"),Xo=(0,a.Uk)("/- ");var Jo=(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",Co,[(0,a._)("div",Do,[(0,a._)("div",ko,[(0,a._)("div",Po,[(0,a.Wm)(Le.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)(Ye.p6)((0,i.SU)(s).workout_date,(0,i.SU)(r).timezone,(0,i.SU)(r).date_format)},(0,o.zw)((0,i.SU)(wo.Z)(new Date((0,i.SU)(s).workout_date),new Date,{addSuffix:!0,locale:(0,i.SU)(m)})),9,Lo)):(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",Mo,[(0,i.SU)(s).with_gpx?((0,a.wg)(),(0,a.j4)(fo.Z,{key:0,workout:(0,i.SU)(s)},null,8,["workout"])):((0,a.wg)(),(0,a.iD)("div",bo,(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",yo,[(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",Go,[Fo,(0,i.SU)(s)?((0,a.wg)(),(0,a.iD)("span",Wo,(0,o.zw)((0,i.SU)(s).moving),1)):(0,a.kq)("",!0)]),(0,a._)("div",Ko,[Yo,(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",xo,[(0,a._)("img",{class:"mountains",src:"/img/workouts/mountains.svg",alt:e.$t("workouts.ELEVATION")},null,8,$o),(0,a._)("div",Bo,[(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),Zo,(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",Ho,[qo,(0,a._)("div",Vo,[jo,(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),Xo,(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 Qo=(0,P.Z)(Jo,[["__scopeId","data-v-96abcc38"]]);var es=Qo,ts=n(5630),ns=n(3768);const rs={id:"timeline"},as={class:"section-title"},os={key:0},ss={key:1},is={key:1,class:"more-workouts"};var ls=(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)((()=>S()));const _=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>_.value.length>0&&null!==_.value[_.value.length-1].previous_workout));function S(){n.dispatch(l.aX.ACTIONS.GET_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...ns.eR})}function T(){u.value+=1,n.dispatch(l.aX.ACTIONS.GET_MORE_TIMELINE_WORKOUTS,{page:u.value,per_page:d,...ns.eR})}return(e,t)=>((0,a.wg)(),(0,a.iD)("div",rs,[(0,a._)("div",as,(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",os,[((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)(es,{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",ss,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,i.SU)(_),(e=>((0,a.wg)(),(0,a.j4)(es,{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)(ts.Z,{key:0})):(0,a.kq)("",!0),(0,i.SU)(E)?((0,a.wg)(),(0,a.iD)("div",is,[(0,a._)("button",{onClick:T},(0,o.zw)(e.$t("workouts.LOAD_MORE_WORKOUT")),1)])):(0,a.kq)("",!0)]))]))}});const cs=(0,P.Z)(ls,[["__scopeId","data-v-35567bf2"]]);var us=cs,ds=n(1640),ms=n(4559),_s=n(7349),Es=n(1743),Ss=n(9160),Ts=n(1085);const ps=["title"];var As=(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,ps)):(0,a.kq)("",!0)])])}}});const Os=As;var Rs=Os;const Is={class:"donut-chart"},Us={height:"34",width:"34",viewBox:"0 0 34 34"},gs=["stroke","stroke-dashoffset","transform"];var Ns=(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",Is,[((0,a.wg)(),(0,a.iD)("svg",Us,[((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,gs)])))),128))]))]))}});const zs=Ns;var hs=zs;const ws={class:"calendar-workouts-chart"},fs={class:"workouts-count"},vs={key:0,class:"workouts-pane"},Cs={class:"more-workouts"};var Ds=(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",ws,[(0,a._)("div",{class:"workouts-chart",onClick:u},[(0,a._)("div",fs,(0,o.zw)((0,i.SU)(l).length),1),(0,a.Wm)(hs,{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",vs,[(0,a.wy)(((0,a.wg)(),(0,a.iD)("div",Cs,[(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)(Rs,{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 ks=(0,P.Z)(Ds,[["__scopeId","data-v-52d4310a"]]);var Ps=ks;const Ls={class:"calendar-workouts"},Ms={class:"desktop-display"},bs={key:0,class:"workouts-display"},ys={key:1,class:"donut-display"},Gs={class:"mobile-display"},Fs={key:0,class:"donut-display"};var Ws=(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,ns.BN)(t.workouts))),l=(0,a.Fl)((()=>(0,le.Yx)(t.sports))),c=6;return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Ls,[(0,a._)("div",Ms,[(0,i.SU)(r).length<=c?((0,a.wg)(),(0,a.iD)("div",bs,[((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)(Rs,{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",ys,[(0,a.Wm)(Ps,{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",Gs,[(0,i.SU)(r).length>0?((0,a.wg)(),(0,a.iD)("div",Fs,[(0,a.Wm)(Ps,{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 Ks=Ws;var Ys=Ks;const xs={class:"calendar-cells"},$s={class:"calendar-cell-day"};var Bs=(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 E(){_.value=[];let e=c.value;while(e<=s.value){const t=[];for(let n=0;n<7;n++)t.push(e),e=(0,_s.Z)(e,1);_.value.push(t)}}function S(e){return d.value?[5,6].includes(e):[0,6].includes(e)}function T(e,t){return t?t.filter((t=>(0,Es.Z)((0,Ye.eB)(t.workout_date,u.value),e))).reverse():[]}return(0,a.bv)((()=>E())),(0,a.YP)((()=>t.currentDay),(()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",xs,[((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)(Ss.Z)(e,(0,i.SU)(n)),"week-end":S(t),today:(0,i.SU)(Ts.Z)(e)}]),key:t},[(0,a.Wm)(Ys,{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",$s,(0,o.zw)((0,i.SU)(jt.Z)(e,"d")),1)],2)))),128))])))),128))]))}});const Zs=Bs;var Hs=Zs;const qs={class:"calendar-days"};var Vs=(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,_s.Z)(t.startDate,r));return(t,r)=>((0,a.wg)(),(0,a.iD)("div",qs,[((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)(jt.Z)(t,"EEE",{locale:e.localeOptions})),1))),64))]))}});const js=Vs;var Xs=js;const Js={class:"calendar-header"},Qs=(0,a._)("i",{class:"fa fa-chevron-left","aria-hidden":"true"},null,-1),ei=[Qs],ti={class:"calendar-month"},ni=(0,a._)("i",{class:"fa fa-chevron-right","aria-hidden":"true"},null,-1),ri=[ni];var ai=(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",Js,[(0,a._)("div",{class:"calendar-arrow calendar-arrow-left",onClick:n[0]||(n[0]=e=>t("displayPreviousMonth"))},ei),(0,a._)("div",ti,[(0,a._)("span",null,(0,o.zw)((0,i.SU)(jt.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"))},ri)]))}});const oi=ai;var si=oi;const ii={id:"user-calendar"},li={class:"calendar-card box"};var ci=(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,Ye.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 E(){d.value=(0,Ye.yx)(u.value,t.user.weekm);const e={from:(0,jt.Z)(d.value.start,s),to:(0,jt.Z)(d.value.end,s),page:1,per_page:100,...ns.eR};n.dispatch(l.aX.ACTIONS.GET_CALENDAR_WORKOUTS,e)}function S(){u.value=(0,ds.Z)(u.value,1),E()}function T(){u.value=(0,ms.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ii,[(0,a._)("div",li,[(0,a.Wm)(si,{day:u.value,"locale-options":(0,i.SU)(_),onDisplayNextMonth:S,onDisplayPreviousMonth:T},null,8,["day","locale-options"]),(0,a.Wm)(Xs,{"start-date":d.value.start,"locale-options":(0,i.SU)(_)},null,8,["start-date","locale-options"]),(0,a.Wm)(Hs,{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 ui=ci;var di=ui,mi=n(3703),_i=n(4135),Ei=n(4998);const Si={class:"user-month-stats"};var Ti=(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,mi.Z)(s),end:(0,_i.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",Si,[(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)(Ei.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 pi=(0,P.Z)(Ti,[["__scopeId","data-v-1bcddc12"]]);var Ai=pi,Oi=(n(1703),n(2540)),Ri=n(3649);const{locale:Ii}=Oi.Z.global,Ui=(e,t,n,r)=>{const a="km",o=n?Ri.Dl[a].defaultTarget:a,s="m",i=n?Ri.Dl[s].defaultTarget:s;let l;switch(e.record_type){case"AS":case"MS":l=`${(0,Ri.sC)(+e.value,a,o,2)} ${o}/h`;break;case"FD":l=`${(0,Ri.sC)(+e.value,a,o,3)} ${o}`;break;case"HA":l=`${(0,Ri.sC)(+e.value,s,i,2)} ${i}`;break;case"LD":l=e.value;break;default:throw new Error(`Invalid record type, expected: "AS", "FD", "HA", "LD", "MD", got: "${e.record_type}"`)}return{workout_date:(0,Ye.p6)(e.workout_date,t,r,!1),workout_id:e.workout_id,id:e.id,record_type:e.record_type,value:l}},gi=(e,t)=>{const n=e.label.toLowerCase(),r=t.label.toLowerCase();return n>r?1:n(o=(0,Ye.mh)(o,Ii.value),e.filter((e=>!!a||"HA"!==e.record_type)).reduce(((e,a)=>{const s=t.find((e=>e.id===a.sport_id));return s&&s.label&&(void 0===e[s.translatedLabel]&&(e[s.translatedLabel]={label:s.label,color:s.color,records:[]}),e[s.translatedLabel].records.push(Ui(a,n,r,o))),e}),{})),zi={class:"records-card"},hi={class:"record-type"},wi={class:"record-value"},fi={class:"record-date"};var vi=(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(gi)}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",zi,[(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",hi,(0,o.zw)(e.label),1),(0,a._)("span",wi,(0,o.zw)(e.value),1),(0,a._)("span",fi,[(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 Ci=(0,P.Z)(vi,[["__scopeId","data-v-8d17c606"]]);var Di=Ci;const ki=e=>((0,a.dD)("data-v-f0c85cb8"),e=e(),(0,a.Cn)(),e),Pi={class:"user-records-section"},Li={class:"section-title"},Mi=ki((()=>(0,a._)("i",{class:"fa fa-trophy custom-fa-small","aria-hidden":"true"},null,-1))),bi={class:"user-records"},yi={key:0,class:"no-records"};var Gi=(0,a.aZ)({__name:"index",props:{sports:null,user:null},setup(e){const t=e,{t:n}=(0,ie.QT)(),r=(0,a.Fl)((()=>Ni(t.user.records,(0,le.xH)(t.sports,n),t.user.timezone,t.user.imperial_units,t.user.display_ascent,t.user.date_format)));return(t,n)=>((0,a.wg)(),(0,a.iD)("div",Pi,[(0,a._)("div",Li,[Mi,(0,a.Uk)(" "+(0,o.zw)(t.$t("workouts.RECORD",2)),1)]),(0,a._)("div",bi,[0===Object.keys((0,i.SU)(r)).length?((0,a.wg)(),(0,a.iD)("div",yi,(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)(Di,{sportTranslatedLabel:t,records:(0,i.SU)(r)[t],key:t,useImperialUnits:e.user.imperial_units},null,8,["sportTranslatedLabel","records","useImperialUnits"])))),128))])]))}});const Fi=(0,P.Z)(Gi,[["__scopeId","data-v-f0c85cb8"]]);var Wi=Fi;const Ki={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)((()=>E(o))),l="km",c=r.value.imperial_units?Ri.Dl[l].defaultTarget:l,u=(0,a.Fl)((()=>r.value.imperial_units?(0,Ri.sC)(r.value.total_distance,l,c,2):parseFloat(r.value.total_distance.toFixed(2)))),d="m",m=r.value.imperial_units?Ri.Dl[d].defaultTarget:d,_=(0,a.Fl)((()=>r.value.imperial_units?(0,Ri.sC)(r.value.total_ascent,d,m,2):parseFloat(r.value.total_ascent.toFixed(2))));function E(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",Ki,[(0,a.Wm)($,{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)($,{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)($,{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)($,{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)($,{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 xi=Yi;var $i=xi;const Bi=e=>((0,a.dD)("data-v-4c0893c1"),e=e(),(0,a.Cn)(),e),Zi={key:0,id:"dashboard",class:"view"},Hi={class:"container mobile-menu"},qi={class:"box"},Vi=Bi((()=>(0,a._)("i",{class:"fa fa-calendar","aria-hidden":"true"},null,-1))),ji=[Vi],Xi=Bi((()=>(0,a._)("i",{class:"fa fa-bar-chart","aria-hidden":"true"},null,-1))),Ji=[Xi],Qi=Bi((()=>(0,a._)("i",{class:"fa fa-map-o","aria-hidden":"true"},null,-1))),el=[Qi],tl=Bi((()=>(0,a._)("i",{class:"fa fa-trophy","aria-hidden":"true"},null,-1))),nl=[tl],rl={class:"container"},al={class:"container dashboard-container"},ol={class:"left-container dashboard-sub-container"},sl={class:"right-container dashboard-sub-container"},il=Bi((()=>(0,a._)("div",{id:"bottom"},null,-1))),ll={key:1,class:"app-loading"};var cl=(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",Zi,[(0,a._)("div",Hi,[(0,a._)("div",qi,[(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"calendar"===s.value}]),onClick:t[0]||(t[0]=e=>u("calendar"))},ji,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"chart"===s.value}]),onClick:t[1]||(t[1]=e=>u("chart"))},Ji,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"timeline"===s.value}]),onClick:t[2]||(t[2]=e=>u("timeline"))},el,2),(0,a._)("div",{class:(0,o.C_)(["mobile-menu-item",{"is-selected":"records"===s.value}]),onClick:t[3]||(t[3]=e=>u("records"))},nl,2)])]),(0,a._)("div",rl,[(0,a.Wm)($i,{user:(0,i.SU)(n)},null,8,["user"])]),(0,a._)("div",al,[(0,a._)("div",ol,[(0,a.Wm)(Ai,{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)(Wi,{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",sl,[(0,a.Wm)(di,{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)(us,{sports:(0,i.SU)(r),user:(0,i.SU)(n),class:(0,o.C_)({"is-hidden":!("timeline"===s.value)})},null,8,["sports","user","class"])])]),il])):((0,a.wg)(),(0,a.iD)("div",ll,[(0,a.Wm)(l)]))}}});const ul=(0,P.Z)(cl,[["__scopeId","data-v-4c0893c1"]]);var dl=ul,ml=n(8273);const _l={class:"not-found view"};var El=(0,a.aZ)({__name:"NotFoundView",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",_l,[(0,a.Wm)(ml.Z)]))}});const Sl=El;var Tl=Sl,pl=n(2411);const Al={id:"loginOrRegister",class:"view"},Ol={class:"container"},Rl={class:"container-sub"},Il={class:"container-sub"};var Ul=(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",Al,[(0,a._)("div",Ol,[(0,a._)("div",Rl,[(0,a.Wm)(Oo)]),(0,a._)("div",Il,[(0,a.Wm)(pl.Z,{action:(0,i.SU)(n)},null,8,["action"])])])]))}});const gl=(0,P.Z)(Ul,[["__scopeId","data-v-6a38125b"]]);var Nl=gl;const zl=e=>{const t=/(\/profile)(\/edit)*(\/*)/,n=e.replace(t,"").toUpperCase();return""===n?"PROFILE":n.toUpperCase()},hl=[{path:"/",name:"Dashboard",component:dl},{path:"/login",name:"Login",component:Nl,props:{action:"login"}},{path:"/register",name:"Register",component:Nl,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:Nt,props:e=>({tab:zl(e.path)}),children:[{path:"",name:"UserInfos",component:zt.Z},{path:"preferences",name:"UserPreferences",component:Dt},{path:"sports",name:"UserSportPreferences",component:ja,props:{isEdition:!1}},{path:"apps",name:"UserApps",component:Xr,children:[{path:"",name:"UserAppsList",component:Ra},{path:":id",name:"UserApp",component:da},{path:":id/created",name:"CreatedUserApp",component:da,props:{afterCreation:!0}},{path:"new",name:"AddUserApp",component:Mr},{path:"authorize",name:"AuthorizeUserApp",component:Hr}]}]},{path:"edit",name:"UserProfileEdition",component:Mt,props:e=>({tab:zl(e.path)}),children:[{path:"",name:"UserInfosEdition",component:Sn},{path:"account",name:"UserAccountEdition",component:Vt},{path:"picture",name:"UserPictureEdition",component:wn},{path:"preferences",name:"UserPreferencesEdition",component:ur},{path:"sports",name:"UserSportPreferencesEdition",component:ja,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,5651))},{path:"/workouts/:workoutId",name:"Workout",component:()=>n.e(401).then(n.bind(n,4915)),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,4915)),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:mt}]},{path:"/about",name:"About",component:ho},{path:"/:pathMatch(.*)*",name:"not-found",component:Tl}],wl=(0,r.p7)({history:(0,r.PO)("/"),routes:hl}),fl=["/login","/password-reset","/password-reset/password-updated","/password-reset/request","/password-reset/sent","/register","/account-confirmation","/account-confirmation/resend","/account-confirmation/email-sent"],vl=["/email-update","/about"];wl.beforeEach(((e,t,n)=>{Xa.Z.dispatch(l.YN.ACTIONS.CHECK_AUTH_USER).then((()=>{if(vl.includes(e.path))return n();if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]&&fl.includes(e.path))return n("/");if(Xa.Z.getters[l.YN.GETTERS.IS_AUTHENTICATED]||fl.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 Cl=wl},5801:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,_,E,S,T,p,A,O,R;n.d(t,{YN:function(){return z},Km:function(){return h},SY:function(){return U},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"}(E||(E={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(S||(S={})),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"}(R||(R={}));var I=n(52);const U={ACTIONS:c,GETTERS:u,MUTATIONS:d},g={ACTIONS:m,GETTERS:_,MUTATIONS:E},N={ACTIONS:S,GETTERS:T,MUTATIONS:p},z={ACTIONS:r,GETTERS:a,MUTATIONS:o},h={ACTIONS:s,GETTERS:i,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:R},f={ACTIONS:I.tW,GETTERS:I.JP,MUTATIONS:I.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(5073),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)))},E={[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})}},S=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]&&S(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),S(e))})).catch((t=>{"canceled"!==t.message&&((0,l.S)(e,t),S(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?S(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},R={state:O,actions:T,getters:p,mutations:A};var I=R;const U=(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){U(e,`oauth/apps/${t}`)},[m.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){U(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)))}},$={[m.gu.GETTERS.USER_STATS]:e=>e.statistics},B={[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:$,mutations:B};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:E,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:I,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}"`)}},p=(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}"`)}},A=(e,t)=>(0,m.utcToZonedTime)(new Date(e),t),O=(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})}},R=(e,t=null,n=null)=>(t||(t="yyyy/MM/dd"),t=g(t,S.value),n||(n="HH:mm"),{workout_date:(0,d.Z)(e,t,{locale:E.v1[S.value]}),workout_time:(0,d.Z)(e,n)}),I=["dd/MM/yyyy","MM/dd/yyyy","yyyy-MM-dd","date_string"],U={de:"do MMM yyyy",en:"MMM. do, yyyy",fr:"d MMM yyyy"},g=(e,t)=>"date_string"===e?U[t]:e,N=(e,t,n,r=!0,a=null)=>(a||(a=S.value),(0,d.Z)(A(e,t),`${g(n,a)}${r?" HH:mm":""}`,{locale:E.v1[a]})),z=(e,t,n=null)=>{const r=n||S.value,a=[];return I.map((n=>{const o=g(n,r);a.push({label:`${o} - ${N(e,t,o,!1,r)}`,value:n})})),a}},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","Cycling (Virtual)":"#64a360",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),E=n(3500),S=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"}},R=["average_speed","nb_workouts","total_duration","total_distance","total_ascent","total_descent"],I=(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},U=(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(U(e.label,n,!0)),t.nb_workouts.push(U(e.label,n)),t.total_distance.push(U(e.label,n)),t.total_duration.push(U(e.label,n)),t.total_ascent.push(U(e.label,n)),t.total_descent.push(U(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=I(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),R.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,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,S.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,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,S.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:E,sort:S,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)(E).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)(E).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(S),(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)(E).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)])]))}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-72463173"]]);var T=S},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 E}});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),o=(0,a.iH)(),s=(0,a.iH)(!1);function i(){o.value=setTimeout((()=>{s.value=!0}),500)}return(0,r.bv)((()=>i())),(0,r.Ah)((()=>{o.value&&clearTimeout(o.value)})),(e,t)=>s.value?((0,r.wg)(),(0,r.j4)(d,{key:0,title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"])):(0,r.kq)("",!0)}});const _=m;var E=_},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 E(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:E((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:E(+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:E((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)])])}}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-3a9a4a65"]]);var T=S},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=await n.e(881).then(n.bind(n,8056)),s={de:o,en:r,fr:a},l=s[e],c={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...l.default.dictionary}};i.Mu.setOptions(c)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},_=["value"],E={key:0,class:"password-strength-details"},S={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])),R=(0,a.iH)(0),I=(0,a.iH)(""),U=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);R.value=t.score,I.value=d(R.value),U.value=t.feedback.suggestions,g.value=100*R.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?I.value="":N(e)})),(e,t)=>((0,r.wg)(),(0,r.iD)("div",m,[(0,r._)("input",{class:(0,s.C_)(["password-slider",`strength-${R.value}`]),style:(0,s.j5)({backgroundSize:g.value}),type:"range",value:R.value,min:"0",max:"4",step:"1"},null,14,_),I.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",S,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.${I.value}`)),1),U.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)(U.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 R=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var I=R;const U=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=U((()=>(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),E=(0,a.iH)("");function S(){_.value=!_.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(E.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=>E.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,N),[[o.YZ,E.value]]),(0,r._)("div",{class:"show-password",onClick:S},[(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)(I,{key:1,password:E.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"],E={key:1},S=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,R){const I=(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",E,[(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,S),(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)(I,{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),R=n(2262);const I={class:"chart"};function U(e,t,n,a,o,s){const i=(0,r.up)("BarChart");return(0,r.wg)(),(0,r.iD)("div",I,[(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",U]]);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,R.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"},E={class:"stat-number"},S={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},R={class:"stat-label"};var I=(0,r.aZ)({__name:"UserHeader",props:{user:null},setup(e){const t=e,{user:n}=(0,a.BK)(t),I=(0,l.o)(),U=(0,r.Fl)((()=>I.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",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",S,(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)(U).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(U).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",R,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),U=n(3744);const g=(0,U.Z)(I,[["__scopeId","data-v-20291951"]]);var N=g},1585:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});n(7658);var r=n(6252),a=n(2262),o=n(3577),s=n(9963),i=n(4850),l=n(5801),c=n(9917),u=n(6558),d=n(6287);const m={id:"user-infos",class:"description-list"},_={key:1,class:"info-box success-message"},E={key:4,class:"email-form form-box"},S={class:"form-items",for:"email"},T={class:"form-items",for:"email"},p={class:"form-buttons"},A={class:"confirm",type:"submit"},O=["onClick"],R={key:5},I={class:"user-bio"},U={key:0,class:"profile-buttons"},g=["onClick"],N={key:1,class:"profile-buttons"};var z=(0,r.aZ)({__name:"UserInfos",props:{user:null,fromAdmin:{type:Boolean,default:!1}},setup(e){const t=e,n=(0,c.o)(),{user:z,fromAdmin:h}=(0,a.BK)(t),w=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.LANGUAGE])),f=(0,r.Fl)((()=>n.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),v=(0,r.Fl)((()=>t.user.created_at?(0,u.p6)(t.user.created_at,f.value.timezone,f.value.date_format):"")),C=(0,r.Fl)((()=>t.user.birth_date?(0,i.Z)(new Date(t.user.birth_date),`${(0,u.mh)(f.value.date_format,w.value)}`,{locale:d.v1[w.value]}):"")),D=(0,r.Fl)((()=>n.getters[l.RT.GETTERS.USERS_IS_SUCCESS])),k=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),P=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.APP_CONFIG])),L=(0,a.iH)(""),M=(0,a.iH)(!1),b=(0,a.iH)(!1),y=(0,a.iH)(""),G=(0,a.iH)("");function F(e){L.value=e,""!==e&&n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1)}function W(e){n.dispatch(l.RT.ACTIONS.DELETE_USER_ACCOUNT,{username:e})}function K(e){G.value="password-reset",n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,resetPassword:!0})}function Y(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,activate:!0})}function x(){Z(),y.value=z.value.email_to_confirm?z.value.email_to_confirm:"",b.value=!0,G.value="email-update"}function $(){y.value="",b.value=!1}function B(e){n.dispatch(l.RT.ACTIONS.UPDATE_USER,{username:e,new_email:y.value})}function Z(){n.commit(l.SY.MUTATIONS.EMPTY_ERROR_MESSAGES),n.commit(l.RT.MUTATIONS.UPDATE_IS_SUCCESS,!1),G.value=""}return(0,r.Ah)((()=>Z())),(0,r.YP)((()=>D.value),(e=>{e&&(F(""),$())})),(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",m,[L.value?((0,r.wg)(),(0,r.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:"delete"===L.value?"admin.CONFIRM_USER_ACCOUNT_DELETION":"admin.CONFIRM_USER_PASSWORD_RESET",strongMessage:(0,a.SU)(z).username,onConfirmAction:t[0]||(t[0]=e=>"delete"===L.value?W((0,a.SU)(z).username):K((0,a.SU)(z).username)),onCancelAction:t[1]||(t[1]=e=>F(""))},null,8,["title","message","strongMessage"])):(0,r.kq)("",!0),(0,a.SU)(D)?((0,r.wg)(),(0,r.iD)("div",_,(0,o.zw)(e.$t(`admin.${"password-reset"===G.value?"PASSWORD_RESET":"USER_EMAIL_UPDATE"}_SUCCESSFUL`)),1)):(0,r.kq)("",!0),(0,a.SU)(z).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)(k)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(k)},null,8,["message"])):(0,r.kq)("",!0),b.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("form",{class:(0,o.C_)({errors:M.value}),onSubmit:t[4]||(t[4]=(0,s.iM)((e=>B((0,a.SU)(z).username)),["prevent"]))},[(0,r._)("label",S,[(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)(z).email=e),disabled:""},null,512),[[s.nr,(0,a.SU)(z).email]])]),(0,r._)("label",T,[(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=>y.value=e)},null,512),[[s.nr,y.value]])]),(0,r._)("div",p,[(0,r._)("button",A,(0,o.zw)(e.$t("buttons.SUBMIT")),1),(0,r._)("button",{class:"cancel",onClick:(0,s.iM)($,["prevent"])},(0,o.zw)(e.$t("buttons.CANCEL")),9,O)])],34)])):((0,r.wg)(),(0,r.iD)("div",R,[(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)(v)),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)(z).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)(z).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)(C)),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.LOCATION"))+":",1),(0,r._)("dd",null,(0,o.zw)((0,a.SU)(z).location),1),(0,r._)("dt",null,(0,o.zw)(e.$t("user.PROFILE.BIO"))+":",1),(0,r._)("dd",I,(0,o.zw)((0,a.SU)(z).bio),1)]),(0,a.SU)(h)?((0,r.wg)(),(0,r.iD)("div",U,[(0,a.SU)(f).username!==(0,a.SU)(z).username?((0,r.wg)(),(0,r.iD)("button",{key:0,class:"danger",onClick:t[5]||(t[5]=(0,s.iM)((e=>F("delete")),["prevent"]))},(0,o.zw)(e.$t("admin.DELETE_USER")),1)):(0,r.kq)("",!0),(0,a.SU)(z).is_active?(0,r.kq)("",!0):((0,r.wg)(),(0,r.iD)("button",{key:1,onClick:t[6]||(t[6]=(0,s.iM)((e=>Y((0,a.SU)(z).username)),["prevent"]))},(0,o.zw)(e.$t("admin.ACTIVATE_USER_ACCOUNT")),1)),(0,a.SU)(f).username!==(0,a.SU)(z).username?((0,r.wg)(),(0,r.iD)("button",{key:2,onClick:(0,s.iM)(x,["prevent"])},(0,o.zw)(e.$t("admin.UPDATE_USER_EMAIL")),9,g)):(0,r.kq)("",!0),(0,a.SU)(f).username!==(0,a.SU)(z).username&&(0,a.SU)(P).is_email_sending_enabled?((0,r.wg)(),(0,r.iD)("button",{key:3,onClick:t[7]||(t[7]=(0,s.iM)((e=>F("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",N,[(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)]))]))])}}}),h=n(3744);const w=(0,h.Z)(z,[["__scopeId","data-v-217519af"]]);var f=w},2411: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-b3c885de"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},_={key:2,class:"info-box success-message"},E={class:"form-items"},S=["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"},R=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),I=["disabled"],U={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.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(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",E,["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,S)),[[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,[R,(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,I)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",U,[(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-b3c885de"]]);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:"2d1612a0",93:"97ccdf6e",193:"9cd652fd",243:"27c8fef5",328:"ab9e5f5f",401:"c9c3ec2a",431:"5976068e",633:"9a092c9a",845:"19106879",858:"0441e3cc",881:"c426a91d"}[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:"d2b129a9",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 during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler bei der GPX-Verarbeitung.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Einlesen der GPX-Datei\"])},\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 \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autorisieren\"])},\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 \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angezeigt\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Versteckt\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\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 \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eine neue OAuth2-Anwendung hinzufügen\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geheimnis\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsbeschreibung\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellt am\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsname\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiterleitungs-URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geltungsbereich\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf auth-Endpunkte\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf auth-Endpunkte\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf users-Endpunkte\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf users-Endpunkte\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf workouts-Endpunkte\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf workouts-Endpunkte\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf die Anwendungskonfiguration\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungs-URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist sicher, dass du diese App löschen willst?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Die Anwendung \", _interpolate(_list(0)), \" fragt an:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2-Anwendungen\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([_interpolate(_list(0)), \" den Zugriff auf deinen Account erlauben?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in Zwischenablage kopieren\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung löschen\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung hinzufügen\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung wurde nicht gefunden!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Anwendungen\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Beschreibung\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle Tokens zurückrufen\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du alle Tokens zurückrufen möchtest?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle vorhandenen und vergebenen Tokens wurde zurückgerufen.\"])}\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Virtuell)\"])}\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 \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anstiegs-bezogene Daten (Aufnahmen, gesamt)\"])},\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 \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Datumsanzeigeformat\"])},\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 \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungen\"])},\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_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höchster Anstieg\"])},\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 \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\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_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_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\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([\"Add an application\"])},\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 \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Virtual)\"])}\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 \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Date display format\"])},\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 \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\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([\"Description de l'application\"])},\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_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_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\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 application\"])},\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 \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Virtuel)\"])}\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 \"DATE_FORMAT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Format d'affichage de la date\"])},\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 \"./CyclingVirtual.vue?vue&type=template&id=ec8f7bb6\"\nimport script from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingVirtual.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 CyclingVirtual from '@/components/Common/Images/SportImage/CyclingVirtual.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) === 'Cycling (Virtual)')\n ? (_openBlock(), _createBlock(CyclingVirtual, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 11 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 12 }))\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-dc12ff78\"),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 {\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 { formatDate } 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(formatDate)(\n user.created_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\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=dc12ff78&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-dc12ff78\"]])\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, ComputedRef } from 'vue'\n\n import { ROOT_STORE } from '@/store/constants'\n import { IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { getDateFormat } from '@/utils/dates'\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 store = useStore()\n\n const appLanguage: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\n const userLanguage = 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 date_format = computed(() =>\n props.user.date_format ? props.user.date_format : 'MM/dd/yyyy'\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(userLanguage)), 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.DATE_FORMAT')) + \":\", 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_unref(getDateFormat)(_unref(date_format), _unref(appLanguage))), 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-5e5a4552\"),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, IAuthUserProfile } from '@/types/user'\n import { useStore } from '@/use/useStore'\n import { formatDate } from '@/utils/dates'\n\n interface Props {\n user: IAuthUserProfile\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: IAuthUserProfile\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 ? formatDate(\n props.user.created_at,\n props.user.timezone,\n props.user.date_format\n )\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=5e5a4552&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-5e5a4552\"]])\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-065d5e6c\"),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\" }\nconst _hoisted_9 = [\"disabled\"]\nconst _hoisted_10 = [\"value\"]\nconst _hoisted_11 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_12 = { class: \"checkboxes-label\" }\nconst _hoisted_13 = { class: \"checkboxes\" }\nconst _hoisted_14 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_15 = { class: \"checkbox-label\" }\nconst _hoisted_16 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_17 = { class: \"checkboxes-label\" }\nconst _hoisted_18 = { class: \"checkboxes\" }\nconst _hoisted_19 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_20 = { class: \"checkbox-label\" }\nconst _hoisted_21 = { class: \"form-items form-checkboxes\" }\nconst _hoisted_22 = { class: \"checkboxes-label\" }\nconst _hoisted_23 = { class: \"checkboxes\" }\nconst _hoisted_24 = [\"id\", \"name\", \"checked\", \"disabled\", \"onInput\"]\nconst _hoisted_25 = { class: \"checkbox-label\" }\nconst _hoisted_26 = { class: \"form-buttons\" }\nconst _hoisted_27 = {\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 { availableDateFormatOptions } from '@/utils/dates'\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 date_format: 'dd/MM/yyyy',\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 const dateFormatOptions = computed(() =>\n availableDateFormatOptions(\n new Date().toUTCString(),\n props.user.timezone,\n userForm.language\n )\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.date_format = user.date_format ? user.date_format : 'dd/MM/yyyy'\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(\"label\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t('user.PROFILE.DATE_FORMAT')) + \" \", 1),\n _withDirectives(_createElementVNode(\"select\", {\n id: \"date_format\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((userForm.date_format) = $event)),\n disabled: _unref(loading)\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(dateFormatOptions), (dateFormat) => {\n return (_openBlock(), _createElementBlock(\"option\", {\n value: dateFormat.value,\n key: dateFormat.value\n }, _toDisplayString(dateFormat.label), 9, _hoisted_10))\n }), 128))\n ], 8, _hoisted_9), [\n [_vModelSelect, userForm.date_format]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t('user.PROFILE.FIRST_DAY_OF_WEEK')), 1),\n _createElementVNode(\"div\", _hoisted_13, [\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_14),\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(_ctx.$t(`user.PROFILE.${start.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.$t('user.PROFILE.UNITS.LABEL')), 1),\n _createElementVNode(\"div\", _hoisted_18, [\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_19),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.$t(`user.PROFILE.UNITS.${unit.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t('user.PROFILE.ASCENT_DATA')), 1),\n _createElementVNode(\"div\", _hoisted_23, [\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_24),\n _createElementVNode(\"span\", _hoisted_25, _toDisplayString(_ctx.$t(`common.${status.label}`)), 1)\n ])\n }), 64))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"button\", _hoisted_27, _toDisplayString(_ctx.$t('buttons.SUBMIT')), 1),\n _createElementVNode(\"button\", {\n class: \"cancel\",\n onClick: _cache[2] || (_cache[2] = _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=065d5e6c&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-065d5e6c\"]])\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-3a844fa2\"),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 {\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 { formatDate } 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(formatDate)(\n _unref(client).issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\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=3a844fa2&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-3a844fa2\"]])\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-efa45ea0\"),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 { 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 { formatDate } 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(formatDate)(\n client.issued_at,\n _unref(authUser).timezone,\n _unref(authUser).date_format\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=efa45ea0&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-efa45ea0\"]])\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-96abcc38\"),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, 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 { formatDate } 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(formatDate)(_unref(workout).workout_date, _unref(user).timezone, _unref(user).date_format)\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=96abcc38&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-96abcc38\"]])\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 createI18n from '@/i18n'\nimport { ITranslatedSport } from '@/types/sports'\nimport { TUnit } from '@/types/units'\nimport { ICardRecord, IRecord, IRecordsBySports } from '@/types/workouts'\nimport { formatDate, getDateFormat } from '@/utils/dates'\nimport { convertDistance, units } from '@/utils/units'\n\nconst { locale } = createI18n.global\n\nexport const formatRecord = (\n record: IRecord,\n tz: string,\n useImperialUnits: boolean,\n date_format: string\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: formatDate(record.workout_date, tz, date_format, false),\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 date_format: string\n): IRecordsBySports => {\n date_format = getDateFormat(date_format, locale.value)\n return 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, date_format)\n )\n }\n return sportList\n }, {})\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-8d17c606\"),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=8d17c606&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-8d17c606\"]])\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-f0c85cb8\"),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 props.user.date_format\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=f0c85cb8&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-f0c85cb8\"]])\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\nimport createI18n from '@/i18n'\nimport { localeFromLanguage } from '@/utils/locales'\n\nconst { locale } = createI18n.global\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 dateFormat = getDateFormat(dateFormat, locale.value)\n if (!timeFormat) {\n timeFormat = 'HH:mm'\n }\n return {\n workout_date: format(dateTime, dateFormat, {\n locale: localeFromLanguage[locale.value],\n }),\n workout_time: format(dateTime, timeFormat),\n }\n}\n\nconst availableDateFormats = [\n 'dd/MM/yyyy',\n 'MM/dd/yyyy',\n 'yyyy-MM-dd',\n 'date_string',\n]\nconst dateStringFormats: Record = {\n de: 'do MMM yyyy',\n en: 'MMM. do, yyyy',\n fr: 'd MMM yyyy',\n}\n\nexport const getDateFormat = (dateFormat: string, language: string): string => {\n return dateFormat === 'date_string' ? dateStringFormats[language] : dateFormat\n}\n\nexport const formatDate = (\n dateString: string,\n timezone: string,\n dateFormat: string,\n withTime = true,\n language: string | null = null\n): string => {\n if (!language) {\n language = locale.value\n }\n return format(\n getDateWithTZ(dateString, timezone),\n `${getDateFormat(dateFormat, language)}${withTime ? ' HH:mm' : ''}`,\n { locale: localeFromLanguage[language] }\n )\n}\n\nexport const availableDateFormatOptions = (\n inputDate: string,\n timezone: string,\n language: string | null = null\n) => {\n const l: string = language ? language : locale.value\n const options: Record[] = []\n availableDateFormats.map((df) => {\n const dateFormat = getDateFormat(df, l)\n options.push({\n label: `${dateFormat} - ${formatDate(\n inputDate,\n timezone,\n dateFormat,\n false,\n l\n )}`,\n value: df,\n })\n })\n return options\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 'Cycling (Virtual)': '#64a360',\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, createCommentVNode as _createCommentVNode } from \"vue\"\n\nimport { Ref, onMounted, ref, toRefs, withDefaults, onUnmounted } 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 const timer = ref()\n const errorDisplayed: Ref = ref(false)\n\n onMounted(() => displayError())\n\n function displayError() {\n timer.value = setTimeout(() => {\n errorDisplayed.value = true\n }, 500)\n }\n\n onUnmounted(() => {\n if (timer.value) {\n clearTimeout(timer.value)\n }\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (errorDisplayed.value)\n ? (_openBlock(), _createBlock(Error, {\n key: 0,\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 : _createCommentVNode(\"\", true)\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 zxcvbnDePackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-de'\n )\n const zxcvbnLangPackages: Record = {\n de: zxcvbnDePackage,\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-217519af\"),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 import { formatDate, getDateFormat } from '@/utils/dates'\n import { localeFromLanguage } from '@/utils/locales'\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 language: ComputedRef = computed(\n () => store.getters[ROOT_STORE.GETTERS.LANGUAGE]\n )\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 ? formatDate(\n props.user.created_at,\n authUser.value.timezone,\n authUser.value.date_format\n )\n : ''\n )\n const birthDate = computed(() =>\n props.user.birth_date\n ? format(\n new Date(props.user.birth_date),\n `${getDateFormat(authUser.value.date_format, language.value)}`,\n { locale: localeFromLanguage[language.value] }\n )\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=217519af&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-217519af\"]])\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-b3c885de\"),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 onUnmounted,\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 onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\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=b3c885de&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-b3c885de\"]])\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\":\"2d1612a0\",\"93\":\"97ccdf6e\",\"193\":\"9cd652fd\",\"243\":\"27c8fef5\",\"328\":\"ab9e5f5f\",\"401\":\"c9c3ec2a\",\"431\":\"5976068e\",\"633\":\"9a092c9a\",\"845\":\"19106879\",\"858\":\"0441e3cc\",\"881\":\"c426a91d\"}[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\":\"d2b129a9\",\"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__(4970); })\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","CyclingVirtual","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","formatDate","created_at","timezone","date_format","nb_workouts","Pagination","tabs","selectedTab","getPath","tab","toLocaleLowerCase","checked","UserHeader","UserProfileTabs","appLanguage","userLanguage","languageLabels","fistDayOfWeek","weekm","display_ascent","getDateFormat","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","format","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","_hoisted_25","_hoisted_26","_hoisted_27","weekStart","imperialUnits","ascentData","dateFormatOptions","availableDateFormatOptions","toUTCString","updateTZ","updateAscentDisplay","updateImperialUnit","updateWeekM","lang","_vModelSelect","TimezoneDropdown","dateFormat","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","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","getDateWithTZ","reverse","row","isSameMonth","today","isToday","CalendarWorkouts","localeOptions","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","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","formatWorkoutDate","dateTime","timeFormat","workout_time","availableDateFormats","dateStringFormats","de","en","fr","dateString","withTime","inputDate","l","df","suffixes","fileSize","asText","floor","pow","msg","m","availableLocales","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","timer","errorDisplayed","displayError","clearTimeout","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnDePackage","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","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.f492102f.js b/fittrackee/dist/static/js/app.f492102f.js deleted file mode 100644 index 0d7eda30..00000000 --- a/fittrackee/dist/static/js/app.f492102f.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(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 S}});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 during gpx processing":e=>{const{normalize:t}=e;return t(["Fehler bei der GPX-Verarbeitung."])},"error during gpx file parsing":e=>{const{normalize:t}=e;return t(["Fehler beim Einlesen der GPX-Datei"])},"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"])},AUTHORIZE:e=>{const{normalize:t}=e;return t(["Autorisieren"])},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"])])},DISPLAYED:e=>{const{normalize:t}=e;return t(["Angezeigt"])},DOCUMENTATION:e=>{const{normalize:t}=e;return t(["Dokumentation (en)"])},HERE:e=>{const{normalize:t}=e;return t(["hier"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Versteckt"])},HOME:e=>{const{normalize:t}=e;return t(["Startseite"])},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={ADD_A_NEW_APP:e=>{const{normalize:t}=e;return t(["Eine neue OAuth2-Anwendung hinzufügen"])},APP:{CLIENT_ID:e=>{const{normalize:t}=e;return t(["ID"])},CLIENT_SECRET:e=>{const{normalize:t}=e;return t(["Geheimnis"])},DESCRIPTION:e=>{const{normalize:t}=e;return t(["Anwendungsbeschreibung"])},ISSUE_AT:e=>{const{normalize:t}=e;return t(["Erstellt am"])},NAME:e=>{const{normalize:t}=e;return t(["Anwendungsname"])},REDIRECT_URL:e=>{const{normalize:t}=e;return t(["Weiterleitungs-URL"])},SCOPE:{LABEL:e=>{const{normalize:t}=e;return t(["Geltungsbereich"])},"profile:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf auth-Endpunkte"])},"profile:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf auth-Endpunkte"])},"users:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf users-Endpunkte"])},"users:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf users-Endpunkte"])},"workouts:read_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Lesezugriff auf workouts-Endpunkte"])},"workouts:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf workouts-Endpunkte"])},"application:write_DESCRIPTION":e=>{const{normalize:t}=e;return t(["erlaubt Schreibzugriff auf die Anwendungskonfiguration"])}},URL:e=>{const{normalize:t}=e;return t(["Anwendungs-URL"])}},APP_CREATED_SUCCESSFULLY:e=>{const{normalize:t}=e;return t(["Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen."])},APP_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist sicher, dass du diese App löschen willst?"])},APP_REQUESTING_ACCESS:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Die Anwendung ",n(r(0))," fragt an:"])},APPS_LIST:e=>{const{normalize:t}=e;return t(["OAuth2-Anwendungen"])},AUTHORIZE_APP:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," den Zugriff auf deinen Account erlauben?"])},COPY_TO_CLIPBOARD:e=>{const{normalize:t}=e;return t(["in Zwischenablage kopieren"])},DELETE_APP:e=>{const{normalize:t}=e;return t(["Anwendung löschen"])},NEW_APP:e=>{const{normalize:t}=e;return t(["Anwendung hinzufügen"])},NO_APP:e=>{const{normalize:t}=e;return t(["Anwendung wurde nicht gefunden!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["keine Anwendungen"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["keine Beschreibung"])},REVOKE_ALL_TOKENS:e=>{const{normalize:t}=e;return t(["Alle Tokens zurückrufen"])},TOKENS_REVOCATION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Bist du sicher, dass du alle Tokens zurückrufen möchtest?"])},TOKENS_REVOKED:e=>{const{normalize:t}=e;return t(["Alle vorhandenen und vergebenen Tokens wurde zurückgerufen."])}},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Radfahren (Virtuell)"])}},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"])},ASCENT_DATA:e=>{const{normalize:t}=e;return t(["Anstiegs-bezogene Daten (Aufnahmen, gesamt)"])},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"])},APPS:e=>{const{normalize:t}=e;return t(["Anwendungen"])},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."])}},E={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_HA:e=>{const{normalize:t}=e;return t(["Höchster Anstieg"])},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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},8757:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});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"])},HERE:e=>{const{normalize:t}=e;return t(["here"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Hidden"])},HOME:e=>{const{normalize:t}=e;return t(["Home"])},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_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_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Are you sure you want to delete this app?"])},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(["Add an application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application not found!"])},NO_APPS:e=>{const{normalize:t}=e;return t(["no applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["no description"])},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Cycling (Virtual)"])}},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.'])}},E={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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},6625:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return S}});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)"])},HERE:e=>{const{normalize:t}=e;return t(["ici"])},HIDDEN:e=>{const{normalize:t}=e;return t(["Masqué"])},HOME:e=>{const{normalize:t}=e;return t(["Accueil"])},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(["Description de l'application"])},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_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_DELETION_CONFIRMATION:e=>{const{normalize:t}=e;return t(["Êtes-vous sûr de vouloir supprimer cette application ?"])},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 application"])},NO_APP:e=>{const{normalize:t}=e;return t(["Application introuvable !"])},NO_APPS:e=>{const{normalize:t}=e;return t(["pas de applications"])},NO_DESCRIPTION:e=>{const{normalize:t}=e;return t(["pas de description"])},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)"])}},"Cycling (Virtual)":{LABEL:e=>{const{normalize:t}=e;return t(["Vélo (Virtuel)"])}},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."])}},E={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"])}},S={about:r,admin:a,api:o,buttons:s,common:i,dashboard:l,error:c,oauth2:u,sports:d,statistics:m,user:_,workouts:E}},4970: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"},E={class:"footer-item"},S=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"},I=["href"],R=d((()=>(0,l._)("div",{class:"footer-item bullet"},"•",-1))),U={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",E,[S,(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,I)])):(0,l.kq)("",!0),R,(0,l._)("div",U,[(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)),C=n(5801),v=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,v.o)(),r=(0,l.Fl)((()=>n.getters[C.YN.GETTERS.AUTH_USER_PROFILE])),a=(0,l.Fl)((()=>n.getters[C.YN.GETTERS.IS_AUTHENTICATED])),o=(0,l.Fl)((()=>n.getters[C.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(C.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e.value.toString())}function _(){n.dispatch(C.YN.ACTIONS.LOGOUT)}return(e,t)=>{const n=(0,l.up)("router-link"),E=(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)(E,{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,v.o)(),n=(0,l.Fl)((()=>t.getters[C.SY.GETTERS.APP_CONFIG])),r=(0,l.Fl)((()=>t.getters[C.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(C.SY.ACTIONS.UPDATE_APPLICATION_LANGUAGE,e)}return(0,l.wF)((()=>{_(),t.dispatch(C.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 Ee={class:"alert-message"},Se=["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",Ee,[(0,l._)("div",{innerHTML:e.$t((0,c.SU)(n))},null,8,Se)]))}});const pe=(0,z.Z)(Te,[["__scopeId","data-v-69d7e4ff"]]);var Ae=pe,Oe=n(2531);const Ie={class:"custom-textarea"},Re=["id","name","maxLenght","disabled"],Ue={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",Ie,[(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",Ue,(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 Ce=(0,z.Z)(fe,[["__scopeId","data-v-f46ff1d6"]]);var ve=Ce,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",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"},it=(0,l.uE)(' silhouette of a person riding a bicycle with virtual indicator ',4),lt=[it];function ct(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",st,lt)}var ut={name:"CyclingVirtual"};const dt=(0,z.Z)(ut,[["render",ct]]);var mt=dt;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 463.507 463.507",style:{"enable-background":"new 0 0 463.507 463.507"},"xml:space":"preserve"},Et=(0,l._)("desc",{id:"hikingDescription"},"silhouette of a person hiking",-1),St=(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),Tt=[Et,St];function pt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",_t,Tt)}var At={name:"Hiking"};const Ot=(0,z.Z)(At,[["render",pt]]);var It=Ot;const Rt={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"},Ut=(0,l._)("desc",{id:"mountainBikingDescription"}," silhouette of a person riding a mountain bike ",-1),gt=(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),Nt=[Ut,gt];function zt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Rt,Nt)}var ht={name:"MountainBiking"};const wt=(0,z.Z)(ht,[["render",zt]]);var ft=wt;const Ct={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"},vt=(0,l.uE)(' silhouette of a person riding an electric mountain bike ',18),Dt=[vt];function kt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Ct,Dt)}var Pt={name:"MountainBikingElectric"};const Lt=(0,z.Z)(Pt,[["render",kt]]);var Mt=Lt;const bt={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"},yt=(0,l._)("desc",{id:"rowingDescription"},"silhouette of a person rowing",-1),Gt=(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),Ft=[yt,Gt];function Wt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",bt,Ft)}var Kt={name:"Rowing"};const Yt=(0,z.Z)(Kt,[["render",Wt]]);var xt=Yt;const Bt={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"},$t=(0,l._)("desc",{id:"runningDescription"},"silhouette of a running person",-1),Zt=(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),Ht=[$t,Zt];function qt(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Bt,Ht)}var Vt={name:"Running"};const jt=(0,z.Z)(Vt,[["render",qt]]);var Xt=jt;const Jt={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"},Qt=(0,l._)("desc",{id:"alpineSkiingDescription"},"silhouette of a person skiing",-1),en=(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),tn=[Qt,en];function nn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Jt,tn)}var rn={name:"SkiingAlpine"};const an=(0,z.Z)(rn,[["render",nn]]);var on=an;const sn={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"},ln=(0,l._)("desc",{id:"crossCountrySkiingDescription"}," silhouette of a person skiing (cross country) ",-1),cn=(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),un=[ln,cn];function dn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",sn,un)}var mn={name:"SkiingCrossCountry"};const _n=(0,z.Z)(mn,[["render",dn]]);var En=_n;const Sn={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"},Tn=(0,l.uE)('silhouette of a person with snowshoes',6),pn=[Tn];function An(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Sn,pn)}var On={name:"Snowshoes"};const In=(0,z.Z)(On,[["render",An]]);var Rn=In;const Un={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"},gn=(0,l._)("desc",{id:"trailDescription"},"silhouette of a person running (trail)",-1),Nn=(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),zn=[gn,Nn];function hn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",Un,zn)}var wn={name:"Trail"};const fn=(0,z.Z)(wn,[["render",hn]]);var Cn=fn;const vn={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"},Dn=(0,l.uE)('silhouette of a walking person',3),kn=[Dn];function Pn(e,t,n,r,a,o){return(0,l.wg)(),(0,l.iD)("svg",vn,kn)}var Ln={name:"Walking"};const Mn=(0,z.Z)(Ln,[["render",Pn]]);var bn=Mn;const yn=["title"];var Gn=(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),"Cycling (Virtual)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(mt,{key:2})):(0,l.kq)("",!0),"Hiking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(It,{key:3})):(0,l.kq)("",!0),"Mountain Biking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(ft,{key:4})):(0,l.kq)("",!0),"Mountain Biking (Electric)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Mt,{key:5})):(0,l.kq)("",!0),"Rowing"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(xt,{key:6})):(0,l.kq)("",!0),"Running"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Xt,{key:7})):(0,l.kq)("",!0),"Skiing (Alpine)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(on,{key:8})):(0,l.kq)("",!0),"Skiing (Cross Country)"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(En,{key:9})):(0,l.kq)("",!0),"Snowshoes"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Rn,{key:10})):(0,l.kq)("",!0),"Trail"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(Cn,{key:11})):(0,l.kq)("",!0),"Walking"===(0,c.SU)(r)?((0,l.wg)(),(0,l.j4)(bn,{key:12})):(0,l.kq)("",!0)],12,yn))}});const Fn=Gn;var Wn=Fn;const Kn={class:"loader"};function Yn(e,t){return(0,l.wg)(),(0,l.iD)("div",Kn)}const xn={},Bn=(0,z.Z)(xn,[["render",Yn],["__scopeId","data-v-4c9921ee"]]);var $n=Bn;const Zn={id:"modal"},Hn={class:"custom-modal"},qn={key:0,class:"modal-message"},Vn={key:1,class:"modal-message"},jn={class:"modal-buttons"};var Xn=(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,v.o)(),{title:a,message:o,strongMessage:s}=(0,c.BK)(n),i=(0,l.Fl)((()=>r.getters[C.SY.GETTERS.ERROR_MESSAGES]));return(0,l.Ah)((()=>r.commit(C.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",Zn,[(0,l._)("div",Hn,[(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",qn,[(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",Vn,(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",jn,[(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 Jn=(0,z.Z)(Xn,[["__scopeId","data-v-e8fcfaba"]]);var Qn=Jn;const er=[{target:Ae,name:"AlertMessage"},{target:Oe.Z,name:"Card"},{target:ze,name:"CustomTextArea"},{target:ve,name:"Distance"},{target:ye,name:"Dropdown"},{target:xe,name:"ErrorMessage"},{target:$n,name:"Loader"},{target:Qn,name:"Modal"},{target:Wn,name:"SportImage"}],tr={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 nr=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 rr=(0,o.ri)(ue).provide("sportColors",nr.Zo).use(de.Z).use(_e.Z).use(me.Z).use(s.ZP,{name:"VFullscreen"}).directive("click-outside",tr);er.forEach((e=>{rr.component(e.name,e.target)})),rr.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"],E={for:"admin_contact"},S=["value"],T=["disabled"],p={for:"max_users"},A=["disabled"],O={class:"user-limit-help"},I={class:"info-box"},R=d((()=>(0,a._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),U={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"},C={class:"confirm",type:"submit"},v=["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",E,[(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,S))]),(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",I,[R,(0,a.Uk)(" "+(0,o.zw)(e.$t("admin.APP_CONFIG.MAX_USERS_HELP")),1)])]),(0,a._)("label",U,[(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",C,(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,v)])):((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"},Ee={class:"text-left sport-action"},Se=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"},Ie={class:"cell-heading"},Re={class:"text-center"},Ue={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 Ce=(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",Ee,(0,o.zw)(e.$t("admin.ACTION")),1),Se])]),(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",Ie,(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",Ue,(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 ve=(0,P.Z)(Ce,[["__scopeId","data-v-6d62af67"]]);var De=ve,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 E=(0,a.Fl)((()=>t.getters[l.YN.GETTERS.AUTH_USER_PROFILE])),S=(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 I(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)(S).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)(S),(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)(E).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)(E).username,onClick:e=>I(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,Et=n(2179);const St={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",St,[(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 It=Ot;const Rt={id:"user-profile"},Ut={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)(Et.Z,{user:(0,i.SU)(n)},null,8,["user"]),(0,a._)("div",Ut,[(0,a.Wm)(It,{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"},Ct={class:"profile-buttons"};var vt=(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",Ct,[(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=vt;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)(It,{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])),E=(0,i.iH)(!1),S=(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 I(e){u.password=e}function R(e){u.new_password=e}function U(){const e={email:u.email,password:u.password};u.new_password&&(e.new_password=u.new_password),E.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&&(I(""),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)(S)?((0,a.wg)(),(0,a.j4)(l,{key:0,message:(0,i.SU)(S)},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_${E.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)(U,["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:I,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 E(e){r.bio=e}function S(){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)(S,["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:E},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 En=(0,P.Z)(_n,[["__scopeId","data-v-b6bacea0"]]);var Sn=En;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"],In={class:"picture-help"},Rn={class:"info-box"},Un=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):"",E=(0,i.iH)(null);function S(){n.dispatch(l.YN.ACTIONS.DELETE_PICTURE)}function T(e){e.target.files&&(E.value=e.target.files[0])}function p(){E.value&&n.dispatch(l.YN.ACTIONS.UPDATE_USER_PICTURE,{picture:E.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",In,[(0,a._)("span",Rn,[Un,(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:!E.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:S},(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"],Cn={id:"tz-dropdown"},vn=["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 E(e){m.value=e}function S(e){c.value=e,u.value=!1,t("updateTimezone",e)}function T(e){e.preventDefault(),d.value?.firstElementChild?.innerHTML&&S(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",Cn,[(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=>S((0,i.SU)(r))),["esc"])),(0,s.D2)(T,["enter"])],onInput:p},null,40,vn),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=>S(e),onMouseover:e=>E(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])),E=(0,a.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES]));function S(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 I(e){r.weekm=e}return(0,a.bv)((()=>{t.user&&S(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)(E)?((0,a.wg)(),(0,a.j4)(n,{key:0,message:(0,i.SU)(E)},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=>I(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"],Er={class:"form-items"},Sr={class:"form-item"},Tr={for:"app-name"},pr={class:"form-item"},Ar={for:"app-description"},Or={class:"form-item"},Ir={for:"app-url"},Rr={class:"form-item"},Ur={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"},Cr=["disabled"];var vr=(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)((()=>S(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 E(e){const t=u.indexOf(e);t>-1?u.splice(t,1):u.push(e)}function S(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",Er,[(0,a._)("div",Sr,[(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",Ir,(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",Ur,(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=>E(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,Cr),(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)(vr,[["__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])),E=(0,i.iH)(!1),S=(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 I(e){S.value=e?"oauth2.APP_DELETION_CONFIRMATION":"oauth2.TOKENS_REVOCATION_CONFIRMATION",R(!0)}function R(e){E.value=e,e||(S.value=null)}function U(e){"oauth2.APP_DELETION_CONFIRMATION"===S.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,[E.value?((0,a.wg)(),(0,a.j4)(n,{key:0,title:e.$t("common.CONFIRMATION"),message:e.$t(S.value),onConfirmAction:t[0]||(t[0]=e=>U((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=>I(!1))},(0,o.zw)(e.$t("oauth2.REVOKE_ALL_TOKENS")),1),(0,a._)("button",{class:"danger",onClick:t[3]||(t[3]=e=>I(!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"},Ea={class:"app-list-buttons"};var Sa=(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 _=E(s.query);function E(e){const t={};return e.page&&(t.page=(0,Ye.z_)(e.page,Ye.Hf)),t}function S(e){n.dispatch(l.Km.ACTIONS.GET_CLIENTS,e)}return(0,a.wF)((()=>{S(_)})),(0,a.YP)((()=>s.query),(async e=>{_=E(e),S(_)})),(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",Ea,[(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)(Sa,[["__scopeId","data-v-a5c2cdde"]]);var pa=Ta;const Aa={id:"user-sport-preferences"},Oa={key:0,class:"responsive-table"},Ia={class:"mobile-display"},Ra={key:0,class:"profile-buttons mobile-display"},Ua={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"},Ca={key:1,class:"fa fa-refresh fa-spin fa-fw"},va={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"),E=(0,a.Fl)((()=>n.getters[l.O8.GETTERS.SPORTS])),S=(0,a.Fl)((()=>(0,le.xH)(E.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 I(e){return A.sport_id===e}function R(e){A.color=e.target.value}function U(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)(E).length>0?((0,a.wg)(),(0,a.iD)("div",Oa,[(0,a._)("div",Ia,[(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",Ua,[(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)(S),(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),I(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)&&I(s.id)?((0,a.wg)(),(0,a.iD)("i",Ca)):(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",va,(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),I(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),I(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:U},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),I(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 Eo={},So=(0,P.Z)(Eo,[["render",_o],["__scopeId","data-v-795f7f5f"]]);var To=So;const po={id:"about",class:"view"},Ao={class:"container"},Oo={class:"container-sub"},Io={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",Io,[(0,a.Wm)(co)])])]))}});const Uo=(0,P.Z)(Ro,[["__scopeId","data-v-bffb50d0"]]);var go=Uo,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"},Co={class:"workout-user-date"},vo={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",Co,[(0,a._)("div",vo,[(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)((()=>S()));const _=(0,a.Fl)((()=>n.getters[l.aX.GETTERS.TIMELINE_WORKOUTS])),E=(0,a.Fl)((()=>_.value.length>0&&null!==_.value[_.value.length-1].previous_workout));function S(){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)(E)?((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 Es=["title"];var Ss=(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,Es)):(0,a.kq)("",!0)])])}}});const Ts=Ss;var ps=Ts;const As={class:"donut-chart"},Os={height:"34",width:"34",viewBox:"0 0 34 34"},Is=["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,Is)])))),128))]))]))}});const Us=Rs;var gs=Us;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 Cs=(0,P.Z)(fs,[["__scopeId","data-v-52d4310a"]]);var vs=Cs;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)(vs,{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)(vs,{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 E(){_.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 S(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)((()=>E())),(0,a.YP)((()=>t.currentDay),(()=>E())),(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":S(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 E(){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 S(){u.value=(0,ls.Z)(u.value,1),E()}function T(){u.value=(0,cs.Z)(u.value,1),E()}return(0,a.wF)((()=>E())),(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:S,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 Ei=(0,P.Z)(_i,[["__scopeId","data-v-1bcddc12"]]);var Si=Ei,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}),{}),Ii={class:"records-card"},Ri={class:"record-type"},Ui={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",Ii,[(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",Ui,(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"},Ci={class:"section-title"},vi=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",Ci,[vi,(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)((()=>E(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 E(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)(Si,{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(2411);const _l={id:"loginOrRegister",class:"view"},El={class:"container"},Sl={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",El,[(0,a._)("div",Sl,[(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 Il=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:Il(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:Il(e.path)}),children:[{path:"",name:"UserInfosEdition",component:Sn},{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}],Ul=(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"];Ul.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=Ul},5801:function(e,t,n){"use strict";var r,a,o,s,i,l,c,u,d,m,_,E,S,T,p,A,O,I;n.d(t,{YN:function(){return z},Km:function(){return h},SY:function(){return U},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"}(E||(E={})),function(e){e["GET_USER_STATS"]="GET_USER_STATS"}(S||(S={})),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"}(I||(I={}));var R=n(52);const U={ACTIONS:c,GETTERS:u,MUTATIONS:d},g={ACTIONS:m,GETTERS:_,MUTATIONS:E},N={ACTIONS:S,GETTERS:T,MUTATIONS:p},z={ACTIONS:r,GETTERS:a,MUTATIONS:o},h={ACTIONS:s,GETTERS:i,MUTATIONS:l},w={ACTIONS:A,GETTERS:O,MUTATIONS:I},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)))},E={[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})}},S=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]&&S(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),S(e))})).catch((t=>{"canceled"!==t.message&&((0,l.S)(e,t),S(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?S(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},I={state:O,actions:T,getters:p,mutations:A};var R=I;const U=(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){U(e,`oauth/apps/${t}`)},[m.Km.ACTIONS.GET_CLIENT_BY_ID](e,t){U(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,C=n(2540);const{locale:v}=C.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),v.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:E,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}"`)}},E=(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}"`)}},S=(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","Cycling (Virtual)":"#64a360",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),E=n(3500),S=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"}},I=["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},U=(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(U(e.label,n,!0)),t.nb_workouts.push(U(e.label,n)),t.total_distance.push(U(e.label,n)),t.total_duration.push(U(e.label,n)),t.total_ascent.push(U(e.label,n)),t.total_descent.push(U(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),I.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,E.Z)(p,1),{weekStartsOn:A}):(0,d.Z)(t?(0,i.Z)(p,1):(0,S.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,E.Z)(T,1),{weekStartsOn:A}):(0,l.Z)(t?(0,i.Z)(T,1):(0,S.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:E,sort:S,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)(E).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)(E).order,onChange:A},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,o.SU)(S),(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)(E).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)])]))}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-72463173"]]);var T=S},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 E}});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),o=(0,a.iH)(),s=(0,a.iH)(!1);function i(){o.value=setTimeout((()=>{s.value=!0}),500)}return(0,r.bv)((()=>i())),(0,r.Ah)((()=>{o.value&&clearTimeout(o.value)})),(e,t)=>s.value?((0,r.wg)(),(0,r.j4)(d,{key:0,title:"404",message:e.$t(`error.NOT_FOUND.${(0,a.SU)(n)}`),"button-text":e.$t("common.HOME")},null,8,["message","button-text"])):(0,r.kq)("",!0)}});const _=m;var E=_},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 E(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:E((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:E(+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:E((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)])])}}}),E=n(3744);const S=(0,E.Z)(_,[["__scopeId","data-v-3a9a4a65"]]);var T=S},8403:function(e,t,n){"use strict";n.d(t,{Z:function(){return C}});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=await n.e(881).then(n.bind(n,8056)),s={de:o,en:r,fr:a},l=s[e],c={graphs:t.default.adjacencyGraphs,dictionary:{...t.default.dictionary,...l.default.dictionary}};i.Mu.setOptions(c)},d=e=>{switch(e){case 2:return"AVERAGE";case 3:return"GOOD";case 4:return"STRONG";default:return"WEAK"}},m={class:"password-strength"},_=["value"],E={key:0,class:"password-strength-details"},S={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])),I=(0,a.iH)(0),R=(0,a.iH)(""),U=(0,a.iH)([]),g=(0,a.iH)("0% 100%");function N(e){const t=(0,i.tu)(e);I.value=t.score,R.value=d(I.value),U.value=t.feedback.suggestions,g.value=100*I.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-${I.value}`]),style:(0,s.j5)({backgroundSize:g.value}),type:"range",value:I.value,min:"0",max:"4",step:"1"},null,14,_),R.value?((0,r.wg)(),(0,r.iD)("div",E,[(0,r._)("span",S,(0,s.zw)(e.$t("user.PASSWORD_STRENGTH.LABEL"))+": "+(0,s.zw)(e.$t(`user.PASSWORD_STRENGTH.${R.value}`)),1),U.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)(U.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 I=(0,O.Z)(A,[["__scopeId","data-v-74e71df5"]]);var R=I;const U=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=U((()=>(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),E=(0,a.iH)("");function S(){_.value=!_.value}function T(e){t("updatePassword",e.target.value)}function p(){t("passwordError")}return(0,r.YP)((()=>u.value),(e=>{""===e&&(E.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=>E.value=e),minlength:"8",onInput:T,onInvalid:p},null,40,N),[[o.YZ,E.value]]),(0,r._)("div",{class:"show-password",onClick:S},[(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:E.value},null,8,["password"])):(0,r.kq)("",!0)]))}});const f=(0,O.Z)(w,[["__scopeId","data-v-5a126514"]]);var C=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"],E={key:1},S=["checked"],T={key:2},p=["checked"];function A(e,t,n,A,O,I){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",E,[(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,S),(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),I=n(2262);const R={class:"chart"};function U(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}}}),C=n(3744);const v=(0,C.Z)(f,[["render",U]]);var D=v,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,I.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,C.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"},E={class:"stat-number"},S={class:"stat-label"},T={class:"user-stat"},p={class:"stat-label"},A={class:"user-stat hide-small"},O={class:"stat-number"},I={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)(),U=(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",E,(0,o.zw)((0,a.SU)(n).nb_workouts),1),(0,r._)("span",S,(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)(U).imperial_units},null,8,["distance","useImperialUnits"]),(0,r._)("span",p,(0,o.zw)((0,a.SU)(U).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",I,(0,o.zw)(e.$t("workouts.SPORT",(0,a.SU)(n).nb_sports)),1)])])])])}}}),U=n(3744);const g=(0,U.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"},E={class:"form-items",for:"email"},S={class:"form-buttons"},T={class:"confirm",type:"submit"},p=["onClick"],A={key:5},O={class:"user-bio"},I={key:0,class:"profile-buttons"},R=["onClick"],U={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])),C=(0,r.Fl)((()=>n.getters[l.SY.GETTERS.ERROR_MESSAGES])),v=(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)(C)?((0,r.wg)(),(0,r.j4)(l,{key:3,message:(0,a.SU)(C)},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",E,[(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",S,[(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",I,[(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)(v).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",U,[(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},2411:function(e,t,n){"use strict";n.d(t,{Z:function(){return v}});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-b3c885de"),e=e(),(0,r.Cn)(),e),m={id:"user-form"},_={key:2,class:"info-box success-message"},E={class:"form-items"},S=["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"},I=d((()=>(0,r._)("i",{class:"fa fa-info-circle","aria-hidden":"true"},null,-1))),R=["disabled"],U={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:""}),C=(0,r.Fl)((()=>G(t.action))),v=(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.Ah)((()=>d.commit(c.SY.MUTATIONS.EMPTY_ERROR_MESSAGES))),(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",E,["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,S)),[[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,[I,(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)(C))),9,R)],34),"login"===(0,o.SU)(w)?((0,r.wg)(),(0,r.iD)("div",U,[(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)(v)?((0,r.wg)(),(0,r.j4)(c,{key:6,message:(0,o.SU)(v)},null,8,["message"])):(0,r.kq)("",!0)],2)])],2)}}}),f=n(3744);const C=(0,f.Z)(w,[["__scopeId","data-v-b3c885de"]]);var v=C},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:"987a4de8",93:"97ccdf6e",193:"9cd652fd",243:"27c8fef5",328:"ab9e5f5f",401:"26e6ad88",431:"5976068e",633:"9a092c9a",845:"dd30724d",858:"0441e3cc",881:"c426a91d"}[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 during gpx processing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler bei der GPX-Verarbeitung.\"])},\n \"error during gpx file parsing\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Fehler beim Einlesen der GPX-Datei\"])},\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 \"AUTHORIZE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Autorisieren\"])},\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 \"DISPLAYED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Angezeigt\"])},\n \"DOCUMENTATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Dokumentation (en)\"])},\n \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"hier\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Versteckt\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Startseite\"])},\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 \"ADD_A_NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Eine neue OAuth2-Anwendung hinzufügen\"])},\n \"APP\": {\n \"CLIENT_ID\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ID\"])},\n \"CLIENT_SECRET\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geheimnis\"])},\n \"DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsbeschreibung\"])},\n \"ISSUE_AT\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Erstellt am\"])},\n \"NAME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungsname\"])},\n \"REDIRECT_URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Weiterleitungs-URL\"])},\n \"SCOPE\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Geltungsbereich\"])},\n \"profile:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf auth-Endpunkte\"])},\n \"profile:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf auth-Endpunkte\"])},\n \"users:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf users-Endpunkte\"])},\n \"users:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf users-Endpunkte\"])},\n \"workouts:read_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Lesezugriff auf workouts-Endpunkte\"])},\n \"workouts:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf workouts-Endpunkte\"])},\n \"application:write_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"erlaubt Schreibzugriff auf die Anwendungskonfiguration\"])}\n },\n \"URL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungs-URL\"])}\n },\n \"APP_CREATED_SUCCESSFULLY\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung erfolgreich erstellt. Stelle sicher, dass du das Geheimnis kopierst, du kannst es nicht erneut anzeigen.\"])},\n \"APP_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist sicher, dass du diese App löschen willst?\"])},\n \"APP_REQUESTING_ACCESS\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([\"Die Anwendung \", _interpolate(_list(0)), \" fragt an:\"])},\n \"APPS_LIST\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"OAuth2-Anwendungen\"])},\n \"AUTHORIZE_APP\": (ctx) => {const { normalize: _normalize, interpolate: _interpolate, list: _list } = ctx;return _normalize([_interpolate(_list(0)), \" den Zugriff auf deinen Account erlauben?\"])},\n \"COPY_TO_CLIPBOARD\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"in Zwischenablage kopieren\"])},\n \"DELETE_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung löschen\"])},\n \"NEW_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung hinzufügen\"])},\n \"NO_APP\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendung wurde nicht gefunden!\"])},\n \"NO_APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Anwendungen\"])},\n \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"keine Beschreibung\"])},\n \"REVOKE_ALL_TOKENS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle Tokens zurückrufen\"])},\n \"TOKENS_REVOCATION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Bist du sicher, dass du alle Tokens zurückrufen möchtest?\"])},\n \"TOKENS_REVOKED\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Alle vorhandenen und vergebenen Tokens wurde zurückgerufen.\"])}\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Radfahren (Virtuell)\"])}\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 \"ASCENT_DATA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anstiegs-bezogene Daten (Aufnahmen, gesamt)\"])},\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 \"APPS\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Anwendungen\"])},\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_HA\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Höchster Anstieg\"])},\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 \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"here\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Hidden\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Home\"])},\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_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_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Are you sure you want to delete this app?\"])},\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([\"Add an application\"])},\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 \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"no description\"])},\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Cycling (Virtual)\"])}\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 \"HERE\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"ici\"])},\n \"HIDDEN\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Masqué\"])},\n \"HOME\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Accueil\"])},\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([\"Description de l'application\"])},\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_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_DELETION_CONFIRMATION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Êtes-vous sûr de vouloir supprimer cette application ?\"])},\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 application\"])},\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 \"NO_DESCRIPTION\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"pas de description\"])},\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 \"Cycling (Virtual)\": {\n \"LABEL\": (ctx) => {const { normalize: _normalize } = ctx;return _normalize([\"Vélo (Virtuel)\"])}\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 \"./CyclingVirtual.vue?vue&type=template&id=ec8f7bb6\"\nimport script from \"./CyclingVirtual.vue?vue&type=script&lang=js\"\nexport * from \"./CyclingVirtual.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 CyclingVirtual from '@/components/Common/Images/SportImage/CyclingVirtual.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) === 'Cycling (Virtual)')\n ? (_openBlock(), _createBlock(CyclingVirtual, { key: 2 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Hiking')\n ? (_openBlock(), _createBlock(Hiking, { key: 3 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking')\n ? (_openBlock(), _createBlock(MountainBiking, { key: 4 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Mountain Biking (Electric)')\n ? (_openBlock(), _createBlock(MountainBikingElectric, { key: 5 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Rowing')\n ? (_openBlock(), _createBlock(Rowing, { key: 6 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Running')\n ? (_openBlock(), _createBlock(Running, { key: 7 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Alpine)')\n ? (_openBlock(), _createBlock(SkiingAlpine, { key: 8 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Skiing (Cross Country)')\n ? (_openBlock(), _createBlock(SkiingCrossCountry, { key: 9 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Snowshoes')\n ? (_openBlock(), _createBlock(Snowshoes, { key: 10 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Trail')\n ? (_openBlock(), _createBlock(Trail, { key: 11 }))\n : _createCommentVNode(\"\", true),\n (_unref(sportLabel) === 'Walking')\n ? (_openBlock(), _createBlock(Walking, { key: 12 }))\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 'Cycling (Virtual)': '#64a360',\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, createCommentVNode as _createCommentVNode } from \"vue\"\n\nimport { Ref, onMounted, ref, toRefs, withDefaults, onUnmounted } 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 const timer = ref()\n const errorDisplayed: Ref = ref(false)\n\n onMounted(() => displayError())\n\n function displayError() {\n timer.value = setTimeout(() => {\n errorDisplayed.value = true\n }, 500)\n }\n\n onUnmounted(() => {\n if (timer.value) {\n clearTimeout(timer.value)\n }\n })\n\nreturn (_ctx: any,_cache: any) => {\n return (errorDisplayed.value)\n ? (_openBlock(), _createBlock(Error, {\n key: 0,\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 : _createCommentVNode(\"\", true)\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 zxcvbnDePackage = await import(\n /* webpackChunkName: \"password\" */ '@zxcvbn-ts/language-de'\n )\n const zxcvbnLangPackages: Record = {\n de: zxcvbnDePackage,\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-b3c885de\"),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 onUnmounted,\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 onUnmounted(() => store.commit(ROOT_STORE.MUTATIONS.EMPTY_ERROR_MESSAGES))\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=b3c885de&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-b3c885de\"]])\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\":\"987a4de8\",\"93\":\"97ccdf6e\",\"193\":\"9cd652fd\",\"243\":\"27c8fef5\",\"328\":\"ab9e5f5f\",\"401\":\"26e6ad88\",\"431\":\"5976068e\",\"633\":\"9a092c9a\",\"845\":\"dd30724d\",\"858\":\"0441e3cc\",\"881\":\"c426a91d\"}[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__(4970); })\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","CyclingVirtual","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","timer","errorDisplayed","displayError","clearTimeout","cursor","has_prev","navigate","has_next","active","setZxcvbnOptions","zxcvbnCommonPackage","zxcvbnEnPackage","zxcvbnFrPackage","zxcvbnDePackage","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","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.e9c5b3a5.js b/fittrackee/dist/static/js/chunk-vendors.a306e708.js similarity index 99% rename from fittrackee/dist/static/js/chunk-vendors.e9c5b3a5.js rename to fittrackee/dist/static/js/chunk-vendors.a306e708.js index bf3a97eb..8c48c23a 100644 --- a/fittrackee/dist/static/js/chunk-vendors.e9c5b3a5.js +++ b/fittrackee/dist/static/js/chunk-vendors.a306e708.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,e,n){var r=n(4154),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}: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=n(4154),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}: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.2",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.2/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,e,n){var r=n(4154),i=r.all;t.exports=r.IS_HTMLDDA?function(t){return"function"==typeof t||t===i}: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=n(4154),o=i.all;t.exports=i.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:r(t)||t===o}: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.2",mode:r?"pure":"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.25.2/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.e9c5b3a5.js.map \ No newline at end of file +//# sourceMappingURL=chunk-vendors.a306e708.js.map \ No newline at end of file diff --git a/fittrackee/dist/static/js/chunk-vendors.e9c5b3a5.js.map b/fittrackee/dist/static/js/chunk-vendors.a306e708.js.map similarity index 99% rename from fittrackee/dist/static/js/chunk-vendors.e9c5b3a5.js.map rename to fittrackee/dist/static/js/chunk-vendors.a306e708.js.map index 202f59b5..d905f367 100644 --- a/fittrackee/dist/static/js/chunk-vendors.e9c5b3a5.js.map +++ b/fittrackee/dist/static/js/chunk-vendors.a306e708.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/chunk-vendors.e9c5b3a5.js","mappings":"4pBAMA,IAAIA,EACJ,MAAMC,EACFC,YAAYC,GAAW,GAInBC,KAAKC,QAAS,EAIdD,KAAKE,QAAU,GAIfF,KAAKG,SAAW,IACXJ,GAAYH,IACbI,KAAKI,OAASR,EACdI,KAAKK,OACAT,EAAkBU,SAAWV,EAAkBU,OAAS,KAAKC,KAAKP,MAAQ,EAEvF,CACAQ,IAAIC,GACA,GAAIT,KAAKC,OAAQ,CACb,MAAMS,EAAqBd,EAC3B,IAEI,OADAA,EAAoBI,KACbS,GAIX,CAFA,QACIb,EAAoBc,CACxB,CACJ,MACS,CAGb,CAKAC,KACIf,EAAoBI,IACxB,CAKAY,MACIhB,EAAoBI,KAAKI,MAC7B,CACAS,KAAKC,GACD,GAAId,KAAKC,OAAQ,CACb,IAAIc,EAAGC,EACP,IAAKD,EAAI,EAAGC,EAAIhB,KAAKE,QAAQe,OAAQF,EAAIC,EAAGD,IACxCf,KAAKE,QAAQa,GAAGF,OAEpB,IAAKE,EAAI,EAAGC,EAAIhB,KAAKG,SAASc,OAAQF,EAAIC,EAAGD,IACzCf,KAAKG,SAASY,KAElB,GAAIf,KAAKM,OACL,IAAKS,EAAI,EAAGC,EAAIhB,KAAKM,OAAOW,OAAQF,EAAIC,EAAGD,IACvCf,KAAKM,OAAOS,GAAGF,MAAK,GAI5B,GAAIb,KAAKI,SAAWU,EAAY,CAE5B,MAAMI,EAAOlB,KAAKI,OAAOE,OAAOa,MAC5BD,GAAQA,IAASlB,OACjBA,KAAKI,OAAOE,OAAON,KAAKK,OAASa,EACjCA,EAAKb,MAAQL,KAAKK,MAE1B,CACAL,KAAKC,QAAS,CAClB,CACJ,EAEJ,SAASmB,EAAYrB,GACjB,OAAO,IAAIF,EAAYE,EAC3B,CACA,SAASsB,EAAkBC,EAAQC,EAAQ3B,GACnC2B,GAASA,EAAMtB,QACfsB,EAAMrB,QAAQK,KAAKe,EAE3B,CAcA,MAAME,EAAatB,IACf,MAAMuB,EAAM,IAAIC,IAAIxB,GAGpB,OAFAuB,EAAIE,EAAI,EACRF,EAAIG,EAAI,EACDH,CAAG,EAERI,EAAcJ,IAASA,EAAIE,EAAIG,GAAc,EAC7CC,EAAcN,IAASA,EAAIG,EAAIE,GAAc,EAC7CE,EAAiB,EAAGC,WACtB,GAAIA,EAAKhB,OACL,IAAK,IAAIF,EAAI,EAAGA,EAAIkB,EAAKhB,OAAQF,IAC7BkB,EAAKlB,GAAGY,GAAKG,CAErB,EAEEI,EAAsBZ,IACxB,MAAM,KAAEW,GAASX,EACjB,GAAIW,EAAKhB,OAAQ,CACb,IAAIkB,EAAM,EACV,IAAK,IAAIpB,EAAI,EAAGA,EAAIkB,EAAKhB,OAAQF,IAAK,CAClC,MAAMU,EAAMQ,EAAKlB,GACbc,EAAWJ,KAASM,EAAWN,GAC/BA,EAAIW,OAAOd,GAGXW,EAAKE,KAASV,EAGlBA,EAAIE,IAAMG,EACVL,EAAIG,IAAME,CACd,CACAG,EAAKhB,OAASkB,CAClB,GAGEE,EAAY,IAAIC,QAEtB,IAAIC,EAAmB,EACnBT,EAAa,EAMjB,MAAMU,EAAgB,GACtB,IAAIC,EACJ,MAAMC,EAAcC,OAA6D,IAC3EC,EAAsBD,OAAqE,IACjG,MAAME,EACF/C,YAAYW,EAAIqC,EAAY,KAAMvB,GAC9BvB,KAAKS,GAAKA,EACVT,KAAK8C,UAAYA,EACjB9C,KAAKC,QAAS,EACdD,KAAKiC,KAAO,GACZjC,KAAKI,YAAS2C,EACd1B,EAAkBrB,KAAMuB,EAC5B,CACAf,MACI,IAAKR,KAAKC,OACN,OAAOD,KAAKS,KAEhB,IAAIL,EAASqC,EACTO,EAAkBC,EACtB,MAAO7C,EAAQ,CACX,GAAIA,IAAWJ,KACX,OAEJI,EAASA,EAAOA,MACpB,CACA,IAWI,OAVAJ,KAAKI,OAASqC,EACdA,EAAezC,KACfiD,GAAc,EACdnB,EAAa,KAAOS,EAChBA,GAAoBC,EACpBR,EAAehC,MAGfkD,EAAclD,MAEXA,KAAKS,IAahB,CAXA,QACQ8B,GAAoBC,GACpBN,EAAmBlC,MAEvB8B,EAAa,KAAOS,EACpBE,EAAezC,KAAKI,OACpB6C,EAAcD,EACdhD,KAAKI,YAAS2C,EACV/C,KAAKmD,WACLnD,KAAKa,MAEb,CACJ,CACAA,OAEQ4B,IAAiBzC,KACjBA,KAAKmD,WAAY,EAEZnD,KAAKC,SACViD,EAAclD,MACVA,KAAKoD,QACLpD,KAAKoD,SAETpD,KAAKC,QAAS,EAEtB,EAEJ,SAASiD,EAAc5B,GACnB,MAAM,KAAEW,GAASX,EACjB,GAAIW,EAAKhB,OAAQ,CACb,IAAK,IAAIF,EAAI,EAAGA,EAAIkB,EAAKhB,OAAQF,IAC7BkB,EAAKlB,GAAGqB,OAAOd,GAEnBW,EAAKhB,OAAS,CAClB,CACJ,CAqBA,IAAIgC,GAAc,EAClB,MAAMI,EAAa,GACnB,SAASC,IACLD,EAAW9C,KAAK0C,GAChBA,GAAc,CAClB,CAKA,SAASM,IACL,MAAMrC,EAAOmC,EAAWlC,MACxB8B,OAAuBF,IAAT7B,GAA4BA,CAC9C,CACA,SAASsC,EAAMC,EAAQC,EAAMC,GACzB,GAAIV,GAAeR,EAAc,CAC7B,IAAImB,EAAUvB,EAAUwB,IAAIJ,GACvBG,GACDvB,EAAUyB,IAAIL,EAASG,EAAU,IAAIG,KAEzC,IAAItC,EAAMmC,EAAQC,IAAIF,GACjBlC,GACDmC,EAAQE,IAAIH,EAAMlC,EAAMD,KAE5B,MAAMwC,OAEAjB,EACNkB,EAAaxC,EAAKuC,EACtB,CACJ,CACA,SAASC,EAAaxC,EAAKyC,GACvB,IAAIjB,GAAc,EACdV,GAAoBC,EACfT,EAAWN,KACZA,EAAIG,GAAKE,EACTmB,GAAepB,EAAWJ,IAK9BwB,GAAexB,EAAI0C,IAAI1B,GAEvBQ,IACAxB,EAAI2C,IAAI3B,GACRA,EAAaR,KAAK1B,KAAKkB,GAK/B,CACA,SAAS4C,EAAQZ,EAAQC,EAAMC,EAAKW,EAAUC,EAAUC,GACpD,MAAMZ,EAAUvB,EAAUwB,IAAIJ,GAC9B,IAAKG,EAED,OAEJ,IAAI3B,EAAO,GACX,GAAa,UAATyB,EAGAzB,EAAO,IAAI2B,EAAQa,eAElB,GAAY,WAARd,IAAoB,QAAQF,GACjCG,EAAQc,SAAQ,CAACjD,EAAKkC,MACN,WAARA,GAAoBA,GAAOW,IAC3BrC,EAAK1B,KAAKkB,EACd,SASJ,YAJY,IAARkC,GACA1B,EAAK1B,KAAKqD,EAAQC,IAAIF,IAGlBD,GACJ,IAAK,OACI,QAAQD,IAMJ,QAAaE,IAElB1B,EAAK1B,KAAKqD,EAAQC,IAAI,YAPtB5B,EAAK1B,KAAKqD,EAAQC,IAAInB,KAClB,QAAMe,IACNxB,EAAK1B,KAAKqD,EAAQC,IAAIjB,KAO9B,MACJ,IAAK,UACI,QAAQa,KACTxB,EAAK1B,KAAKqD,EAAQC,IAAInB,KAClB,QAAMe,IACNxB,EAAK1B,KAAKqD,EAAQC,IAAIjB,KAG9B,MACJ,IAAK,OACG,QAAMa,IACNxB,EAAK1B,KAAKqD,EAAQC,IAAInB,IAE1B,MAMZ,GAAoB,IAAhBT,EAAKhB,OACDgB,EAAK,IAKD0C,EAAe1C,EAAK,QAI3B,CACD,MAAM/B,EAAU,GAChB,IAAK,MAAMuB,KAAOQ,EACVR,GACAvB,EAAQK,QAAQkB,GAOpBkD,EAAenD,EAAUtB,GAEjC,CACJ,CACA,SAASyE,EAAelD,EAAKyC,GAEzB,MAAMhE,GAAU,QAAQuB,GAAOA,EAAM,IAAIA,GACzC,IAAK,MAAMH,KAAUpB,EACboB,EAAOsD,UACPC,EAAcvD,EAAQ4C,GAG9B,IAAK,MAAM5C,KAAUpB,EACZoB,EAAOsD,UACRC,EAAcvD,EAAQ4C,EAGlC,CACA,SAASW,EAAcvD,EAAQ4C,IACvB5C,IAAWmB,GAAgBnB,EAAOwD,gBAI9BxD,EAAOwB,UACPxB,EAAOwB,YAGPxB,EAAOd,MAGnB,CAEA,MAAMuE,GAAmC,QAAQ,+BAC3CC,EAAiB,IAAItD,IAE3BuD,OAAOC,oBAAoBvC,QAItBwC,QAAOxB,GAAe,cAARA,GAA+B,WAARA,IACrCyB,KAAIzB,GAAOhB,OAAOgB,KAClBwB,OAAO,OACNtB,EAAoBwB,IACpBC,EAA2BD,GAAa,GAAO,GAC/CE,EAA4BF,GAAa,GAEzCG,EAAsCC,IAC5C,SAASA,IACL,MAAMC,EAAmB,CAAC,EA0B1B,MAzBA,CAAC,WAAY,UAAW,eAAehB,SAAQf,IAC3C+B,EAAiB/B,GAAO,YAAagC,GACjC,MAAMC,EAAMC,GAAM7F,MAClB,IAAK,IAAIe,EAAI,EAAGC,EAAIhB,KAAKiB,OAAQF,EAAIC,EAAGD,IACpCyC,EAAMoC,EAAK,MAA8B7E,EAAI,IAGjD,MAAM+E,EAAMF,EAAIjC,MAAQgC,GACxB,OAAa,IAATG,IAAsB,IAARA,EAEPF,EAAIjC,MAAQgC,EAAKP,IAAIS,KAGrBC,CAEf,CAAC,IAEL,CAAC,OAAQ,MAAO,QAAS,UAAW,UAAUpB,SAAQf,IAClD+B,EAAiB/B,GAAO,YAAagC,GACjCrC,IACA,MAAMwC,EAAMD,GAAM7F,MAAM2D,GAAKoC,MAAM/F,KAAM2F,GAEzC,OADApC,IACOuC,CACX,CAAC,IAEEJ,CACX,CACA,SAASL,EAAaW,GAAa,EAAOC,GAAU,GAChD,OAAO,SAAaxC,EAAQE,EAAKuC,GAC7B,GAAY,mBAARvC,EACA,OAAQqC,EAEP,GAAY,mBAARrC,EACL,OAAOqC,EAEN,GAAY,kBAARrC,EACL,OAAOsC,EAEN,GAAY,YAARtC,GACLuC,KACKF,EACKC,EACIE,GACAC,GACJH,EACII,GACAC,IAAazC,IAAIJ,GAC/B,OAAOA,EAEX,MAAM8C,GAAgB,QAAQ9C,GAC9B,IAAKuC,GAAcO,IAAiB,QAAOf,EAAuB7B,GAC9D,OAAO6C,QAAQ3C,IAAI2B,EAAuB7B,EAAKuC,GAEnD,MAAMJ,EAAMU,QAAQ3C,IAAIJ,EAAQE,EAAKuC,GACrC,QAAI,QAASvC,GAAOqB,EAAeb,IAAIR,GAAOoB,EAAmBpB,IACtDmC,GAENE,GACDxC,EAAMC,EAAQ,MAA8BE,GAE5CsC,EACOH,EAEPW,GAAMX,GAECS,IAAiB,QAAa5C,GAAOmC,EAAMA,EAAIY,OAEtD,QAASZ,GAIFE,EAAaW,GAASb,GAAOc,GAASd,GAE1CA,EACX,CACJ,CACA,MAAMhC,EAAoB+C,IACpBC,EAA2BD,GAAa,GAC9C,SAASA,EAAaZ,GAAU,GAC5B,OAAO,SAAaxC,EAAQE,EAAK+C,EAAOR,GACpC,IAAI3B,EAAWd,EAAOE,GACtB,GAAIqC,GAAWzB,IAAakC,GAAMlC,KAAckC,GAAMC,GAClD,OAAO,EAEX,IAAKT,IACIc,GAAUL,IAAWV,GAAWU,KACjCnC,EAAWsB,GAAMtB,GACjBmC,EAAQb,GAAMa,MAEb,QAAQjD,IAAWgD,GAAMlC,KAAckC,GAAMC,IAE9C,OADAnC,EAASmC,MAAQA,GACV,EAGf,MAAMM,GAAS,QAAQvD,KAAW,QAAaE,GACzCsD,OAAOtD,GAAOF,EAAOxC,QACrB,QAAOwC,EAAQE,GACfuD,EAASV,QAAQ1C,IAAIL,EAAQE,EAAK+C,EAAOR,GAU/C,OARIzC,IAAWoC,GAAMK,KACZc,GAGI,QAAWN,EAAOnC,IACvBF,EAAQZ,EAAQ,MAAgCE,EAAK+C,EAAOnC,GAH5DF,EAAQZ,EAAQ,MAAgCE,EAAK+C,IAMtDQ,CACX,CACJ,CACA,SAASC,EAAe1D,EAAQE,GAC5B,MAAMqD,GAAS,QAAOvD,EAAQE,GACxBY,EAAWd,EAAOE,GAClBuD,EAASV,QAAQW,eAAe1D,EAAQE,GAI9C,OAHIuD,GAAUF,GACV3C,EAAQZ,EAAQ,SAAsCE,OAAKZ,EAAWwB,GAEnE2C,CACX,CACA,SAAS/C,EAAIV,EAAQE,GACjB,MAAMuD,EAASV,QAAQrC,IAAIV,EAAQE,GAInC,OAHK,QAASA,IAASqB,EAAeb,IAAIR,IACtCH,EAAMC,EAAQ,MAA8BE,GAEzCuD,CACX,CACA,SAASE,EAAQ3D,GAEb,OADAD,EAAMC,EAAQ,WAAsC,QAAQA,GAAU,SAAWf,GAC1E8D,QAAQY,QAAQ3D,EAC3B,CACA,MAAM4D,EAAkB,CACpBxD,MACAC,MACAqD,iBACAhD,MACAiD,WAEEE,EAAmB,CACrBzD,IAAK0B,EACLzB,IAAIL,EAAQE,GAIR,OAAO,CACX,EACAwD,eAAe1D,EAAQE,GAInB,OAAO,CACX,GAEE4D,GAAwC,QAAO,CAAC,EAAGF,EAAiB,CACtExD,IAAKyB,EACLxB,IAAKgD,IASHU,EAAad,GAAUA,EACvBe,EAAYC,GAAMlB,QAAQmB,eAAeD,GAC/C,SAASE,EAAMnE,EAAQE,EAAKqC,GAAa,EAAOe,GAAY,GAGxDtD,EAASA,EAAO,WAChB,MAAMoE,EAAYhC,GAAMpC,GAClBqE,EAASjC,GAAMlC,GAChBqC,IACGrC,IAAQmE,GACRtE,EAAMqE,EAAW,MAA8BlE,GAEnDH,EAAMqE,EAAW,MAA8BC,IAEnD,MAAM,IAAE3D,GAAQsD,EAASI,GACnBE,EAAOhB,EAAYS,EAAYxB,EAAagC,GAAaC,GAC/D,OAAI9D,EAAI+D,KAAKL,EAAWlE,GACboE,EAAKtE,EAAOI,IAAIF,IAElBQ,EAAI+D,KAAKL,EAAWC,GAClBC,EAAKtE,EAAOI,IAAIiE,SAElBrE,IAAWoE,GAGhBpE,EAAOI,IAAIF,GAEnB,CACA,SAASwE,EAAMxE,EAAKqC,GAAa,GAC7B,MAAMvC,EAASzD,KAAK,WACd6H,EAAYhC,GAAMpC,GAClBqE,EAASjC,GAAMlC,GAOrB,OANKqC,IACGrC,IAAQmE,GACRtE,EAAMqE,EAAW,MAA8BlE,GAEnDH,EAAMqE,EAAW,MAA8BC,IAE5CnE,IAAQmE,EACTrE,EAAOU,IAAIR,GACXF,EAAOU,IAAIR,IAAQF,EAAOU,IAAI2D,EACxC,CACA,SAASM,EAAK3E,EAAQuC,GAAa,GAG/B,OAFAvC,EAASA,EAAO,YACfuC,GAAcxC,EAAMqC,GAAMpC,GAAS,UAAsCf,GACnE8D,QAAQ3C,IAAIJ,EAAQ,OAAQA,EACvC,CACA,SAASW,EAAIsC,GACTA,EAAQb,GAAMa,GACd,MAAMjD,EAASoC,GAAM7F,MACfqI,EAAQZ,EAAShE,GACjBuD,EAASqB,EAAMlE,IAAI+D,KAAKzE,EAAQiD,GAKtC,OAJKM,IACDvD,EAAOW,IAAIsC,GACXrC,EAAQZ,EAAQ,MAAgCiD,EAAOA,IAEpD1G,IACX,CACA,SAASsI,GAAM3E,EAAK+C,GAChBA,EAAQb,GAAMa,GACd,MAAMjD,EAASoC,GAAM7F,OACf,IAAEmE,EAAG,IAAEN,GAAQ4D,EAAShE,GAC9B,IAAIuD,EAAS7C,EAAI+D,KAAKzE,EAAQE,GACzBqD,IACDrD,EAAMkC,GAAMlC,GACZqD,EAAS7C,EAAI+D,KAAKzE,EAAQE,IAK9B,MAAMY,EAAWV,EAAIqE,KAAKzE,EAAQE,GAQlC,OAPAF,EAAOK,IAAIH,EAAK+C,GACXM,GAGI,QAAWN,EAAOnC,IACvBF,EAAQZ,EAAQ,MAAgCE,EAAK+C,EAAOnC,GAH5DF,EAAQZ,EAAQ,MAAgCE,EAAK+C,GAKlD1G,IACX,CACA,SAASuI,GAAY5E,GACjB,MAAMF,EAASoC,GAAM7F,OACf,IAAEmE,EAAG,IAAEN,GAAQ4D,EAAShE,GAC9B,IAAIuD,EAAS7C,EAAI+D,KAAKzE,EAAQE,GACzBqD,IACDrD,EAAMkC,GAAMlC,GACZqD,EAAS7C,EAAI+D,KAAKzE,EAAQE,IAK9B,MAAMY,EAAWV,EAAMA,EAAIqE,KAAKzE,EAAQE,QAAOZ,EAEzCmE,EAASzD,EAAOrB,OAAOuB,GAI7B,OAHIqD,GACA3C,EAAQZ,EAAQ,SAAsCE,OAAKZ,EAAWwB,GAEnE2C,CACX,CACA,SAASsB,KACL,MAAM/E,EAASoC,GAAM7F,MACfyI,EAA2B,IAAhBhF,EAAO2E,KAClB5D,OAIAzB,EAEAmE,EAASzD,EAAO+E,QAItB,OAHIC,GACApE,EAAQZ,EAAQ,aAAoCV,OAAWA,EAAWyB,GAEvE0C,CACX,CACA,SAASwB,GAAc1C,EAAYe,GAC/B,OAAO,SAAiB4B,EAAUC,GAC9B,MAAMC,EAAW7I,KACXyD,EAASoF,EAAS,WAClBhB,EAAYhC,GAAMpC,GAClBsE,EAAOhB,EAAYS,EAAYxB,EAAagC,GAAaC,GAE/D,OADCjC,GAAcxC,EAAMqE,EAAW,UAAsCnF,GAC/De,EAAOiB,SAAQ,CAACgC,EAAO/C,IAInBgF,EAAST,KAAKU,EAASb,EAAKrB,GAAQqB,EAAKpE,GAAMkF,IAE9D,CACJ,CACA,SAASC,GAAqBC,EAAQ/C,EAAYe,GAC9C,OAAO,YAAapB,GAChB,MAAMlC,EAASzD,KAAK,WACd6H,EAAYhC,GAAMpC,GAClBuF,GAAc,QAAMnB,GACpBoB,EAAoB,YAAXF,GAAyBA,IAAWpG,OAAOuG,UAAYF,EAChEG,EAAuB,SAAXJ,GAAqBC,EACjCI,EAAgB3F,EAAOsF,MAAWpD,GAClCoC,EAAOhB,EAAYS,EAAYxB,EAAagC,GAAaC,GAK/D,OAJCjC,GACGxC,EAAMqE,EAAW,UAAsCsB,EAAYvG,EAAsBF,GAGtF,CAEH2G,OACI,MAAM,MAAE3C,EAAK,KAAE4C,GAASF,EAAcC,OACtC,OAAOC,EACD,CAAE5C,QAAO4C,QACT,CACE5C,MAAOuC,EAAS,CAAClB,EAAKrB,EAAM,IAAKqB,EAAKrB,EAAM,KAAOqB,EAAKrB,GACxD4C,OAEZ,EAEA,CAAC3G,OAAOuG,YACJ,OAAOlJ,IACX,EAER,CACJ,CACA,SAASuJ,GAAqB7F,GAC1B,OAAO,YAAaiC,GAKhB,MAAgB,WAATjC,GAAwD1D,IACnE,CACJ,CACA,SAASwJ,KACL,MAAMC,EAA0B,CAC5B5F,IAAIF,GACA,OAAOiE,EAAM5H,KAAM2D,EACvB,EACIyE,WACA,OAAOA,EAAKpI,KAChB,EACAmE,IAAKgE,EACL/D,MACAN,IAAKwE,GACLlG,OAAQmG,GACRC,SACA9D,QAASgE,IAAc,GAAO,IAE5BgB,EAA0B,CAC5B7F,IAAIF,GACA,OAAOiE,EAAM5H,KAAM2D,GAAK,GAAO,EACnC,EACIyE,WACA,OAAOA,EAAKpI,KAChB,EACAmE,IAAKgE,EACL/D,MACAN,IAAKwE,GACLlG,OAAQmG,GACRC,SACA9D,QAASgE,IAAc,GAAO,IAE5BiB,EAA2B,CAC7B9F,IAAIF,GACA,OAAOiE,EAAM5H,KAAM2D,GAAK,EAC5B,EACIyE,WACA,OAAOA,EAAKpI,MAAM,EACtB,EACAmE,IAAIR,GACA,OAAOwE,EAAMD,KAAKlI,KAAM2D,GAAK,EACjC,EACAS,IAAKmF,GAAqB,OAC1BzF,IAAKyF,GAAqB,OAC1BnH,OAAQmH,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B7E,QAASgE,IAAc,GAAM,IAE3BkB,EAAkC,CACpC/F,IAAIF,GACA,OAAOiE,EAAM5H,KAAM2D,GAAK,GAAM,EAClC,EACIyE,WACA,OAAOA,EAAKpI,MAAM,EACtB,EACAmE,IAAIR,GACA,OAAOwE,EAAMD,KAAKlI,KAAM2D,GAAK,EACjC,EACAS,IAAKmF,GAAqB,OAC1BzF,IAAKyF,GAAqB,OAC1BnH,OAAQmH,GAAqB,UAC7Bf,MAAOe,GAAqB,SAC5B7E,QAASgE,IAAc,GAAM,IAE3BmB,EAAkB,CAAC,OAAQ,SAAU,UAAWlH,OAAOuG,UAO7D,OANAW,EAAgBnF,SAAQqE,IACpBU,EAAwBV,GAAUD,GAAqBC,GAAQ,GAAO,GACtEY,EAAyBZ,GAAUD,GAAqBC,GAAQ,GAAM,GACtEW,EAAwBX,GAAUD,GAAqBC,GAAQ,GAAO,GACtEa,EAAgCb,GAAUD,GAAqBC,GAAQ,GAAM,EAAK,IAE/E,CACHU,EACAE,EACAD,EACAE,EAER,CACA,MAAOH,GAAyBE,GAA0BD,GAAyBE,IAAkDJ,KACrI,SAASM,GAA4B9D,EAAYC,GAC7C,MAAMP,EAAmBO,EACnBD,EACI4D,GACAF,GACJ1D,EACI2D,GACAF,GACV,MAAO,CAAChG,EAAQE,EAAKuC,IACL,mBAARvC,GACQqC,EAEK,mBAARrC,EACEqC,EAEM,YAARrC,EACEF,EAEJ+C,QAAQ3C,KAAI,QAAO6B,EAAkB/B,IAAQA,KAAOF,EACrDiC,EACAjC,EAAQE,EAAKuC,EAE3B,CACA,MAAM6D,GAA4B,CAC9BlG,IAAmBiG,IAA4B,GAAO,IAEpDE,GAA4B,CAC9BnG,IAAmBiG,IAA4B,GAAO,IAEpDG,GAA6B,CAC/BpG,IAAmBiG,IAA4B,GAAM,IAiBzD,MAAMxD,GAAc,IAAIhE,QAClB+D,GAAqB,IAAI/D,QACzB8D,GAAc,IAAI9D,QAClB6D,GAAqB,IAAI7D,QAC/B,SAAS4H,GAAcC,GACnB,OAAQA,GACJ,IAAK,SACL,IAAK,QACD,OAAO,EACX,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACD,OAAO,EACX,QACI,OAAO,EAEnB,CACA,SAASC,GAAc1D,GACnB,OAAOA,EAAM,cAAyCzB,OAAOoF,aAAa3D,GACpE,EACAwD,IAAc,QAAUxD,GAClC,CACA,SAASE,GAASnD,GAEd,OAAIuC,GAAWvC,GACJA,EAEJ6G,GAAqB7G,GAAQ,EAAO4D,EAAiB0C,GAA2BzD,GAC3F,CAMA,SAASiE,GAAgB9G,GACrB,OAAO6G,GAAqB7G,GAAQ,EAAO8D,EAAyByC,GAA2B3D,GACnG,CAKA,SAASM,GAASlD,GACd,OAAO6G,GAAqB7G,GAAQ,EAAM6D,EAAkB2C,GAA4B7D,GAC5F,CAUA,SAASkE,GAAqB7G,EAAQuC,EAAYwE,EAAcC,EAAoBC,GAChF,KAAK,QAASjH,GAIV,OAAOA,EAIX,GAAIA,EAAO,cACLuC,IAAcvC,EAAO,mBACvB,OAAOA,EAGX,MAAMkH,EAAgBD,EAAS7G,IAAIJ,GACnC,GAAIkH,EACA,OAAOA,EAGX,MAAMC,EAAaR,GAAc3G,GACjC,GAAmB,IAAfmH,EACA,OAAOnH,EAEX,MAAMoH,EAAQ,IAAIC,MAAMrH,EAAuB,IAAfmH,EAA+CH,EAAqBD,GAEpG,OADAE,EAAS5G,IAAIL,EAAQoH,GACdA,CACX,CACA,SAASE,GAAWrE,GAChB,OAAIV,GAAWU,GACJqE,GAAWrE,EAAM,eAElBA,IAASA,EAAM,kBAC7B,CACA,SAASV,GAAWU,GAChB,SAAUA,IAASA,EAAM,kBAC7B,CACA,SAASK,GAAUL,GACf,SAAUA,IAASA,EAAM,iBAC7B,CACA,SAASsE,GAAQtE,GACb,OAAOqE,GAAWrE,IAAUV,GAAWU,EAC3C,CACA,SAASb,GAAMgD,GACX,MAAMoC,EAAMpC,GAAYA,EAAS,WACjC,OAAOoC,EAAMpF,GAAMoF,GAAOpC,CAC9B,CACA,SAASqC,GAAQxE,GAEb,OADA,QAAIA,EAAO,YAAqC,GACzCA,CACX,CACA,MAAMuB,GAAcvB,IAAU,QAASA,GAASE,GAASF,GAASA,EAC5DsB,GAActB,IAAU,QAASA,GAASC,GAASD,GAASA,EAElE,SAASyE,GAAcC,GACfnI,GAAeR,IACf2I,EAAMvF,GAAMuF,GASRnH,EAAamH,EAAI3J,MAAQ2J,EAAI3J,IAAMD,MAG/C,CACA,SAAS6J,GAAgBD,EAAKE,GAC1BF,EAAMvF,GAAMuF,GACRA,EAAI3J,KAUAkD,EAAeyG,EAAI3J,IAG/B,CACA,SAASgF,GAAM8E,GACX,SAAUA,IAAqB,IAAhBA,EAAEC,UACrB,CACA,SAASJ,GAAI1E,GACT,OAAO+E,GAAU/E,GAAO,EAC5B,CACA,SAASgF,GAAWhF,GAChB,OAAO+E,GAAU/E,GAAO,EAC5B,CACA,SAAS+E,GAAUE,EAAU1F,GACzB,OAAIQ,GAAMkF,GACCA,EAEJ,IAAIC,GAAQD,EAAU1F,EACjC,CACA,MAAM2F,GACF9L,YAAY4G,EAAOmF,GACf7L,KAAK6L,cAAgBA,EACrB7L,KAAKyB,SAAMsB,EACX/C,KAAKwL,WAAY,EACjBxL,KAAK8L,UAAYD,EAAgBnF,EAAQb,GAAMa,GAC/C1G,KAAK+L,OAASF,EAAgBnF,EAAQuB,GAAWvB,EACrD,CACIA,YAEA,OADAyE,GAAcnL,MACPA,KAAK+L,MAChB,CACIrF,UAAM4E,GACN,MAAMU,EAAiBhM,KAAK6L,eAAiB9E,GAAUuE,IAAWtF,GAAWsF,GAC7EA,EAASU,EAAiBV,EAASzF,GAAMyF,IACrC,QAAWA,EAAQtL,KAAK8L,aACxB9L,KAAK8L,UAAYR,EACjBtL,KAAK+L,OAASC,EAAiBV,EAASrD,GAAWqD,GACnDD,GAAgBrL,KAAMsL,GAE9B,EAKJ,SAASW,GAAMb,GACX,OAAO3E,GAAM2E,GAAOA,EAAI1E,MAAQ0E,CACpC,CACA,MAAMc,GAAwB,CAC1BrI,IAAK,CAACJ,EAAQE,EAAKuC,IAAa+F,GAAMzF,QAAQ3C,IAAIJ,EAAQE,EAAKuC,IAC/DpC,IAAK,CAACL,EAAQE,EAAK+C,EAAOR,KACtB,MAAM3B,EAAWd,EAAOE,GACxB,OAAI8C,GAAMlC,KAAckC,GAAMC,IAC1BnC,EAASmC,MAAQA,GACV,GAGAF,QAAQ1C,IAAIL,EAAQE,EAAK+C,EAAOR,EAC3C,GAGR,SAASiG,GAAUC,GACf,OAAOrB,GAAWqB,GACZA,EACA,IAAItB,MAAMsB,EAAgBF,GACpC,CAmBA,SAASG,GAAOC,GAIZ,MAAMC,GAAM,QAAQD,GAAU,IAAIE,MAAMF,EAAOrL,QAAU,CAAC,EAC1D,IAAK,MAAM0C,KAAO2I,EACdC,EAAI5I,GAAO8I,GAAMH,EAAQ3I,GAE7B,OAAO4I,CACX,CACA,MAAMG,GACF5M,YAAY6M,EAASC,EAAMC,GACvB7M,KAAK2M,QAAUA,EACf3M,KAAK4M,KAAOA,EACZ5M,KAAK6M,cAAgBA,EACrB7M,KAAKwL,WAAY,CACrB,CACI9E,YACA,MAAMoG,EAAM9M,KAAK2M,QAAQ3M,KAAK4M,MAC9B,YAAe7J,IAAR+J,EAAoB9M,KAAK6M,cAAgBC,CACpD,CACIpG,UAAM4E,GACNtL,KAAK2M,QAAQ3M,KAAK4M,MAAQtB,CAC9B,EAEJ,SAASmB,GAAMH,EAAQ3I,EAAKoJ,GACxB,MAAMD,EAAMR,EAAO3I,GACnB,OAAO8C,GAAMqG,GACPA,EACA,IAAIJ,GAAcJ,EAAQ3I,EAAKoJ,EACzC,CAEA,IAAIC,GACJ,MAAMC,GACFnN,YAAYoN,EAAQC,EAASnH,EAAYoH,GACrCpN,KAAKmN,QAAUA,EACfnN,KAAKyB,SAAMsB,EACX/C,KAAKwL,WAAY,EACjBxL,KAAKgN,KAAM,EACXhN,KAAKqN,QAAS,EACdrN,KAAKsB,OAAS,IAAIuB,EAAeqK,GAAQ,KAChClN,KAAKqN,SACNrN,KAAKqN,QAAS,EACdhC,GAAgBrL,MACpB,IAEJA,KAAKsB,OAAOsD,SAAW5E,KACvBA,KAAKsB,OAAOrB,OAASD,KAAKsN,YAAcF,EACxCpN,KAAK,kBAAoDgG,CAC7D,CACIU,YAEA,MAAM6G,EAAO1H,GAAM7F,MAMnB,OALAmL,GAAcoC,IACVA,EAAKF,QAAWE,EAAKD,aACrBC,EAAKF,QAAS,EACdE,EAAKxB,OAASwB,EAAKjM,OAAOd,OAEvB+M,EAAKxB,MAChB,CACIrF,UAAMpC,GACNtE,KAAKmN,QAAQ7I,EACjB,EAGJ,SAASM,GAAS4I,EAAiBC,EAAcL,GAAQ,GACrD,IAAIF,EACAQ,EACJ,MAAMC,GAAa,QAAWH,GAC1BG,GACAT,EAASM,EACTE,EAIM,OAGNR,EAASM,EAAgB3J,IACzB6J,EAASF,EAAgB1J,KAE7B,MAAM8J,EAAO,IAAIX,GAAgBC,EAAQQ,EAAQC,IAAeD,EAAQN,GAKxE,OAAOQ,CACX,CAvBAZ,GAAK,gB,miCC3+BL,SAASa,EAAsBpN,EAAIqN,EAAUpK,EAAMiC,GAC/C,IAAIG,EACJ,IACIA,EAAMH,EAAOlF,KAAMkF,GAAQlF,GAI/B,CAFA,MAAOsN,GACHC,EAAYD,EAAKD,EAAUpK,EAC/B,CACA,OAAOoC,CACX,CACA,SAASmI,EAA2BxN,EAAIqN,EAAUpK,EAAMiC,GACpD,IAAI,QAAWlF,GAAK,CAChB,MAAMqF,EAAM+H,EAAsBpN,EAAIqN,EAAUpK,EAAMiC,GAMtD,OALIG,IAAO,QAAUA,IACjBA,EAAIoI,OAAMH,IACNC,EAAYD,EAAKD,EAAUpK,EAAK,IAGjCoC,CACX,CACA,MAAMrB,EAAS,GACf,IAAK,IAAI1D,EAAI,EAAGA,EAAIN,EAAGQ,OAAQF,IAC3B0D,EAAOlE,KAAK0N,EAA2BxN,EAAGM,GAAI+M,EAAUpK,EAAMiC,IAElE,OAAOlB,CACX,CACA,SAASuJ,EAAYD,EAAKD,EAAUpK,EAAMyK,GAAa,GACnD,MAAMC,EAAeN,EAAWA,EAASO,MAAQ,KACjD,GAAIP,EAAU,CACV,IAAIQ,EAAMR,EAAS1N,OAEnB,MAAMmO,EAAkBT,EAASjD,MAE3B2D,EAA+E9K,EACrF,MAAO4K,EAAK,CACR,MAAMG,EAAqBH,EAAII,GAC/B,GAAID,EACA,IAAK,IAAI1N,EAAI,EAAGA,EAAI0N,EAAmBxN,OAAQF,IAC3C,IAA+D,IAA3D0N,EAAmB1N,GAAGgN,EAAKQ,EAAiBC,GAC5C,OAIZF,EAAMA,EAAIlO,MACd,CAEA,MAAMuO,EAAkBb,EAASc,WAAWC,OAAOC,aACnD,GAAIH,EAEA,YADAd,EAAsBc,EAAiB,KAAM,GAAuC,CAACZ,EAAKQ,EAAiBC,GAGnH,CACAO,EAAShB,EAAKrK,EAAM0K,EAAcD,EACtC,CACA,SAASY,EAAShB,EAAKrK,EAAM0K,EAAcD,GAAa,GAoBhDa,QAAQC,MAAMlB,EAEtB,CAEA,IAAImB,GAAa,EACbC,GAAiB,EACrB,MAAMC,EAAQ,GACd,IAAIC,EAAa,EACjB,MAAMC,EAAsB,GAC5B,IAAIC,EAAqB,KACrBC,EAAiB,EACrB,MAAMC,EAAgCC,QAAQC,UAC9C,IAAIC,EAAsB,KAE1B,SAASC,EAASpP,GACd,MAAMqP,EAAIF,GAAuBH,EACjC,OAAOhP,EAAKqP,EAAEC,KAAK/P,KAAOS,EAAGuP,KAAKhQ,MAAQS,GAAMqP,CACpD,CAKA,SAASG,EAAmBC,GAExB,IAAIC,EAAQd,EAAa,EACrBe,EAAMhB,EAAMnO,OAChB,MAAOkP,EAAQC,EAAK,CAChB,MAAMC,EAAUF,EAAQC,IAAS,EAC3BE,EAAcC,EAAMnB,EAAMiB,IAChCC,EAAcJ,EAAMC,EAAQE,EAAS,EAAMD,EAAMC,CACrD,CACA,OAAOF,CACX,CACA,SAASK,EAASC,GAOTrB,EAAMnO,QACNmO,EAAMsB,SAASD,EAAKvB,GAAcuB,EAAI3L,aAAeuK,EAAa,EAAIA,KACzD,MAAVoB,EAAIP,GACJd,EAAM7O,KAAKkQ,GAGXrB,EAAMuB,OAAOV,EAAmBQ,EAAIP,IAAK,EAAGO,GAEhDG,IAER,CACA,SAASA,IACA1B,GAAeC,IAChBA,GAAiB,EACjBS,EAAsBH,EAAgBM,KAAKc,GAEnD,CACA,SAASC,EAAcL,GACnB,MAAM1P,EAAIqO,EAAM2B,QAAQN,GACpB1P,EAAIsO,GACJD,EAAMuB,OAAO5P,EAAG,EAExB,CACA,SAASiQ,EAAiBC,IACjB,QAAQA,GAUT3B,EAAoB/O,QAAQ0Q,GATvB1B,GACAA,EAAmBmB,SAASO,EAAIA,EAAGnM,aAAe0K,EAAiB,EAAIA,IACxEF,EAAoB/O,KAAK0Q,GASjCL,GACJ,CACA,SAASM,EAAiBC,EAE1BpQ,GAAImO,EAAaG,EAAa,EAAI,IAI9B,IAHI,EAGGtO,EAAIqO,EAAMnO,OAAQF,IAAK,CAC1B,MAAMkQ,EAAK7B,EAAMrO,GACbkQ,GAAMA,EAAGG,MAIThC,EAAMuB,OAAO5P,EAAG,GAChBA,IACAkQ,IAER,CACJ,CACA,SAASI,EAAkBF,GACvB,GAAI7B,EAAoBrO,OAAQ,CAC5B,MAAMqQ,EAAU,IAAI,IAAI5P,IAAI4N,IAG5B,GAFAA,EAAoBrO,OAAS,EAEzBsO,EAEA,YADAA,EAAmBhP,QAAQ+Q,GAQ/B,IALA/B,EAAqB+B,EAIrB/B,EAAmBgC,MAAK,CAACC,EAAGC,IAAMlB,EAAMiB,GAAKjB,EAAMkB,KAC9CjC,EAAiB,EAAGA,EAAiBD,EAAmBtO,OAAQuO,IAKjED,EAAmBC,KAEvBD,EAAqB,KACrBC,EAAiB,CACrB,CACJ,CACA,MAAMe,EAASE,GAAkB,MAAVA,EAAIP,GAAawB,IAAWjB,EAAIP,GACjDyB,EAAa,CAACH,EAAGC,KACnB,MAAMG,EAAOrB,EAAMiB,GAAKjB,EAAMkB,GAC9B,GAAa,IAATG,EAAY,CACZ,GAAIJ,EAAEJ,MAAQK,EAAEL,IACZ,OAAQ,EACZ,GAAIK,EAAEL,MAAQI,EAAEJ,IACZ,OAAO,CACf,CACA,OAAOQ,CAAI,EAEf,SAASf,EAAUM,GACfhC,GAAiB,EACjBD,GAAa,EAWbE,EAAMmC,KAAKI,GAQL,KACN,IACI,IAAKtC,EAAa,EAAGA,EAAaD,EAAMnO,OAAQoO,IAAc,CAC1D,MAAMoB,EAAMrB,EAAMC,GACdoB,IAAsB,IAAfA,EAAIxQ,QAKX4N,EAAsB4C,EAAK,KAAM,GAEzC,CAaJ,CAXA,QACIpB,EAAa,EACbD,EAAMnO,OAAS,EACfoQ,EAAkBF,GAClBjC,GAAa,EACbU,EAAsB,MAGlBR,EAAMnO,QAAUqO,EAAoBrO,SACpC4P,EAAUM,EAElB,CACJ,CAyB2B,IAAIzP,IAanB,IAAIqC,IA+MhB,SAAS8N,EAAO/D,EAAUgE,KAAUC,GAChC,GAAIjE,EAASkE,YACT,OACJ,MAAMC,EAAQnE,EAASO,MAAM4D,OAAS,KAsBtC,IAAItM,EAAOoM,EACX,MAAMG,EAAkBJ,EAAMK,WAAW,WAEnCC,EAAWF,GAAmBJ,EAAMO,MAAM,GAChD,GAAID,GAAYA,KAAYH,EAAO,CAC/B,MAAMK,EAAe,GAAgB,eAAbF,EAA4B,QAAUA,cACxD,OAAEG,EAAM,KAAEC,GAASP,EAAMK,IAAiB,KAC5CE,IACA7M,EAAOoM,EAAQ3M,KAAIoM,GAAKA,EAAEgB,UAE1BD,IACA5M,EAAOoM,EAAQ3M,IAAI,MAE3B,CAcA,IAAIqN,EACJ,IAAIC,EAAUT,EAAOQ,GAAc,QAAaX,KAE5CG,EAAOQ,GAAc,SAAa,QAASX,MAG1CY,GAAWR,IACZQ,EAAUT,EAAOQ,GAAc,SAAa,QAAUX,MAEtDY,GACAzE,EAA2ByE,EAAS5E,EAAU,EAA4CnI,GAE9F,MAAMgN,EAAcV,EAAMQ,EAAc,QACxC,GAAIE,EAAa,CACb,GAAK7E,EAAS8E,SAGT,GAAI9E,EAAS8E,QAAQH,GACtB,YAHA3E,EAAS8E,QAAU,CAAC,EAKxB9E,EAAS8E,QAAQH,IAAe,EAChCxE,EAA2B0E,EAAa7E,EAAU,EAA4CnI,EAClG,CACJ,CACA,SAASkN,EAAsBC,EAAMlE,EAAYmE,GAAU,GACvD,MAAMC,EAAQpE,EAAWqE,WACnBC,EAASF,EAAMnP,IAAIiP,GACzB,QAAe/P,IAAXmQ,EACA,OAAOA,EAEX,MAAMjI,EAAM6H,EAAKK,MACjB,IAAIC,EAAa,CAAC,EAEdC,GAAa,EACjB,KAA4B,QAAWP,GAAO,CAC1C,MAAMQ,EAAerI,IACjB,MAAMsI,EAAuBV,EAAsB5H,EAAK2D,GAAY,GAChE2E,IACAF,GAAa,GACb,QAAOD,EAAYG,GACvB,GAECR,GAAWnE,EAAW4E,OAAOvS,QAC9B2N,EAAW4E,OAAO9O,QAAQ4O,GAE1BR,EAAKW,SACLH,EAAYR,EAAKW,SAEjBX,EAAKU,QACLV,EAAKU,OAAO9O,QAAQ4O,EAE5B,CACA,OAAKrI,GAAQoI,IAMT,QAAQpI,GACRA,EAAIvG,SAAQf,GAAQyP,EAAWzP,GAAO,QAGtC,QAAOyP,EAAYnI,IAEnB,QAAS6H,IACTE,EAAMlP,IAAIgP,EAAMM,GAEbA,KAdC,QAASN,IACTE,EAAMlP,IAAIgP,EAAM,MAEb,KAYf,CAIA,SAASY,EAAeC,EAAShQ,GAC7B,SAAKgQ,KAAY,QAAKhQ,MAGtBA,EAAMA,EAAI0O,MAAM,GAAGuB,QAAQ,QAAS,KAC5B,QAAOD,EAAShQ,EAAI,GAAGkQ,cAAgBlQ,EAAI0O,MAAM,MACrD,QAAOsB,GAAS,QAAUhQ,MAC1B,QAAOgQ,EAAShQ,GACxB,CAMA,IAAImQ,EAA2B,KAC3BC,EAAiB,KAWrB,SAASC,EAA4BlG,GACjC,MAAMmG,EAAOH,EAGb,OAFAA,EAA2BhG,EAC3BiG,EAAkBjG,GAAYA,EAASpK,KAAKwQ,WAAc,KACnDD,CACX,CAKA,SAASE,EAAYjE,GACjB6D,EAAiB7D,CACrB,CAMA,SAASkE,IACLL,EAAiB,IACrB,CAUA,SAASM,EAAQ5T,EAAI6T,EAAMR,EAA0BS,GAEjD,IAAKD,EACD,OAAO7T,EAEX,GAAIA,EAAG+T,GACH,OAAO/T,EAEX,MAAMgU,EAAsB,IAAI9O,KAMxB8O,EAAoBC,IACpBC,IAAkB,GAEtB,MAAMC,EAAeZ,EAA4BM,GAC3CxO,EAAMrF,KAAMkF,GAQlB,OAPAqO,EAA4BY,GACxBH,EAAoBC,IACpBC,GAAiB,GAKd7O,CAAG,EAUd,OAPA2O,EAAoBD,IAAK,EAIzBC,EAAoBI,IAAK,EAEzBJ,EAAoBC,IAAK,EAClBD,CACX,CAWA,SAASK,EAAoBhH,GACzB,MAAQpK,KAAMqR,EAAS,MAAE1G,EAAK,MAAExD,EAAK,UAAEmK,EAAS,MAAE/C,EAAOgD,cAAeA,GAAa,MAAEC,EAAK,MAAEC,EAAK,KAAEC,EAAI,OAAEC,EAAM,YAAEC,EAAW,KAAEC,EAAI,WAAEC,EAAU,IAAElB,EAAG,aAAEmB,GAAiB3H,EACxK,IAAI5G,EACAwO,EACJ,MAAMzB,EAAOD,EAA4BlG,GAIzC,IACI,GAAsB,EAAlBO,EAAMsH,UAAmD,CAGzD,MAAMC,EAAaZ,GAAanK,EAChC3D,EAAS2O,GAAeR,EAAOnN,KAAK0N,EAAYA,EAAYN,EAAarD,EAAOuD,EAAYD,EAAMjB,IAClGoB,EAAmBP,CACvB,KACK,CAED,MAAME,EAASN,EAEX,EAGJ7N,EAAS2O,GAAeR,EAAOpU,OAAS,EAClCoU,EAAOpD,EASH,CAAEkD,QAAOD,QAAOE,SACpBC,EAAOpD,EAAO,OACpByD,EAAmBX,EAAU9C,MACvBkD,EACAW,EAAyBX,EACnC,CAMJ,CAJA,MAAOpH,GACHgI,GAAW9U,OAAS,EACpB+M,EAAYD,EAAKD,EAAU,GAC3B5G,EAAS8O,GAAYC,GACzB,CAIA,IAAIC,EAAOhP,EAOX,GAAIwO,IAAqC,IAAjBD,EAAwB,CAC5C,MAAMU,EAAOlR,OAAOkR,KAAKT,IACnB,UAAEC,GAAcO,EAClBC,EAAKlV,QACW,EAAZ0U,IACIV,GAAgBkB,EAAKC,KAAK,QAK1BV,EAAmBW,EAAqBX,EAAkBT,IAE9DiB,EAAOI,GAAWJ,EAAMR,GAoCpC,CA0BA,OAxBIrH,EAAMkI,OAMNL,EAAOI,GAAWJ,GAClBA,EAAKK,KAAOL,EAAKK,KAAOL,EAAKK,KAAKC,OAAOnI,EAAMkI,MAAQlI,EAAMkI,MAG7DlI,EAAMoI,aAKNP,EAAKO,WAAapI,EAAMoI,YAMxBvP,EAASgP,EAEblC,EAA4BC,GACrB/M,CACX,CAmDA,MAAM4O,EAA4BX,IAC9B,IAAIrP,EACJ,IAAK,MAAMnC,KAAOwR,GACF,UAARxR,GAA2B,UAARA,IAAmB,QAAKA,OAC1CmC,IAAQA,EAAM,CAAC,IAAInC,GAAOwR,EAAMxR,IAGzC,OAAOmC,CAAG,EAERuQ,EAAuB,CAAClB,EAAOlD,KACjC,MAAMnM,EAAM,CAAC,EACb,IAAK,MAAMnC,KAAOwR,GACT,QAAgBxR,IAAUA,EAAI0O,MAAM,KAAMJ,IAC3CnM,EAAInC,GAAOwR,EAAMxR,IAGzB,OAAOmC,CAAG,EAOd,SAAS4Q,EAAsBC,EAAWC,EAAWC,GACjD,MAAQ5E,MAAO6E,EAAWC,SAAUC,EAAY,UAAEC,GAAcN,GACxD1E,MAAOiF,EAAWH,SAAUI,EAAY,UAAEC,GAAcR,EAC1DzD,EAAQ8D,EAAUI,aAQxB,GAAIT,EAAUL,MAAQK,EAAUH,WAC5B,OAAO,EAEX,KAAII,GAAaO,GAAa,GA2B1B,SAAIJ,IAAgBG,GACXA,GAAiBA,EAAaG,UAInCR,IAAcI,IAGbJ,GAGAI,GAGEK,EAAgBT,EAAWI,EAAW/D,KALhC+D,GAnCb,GAAgB,KAAZE,EAGA,OAAO,EAEX,GAAgB,GAAZA,EACA,OAAKN,EAIES,EAAgBT,EAAWI,EAAW/D,KAHhC+D,EAKZ,GAAgB,EAAZE,EAAsC,CAC3C,MAAMI,EAAeZ,EAAUY,aAC/B,IAAK,IAAIzW,EAAI,EAAGA,EAAIyW,EAAavW,OAAQF,IAAK,CAC1C,MAAM4C,EAAM6T,EAAazW,GACzB,GAAImW,EAAUvT,KAASmT,EAAUnT,KAC5B+P,EAAeP,EAAOxP,GACvB,OAAO,CAEf,CACJ,CAqBJ,OAAO,CACX,CACA,SAAS4T,EAAgBT,EAAWI,EAAWG,GAC3C,MAAMI,EAAWxS,OAAOkR,KAAKe,GAC7B,GAAIO,EAASxW,SAAWgE,OAAOkR,KAAKW,GAAW7V,OAC3C,OAAO,EAEX,IAAK,IAAIF,EAAI,EAAGA,EAAI0W,EAASxW,OAAQF,IAAK,CACtC,MAAM4C,EAAM8T,EAAS1W,GACrB,GAAImW,EAAUvT,KAASmT,EAAUnT,KAC5B+P,EAAe2D,EAAc1T,GAC9B,OAAO,CAEf,CACA,OAAO,CACX,CACA,SAAS+T,GAAgB,MAAErJ,EAAK,OAAEjO,GAAUuX,GAExC,MAAOvX,GAAUA,EAAOwX,UAAYvJ,GAC/BA,EAAQjO,EAAOiO,OAAOsJ,GAAKA,EAC5BvX,EAASA,EAAOA,MAExB,CAEA,MAAMyX,EAAcnU,GAASA,EAAKoU,aAoZlC,SAASC,EAAwBtX,EAAIuX,GAC7BA,GAAYA,EAASC,eACjB,QAAQxX,GACRuX,EAAS9X,QAAQK,QAAQE,GAGzBuX,EAAS9X,QAAQK,KAAKE,GAI1BuQ,EAAiBvQ,EAEzB,CAaA,SAASyX,EAAQvU,EAAK+C,GAClB,GAAKyR,GAKA,CACD,IAAIC,EAAWD,GAAgBC,SAM/B,MAAMC,EAAiBF,GAAgB/X,QAAU+X,GAAgB/X,OAAOgY,SACpEC,IAAmBD,IACnBA,EAAWD,GAAgBC,SAAWnT,OAAOqT,OAAOD,IAGxDD,EAASzU,GAAO+C,CACpB,MAjBQ,CAkBZ,CACA,SAAS6R,EAAO5U,EAAKoJ,EAAcyL,GAAwB,GAGvD,MAAM1K,EAAWqK,IAAmBrE,EACpC,GAAIhG,EAAU,CAIV,MAAMsK,EAA8B,MAAnBtK,EAAS1N,OACpB0N,EAASO,MAAMO,YAAcd,EAASO,MAAMO,WAAWwJ,SACvDtK,EAAS1N,OAAOgY,SACtB,GAAIA,GAAYzU,KAAOyU,EAEnB,OAAOA,EAASzU,GAEf,GAAI8U,UAAUxX,OAAS,EACxB,OAAOuX,IAAyB,QAAWzL,GACrCA,EAAa7E,KAAK4F,EAASjD,OAC3BkC,CAKd,MACS,CAGb,CAeA,MAAM2L,EAAwB,CAAC,EAE/B,SAASC,EAAMC,EAAQ3H,EAAI0C,GAMvB,OAAOkF,EAAQD,EAAQ3H,EAAI0C,EAC/B,CACA,SAASkF,EAAQD,EAAQ3H,GAAI,UAAE6H,EAAS,KAAEC,EAAI,MAAEC,EAAK,QAAEC,EAAO,UAAEC,GAAc,MAW1E,MAIMpL,EAAWqK,GACjB,IAAIjL,EAuDAiM,EAtDAC,GAAe,EACfC,GAAgB,EAiDpB,IAhDI,QAAMT,IACN1L,EAAS,IAAM0L,EAAOlS,MACtB0S,GAAe,QAAYR,KAEtB,QAAWA,IAChB1L,EAAS,IAAM0L,EACfG,GAAO,IAEF,QAAQH,IACbS,GAAgB,EAChBD,EAAeR,EAAOxC,MAAKkD,IAAK,QAAWA,KAAM,QAAYA,KAC7DpM,EAAS,IAAM0L,EAAOxT,KAAIkU,IAClB,QAAMA,GACCA,EAAE5S,OAEJ,QAAW4S,GACTC,EAASD,IAEX,QAAWA,GACTzL,EAAsByL,EAAGxL,EAAU,QADzC,KAWLZ,GAHC,QAAW0L,GACZ3H,EAES,IAAMpD,EAAsB+K,EAAQ9K,EAAU,GAI9C,KACL,IAAIA,IAAYA,EAASkE,YAMzB,OAHImH,GACAA,IAEGlL,EAA2B2K,EAAQ9K,EAAU,EAAmC,CAAC0L,GAAW,EAKlG,KAGTvI,GAAM8H,EAAM,CACZ,MAAMU,EAAavM,EACnBA,EAAS,IAAMqM,EAASE,IAC5B,CAEA,IAAID,EAAa/Y,IACb0Y,EAAU7X,EAAO8B,OAAS,KACtByK,EAAsBpN,EAAIqN,EAAU,EAAiC,CACxE,EAIL,GAAI4L,GAaA,OAXAF,EAAY,KACPvI,EAGI6H,GACL7K,EAA2BgD,EAAInD,EAAU,EAAmC,CACxEZ,IACAmM,EAAgB,QAAKtW,EACrByW,IANJtM,IASG,KAEX,IAAI3I,EAAW8U,EAAgB,GAAKX,EACpC,MAAMjI,EAAM,KACR,GAAKnP,EAAOrB,OAGZ,GAAIgR,EAAI,CAEJ,MAAM3M,EAAWhD,EAAOd,OACpBuY,GACAK,IACCC,EACK/U,EAAS8R,MAAK,CAAC1O,EAAG3G,KAAM,QAAW2G,EAAGnD,EAASxD,OAC/C,QAAWuD,EAAUC,OAGvB4U,GACAA,IAEJlL,EAA2BgD,EAAInD,EAAU,EAAmC,CACxExJ,EAEAC,IAAamU,OAAwB3V,EAAYwB,EACjDiV,IAEJjV,EAAWD,EAEnB,MAGIhD,EAAOd,KACX,EAKJ,IAAIsC,EADJ2N,EAAI3L,eAAiBmM,EAEP,SAAV+H,EACAlW,EAAY2N,EAEG,SAAVuI,EACLlW,EAAY,IAAM6W,GAAsBlJ,EAAK3C,GAAYA,EAASkK,WAIlEvH,EAAIW,KAAM,EACNtD,IACA2C,EAAIP,GAAKpC,EAAS8L,KACtB9W,EAAY,IAAM0N,EAASC,IAE/B,MAAMnP,EAAS,IAAI,KAAe4L,EAAQpK,GAoB1C,OAdImO,EACI6H,EACArI,IAGAlM,EAAWjD,EAAOd,MAGP,SAAVwY,EACLW,GAAsBrY,EAAOd,IAAIwP,KAAK1O,GAASwM,GAAYA,EAASkK,UAGpE1W,EAAOd,MAEJ,KACHc,EAAOT,OACHiN,GAAYA,EAASvM,QACrB,QAAOuM,EAASvM,MAAMrB,QAASoB,EACnC,CAER,CAEA,SAASuY,EAAcjB,EAAQlS,EAAOiN,GAClC,MAAMmG,EAAa9Z,KAAK6K,MAClBqC,GAAS,QAAS0L,GAClBA,EAAOlI,SAAS,KACZqJ,EAAiBD,EAAYlB,GAC7B,IAAMkB,EAAWlB,GACrBA,EAAO5I,KAAK8J,EAAYA,GAC9B,IAAI7I,GACA,QAAWvK,GACXuK,EAAKvK,GAGLuK,EAAKvK,EAAMgM,QACXiB,EAAUjN,GAEd,MAAM4H,EAAM6J,GACZ6B,GAAmBha,MACnB,MAAM8F,EAAM+S,EAAQ3L,EAAQ+D,EAAGjB,KAAK8J,GAAanG,GAOjD,OANIrF,EACA0L,GAAmB1L,GAGnB2L,KAEGnU,CACX,CACA,SAASiU,EAAiBzF,EAAK4F,GAC3B,MAAMC,EAAWD,EAAKE,MAAM,KAC5B,MAAO,KACH,IAAI9L,EAAMgG,EACV,IAAK,IAAIvT,EAAI,EAAGA,EAAIoZ,EAASlZ,QAAUqN,EAAKvN,IACxCuN,EAAMA,EAAI6L,EAASpZ,IAEvB,OAAOuN,CAAG,CAElB,CACA,SAASiL,EAAS7S,EAAOyK,GACrB,KAAK,QAASzK,IAAUA,EAAM,YAC1B,OAAOA,EAGX,GADAyK,EAAOA,GAAQ,IAAIzP,IACfyP,EAAKhN,IAAIuC,GACT,OAAOA,EAGX,GADAyK,EAAK/M,IAAIsC,IACL,QAAMA,GACN6S,EAAS7S,EAAMA,MAAOyK,QAErB,IAAI,QAAQzK,GACb,IAAK,IAAI3F,EAAI,EAAGA,EAAI2F,EAAMzF,OAAQF,IAC9BwY,EAAS7S,EAAM3F,GAAIoQ,QAGtB,IAAI,QAAMzK,KAAU,QAAMA,GAC3BA,EAAMhC,SAASgD,IACX6R,EAAS7R,EAAGyJ,EAAK,SAGpB,IAAI,QAAczK,GACnB,IAAK,MAAM/C,KAAO+C,EACd6S,EAAS7S,EAAM/C,GAAMwN,GAG7B,OAAOzK,CACX,CAEA,SAAS2T,KACL,MAAMC,EAAQ,CACVC,WAAW,EACXC,WAAW,EACXC,cAAc,EACdC,cAAe,IAAI3W,KAQvB,OANA4W,IAAU,KACNL,EAAMC,WAAY,CAAI,IAE1BK,IAAgB,KACZN,EAAMG,cAAe,CAAI,IAEtBH,CACX,CACA,MAAMO,GAA0B,CAACC,SAAUtO,OACrCuO,GAAqB,CACvBC,KAAM,iBACN/I,MAAO,CACHgJ,KAAMC,OACNC,OAAQC,QACRC,UAAWD,QAEXE,cAAeT,GACfU,QAASV,GACTW,aAAcX,GACdY,iBAAkBZ,GAElBa,cAAeb,GACfc,QAASd,GACTe,aAAcf,GACdgB,iBAAkBhB,GAElBiB,eAAgBjB,GAChBkB,SAAUlB,GACVmB,cAAenB,GACfoB,kBAAmBpB,IAEvBqB,MAAMjK,GAAO,MAAEiD,IACX,MAAMpH,EAAWqO,KACX7B,EAAQD,KACd,IAAI+B,EACJ,MAAO,KACH,MAAMrF,EAAW7B,EAAMmH,SAAWC,GAAyBpH,EAAMmH,WAAW,GAC5E,IAAKtF,IAAaA,EAAS9V,OACvB,OAEJ,IAAIsb,EAAQxF,EAAS,GACrB,GAAIA,EAAS9V,OAAS,EAAG,CACrB,IAAIub,GAAW,EAEf,IAAK,MAAMC,KAAK1F,EACZ,GAAI0F,EAAE/Y,OAASuS,GAAS,CAChB,EAMJsG,EAAQE,EACRD,GAAW,EAEP,KACR,CAER,CAGA,MAAME,GAAW,QAAMzK,IACjB,KAAEgJ,GAASyB,EASjB,GAAIpC,EAAME,UACN,OAAOmC,GAAiBJ,GAI5B,MAAMK,EAAaC,GAAkBN,GACrC,IAAKK,EACD,OAAOD,GAAiBJ,GAE5B,MAAMO,EAAaC,GAAuBH,EAAYF,EAAUpC,EAAOxM,GACvEkP,GAAmBJ,EAAYE,GAC/B,MAAMG,EAAWnP,EAAS8J,QACpBsF,EAAgBD,GAAYJ,GAAkBI,GACpD,IAAIE,GAAuB,EAC3B,MAAM,iBAAEC,GAAqBR,EAAWlZ,KACxC,GAAI0Z,EAAkB,CAClB,MAAMzZ,EAAMyZ,SACcra,IAAtBqZ,EACAA,EAAoBzY,EAEfA,IAAQyY,IACbA,EAAoBzY,EACpBwZ,GAAuB,EAE/B,CAEA,GAAID,GACAA,EAAcxZ,OAASuS,MACrBoH,GAAgBT,EAAYM,IAAkBC,GAAuB,CACvE,MAAMG,EAAeP,GAAuBG,EAAeR,EAAUpC,EAAOxM,GAI5E,GAFAkP,GAAmBE,EAAeI,GAErB,WAATrC,EAOA,OANAX,EAAME,WAAY,EAElB8C,EAAaC,WAAa,KACtBjD,EAAME,WAAY,EAClB1M,EAAS0P,QAAQ,EAEdb,GAAiBJ,GAEV,WAATtB,GAAqB2B,EAAWlZ,OAASuS,KAC9CqH,EAAaG,WAAa,CAAC9F,EAAI+F,EAAaC,KACxC,MAAMC,EAAqBC,GAAuBvD,EAAO4C,GACzDU,EAAmB1C,OAAOgC,EAAcvZ,MAAQuZ,EAEhDvF,EAAGmG,SAAW,KACVJ,IACA/F,EAAGmG,cAAW/a,SACP+Z,EAAWa,YAAY,EAElCb,EAAWa,aAAeA,CAAY,EAGlD,CACA,OAAOpB,CAAK,CAEpB,GAIEwB,GAAiBhD,GACvB,SAAS8C,GAAuBvD,EAAOjM,GACnC,MAAM,cAAEqM,GAAkBJ,EAC1B,IAAIsD,EAAqBlD,EAAc7W,IAAIwK,EAAM3K,MAKjD,OAJKka,IACDA,EAAqB3Y,OAAOqT,OAAO,MACnCoC,EAAc5W,IAAIuK,EAAM3K,KAAMka,IAE3BA,CACX,CAGA,SAASb,GAAuB1O,EAAO4D,EAAOqI,EAAOxM,GACjD,MAAM,OAAEqN,EAAM,KAAEF,EAAI,UAAEI,GAAY,EAAK,cAAEC,EAAa,QAAEC,EAAO,aAAEC,EAAY,iBAAEC,EAAgB,cAAEC,EAAa,QAAEC,EAAO,aAAEC,EAAY,iBAAEC,EAAgB,eAAEC,EAAc,SAAEC,EAAQ,cAAEC,EAAa,kBAAEC,GAAsBhK,EAClNtO,EAAMuX,OAAO7M,EAAM1K,KACnBia,EAAqBC,GAAuBvD,EAAOjM,GACnD2P,EAAW,CAACC,EAAMtY,KACpBsY,GACIhQ,EAA2BgQ,EAAMnQ,EAAU,EAAoCnI,EAAK,EAEtFuY,EAAgB,CAACD,EAAMtY,KACzB,MAAM2D,EAAO3D,EAAK,GAClBqY,EAASC,EAAMtY,IACX,QAAQsY,GACJA,EAAKE,OAAMF,GAAQA,EAAKhd,QAAU,KAClCqI,IAEC2U,EAAKhd,QAAU,GACpBqI,GACJ,EAEE8U,EAAQ,CACVnD,OACAI,YACAgD,YAAY1G,GACR,IAAIsG,EAAO3C,EACX,IAAKhB,EAAMC,UAAW,CAClB,IAAIY,EAIA,OAHA8C,EAAOnC,GAAkBR,CAKjC,CAEI3D,EAAGmG,UACHnG,EAAGmG,UAAS,GAGhB,MAAMQ,EAAeV,EAAmBja,GACpC2a,GACAjB,GAAgBhP,EAAOiQ,IACvBA,EAAa3G,GAAGmG,UAEhBQ,EAAa3G,GAAGmG,WAEpBE,EAASC,EAAM,CAACtG,GACpB,EACA4G,MAAM5G,GACF,IAAIsG,EAAO1C,EACPiD,EAAYhD,EACZiD,EAAahD,EACjB,IAAKnB,EAAMC,UAAW,CAClB,IAAIY,EAMA,OALA8C,EAAOlC,GAAYR,EACnBiD,EAAYxC,GAAiBR,EAC7BiD,EAAaxC,GAAqBR,CAK1C,CACA,IAAIiD,GAAS,EACb,MAAMpV,EAAQqO,EAAGgH,SAAYC,IACrBF,IAEJA,GAAS,EAELV,EADAY,EACSH,EAGAD,EAHY,CAAC7G,IAKtByG,EAAMT,cACNS,EAAMT,eAEVhG,EAAGgH,cAAW5b,EAAS,EAEvBkb,EACAC,EAAcD,EAAM,CAACtG,EAAIrO,IAGzBA,GAER,EACAuV,MAAMlH,EAAImH,GACN,MAAMnb,EAAMuX,OAAO7M,EAAM1K,KAIzB,GAHIgU,EAAGgH,UACHhH,EAAGgH,UAAS,GAEZrE,EAAMG,aACN,OAAOqE,IAEXd,EAAStC,EAAe,CAAC/D,IACzB,IAAI+G,GAAS,EACb,MAAMpV,EAAQqO,EAAGmG,SAAYc,IACrBF,IAEJA,GAAS,EACTI,IAEId,EADAY,EACS/C,EAGAD,EAHkB,CAACjE,IAKhCA,EAAGmG,cAAW/a,EACV6a,EAAmBja,KAAS0K,UACrBuP,EAAmBja,GAC9B,EAEJia,EAAmBja,GAAO0K,EACtBsN,EACAuC,EAAcvC,EAAS,CAAChE,EAAIrO,IAG5BA,GAER,EACAyV,MAAM1Q,GACF,OAAO0O,GAAuB1O,EAAO4D,EAAOqI,EAAOxM,EACvD,GAEJ,OAAOsQ,CACX,CAKA,SAASzB,GAAiBtO,GACtB,GAAI2Q,GAAY3Q,GAGZ,OAFAA,EAAQiI,GAAWjI,GACnBA,EAAM0I,SAAW,KACV1I,CAEf,CACA,SAASwO,GAAkBxO,GACvB,OAAO2Q,GAAY3Q,GACbA,EAAM0I,SACF1I,EAAM0I,SAAS,QACfhU,EACJsL,CACV,CACA,SAAS2O,GAAmB3O,EAAO+P,GACT,EAAlB/P,EAAMsH,WAA4CtH,EAAM4I,UACxD+F,GAAmB3O,EAAM4I,UAAUW,QAASwG,GAErB,IAAlB/P,EAAMsH,WACXtH,EAAM4Q,UAAUxI,WAAa2H,EAAMW,MAAM1Q,EAAM4Q,WAC/C5Q,EAAM6Q,WAAWzI,WAAa2H,EAAMW,MAAM1Q,EAAM6Q,aAGhD7Q,EAAMoI,WAAa2H,CAE3B,CACA,SAAS9B,GAAyBvF,EAAUoI,GAAc,EAAOC,GAC7D,IAAI7S,EAAM,GACN8S,EAAqB,EACzB,IAAK,IAAIte,EAAI,EAAGA,EAAIgW,EAAS9V,OAAQF,IAAK,CACtC,IAAIwb,EAAQxF,EAAShW,GAErB,MAAM4C,EAAmB,MAAbyb,EACN7C,EAAM5Y,IACNuX,OAAOkE,GAAalE,OAAoB,MAAbqB,EAAM5Y,IAAc4Y,EAAM5Y,IAAM5C,GAE7Dwb,EAAM7Y,OAAS4b,IACO,IAAlB/C,EAAMnF,WACNiI,IACJ9S,EAAMA,EAAIiK,OAAO8F,GAAyBC,EAAMxF,SAAUoI,EAAaxb,MAGlEwb,GAAe5C,EAAM7Y,OAASuS,KACnC1J,EAAIhM,KAAY,MAAPoD,EAAc2S,GAAWiG,EAAO,CAAE5Y,QAAS4Y,EAE5D,CAKA,GAAI8C,EAAqB,EACrB,IAAK,IAAIte,EAAI,EAAGA,EAAIwL,EAAItL,OAAQF,IAC5BwL,EAAIxL,GAAGqW,WAAa,EAG5B,OAAO7K,CACX,CAGA,SAASgT,GAAgB5L,GACrB,OAAO,QAAWA,GAAW,CAAEuI,MAAOvI,EAASqH,KAAMrH,EAAQqH,MAASrH,CAC1E,CAEA,MAAM6L,GAAkBze,KAAQA,EAAE2C,KAAK+b,cA0IvC,MAAMT,GAAe3Q,GAAUA,EAAM3K,KAAKgc,cAQhBC,OACAA,OA2M1B,SAASC,GAAQC,EAAS7E,GACtB,OAAI,QAAQ6E,GACDA,EAAQzJ,MAAMtG,GAAM8P,GAAQ9P,EAAGkL,MAEjC,QAAS6E,GACPA,EAAQzF,MAAM,KAAK1J,SAASsK,KAE9B6E,EAAQC,MACND,EAAQC,KAAK9E,EAI5B,CACA,SAAS+E,GAAY9B,EAAMxa,GACvBuc,GAAsB/B,EAAM,IAAoCxa,EACpE,CACA,SAASwc,GAAchC,EAAMxa,GACzBuc,GAAsB/B,EAAM,KAAuCxa,EACvE,CACA,SAASuc,GAAsB/B,EAAMva,EAAMD,EAAS0U,IAIhD,MAAM+H,EAAcjC,EAAKkC,QACpBlC,EAAKkC,MAAQ,KAEV,IAAIC,EAAU3c,EACd,MAAO2c,EAAS,CACZ,GAAIA,EAAQC,cACR,OAEJD,EAAUA,EAAQhgB,MACtB,CACA,OAAO6d,GAAM,GAQrB,GANAqC,GAAW5c,EAAMwc,EAAazc,GAM1BA,EAAQ,CACR,IAAI2c,EAAU3c,EAAOrD,OACrB,MAAOggB,GAAWA,EAAQhgB,OAClB4e,GAAYoB,EAAQhgB,OAAOiO,QAC3BkS,GAAsBL,EAAaxc,EAAMD,EAAQ2c,GAErDA,EAAUA,EAAQhgB,MAE1B,CACJ,CACA,SAASmgB,GAAsBtC,EAAMva,EAAMD,EAAQ+c,GAG/C,MAAMC,EAAWH,GAAW5c,EAAMua,EAAMuC,GAAe,GACvDE,IAAY,MACR,QAAOF,EAAc9c,GAAO+c,EAAS,GACtChd,EACP,CACA,SAASkd,GAAetS,GACpB,IAAIsH,EAAYtH,EAAMsH,UACN,IAAZA,IACAA,GAAa,KAED,IAAZA,IACAA,GAAa,KAEjBtH,EAAMsH,UAAYA,CACtB,CACA,SAASiL,GAAcvS,GACnB,OAAyB,IAAlBA,EAAMsH,UAA4CtH,EAAM4Q,UAAY5Q,CAC/E,CAEA,SAASiS,GAAW5c,EAAMua,EAAMxa,EAAS0U,GAAiB0I,GAAU,GAChE,GAAIpd,EAAQ,CACR,MAAM2a,EAAQ3a,EAAOC,KAAUD,EAAOC,GAAQ,IAIxCwc,EAAcjC,EAAK6C,QACpB7C,EAAK6C,MAAQ,IAAInb,KACd,GAAIlC,EAAOuO,YACP,QAIJ,UAIAgI,GAAmBvW,GACnB,MAAMqC,EAAMmI,EAA2BgQ,EAAMxa,EAAQC,EAAMiC,GAG3D,OAFAsU,MACA,UACOnU,CAAG,GAQlB,OANI+a,EACAzC,EAAM2C,QAAQb,GAGd9B,EAAM7d,KAAK2f,GAERA,CACX,CAUJ,CACA,MAAMc,GAAcC,GAAc,CAAChD,EAAMxa,EAAS0U,OAEhDuB,IAAuC,OAAduH,IACvBX,GAAWW,EAAWhD,EAAMxa,GAC1Byd,GAAgBF,GAAW,MAC3BrG,GAAYqG,GAAW,KACvBG,GAAiBH,GAAW,MAC5BI,GAAYJ,GAAW,KACvBpG,GAAkBoG,GAAW,OAC7BN,GAAcM,GAAW,MACzBK,GAAmBL,GAAW,MAC9BM,GAAoBN,GAAW,OAC/BO,GAAkBP,GAAW,OACnC,SAASQ,GAAgBvD,EAAMxa,EAAS0U,IACpCmI,GAAW,KAA0CrC,EAAMxa,EAC/D,CAsBA,SAASge,GAAepT,EAAOqT,GAC3B,MAAMC,EAAmB7N,EACzB,GAAyB,OAArB6N,EAEA,OAAOtT,EAEX,MAAMP,EAAW8T,GAAeD,IAC5BA,EAAiB9W,MACfgX,EAAWxT,EAAMkI,OAASlI,EAAMkI,KAAO,IAC7C,IAAK,IAAIxV,EAAI,EAAGA,EAAI2gB,EAAWzgB,OAAQF,IAAK,CACxC,IAAK+gB,EAAKpb,EAAOqb,EAAKC,EAAY,MAAaN,EAAW3gB,IACtD,QAAW+gB,KACXA,EAAM,CACFG,QAASH,EACTI,QAASJ,IAGbA,EAAI/I,MACJQ,EAAS7S,GAEbmb,EAASthB,KAAK,CACVuhB,MACAhU,WACApH,QACAnC,cAAU,EACVwd,MACAC,aAER,CACA,OAAO3T,CACX,CACA,SAAS8T,GAAoB9T,EAAOsI,EAAW7I,EAAUkN,GACrD,MAAM6G,EAAWxT,EAAMkI,KACjB6L,EAAczL,GAAaA,EAAUJ,KAC3C,IAAK,IAAIxV,EAAI,EAAGA,EAAI8gB,EAAS5gB,OAAQF,IAAK,CACtC,MAAMshB,EAAUR,EAAS9gB,GACrBqhB,IACAC,EAAQ9d,SAAW6d,EAAYrhB,GAAG2F,OAEtC,IAAIuX,EAAOoE,EAAQP,IAAI9G,GACnBiD,KAGA,UACAhQ,EAA2BgQ,EAAMnQ,EAAU,EAAmC,CAC1EO,EAAMsJ,GACN0K,EACAhU,EACAsI,KAEJ,UAER,CACJ,CAEA,MAAM2L,GAAa,aACbC,GAAa,aAInB,SAASC,GAAiBxH,EAAMyH,GAC5B,OAAOC,GAAaJ,GAAYtH,GAAM,EAAMyH,IAAuBzH,CACvE,CACA,MAAM2H,GAAyBhgB,SAgB/B,SAASigB,GAAiB5H,GACtB,OAAO0H,GAAaH,GAAYvH,EACpC,CAEA,SAAS0H,GAAahf,EAAMsX,EAAM6H,GAAc,EAAMJ,GAAqB,GACvE,MAAM3U,EAAWgG,GAA4BqE,GAC7C,GAAIrK,EAAU,CACV,MAAMiH,EAAYjH,EAASpK,KAE3B,GAAIA,IAAS4e,GAAY,CACrB,MAAMQ,EAAWC,GAAiBhO,GAAW,GAC7C,GAAI+N,IACCA,IAAa9H,GACV8H,KAAa,QAAS9H,IACtB8H,KAAa,SAAW,QAAS9H,KACrC,OAAOjG,CAEf,CACA,MAAMjP,EAGN6J,GAAQ7B,EAASpK,IAASqR,EAAUrR,GAAOsX,IAEvCrL,GAAQ7B,EAASc,WAAWlL,GAAOsX,GACvC,OAAKlV,GAAO2c,EAED1N,EASJjP,CACX,CAKJ,CACA,SAAS6J,GAAQqT,EAAUhI,GACvB,OAAQgI,IACHA,EAAShI,IACNgI,GAAS,QAAShI,KAClBgI,GAAS,SAAW,QAAShI,KACzC,CAKA,SAASiI,GAAWrK,EAAQsK,EAAYlQ,EAAO3S,GAC3C,IAAIkM,EACJ,MAAM2G,EAAUF,GAASA,EAAM3S,GAC/B,IAAI,QAAQuY,KAAW,QAASA,GAAS,CACrCrM,EAAM,IAAIC,MAAMoM,EAAO3X,QACvB,IAAK,IAAIF,EAAI,EAAGC,EAAI4X,EAAO3X,OAAQF,EAAIC,EAAGD,IACtCwL,EAAIxL,GAAKmiB,EAAWtK,EAAO7X,GAAIA,OAAGgC,EAAWmQ,GAAUA,EAAOnS,GAEtE,MACK,GAAsB,kBAAX6X,EAAqB,CAC7B,EAGJrM,EAAM,IAAIC,MAAMoM,GAChB,IAAK,IAAI7X,EAAI,EAAGA,EAAI6X,EAAQ7X,IACxBwL,EAAIxL,GAAKmiB,EAAWniB,EAAI,EAAGA,OAAGgC,EAAWmQ,GAAUA,EAAOnS,GAElE,MACK,IAAI,QAAS6X,GACd,GAAIA,EAAOjW,OAAOuG,UACdqD,EAAMC,MAAM2W,KAAKvK,GAAQ,CAACwK,EAAMriB,IAAMmiB,EAAWE,EAAMriB,OAAGgC,EAAWmQ,GAAUA,EAAOnS,UAErF,CACD,MAAMoV,EAAOlR,OAAOkR,KAAKyC,GACzBrM,EAAM,IAAIC,MAAM2J,EAAKlV,QACrB,IAAK,IAAIF,EAAI,EAAGC,EAAImV,EAAKlV,OAAQF,EAAIC,EAAGD,IAAK,CACzC,MAAM4C,EAAMwS,EAAKpV,GACjBwL,EAAIxL,GAAKmiB,EAAWtK,EAAOjV,GAAMA,EAAK5C,EAAGmS,GAAUA,EAAOnS,GAC9D,CACJ,MAGAwL,EAAM,GAKV,OAHIyG,IACAA,EAAM3S,GAASkM,GAEZA,CACX,CAiCA,SAAS8W,GAAWnO,EAAO8F,EAAM/I,EAAQ,CAAC,EAG1CqR,EAAUC,GACN,GAAIzP,EAAyB0P,MACxB1P,EAAyB1T,QACtBof,GAAe1L,EAAyB1T,SACxC0T,EAAyB1T,OAAOojB,KACpC,OAAOxN,GAAY,OAAiB,YAATgF,EAAqB,KAAO,CAAEA,QAAQsI,GAAYA,KAEjF,IAAIG,EAAOvO,EAAM8F,GAWbyI,GAAQA,EAAK5O,KACb4O,EAAK/O,IAAK,GAEdgP,KACA,MAAMC,EAAmBF,GAAQG,GAAiBH,EAAKxR,IACjD4R,EAAWC,GAAYxE,GAAU,CACnC3b,IAAKsO,EAAMtO,KAGNggB,GAAoBA,EAAiBhgB,KACtC,IAAIqX,KACT2I,IAAqBL,EAAWA,IAAa,IAAKK,GAAgC,IAAZzO,EAAM6O,EACzE,IACC,GAOP,OANKR,GAAaM,EAASG,UACvBH,EAASI,aAAe,CAACJ,EAASG,QAAU,OAE5CP,GAAQA,EAAK5O,KACb4O,EAAK/O,IAAK,GAEPmP,CACX,CACA,SAASD,GAAiBM,GACtB,OAAOA,EAAO9N,MAAKmG,IACV4H,GAAQ5H,IAETA,EAAM7Y,OAASuS,MAEfsG,EAAM7Y,OAAS4b,KACdsE,GAAiBrH,EAAMxF,aAI1BmN,EACA,IACV,CAyBA,MAAME,GAAqBrjB,GAClBA,EAEDsjB,GAAoBtjB,GACb6gB,GAAe7gB,IAAMA,EAAE8J,MAC3BuZ,GAAkBrjB,EAAEX,QAHhB,KAKTkkB,IAGQ,QAAOrf,OAAOqT,OAAO,MAAO,CACtCiM,EAAGxjB,GAAKA,EACRyjB,IAAKzjB,GAAKA,EAAEsN,MAAMsJ,GAClB8M,MAAO1jB,GAAKA,EAAEwU,KACdmP,OAAQ3jB,GAA2EA,EAAEkR,MACrF0S,OAAQ5jB,GAA2EA,EAAEoU,MACrFyP,OAAQ7jB,GAA2EA,EAAEmU,MACrF2P,MAAO9jB,GAA0EA,EAAE+jB,KACnFC,QAAShkB,GAAKqjB,GAAkBrjB,EAAEX,QAClC4kB,MAAOjkB,GAAKqjB,GAAkBrjB,EAAEmV,MAChC+O,MAAOlkB,GAAKA,EAAEqU,KACd8P,SAAUnkB,GAA4BokB,GAAqBpkB,GAC3DqkB,aAAcrkB,GAAKA,EAAEskB,IAAMtkB,EAAEskB,EAAI,IAAM7U,EAASzP,EAAEyc,SAClD8H,UAAWvkB,GAAKA,EAAEa,IAAMb,EAAEa,EAAIiO,EAASG,KAAKjP,EAAE8J,QAC9C0a,OAAQxkB,GAA4B8Y,EAAc7J,KAAKjP,KAGrDykB,GAA8B,CAChC3hB,KAAMkgB,EAAGjW,GAAYnK,GACjB,MAAM,IAAE2Q,EAAG,WAAEkB,EAAU,KAAED,EAAI,MAAEtD,EAAK,YAAEwT,EAAW,KAAE/hB,EAAI,WAAEkL,GAAed,EAqBxE,IAAI4X,EACJ,GAAe,MAAX/hB,EAAI,GAAY,CAChB,MAAM/B,EAAI6jB,EAAY9hB,GACtB,QAAUZ,IAANnB,EACA,OAAQA,GACJ,KAAK,EACD,OAAO4T,EAAW7R,GACtB,KAAK,EACD,OAAO4R,EAAK5R,GAChB,KAAK,EACD,OAAO2Q,EAAI3Q,GACf,KAAK,EACD,OAAOsO,EAAMtO,OAIpB,IAAI6R,IAAe,OAAa,QAAOA,EAAY7R,GAEpD,OADA8hB,EAAY9hB,GAAO,EACZ6R,EAAW7R,GAEjB,GAAI4R,IAAS,OAAa,QAAOA,EAAM5R,GAExC,OADA8hB,EAAY9hB,GAAO,EACZ4R,EAAK5R,GAEX,IAGJ+hB,EAAkB5X,EAASmH,aAAa,MACrC,QAAOyQ,EAAiB/hB,GAExB,OADA8hB,EAAY9hB,GAAO,EACZsO,EAAMtO,GAEZ,GAAI2Q,IAAQ,OAAa,QAAOA,EAAK3Q,GAEtC,OADA8hB,EAAY9hB,GAAO,EACZ2Q,EAAI3Q,GAEkBgiB,KAC7BF,EAAY9hB,GAAO,EACvB,CACJ,CACA,MAAMiiB,EAAetB,GAAoB3gB,GACzC,IAAIkiB,EAAWC,EAEf,OAAIF,GACY,WAARjiB,IACA,OAAMmK,EAAU,MAA8BnK,GAG3CiiB,EAAa9X,KAIvB+X,EAAYniB,EAAKqiB,gBACbF,EAAYA,EAAUliB,IAChBkiB,EAEFvR,IAAQ,OAAa,QAAOA,EAAK3Q,IAEtC8hB,EAAY9hB,GAAO,EACZ2Q,EAAI3Q,KAIbmiB,EAAmBlX,EAAWC,OAAOiX,kBACnC,QAAOA,EAAkBniB,GAEdmiB,EAAiBniB,QAL3B,EAuBT,EACAG,KAAMigB,EAAGjW,GAAYnK,EAAK+C,GACtB,MAAM,KAAE6O,EAAI,WAAEC,EAAU,IAAElB,GAAQxG,EAClC,OAAI0H,IAAe,OAAa,QAAOA,EAAY7R,IAC/C6R,EAAW7R,GAAO+C,GACX,GAEF6O,IAAS,OAAa,QAAOA,EAAM5R,IACxC4R,EAAK5R,GAAO+C,GACL,KAEF,QAAOoH,EAASmE,MAAOtO,MAKjB,MAAXA,EAAI,MAAcA,EAAI0O,MAAM,KAAMvE,MAe9BwG,EAAI3Q,GAAO+C,GAGZ,GACX,EACAvC,KAAM4f,GAAG,KAAExO,EAAI,WAAEC,EAAU,YAAEiQ,EAAW,IAAEnR,EAAG,WAAE1F,EAAU,aAAEqG,IAAkBtR,GACzE,IAAI+hB,EACJ,QAAUD,EAAY9hB,IACjB4R,IAAS,OAAa,QAAOA,EAAM5R,IACnC6R,IAAe,OAAa,QAAOA,EAAY7R,KAC9C+hB,EAAkBzQ,EAAa,MAAO,QAAOyQ,EAAiB/hB,KAChE,QAAO2Q,EAAK3Q,KACZ,QAAO2gB,GAAqB3gB,KAC5B,QAAOiL,EAAWC,OAAOiX,iBAAkBniB,EACnD,EACAqiB,eAAeviB,EAAQE,EAAKsiB,GAQxB,OAPsB,MAAlBA,EAAWpiB,IAEXJ,EAAOsgB,EAAE0B,YAAY9hB,GAAO,GAEvB,QAAOsiB,EAAY,UACxBjmB,KAAK8D,IAAIL,EAAQE,EAAKsiB,EAAWvf,MAAO,MAErCF,QAAQwf,eAAeviB,EAAQE,EAAKsiB,EAC/C,GA+FJ,IAAIN,IAAoB,EACxB,SAASO,GAAapY,GAClB,MAAM6F,EAAUwR,GAAqBrX,GAC/BgM,EAAahM,EAASjD,MACtByJ,EAAMxG,EAASwG,IAErBqR,IAAoB,EAGhBhS,EAAQwS,cACRnI,GAASrK,EAAQwS,aAAcrY,EAAU,MAE7C,MAEAyH,KAAM6Q,EAAaxhB,SAAUyhB,EAAe,QAAEC,EAAS3N,MAAO4N,EAAcrO,QAASsO,EAAgBjO,OAAQkO,EAAa,QAE1HC,EAAO,YAAEC,EAAW,QAAE1E,EAAO,aAAE2E,EAAY,QAAE1E,EAAO,UAAE2E,EAAS,YAAEC,EAAW,cAAEC,EAAa,cAAEC,EAAa,UAAEC,EAAS,UAAEC,EAAS,OAAE7R,EAAM,cAAE8R,EAAa,gBAAEC,EAAe,cAAEC,EAAa,eAAEC,EAAc,OAEvMC,EAAM,aAAE9R,EAAY,WAEpB+R,EAAU,WAAE9F,EAAU,QAAE+F,GAAY9T,EAC9B+T,EAAgG,KAmBtG,GAHIjB,GACAkB,GAAkBlB,EAAenS,EAAKoT,EAA0B5Z,EAASc,WAAWC,OAAO+Y,mBAE3FtB,EACA,IAAK,MAAM3iB,KAAO2iB,EAAS,CACvB,MAAMuB,EAAgBvB,EAAQ3iB,IAC1B,QAAWkkB,KAaPvT,EAAI3Q,GAAOkkB,EAAc7X,KAAK8J,GAU1C,CAEJ,GAAIsM,EAAa,CACT,EAIJ,MAAM7Q,EAAO6Q,EAAYle,KAAK4R,EAAYA,GACtC,GAKC,QAASvE,KAIVzH,EAASyH,MAAO,QAASA,GAgBjC,CAGA,GADAoQ,IAAoB,EAChBU,EACA,IAAK,MAAM1iB,KAAO0iB,EAAiB,CAC/B,MAAMyB,EAAMzB,EAAgB1iB,GACtBE,GAAM,QAAWikB,GACjBA,EAAI9X,KAAK8J,EAAYA,IACrB,QAAWgO,EAAIjkB,KACXikB,EAAIjkB,IAAImM,KAAK8J,EAAYA,GACzB,KACN,EAGJ,MAAMhW,IAAO,QAAWgkB,KAAQ,QAAWA,EAAIhkB,KACzCgkB,EAAIhkB,IAAIkM,KAAK8J,GAKT,KACJ2C,EAAI7X,GAAS,CACff,MACAC,QAEJmB,OAAO+gB,eAAe1R,EAAK3Q,EAAK,CAC5BokB,YAAY,EACZC,cAAc,EACdnkB,IAAK,IAAM4Y,EAAE/V,MACb5C,IAAK4D,GAAM+U,EAAE/V,MAAQgB,GAK7B,CAEJ,GAAI6e,EACA,IAAK,MAAM5iB,KAAO4iB,EACd0B,GAAc1B,EAAa5iB,GAAM2Q,EAAKwF,EAAYnW,GAG1D,GAAI6iB,EAAgB,CAChB,MAAMpO,GAAW,QAAWoO,GACtBA,EAAete,KAAK4R,GACpB0M,EACNhgB,QAAQY,QAAQgR,GAAU1T,SAAQf,IAC9BuU,EAAQvU,EAAKyU,EAASzU,GAAK,GAEnC,CAIA,SAASukB,EAAsBC,EAAUlK,IACjC,QAAQA,GACRA,EAAKvZ,SAAQ0jB,GAASD,EAASC,EAAMpY,KAAK8J,MAErCmE,GACLkK,EAASlK,EAAKjO,KAAK8J,GAE3B,CAaA,GAvBI4M,GACA1I,GAAS0I,EAAS5Y,EAAU,KAUhCoa,EAAsBhH,GAAeyF,GACrCuB,EAAsBvN,GAAWsH,GACjCiG,EAAsB/G,GAAgByF,GACtCsB,EAAsB9G,GAAWc,GACjCgG,EAAsBnI,GAAa8G,GACnCqB,EAAsBjI,GAAe6G,GACrCoB,EAAsB1G,GAAiB6F,GACvCa,EAAsB3G,GAAiB4F,GACvCe,EAAsB5G,GAAmB8F,GACzCc,EAAsBtN,GAAiBoM,GACvCkB,EAAsBxH,GAAawG,GACnCgB,EAAsB7G,GAAkBiG,IACpC,QAAQC,GACR,GAAIA,EAAOtmB,OAAQ,CACf,MAAMonB,EAAUva,EAASua,UAAYva,EAASua,QAAU,CAAC,GACzDd,EAAO7iB,SAAQf,IACXsB,OAAO+gB,eAAeqC,EAAS1kB,EAAK,CAChCE,IAAK,IAAMiW,EAAWnW,GACtBG,IAAKgJ,GAAQgN,EAAWnW,GAAOmJ,GACjC,GAEV,MACUgB,EAASua,UACfva,EAASua,QAAU,CAAC,GAKxBhT,GAAUvH,EAASuH,SAAW,OAC9BvH,EAASuH,OAASA,GAEF,MAAhBI,IACA3H,EAAS2H,aAAeA,GAGxB+R,IACA1Z,EAAS0Z,WAAaA,GACtB9F,IACA5T,EAAS4T,WAAaA,EAC9B,CACA,SAASiG,GAAkBlB,EAAenS,EAAKoT,EAA2B,KAAMY,GAAY,IACpF,QAAQ7B,KACRA,EAAgB8B,GAAgB9B,IAEpC,IAAK,MAAM9iB,KAAO8iB,EAAe,CAC7B,MAAMqB,EAAMrB,EAAc9iB,GAC1B,IAAI8c,EAGIA,GAFJ,QAASqH,GACL,YAAaA,EACFvP,EAAOuP,EAAI3E,MAAQxf,EAAKmkB,EAAIzL,SAAS,GAGrC9D,EAAOuP,EAAI3E,MAAQxf,GAIvB4U,EAAOuP,IAElB,QAAMrH,IAEF6H,EACArjB,OAAO+gB,eAAe1R,EAAK3Q,EAAK,CAC5BokB,YAAY,EACZC,cAAc,EACdnkB,IAAK,IAAM4c,EAAS/Z,MACpB5C,IAAK4D,GAAM+Y,EAAS/Z,MAAQgB,IAepC4M,EAAI3Q,GAAO8c,CAKnB,CACJ,CACA,SAASzC,GAASC,EAAMnQ,EAAUpK,GAC9BuK,GAA2B,QAAQgQ,GAC7BA,EAAK7Y,KAAIojB,GAAKA,EAAExY,KAAKlC,EAASjD,SAC9BoT,EAAKjO,KAAKlC,EAASjD,OAAQiD,EAAUpK,EAC/C,CACA,SAASukB,GAAchd,EAAKqJ,EAAKwF,EAAYnW,GACzC,MAAMuJ,EAASvJ,EAAI+M,SAAS,KACtBqJ,EAAiBD,EAAYnW,GAC7B,IAAMmW,EAAWnW,GACvB,IAAI,QAASsH,GAAM,CACf,MAAMyH,EAAU4B,EAAIrJ,IAChB,QAAWyH,IACXiG,EAAMzL,EAAQwF,EAKtB,MACK,IAAI,QAAWzH,GAChB0N,EAAMzL,EAAQjC,EAAI+E,KAAK8J,SAEtB,IAAI,QAAS7O,GACd,IAAI,QAAQA,GACRA,EAAIvG,SAAQ6G,GAAK0c,GAAc1c,EAAG+I,EAAKwF,EAAYnW,SAElD,CACD,MAAM+O,GAAU,QAAWzH,EAAIyH,SACzBzH,EAAIyH,QAAQ1C,KAAK8J,GACjBxF,EAAIrJ,EAAIyH,UACV,QAAWA,IACXiG,EAAMzL,EAAQwF,EAASzH,EAK/B,MAEK,CAGb,CAMA,SAASka,GAAqBrX,GAC1B,MAAM2a,EAAO3a,EAASpK,MAChB,OAAE8P,EAAQC,QAASiV,GAAmBD,GACpCjV,OAAQmV,EAAcC,aAAc5V,EAAOnE,QAAQ,sBAAEga,IAA4B/a,EAASc,WAC5FsE,EAASF,EAAMnP,IAAI4kB,GACzB,IAAIK,EAmBJ,OAlBI5V,EACA4V,EAAW5V,EAELyV,EAAa1nB,QAAWuS,GAAWkV,GAMzCI,EAAW,CAAC,EACRH,EAAa1nB,QACb0nB,EAAajkB,SAAQqkB,GAAKC,GAAaF,EAAUC,EAAGF,GAAuB,KAE/EG,GAAaF,EAAUL,EAAMI,IARzBC,EAAWL,GAUf,QAASA,IACTzV,EAAMlP,IAAI2kB,EAAMK,GAEbA,CACX,CACA,SAASE,GAAaC,EAAI9F,EAAM+F,EAAQnW,GAAU,GAC9C,MAAM,OAAES,EAAQC,QAASiV,GAAmBvF,EACxCuF,GACAM,GAAaC,EAAIP,EAAgBQ,GAAQ,GAEzC1V,GACAA,EAAO9O,SAASqkB,GAAMC,GAAaC,EAAIF,EAAGG,GAAQ,KAEtD,IAAK,MAAMvlB,KAAOwf,EACd,GAAIpQ,GAAmB,WAARpP,OAKV,CACD,MAAMwlB,EAAQC,GAA0BzlB,IAASulB,GAAUA,EAAOvlB,GAClEslB,EAAGtlB,GAAOwlB,EAAQA,EAAMF,EAAGtlB,GAAMwf,EAAKxf,IAAQwf,EAAKxf,EACvD,CAEJ,OAAOslB,CACX,CACA,MAAMG,GAA4B,CAC9B7T,KAAM8T,GACNpX,MAAOqX,GACPnW,MAAOmW,GAEPhD,QAASgD,GACT1kB,SAAU0kB,GAEVnD,aAAcoD,GACd7C,QAAS6C,GACT5C,YAAa4C,GACbtH,QAASsH,GACT3C,aAAc2C,GACdrH,QAASqH,GACTxC,cAAewC,GACfvC,cAAeuC,GACftC,UAAWsC,GACXrC,UAAWqC,GACX1C,UAAW0C,GACXzC,YAAayC,GACblC,cAAekC,GACfjC,eAAgBiC,GAEhB/B,WAAY8B,GACZ5H,WAAY4H,GAEZ3Q,MAAO6Q,GAEPtR,QAASmR,GACT9Q,OAAQkR,IAEZ,SAASJ,GAAYJ,EAAI9F,GACrB,OAAKA,EAGA8F,EAGE,WACH,OAAO,EAAC,OAAQ,QAAWA,GAAMA,EAAG/gB,KAAKlI,KAAMA,MAAQipB,GAAI,QAAW9F,GAAQA,EAAKjb,KAAKlI,KAAMA,MAAQmjB,EAC1G,EAJWA,EAHA8F,CAQf,CACA,SAASQ,GAAYR,EAAI9F,GACrB,OAAOmG,GAAmBf,GAAgBU,GAAKV,GAAgBpF,GACnE,CACA,SAASoF,GAAgBtd,GACrB,IAAI,QAAQA,GAAM,CACd,MAAMnF,EAAM,CAAC,EACb,IAAK,IAAI/E,EAAI,EAAGA,EAAIkK,EAAIhK,OAAQF,IAC5B+E,EAAImF,EAAIlK,IAAMkK,EAAIlK,GAEtB,OAAO+E,CACX,CACA,OAAOmF,CACX,CACA,SAASse,GAAaN,EAAI9F,GACtB,OAAO8F,EAAK,IAAI,IAAIvnB,IAAI,GAAG8U,OAAOyS,EAAI9F,KAAUA,CACpD,CACA,SAASmG,GAAmBL,EAAI9F,GAC5B,OAAO8F,GAAK,SAAO,QAAOhkB,OAAOqT,OAAO,MAAO2Q,GAAK9F,GAAQA,CAChE,CACA,SAASqG,GAAkBP,EAAI9F,GAC3B,IAAK8F,EACD,OAAO9F,EACX,IAAKA,EACD,OAAO8F,EACX,MAAMS,GAAS,QAAOzkB,OAAOqT,OAAO,MAAO2Q,GAC3C,IAAK,MAAMtlB,KAAOwf,EACduG,EAAO/lB,GAAO4lB,GAAaN,EAAGtlB,GAAMwf,EAAKxf,IAE7C,OAAO+lB,CACX,CAEA,SAASC,GAAU7b,EAAU4O,EAAUkN,EACvCxc,GAAQ,GACJ,MAAM6E,EAAQ,CAAC,EACTkD,EAAQ,CAAC,GACf,QAAIA,EAAO0U,GAAmB,GAC9B/b,EAASgc,cAAgB7kB,OAAOqT,OAAO,MACvCyR,GAAajc,EAAU4O,EAAUzK,EAAOkD,GAExC,IAAK,MAAMxR,KAAOmK,EAASmH,aAAa,GAC9BtR,KAAOsO,IACTA,EAAMtO,QAAOZ,GAOjB6mB,EAEA9b,EAASmE,MAAQ7E,EAAQ6E,GAAQ,QAAgBA,GAG5CnE,EAASpK,KAAKuO,MAMfnE,EAASmE,MAAQA,EAJjBnE,EAASmE,MAAQkD,EAOzBrH,EAASqH,MAAQA,CACrB,CAQA,SAAS6U,GAAYlc,EAAU4O,EAAUuN,EAAcpT,GACnD,MAAM,MAAE5E,EAAK,MAAEkD,EAAO9G,OAAO,UAAE+I,IAAgBtJ,EACzCoc,GAAkB,QAAMjY,IACvB0B,GAAW7F,EAASmH,aAC3B,IAAIkV,GAAkB,EACtB,KAKKtT,GAAaO,EAAY,IACZ,GAAZA,EAoCD,CAOD,IAAIgT,EALAL,GAAajc,EAAU4O,EAAUzK,EAAOkD,KACxCgV,GAAkB,GAKtB,IAAK,MAAMxmB,KAAOumB,EACTxN,KAEC,QAAOA,EAAU/Y,KAGbymB,GAAW,QAAUzmB,MAAUA,IAAQ,QAAO+Y,EAAU0N,MAC1DzW,GACIsW,QAEuBlnB,IAAtBknB,EAAatmB,SAEiBZ,IAA3BknB,EAAaG,KACjBnY,EAAMtO,GAAO0mB,GAAiB1W,EAASuW,EAAiBvmB,OAAKZ,EAAW+K,GAAU,WAI/EmE,EAAMtO,IAMzB,GAAIwR,IAAU+U,EACV,IAAK,MAAMvmB,KAAOwR,EACTuH,IACC,QAAOA,EAAU/Y,YAEZwR,EAAMxR,GACbwmB,GAAkB,EAIlC,MA5EI,GAAgB,EAAZ/S,EAAsC,CAGtC,MAAMkT,EAAgBxc,EAASO,MAAMmJ,aACrC,IAAK,IAAIzW,EAAI,EAAGA,EAAIupB,EAAcrpB,OAAQF,IAAK,CAC3C,IAAI4C,EAAM2mB,EAAcvpB,GAExB,GAAI2S,EAAe5F,EAASuJ,aAAc1T,GACtC,SAGJ,MAAM+C,EAAQgW,EAAS/Y,GACvB,GAAIgQ,EAGA,IAAI,QAAOwB,EAAOxR,GACV+C,IAAUyO,EAAMxR,KAChBwR,EAAMxR,GAAO+C,EACbyjB,GAAkB,OAGrB,CACD,MAAMI,GAAe,QAAS5mB,GAC9BsO,EAAMsY,GAAgBF,GAAiB1W,EAASuW,EAAiBK,EAAc7jB,EAAOoH,GAAU,EACpG,MAGIpH,IAAUyO,EAAMxR,KAChBwR,EAAMxR,GAAO+C,EACbyjB,GAAkB,EAG9B,CACJ,CA6CAA,IACA,QAAQrc,EAAU,MAAgC,SAK1D,CACA,SAASic,GAAajc,EAAU4O,EAAUzK,EAAOkD,GAC7C,MAAOxB,EAAS6W,GAAgB1c,EAASmH,aACzC,IACIwV,EADAN,GAAkB,EAEtB,GAAIzN,EACA,IAAK,IAAI/Y,KAAO+Y,EAAU,CAEtB,IAAI,QAAe/Y,GACf,SAEJ,MAAM+C,EAAQgW,EAAS/Y,GAGvB,IAAI+mB,EACA/W,IAAW,QAAOA,EAAU+W,GAAW,QAAS/mB,IAC3C6mB,GAAiBA,EAAa9Z,SAASga,IAIvCD,IAAkBA,EAAgB,CAAC,IAAIC,GAAYhkB,EAHpDuL,EAAMyY,GAAYhkB,EAMhBgN,EAAe5F,EAASuJ,aAAc1T,IACtCA,KAAOwR,GAAUzO,IAAUyO,EAAMxR,KACnCwR,EAAMxR,GAAO+C,EACbyjB,GAAkB,EAG9B,CAEJ,GAAIK,EAAc,CACd,MAAMN,GAAkB,QAAMjY,GACxB0Y,EAAaF,GAAiB,KACpC,IAAK,IAAI1pB,EAAI,EAAGA,EAAIypB,EAAavpB,OAAQF,IAAK,CAC1C,MAAM4C,EAAM6mB,EAAazpB,GACzBkR,EAAMtO,GAAO0mB,GAAiB1W,EAASuW,EAAiBvmB,EAAKgnB,EAAWhnB,GAAMmK,IAAW,QAAO6c,EAAYhnB,GAChH,CACJ,CACA,OAAOwmB,CACX,CACA,SAASE,GAAiB1W,EAAS1B,EAAOtO,EAAK+C,EAAOoH,EAAU8c,GAC5D,MAAM9C,EAAMnU,EAAQhQ,GACpB,GAAW,MAAPmkB,EAAa,CACb,MAAM+C,GAAa,QAAO/C,EAAK,WAE/B,GAAI+C,QAAwB9nB,IAAV2D,EAAqB,CACnC,MAAMqG,EAAe+a,EAAIzL,QACzB,GAAIyL,EAAIpkB,OAASoX,WAAY,QAAW/N,GAAe,CACnD,MAAM,cAAE+c,GAAkBhc,EACtBnK,KAAOmmB,EACPpjB,EAAQojB,EAAcnmB,IAGtBqW,GAAmBlM,GACnBpH,EAAQojB,EAAcnmB,GAAOoJ,EAAa7E,KAAK,KAAM+J,GACrDgI,KAER,MAEIvT,EAAQqG,CAEhB,CAEI+a,EAAI,KACA8C,IAAaC,EACbnkB,GAAQ,GAEHohB,EAAI,IACE,KAAVphB,GAAgBA,KAAU,QAAU/C,KACrC+C,GAAQ,GAGpB,CACA,OAAOA,CACX,CACA,SAASokB,GAAsBhY,EAAMlE,EAAYmE,GAAU,GACvD,MAAMC,EAAQpE,EAAWmc,WACnB7X,EAASF,EAAMnP,IAAIiP,GACzB,GAAII,EACA,OAAOA,EAEX,MAAMjI,EAAM6H,EAAKb,MACXmB,EAAa,CAAC,EACdoX,EAAe,GAErB,IAAInX,GAAa,EACjB,KAA4B,QAAWP,GAAO,CAC1C,MAAMkY,EAAe/f,IACjBoI,GAAa,EACb,MAAOpB,EAAOkE,GAAQ2U,GAAsB7f,EAAK2D,GAAY,IAC7D,QAAOwE,EAAYnB,GACfkE,GACAqU,EAAajqB,QAAQ4V,EAAK,GAE7BpD,GAAWnE,EAAW4E,OAAOvS,QAC9B2N,EAAW4E,OAAO9O,QAAQsmB,GAE1BlY,EAAKW,SACLuX,EAAYlY,EAAKW,SAEjBX,EAAKU,QACLV,EAAKU,OAAO9O,QAAQsmB,EAE5B,CACA,IAAK/f,IAAQoI,EAIT,OAHI,QAASP,IACTE,EAAMlP,IAAIgP,EAAM,MAEb,KAEX,IAAI,QAAQ7H,GACR,IAAK,IAAIlK,EAAI,EAAGA,EAAIkK,EAAIhK,OAAQF,IAAK,CAC7B,EAGJ,MAAMkqB,GAAgB,QAAShgB,EAAIlK,IAC/BmqB,GAAiBD,KACjB7X,EAAW6X,GAAiB,KAEpC,MAEC,GAAIhgB,EAAK,CACN,EAGJ,IAAK,MAAMtH,KAAOsH,EAAK,CACnB,MAAMggB,GAAgB,QAAStnB,GAC/B,GAAIunB,GAAiBD,GAAgB,CACjC,MAAMnD,EAAM7c,EAAItH,GACVwnB,EAAQ/X,EAAW6X,IACrB,QAAQnD,KAAQ,QAAWA,GAAO,CAAEpkB,KAAMokB,GAAQA,EACtD,GAAIqD,EAAM,CACN,MAAMC,EAAeC,GAAajQ,QAAS+P,EAAKznB,MAC1C4nB,EAAcD,GAAanQ,OAAQiQ,EAAKznB,MAC9CynB,EAAK,GAAmCC,GAAgB,EACxDD,EAAK,GACDG,EAAc,GAAKF,EAAeE,GAElCF,GAAgB,IAAK,QAAOD,EAAM,aAClCX,EAAajqB,KAAK0qB,EAE1B,CACJ,CACJ,CACJ,CACA,MAAMnlB,EAAM,CAACsN,EAAYoX,GAIzB,OAHI,QAAS1X,IACTE,EAAMlP,IAAIgP,EAAMhN,GAEbA,CACX,CACA,SAASolB,GAAiBvnB,GACtB,MAAe,MAAXA,EAAI,EAOZ,CAGA,SAAS4nB,GAAQC,GACb,MAAMC,EAAQD,GAAQA,EAAKE,WAAWD,MAAM,sBAC5C,OAAOA,EAAQA,EAAM,GAAc,OAATD,EAAgB,OAAS,EACvD,CACA,SAASG,GAAWna,EAAGC,GACnB,OAAO8Z,GAAQ/Z,KAAO+Z,GAAQ9Z,EAClC,CACA,SAAS4Z,GAAa3nB,EAAMkoB,GACxB,OAAI,QAAQA,GACDA,EAAcC,WAAUC,GAAKH,GAAWG,EAAGpoB,MAE7C,QAAWkoB,IACTD,GAAWC,EAAeloB,GAAQ,GAErC,CACZ,CAoIA,MAAMqoB,GAAiBpoB,GAAmB,MAAXA,EAAI,IAAsB,YAARA,EAC3CqoB,GAAsBtlB,IAAU,QAAQA,GACxCA,EAAMtB,IAAIyQ,IACV,CAACA,GAAenP,IAChBulB,GAAgB,CAACtoB,EAAKuoB,EAAS5X,KACjC,GAAI4X,EAAQ1X,GAER,OAAO0X,EAEX,MAAM9Y,EAAaiB,GAAQ,IAAI1O,IAMpBqmB,GAAmBE,KAAWvmB,KACtC2O,GAEH,OADAlB,EAAWyB,IAAK,EACTzB,CAAU,EAEf+Y,GAAuB,CAACC,EAAUlX,EAAOpH,KAC3C,MAAMwG,EAAM8X,EAASC,KACrB,IAAK,MAAM1oB,KAAOyoB,EAAU,CACxB,GAAIL,GAAcpoB,GACd,SACJ,MAAM+C,EAAQ0lB,EAASzoB,GACvB,IAAI,QAAW+C,GACXwO,EAAMvR,GAAOsoB,GAActoB,EAAK+C,EAAO4N,QAEtC,GAAa,MAAT5N,EAAe,CAChB,EAKJ,MAAM0M,EAAa4Y,GAAmBtlB,GACtCwO,EAAMvR,GAAO,IAAMyP,CACvB,CACJ,GAEEkZ,GAAsB,CAACxe,EAAUiJ,KAOnC,MAAM3D,EAAa4Y,GAAmBjV,GACtCjJ,EAASoH,MAAMmH,QAAU,IAAMjJ,CAAU,EAEvCmZ,GAAY,CAACze,EAAUiJ,KACzB,GAA+B,GAA3BjJ,EAASO,MAAMsH,UAAgD,CAC/D,MAAMjS,EAAOqT,EAASgN,EAClBrgB,GAGAoK,EAASoH,OAAQ,QAAM6B,IAEvB,QAAIA,EAAU,IAAKrT,IAGnByoB,GAAqBpV,EAAWjJ,EAASoH,MAAQ,CAAC,EAE1D,MAEIpH,EAASoH,MAAQ,CAAC,EACd6B,GACAuV,GAAoBxe,EAAUiJ,IAGtC,QAAIjJ,EAASoH,MAAO2U,GAAmB,EAAE,EAEvC2C,GAAc,CAAC1e,EAAUiJ,EAAUF,KACrC,MAAM,MAAExI,EAAK,MAAE6G,GAAUpH,EACzB,IAAI2e,GAAoB,EACpBC,EAA2B,KAC/B,GAAsB,GAAlBre,EAAMsH,UAAgD,CACtD,MAAMjS,EAAOqT,EAASgN,EAClBrgB,EAOSmT,GAAsB,IAATnT,EAGlB+oB,GAAoB,IAKpB,QAAOvX,EAAO6B,GAKTF,GAAsB,IAATnT,UACPwR,EAAM6O,IAKrB0I,GAAqB1V,EAASO,QAC9B6U,GAAqBpV,EAAU7B,IAEnCwX,EAA2B3V,CAC/B,MACSA,IAELuV,GAAoBxe,EAAUiJ,GAC9B2V,EAA2B,CAAErQ,QAAS,IAG1C,GAAIoQ,EACA,IAAK,MAAM9oB,KAAOuR,EACT6W,GAAcpoB,IAAUA,KAAO+oB,UACzBxX,EAAMvR,EAGzB,EAGJ,SAASgpB,KACL,MAAO,CACHC,IAAK,KACL/d,OAAQ,CACJge,YAAa,EAAAC,GACbC,aAAa,EACbjH,iBAAkB,CAAC,EACnB+C,sBAAuB,CAAC,EACxB/Z,kBAAc/L,EACdiqB,iBAAajqB,EACbkqB,gBAAiB,CAAC,GAEtBzZ,OAAQ,GACRgU,WAAY,CAAC,EACb9F,WAAY,CAAC,EACbtJ,SAAUnT,OAAOqT,OAAO,MACxBsQ,aAAc,IAAItmB,QAClByoB,WAAY,IAAIzoB,QAChB2Q,WAAY,IAAI3Q,QAExB,CACA,IAAIsX,GAAM,EACV,SAASsT,GAAa7X,EAAQ8X,GAC1B,OAAO,SAAmBC,EAAeC,EAAY,OAC5C,QAAWD,KACZA,EAAgBnoB,OAAOqoB,OAAO,CAAC,EAAGF,IAErB,MAAbC,IAAsB,QAASA,KAE/BA,EAAY,MAEhB,MAAME,EAAUZ,KACVa,EAAmB,IAAI9rB,IAC7B,IAAI6Y,GAAY,EAChB,MAAMqS,EAAOW,EAAQX,IAAM,CACvBa,KAAM7T,KACN8T,WAAYN,EACZO,OAAQN,EACRO,WAAY,KACZC,SAAUN,EACVO,UAAW,KACXC,WACIlf,aACA,OAAO0e,EAAQ1e,MACnB,EACIA,WAAOnH,GACH,CAGR,EACAsmB,IAAIC,KAAWta,GAgBX,OAfI6Z,EAAiBrpB,IAAI8pB,KAGhBA,IAAU,QAAWA,EAAOC,UACjCV,EAAiBppB,IAAI6pB,GACrBA,EAAOC,QAAQtB,KAAQjZ,KAElB,QAAWsa,KAChBT,EAAiBppB,IAAI6pB,GACrBA,EAAOrB,KAAQjZ,KAMZiZ,CACX,EACAuB,MAAMA,GAaF,OAXSZ,EAAQ/Z,OAAO9C,SAASyd,IACzBZ,EAAQ/Z,OAAOjT,KAAK4tB,GAUrBvB,CACX,EACA3V,UAAU+D,EAAM/D,GAIZ,OAAKA,GAMLsW,EAAQ/F,WAAWxM,GAAQ/D,EACpB2V,GANIW,EAAQ/F,WAAWxM,EAOlC,EACAoT,UAAUpT,EAAMoT,GAIZ,OAAKA,GAMLb,EAAQ7L,WAAW1G,GAAQoT,EACpBxB,GANIW,EAAQ7L,WAAW1G,EAOlC,EACAqT,MAAMC,EAAeC,EAAWC,GAC5B,IAAKjU,EAAW,CAER,EAKJ,MAAMlM,EAAQ2H,GAAYoX,EAAeC,GAuBzC,OApBAhf,EAAMO,WAAa2e,EAOfgB,GAAapB,EACbA,EAAQ9e,EAAOigB,GAGfjZ,EAAOhH,EAAOigB,EAAeE,GAEjCjU,GAAY,EACZqS,EAAIgB,WAAaU,EACjBA,EAAcG,YAAc7B,EAKrBhL,GAAevT,EAAM4I,YAAc5I,EAAM4I,UAAUpM,KAC9D,CAOJ,EACA6jB,UACQnU,IACAlF,EAAO,KAAMuX,EAAIgB,mBAKVhB,EAAIgB,WAAWa,YAK9B,EACAvW,QAAQvU,EAAK+C,GAMT,OADA6mB,EAAQnV,SAASzU,GAAO+C,EACjBkmB,CACX,GAEJ,OAAOA,CACX,CACJ,CAKA,SAAS+B,GAAOC,EAAQC,EAAWC,EAAgBzgB,EAAO0gB,GAAY,GAClE,IAAI,QAAQH,GAER,YADAA,EAAOlqB,SAAQ,CAAC6G,EAAGxK,IAAM4tB,GAAOpjB,EAAGsjB,KAAc,QAAQA,GAAaA,EAAU9tB,GAAK8tB,GAAYC,EAAgBzgB,EAAO0gB,KAG5H,GAAIvP,GAAenR,KAAW0gB,EAG1B,OAEJ,MAAMC,EAA6B,EAAlB3gB,EAAMsH,UACjBiM,GAAevT,EAAM4I,YAAc5I,EAAM4I,UAAUpM,MACnDwD,EAAMsJ,GACNjR,EAAQqoB,EAAY,KAAOC,GACzBjuB,EAAGkuB,EAAO1jB,EAAGH,GAAQwjB,EAM7B,MAAMM,EAASL,GAAaA,EAAUtjB,EAChCuZ,EAAOmK,EAAMnK,OAAS,KAAamK,EAAMnK,KAAO,CAAC,EAAKmK,EAAMnK,KAC5DtP,EAAayZ,EAAMzZ,WAazB,GAXc,MAAV0Z,GAAkBA,IAAW9jB,KACzB,QAAS8jB,IACTpK,EAAKoK,GAAU,MACX,QAAO1Z,EAAY0Z,KACnB1Z,EAAW0Z,GAAU,QAGpB,QAAMA,KACXA,EAAOxoB,MAAQ,QAGnB,QAAW0E,GACXyC,EAAsBzC,EAAK6jB,EAAO,GAAkC,CAACvoB,EAAOoe,QAE3E,CACD,MAAMqK,GAAY,QAAS/jB,GACrBgkB,GAAS,QAAMhkB,GACrB,GAAI+jB,GAAaC,EAAQ,CACrB,MAAMC,EAAQ,KACV,GAAIT,EAAOvJ,EAAG,CACV,MAAMiK,EAAWH,EAAYrK,EAAK1Z,GAAOA,EAAI1E,MACzCqoB,GACA,QAAQO,KAAa,QAAOA,EAAUN,IAGjC,QAAQM,GAaHA,EAAS5e,SAASse,IACxBM,EAAS/uB,KAAKyuB,GAbVG,GACArK,EAAK1Z,GAAO,CAAC4jB,IACT,QAAOxZ,EAAYpK,KACnBoK,EAAWpK,GAAO0Z,EAAK1Z,MAI3BA,EAAI1E,MAAQ,CAACsoB,GACTJ,EAAOW,IACPzK,EAAK8J,EAAOW,GAAKnkB,EAAI1E,OAOzC,MACSyoB,GACLrK,EAAK1Z,GAAO1E,GACR,QAAO8O,EAAYpK,KACnBoK,EAAWpK,GAAO1E,IAGjB0oB,IACLhkB,EAAI1E,MAAQA,EACRkoB,EAAOW,IACPzK,EAAK8J,EAAOW,GAAK7oB,GAE0B,EAInDA,GACA2oB,EAAMnf,IAAM,EACZyJ,GAAsB0V,EAAOP,IAG7BO,GAER,MACS,CAGb,CACJ,CA6YA,SAASG,KAkBT,CAEA,MAAM7V,GAAwB5B,EAiB9B,SAAS0X,GAAe9b,GACpB,OAAO+b,GAAmB/b,EAC9B,CAQA,SAAS+b,GAAmB/b,EAASgc,GAG7BH,KAEJ,MAAM/rB,GAAS,UACfA,EAAOmsB,SAAU,EAIjB,MAAQC,OAAQC,EAAYhR,OAAQiR,EAAYC,UAAWC,EAAeC,cAAeC,EAAmBC,WAAYC,EAAgBC,cAAeC,EAAmBC,QAASC,EAAaC,eAAgBC,EAAoBC,WAAYC,EAAgBC,YAAaC,EAAiBC,WAAYC,EAAiB,KAAMC,UAAWC,EAAeC,oBAAqBC,GAA4B1d,EAGtY2d,EAAQ,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAM7C,EAAiB,KAAMN,GAAQ,EAAOvK,EAAe,KAAMpN,IAAiF2a,EAAGI,mBACpN,GAAIL,IAAOC,EACP,OAGAD,IAAOlU,GAAgBkU,EAAIC,KAC3BE,EAASG,EAAgBN,GACzB7C,EAAQ6C,EAAII,EAAiB7C,GAAgB,GAC7CyC,EAAK,OAEa,IAAlBC,EAAGpa,YACHP,GAAY,EACZ2a,EAAGI,gBAAkB,MAEzB,MAAM,KAAEluB,EAAI,IAAE0H,EAAG,UAAEuK,GAAc6b,EACjC,OAAQ9tB,GACJ,KAAKouB,GACDC,EAAYR,EAAIC,EAAIC,EAAWC,GAC/B,MACJ,KAAKzb,GACD+b,EAAmBT,EAAIC,EAAIC,EAAWC,GACtC,MACJ,KAAKO,GACS,MAANV,GACAW,EAAgBV,EAAIC,EAAWC,EAAQlD,GAK3C,MACJ,KAAKlP,GACD6S,EAAgBZ,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GACjG,MACJ,QACoB,EAAZlB,EACAyc,EAAeb,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAE/E,EAAZlB,EACL0c,EAAiBd,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,IAEjF,GAAZlB,GAGY,IAAZA,IAFLjS,EAAK4uB,QAAQf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAAW0b,IAU1G,MAAPnnB,GAAeumB,GACfhD,GAAOvjB,EAAKmmB,GAAMA,EAAGnmB,IAAK0jB,EAAgB0C,GAAMD,GAAKC,EACzD,EAEEO,EAAc,CAACR,EAAIC,EAAIC,EAAWC,KACpC,GAAU,MAANH,EACAzB,EAAY0B,EAAG7Z,GAAK0Y,EAAemB,EAAGza,UAAY0a,EAAWC,OAE5D,CACD,MAAM/Z,EAAM6Z,EAAG7Z,GAAK4Z,EAAG5Z,GACnB6Z,EAAGza,WAAawa,EAAGxa,UACnB0Z,EAAY9Y,EAAI6Z,EAAGza,SAE3B,GAEEib,EAAqB,CAACT,EAAIC,EAAIC,EAAWC,KACjC,MAANH,EACAzB,EAAY0B,EAAG7Z,GAAK4Y,EAAkBiB,EAAGza,UAAY,IAAM0a,EAAWC,GAItEF,EAAG7Z,GAAK4Z,EAAG5Z,EACf,EAEEua,EAAkB,CAACV,EAAIC,EAAWC,EAAQlD,MAC3CgD,EAAG7Z,GAAI6Z,EAAGE,QAAUL,EAAwBG,EAAGza,SAAU0a,EAAWC,EAAQlD,EAAOgD,EAAG7Z,GAAI6Z,EAAGE,OAAO,EAkBnGc,EAAiB,EAAG7a,KAAI+Z,UAAUD,EAAWX,KAC/C,IAAIznB,EACJ,MAAOsO,GAAMA,IAAO+Z,EAChBroB,EAAO0nB,EAAgBpZ,GACvBmY,EAAWnY,EAAI8Z,EAAWX,GAC1BnZ,EAAKtO,EAETymB,EAAW4B,EAAQD,EAAWX,EAAY,EAExC2B,EAAmB,EAAG9a,KAAI+Z,aAC5B,IAAIroB,EACJ,MAAOsO,GAAMA,IAAO+Z,EAChBroB,EAAO0nB,EAAgBpZ,GACvBoY,EAAWpY,GACXA,EAAKtO,EAET0mB,EAAW2B,EAAO,EAEhBU,EAAiB,CAACb,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KACrG2X,EAAQA,GAAqB,QAAZgD,EAAG9tB,KACV,MAAN6tB,EACAmB,EAAalB,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAG1F8b,EAAapB,EAAIC,EAAIG,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAC/E,EAEE6b,EAAe,CAACrkB,EAAOojB,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KAClG,IAAIc,EACAib,EACJ,MAAM,KAAElvB,EAAI,MAAEuO,EAAK,UAAE0D,EAAS,WAAEc,EAAU,UAAEW,EAAS,KAAEb,GAASlI,EAChE,GACIA,EAAMsJ,SACY5U,IAAlBouB,IACe,IAAf/Z,EAKAO,EAAKtJ,EAAMsJ,GAAKwZ,EAAc9iB,EAAMsJ,QAEnC,CAcD,GAbAA,EAAKtJ,EAAMsJ,GAAKwY,EAAkB9hB,EAAM3K,KAAM8qB,EAAOvc,GAASA,EAAM4gB,GAAI5gB,GAGxD,EAAZ0D,EACAgb,EAAmBhZ,EAAItJ,EAAM0I,UAEZ,GAAZpB,GACLmd,EAAczkB,EAAM0I,SAAUY,EAAI,KAAMga,EAAiB7C,EAAgBN,GAAkB,kBAAT9qB,EAA0BugB,EAAcpN,GAE1HN,GACA4L,GAAoB9T,EAAO,KAAMsjB,EAAiB,WAGlD1f,EAAO,CACP,IAAK,MAAMtO,KAAOsO,EACF,UAARtO,IAAoB,QAAeA,IACnCssB,EAActY,EAAIhU,EAAK,KAAMsO,EAAMtO,GAAM6qB,EAAOngB,EAAM0I,SAAU4a,EAAiB7C,EAAgBiE,GAYrG,UAAW9gB,GACXge,EAActY,EAAI,QAAS,KAAM1F,EAAMvL,QAEtCksB,EAAY3gB,EAAM+gB,qBACnBC,GAAgBL,EAAWjB,EAAiBtjB,EAEpD,CAEA2iB,EAAWrZ,EAAItJ,EAAOA,EAAM2V,QAASC,EAAc0N,EACvD,CAWIpb,GACA4L,GAAoB9T,EAAO,KAAMsjB,EAAiB,eAItD,MAAMuB,IAA4BpE,GAAmBA,IAAmBA,EAAe7W,gBACnFxB,IACCA,EAAW4E,UACZ6X,GACAzc,EAAW4H,YAAY1G,GAE3BmY,EAAWnY,EAAI8Z,EAAWC,KACrBkB,EAAY3gB,GAASA,EAAMkhB,iBAC5BD,GACA3c,IACAoD,IAAsB,KAClBiZ,GAAaK,GAAgBL,EAAWjB,EAAiBtjB,GACzD6kB,GAA2Bzc,EAAW8H,MAAM5G,GAC5CpB,GAAQ4L,GAAoB9T,EAAO,KAAMsjB,EAAiB,UAAU,GACrE7C,EACP,EAEEkC,EAAa,CAACrZ,EAAItJ,EAAO2V,EAASC,EAAc0N,KAIlD,GAHI3N,GACAiN,EAAetZ,EAAIqM,GAEnBC,EACA,IAAK,IAAIljB,EAAI,EAAGA,EAAIkjB,EAAahjB,OAAQF,IACrCkwB,EAAetZ,EAAIsM,EAAaljB,IAGxC,GAAI4wB,EAAiB,CACjB,IAAI/Z,EAAU+Z,EAAgB/Z,QAO9B,GAAIvJ,IAAUuJ,EAAS,CACnB,MAAMwb,EAAczB,EAAgBtjB,MACpC2iB,EAAWrZ,EAAIyb,EAAaA,EAAYpP,QAASoP,EAAYnP,aAAc0N,EAAgBvxB,OAC/F,CACJ,GAEE0yB,EAAgB,CAAC/b,EAAU0a,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAAW1G,EAAQ,KACzH,IAAK,IAAIpP,EAAIoP,EAAOpP,EAAIgW,EAAS9V,OAAQF,IAAK,CAC1C,MAAMwb,EAASxF,EAAShW,GAAK8V,EACvBwc,GAAetc,EAAShW,IACxB8U,GAAekB,EAAShW,IAC9BuwB,EAAM,KAAM/U,EAAOkV,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAChG,GAEE8b,EAAe,CAACpB,EAAIC,EAAIG,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KAChF,MAAMc,EAAM6Z,EAAG7Z,GAAK4Z,EAAG5Z,GACvB,IAAI,UAAEP,EAAS,gBAAEwa,EAAe,KAAErb,GAASib,EAG3Cpa,GAA4B,GAAfma,EAAGna,UAChB,MAAMkc,EAAW/B,EAAGtf,OAAS,KACvBshB,EAAW/B,EAAGvf,OAAS,KAC7B,IAAI2gB,EAEJjB,GAAmB6B,GAAc7B,GAAiB,IAC7CiB,EAAYW,EAASE,sBACtBR,GAAgBL,EAAWjB,EAAiBH,EAAID,GAEhDhb,GACA4L,GAAoBqP,EAAID,EAAII,EAAiB,gBAEjDA,GAAmB6B,GAAc7B,GAAiB,GAOlD,MAAM+B,EAAiBlF,GAAqB,kBAAZgD,EAAG9tB,KAWnC,GAVIkuB,EACA+B,EAAmBpC,EAAGK,gBAAiBA,EAAiBja,EAAIga,EAAiB7C,EAAgB4E,EAAgBzP,GAKvGpN,GAEN+c,EAAcrC,EAAIC,EAAI7Z,EAAI,KAAMga,EAAiB7C,EAAgB4E,EAAgBzP,GAAc,GAE/F7M,EAAY,EAAG,CAKf,GAAgB,GAAZA,EAEAyc,EAAWlc,EAAI6Z,EAAI8B,EAAUC,EAAU5B,EAAiB7C,EAAgBN,QAqBxE,GAhBgB,EAAZpX,GACIkc,EAASQ,QAAUP,EAASO,OAC5B7D,EAActY,EAAI,QAAS,KAAM4b,EAASO,MAAOtF,GAKzC,EAAZpX,GACA6Y,EAActY,EAAI,QAAS2b,EAASS,MAAOR,EAASQ,MAAOvF,GAQ/C,EAAZpX,EAAsC,CAEtC,MAAMkT,EAAgBkH,EAAGha,aACzB,IAAK,IAAIzW,EAAI,EAAGA,EAAIupB,EAAcrpB,OAAQF,IAAK,CAC3C,MAAM4C,EAAM2mB,EAAcvpB,GACpBkT,EAAOqf,EAAS3vB,GAChB0F,EAAOkqB,EAAS5vB,GAElB0F,IAAS4K,GAAgB,UAARtQ,GACjBssB,EAActY,EAAIhU,EAAKsQ,EAAM5K,EAAMmlB,EAAO+C,EAAGxa,SAAU4a,EAAiB7C,EAAgBiE,EAEhG,CACJ,CAIY,EAAZ3b,GACIma,EAAGxa,WAAaya,EAAGza,UACnB4Z,EAAmBhZ,EAAI6Z,EAAGza,SAGtC,MACUF,GAAgC,MAAnB+a,GAEnBiC,EAAWlc,EAAI6Z,EAAI8B,EAAUC,EAAU5B,EAAiB7C,EAAgBN,KAEvEoE,EAAYW,EAASS,iBAAmBzd,IACzCoD,IAAsB,KAClBiZ,GAAaK,GAAgBL,EAAWjB,EAAiBH,EAAID,GAC7Dhb,GAAQ4L,GAAoBqP,EAAID,EAAII,EAAiB,UAAU,GAChE7C,EACP,EAGE6E,EAAqB,CAACM,EAAaC,EAAaC,EAAmBxC,EAAiB7C,EAAgBN,EAAOvK,KAC7G,IAAK,IAAIljB,EAAI,EAAGA,EAAImzB,EAAYjzB,OAAQF,IAAK,CACzC,MAAMqzB,EAAWH,EAAYlzB,GACvBszB,EAAWH,EAAYnzB,GAEvB0wB,EAGN2C,EAASzc,KAGJyc,EAAS1wB,OAAS4b,KAGdjC,GAAgB+W,EAAUC,IAEN,GAArBD,EAASze,WACXkb,EAAeuD,EAASzc,IAGtBwc,EACR7C,EAAM8C,EAAUC,EAAU5C,EAAW,KAAME,EAAiB7C,EAAgBN,EAAOvK,GAAc,EACrG,GAEE4P,EAAa,CAAClc,EAAItJ,EAAOilB,EAAUC,EAAU5B,EAAiB7C,EAAgBN,KAChF,GAAI8E,IAAaC,EAAU,CACvB,IAAK,MAAM5vB,KAAO4vB,EAAU,CAExB,IAAI,QAAe5vB,GACf,SACJ,MAAM0F,EAAOkqB,EAAS5vB,GAChBsQ,EAAOqf,EAAS3vB,GAElB0F,IAAS4K,GAAgB,UAARtQ,GACjBssB,EAActY,EAAIhU,EAAKsQ,EAAM5K,EAAMmlB,EAAOngB,EAAM0I,SAAU4a,EAAiB7C,EAAgBiE,EAEnG,CACA,GAAIO,IAAa,KACb,IAAK,MAAM3vB,KAAO2vB,GACT,QAAe3vB,IAAUA,KAAO4vB,GACjCtD,EAActY,EAAIhU,EAAK2vB,EAAS3vB,GAAM,KAAM6qB,EAAOngB,EAAM0I,SAAU4a,EAAiB7C,EAAgBiE,GAI5G,UAAWQ,GACXtD,EAActY,EAAI,QAAS2b,EAAS5sB,MAAO6sB,EAAS7sB,MAE5D,GAEEyrB,EAAkB,CAACZ,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KACtG,MAAMyd,EAAuB9C,EAAG7Z,GAAK4Z,EAAKA,EAAG5Z,GAAK0Y,EAAe,IAC3DkE,EAAqB/C,EAAGE,OAASH,EAAKA,EAAGG,OAASrB,EAAe,IACvE,IAAI,UAAEjZ,EAAS,gBAAEwa,EAAiB3N,aAAcuQ,GAAyBhD,EAUrEgD,IACAvQ,EAAeA,EACTA,EAAazN,OAAOge,GACpBA,GAEA,MAANjD,GACAzB,EAAWwE,EAAqB7C,EAAWC,GAC3C5B,EAAWyE,EAAmB9C,EAAWC,GAIzCoB,EAActB,EAAGza,SAAU0a,EAAW8C,EAAmB5C,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,IAG3GO,EAAY,GACA,GAAZA,GACAwa,GAGAL,EAAGK,iBAGH+B,EAAmBpC,EAAGK,gBAAiBA,EAAiBH,EAAWE,EAAiB7C,EAAgBN,EAAOvK,IASjG,MAAVuN,EAAG7tB,KACEguB,GAAmBH,IAAOG,EAAgB/Z,UAC3C6c,GAAuBlD,EAAIC,GAAI,IAQnCoC,EAAcrC,EAAIC,EAAIC,EAAW8C,EAAmB5C,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAElH,EAEEwb,EAAmB,CAACd,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KACvG2a,EAAGvN,aAAeA,EACR,MAANsN,EACmB,IAAfC,EAAG7b,UACHgc,EAAgBrd,IAAIogB,SAASlD,EAAIC,EAAWC,EAAQlD,EAAO3X,GAG3D8d,EAAenD,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAO3X,GAIlF+d,EAAgBrD,EAAIC,EAAI3a,EAC5B,EAEE8d,EAAiB,CAACE,EAAcpD,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAO3X,KAC7F,MAAM/I,EAAY+mB,EAAa5d,UAAY6d,GAAwBD,EAAclD,EAAiB7C,GAwBlG,GAfI9P,GAAY6V,KACZ/mB,EAASwG,IAAIygB,SAAWxC,IAOxByC,GAAelnB,GAOfA,EAASmnB,UAIT,GAHAnG,GAAkBA,EAAeoG,YAAYpnB,EAAUqnB,IAGlDN,EAAald,GAAI,CAClB,MAAMyd,EAAetnB,EAAS8J,QAAU5B,GAAYC,IACpD+b,EAAmB,KAAMoD,EAAa3D,EAAWC,EACrD,OAGJyD,EAAkBrnB,EAAU+mB,EAAcpD,EAAWC,EAAQ5C,EAAgBN,EAAO3X,EACtC,EAK5C+d,EAAkB,CAACrD,EAAIC,EAAI3a,KAC7B,MAAM/I,EAAY0jB,EAAGva,UAAYsa,EAAGta,UACpC,GAAIP,EAAsB6a,EAAIC,EAAI3a,GAAY,CAC1C,GAAI/I,EAASmnB,WACRnnB,EAASunB,cAUV,YAJAC,EAAyBxnB,EAAU0jB,EAAI3a,GAQvC/I,EAASzE,KAAOmoB,EAGhB1gB,EAAchD,EAAS0P,QAEvB1P,EAAS0P,QAEjB,MAGIgU,EAAG7Z,GAAK4Z,EAAG5Z,GACX7J,EAASO,MAAQmjB,CACrB,EAEE2D,EAAoB,CAACrnB,EAAU+mB,EAAcpD,EAAWC,EAAQ5C,EAAgBN,EAAO3X,KACzF,MAAM0e,EAAoB,KACtB,GAAKznB,EAASyM,UAyFT,CAID,IAEIqY,GAFA,KAAEvpB,EAAI,GAAEmsB,EAAE,EAAEC,EAAC,OAAEr1B,EAAM,MAAEiO,GAAUP,EACjC4nB,EAAarsB,EAEb,EAIJmqB,GAAc1lB,GAAU,GACpBzE,GACAA,EAAKsO,GAAKtJ,EAAMsJ,GAChB2d,EAAyBxnB,EAAUzE,EAAMwN,IAGzCxN,EAAOgF,EAGPmnB,IACA,QAAeA,IAGd5C,EAAYvpB,EAAK4I,OAAS5I,EAAK4I,MAAMwhB,sBACtCR,GAAgBL,EAAWxyB,EAAQiJ,EAAMgF,GAE7CmlB,GAAc1lB,GAAU,GAKxB,MAAM6nB,EAAW7gB,EAAoBhH,GACjC,EAGJ,MAAM8nB,EAAW9nB,EAAS8J,QAC1B9J,EAAS8J,QAAU+d,EAInBrE,EAAMsE,EAAUD,EAEhB9E,EAAe+E,EAASje,IAExBka,EAAgB+D,GAAW9nB,EAAUghB,EAAgBN,GAIrDnlB,EAAKsO,GAAKge,EAAShe,GACA,OAAf+d,GAIAhe,EAAgB5J,EAAU6nB,EAAShe,IAGnC8d,GACA9b,GAAsB8b,EAAG3G,IAGxB8D,EAAYvpB,EAAK4I,OAAS5I,EAAK4I,MAAM+hB,iBACtCra,IAAsB,IAAMsZ,GAAgBL,EAAWxyB,EAAQiJ,EAAMgF,IAAQygB,EAQrF,KA/JyB,CACrB,IAAI8D,EACJ,MAAM,GAAEjb,EAAE,MAAE1F,GAAU4iB,GAChB,GAAEgB,EAAE,EAAE9M,EAAC,OAAE3oB,GAAW0N,EACpBgoB,EAAsBtW,GAAeqV,GAY3C,GAXArB,GAAc1lB,GAAU,GAEpB+nB,IACA,QAAeA,IAGdC,IACAlD,EAAY3gB,GAASA,EAAM+gB,qBAC5BC,GAAgBL,EAAWxyB,EAAQy0B,GAEvCrB,GAAc1lB,GAAU,GACpB6J,GAAMoe,GAAa,CAEnB,MAAMC,EAAiB,KAInBloB,EAAS8J,QAAU9C,EAAoBhH,GAOvCioB,GAAYpe,EAAI7J,EAAS8J,QAAS9J,EAAUghB,EAAgB,KACd,EAI9CgH,EACAjB,EAAanxB,KAAK+b,gBAAgB1P,MAKlC,KAAOjC,EAASkE,aAAegkB,MAG/BA,GAER,KACK,CACG,EAGJ,MAAMpe,EAAW9J,EAAS8J,QAAU9C,EAAoBhH,GACpD,EAMJwjB,EAAM,KAAM1Z,EAAS6Z,EAAWC,EAAQ5jB,EAAUghB,EAAgBN,GAIlEqG,EAAald,GAAKC,EAAQD,EAC9B,CAMA,GAJIoR,GACApP,GAAsBoP,EAAG+F,IAGxBgH,IACAlD,EAAY3gB,GAASA,EAAMkhB,gBAAiB,CAC7C,MAAM8C,EAAqBpB,EAC3Blb,IAAsB,IAAMsZ,GAAgBL,EAAWxyB,EAAQ61B,IAAqBnH,EACxF,EAI6B,IAAzB+F,EAAalf,WACZvV,GACGof,GAAepf,EAAOiO,QACG,IAAzBjO,EAAOiO,MAAMsH,YACjB7H,EAAS0D,GAAKmI,GAAsB7L,EAAS0D,EAAGsd,GAEpDhhB,EAASyM,WAAY,EAKrBsa,EAAepD,EAAYC,EAAS,IACxC,CAuEA,EAGEpwB,EAAUwM,EAASxM,OAAS,IAAI,KAAei0B,GAAmB,IAAM/kB,EAASgN,IAAS1P,EAASvM,OAEnGic,EAAU1P,EAAS0P,OAAS,IAAMlc,EAAOd,MAC/Cgd,EAAOtN,GAAKpC,EAAS8L,IAGrB4Z,GAAc1lB,GAAU,GAUxB0P,GAAQ,EAEN8X,EAA2B,CAACxnB,EAAU8I,EAAWC,KACnDD,EAAUK,UAAYnJ,EACtB,MAAMgJ,EAAYhJ,EAASO,MAAM4D,MACjCnE,EAASO,MAAQuI,EACjB9I,EAASzE,KAAO,KAChB2gB,GAAYlc,EAAU8I,EAAU3E,MAAO6E,EAAWD,GAClD2V,GAAY1e,EAAU8I,EAAUG,SAAUF,IAC1C,UAGA3F,KACA,SAAe,EAEb0iB,EAAgB,CAACrC,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAAY,KAChH,MAAMqf,EAAK3E,GAAMA,EAAGxa,SACdof,EAAgB5E,EAAKA,EAAG5b,UAAY,EACpCygB,EAAK5E,EAAGza,UACR,UAAEK,EAAS,UAAEzB,GAAc6b,EAEjC,GAAIpa,EAAY,EAAG,CACf,GAAgB,IAAZA,EAIA,YADAif,EAAmBH,EAAIE,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAGnG,GAAgB,IAAZO,EAGL,YADAkf,EAAqBJ,EAAIE,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAG9G,CAEgB,EAAZlB,GAEoB,GAAhBwgB,GACApD,EAAgBmD,EAAIvE,EAAiB7C,GAErCsH,IAAOF,GACPvF,EAAmBc,EAAW2E,IAId,GAAhBD,EAEgB,GAAZxgB,EAEA0gB,EAAmBH,EAAIE,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAIpGkc,EAAgBmD,EAAIvE,EAAiB7C,GAAgB,IAMrC,EAAhBqH,GACAxF,EAAmBc,EAAW,IAGlB,GAAZ9b,GACAmd,EAAcsD,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAGvG,EAEEyf,EAAuB,CAACJ,EAAIE,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KAC3Gqf,EAAKA,GAAM,KACXE,EAAKA,GAAM,KACX,MAAMG,EAAYL,EAAGj1B,OACfu1B,EAAYJ,EAAGn1B,OACfw1B,EAAeC,KAAKC,IAAIJ,EAAWC,GACzC,IAAIz1B,EACJ,IAAKA,EAAI,EAAGA,EAAI01B,EAAc11B,IAAK,CAC/B,MAAM61B,EAAaR,EAAGr1B,GAAK8V,EACrBwc,GAAe+C,EAAGr1B,IAClB8U,GAAeugB,EAAGr1B,IACxBuwB,EAAM4E,EAAGn1B,GAAI61B,EAAWnF,EAAW,KAAME,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EACnG,CACI0f,EAAYC,EAEZzD,EAAgBmD,EAAIvE,EAAiB7C,GAAgB,GAAM,EAAO2H,GAIlE3D,EAAcsD,EAAI3E,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAAW4f,EAC1G,EAGEJ,EAAqB,CAACH,EAAIE,EAAI3E,EAAWoF,EAAclF,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,KAC/G,IAAI9V,EAAI,EACR,MAAM+1B,EAAKV,EAAGn1B,OACd,IAAI81B,EAAKb,EAAGj1B,OAAS,EACjB+1B,EAAKF,EAAK,EAId,MAAO/1B,GAAKg2B,GAAMh2B,GAAKi2B,EAAI,CACvB,MAAMzF,EAAK2E,EAAGn1B,GACRywB,EAAM4E,EAAGr1B,GAAK8V,EACdwc,GAAe+C,EAAGr1B,IAClB8U,GAAeugB,EAAGr1B,IACxB,IAAIsc,GAAgBkU,EAAIC,GAIpB,MAHAF,EAAMC,EAAIC,EAAIC,EAAW,KAAME,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAKzF9V,GACJ,CAIA,MAAOA,GAAKg2B,GAAMh2B,GAAKi2B,EAAI,CACvB,MAAMzF,EAAK2E,EAAGa,GACRvF,EAAM4E,EAAGY,GAAMngB,EACfwc,GAAe+C,EAAGY,IAClBnhB,GAAeugB,EAAGY,IACxB,IAAI3Z,GAAgBkU,EAAIC,GAIpB,MAHAF,EAAMC,EAAIC,EAAIC,EAAW,KAAME,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAKzFkgB,IACAC,GACJ,CAQA,GAAIj2B,EAAIg2B,GACJ,GAAIh2B,GAAKi2B,EAAI,CACT,MAAMC,EAAUD,EAAK,EACftF,EAASuF,EAAUH,EAAKV,EAAGa,GAAStf,GAAKkf,EAC/C,MAAO91B,GAAKi2B,EACR1F,EAAM,KAAO8E,EAAGr1B,GAAK8V,EACfwc,GAAe+C,EAAGr1B,IAClB8U,GAAeugB,EAAGr1B,IAAM0wB,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GACvG9V,GAER,OASC,GAAIA,EAAIi2B,EACT,MAAOj2B,GAAKg2B,EACRrI,EAAQwH,EAAGn1B,GAAI4wB,EAAiB7C,GAAgB,GAChD/tB,QAOH,CACD,MAAMm2B,EAAKn2B,EACLo2B,EAAKp2B,EAELq2B,EAAmB,IAAIrzB,IAC7B,IAAKhD,EAAIo2B,EAAIp2B,GAAKi2B,EAAIj2B,IAAK,CACvB,MAAM61B,EAAaR,EAAGr1B,GAAK8V,EACrBwc,GAAe+C,EAAGr1B,IAClB8U,GAAeugB,EAAGr1B,IACH,MAAjB61B,EAAUjzB,KAIVyzB,EAAiBtzB,IAAI8yB,EAAUjzB,IAAK5C,EAE5C,CAGA,IAAIs2B,EACAC,EAAU,EACd,MAAMC,EAAcP,EAAKG,EAAK,EAC9B,IAAIK,GAAQ,EAERC,EAAmB,EAMvB,MAAMC,EAAwB,IAAIlrB,MAAM+qB,GACxC,IAAKx2B,EAAI,EAAGA,EAAIw2B,EAAax2B,IACzB22B,EAAsB32B,GAAK,EAC/B,IAAKA,EAAIm2B,EAAIn2B,GAAKg2B,EAAIh2B,IAAK,CACvB,MAAM42B,EAAYzB,EAAGn1B,GACrB,GAAIu2B,GAAWC,EAAa,CAExB7I,EAAQiJ,EAAWhG,EAAiB7C,GAAgB,GACpD,QACJ,CACA,IAAI8I,EACJ,GAAqB,MAAjBD,EAAUh0B,IACVi0B,EAAWR,EAAiBvzB,IAAI8zB,EAAUh0B,UAI1C,IAAK0zB,EAAIF,EAAIE,GAAKL,EAAIK,IAClB,GAAsC,IAAlCK,EAAsBL,EAAIF,IAC1B9Z,GAAgBsa,EAAWvB,EAAGiB,IAAK,CACnCO,EAAWP,EACX,KACJ,MAGSt0B,IAAb60B,EACAlJ,EAAQiJ,EAAWhG,EAAiB7C,GAAgB,IAGpD4I,EAAsBE,EAAWT,GAAMp2B,EAAI,EACvC62B,GAAYH,EACZA,EAAmBG,EAGnBJ,GAAQ,EAEZlG,EAAMqG,EAAWvB,EAAGwB,GAAWnG,EAAW,KAAME,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GACtGygB,IAER,CAGA,MAAMO,EAA6BL,EAC7BM,GAAYJ,GACZ,KAGN,IAFAL,EAAIQ,EAA2B52B,OAAS,EAEnCF,EAAIw2B,EAAc,EAAGx2B,GAAK,EAAGA,IAAK,CACnC,MAAMg3B,EAAYZ,EAAKp2B,EACjB61B,EAAYR,EAAG2B,GACfrG,EAASqG,EAAY,EAAIjB,EAAKV,EAAG2B,EAAY,GAAGpgB,GAAKkf,EAC1B,IAA7Ba,EAAsB32B,GAEtBuwB,EAAM,KAAMsF,EAAWnF,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,GAE3F2gB,IAIDH,EAAI,GAAKt2B,IAAM82B,EAA2BR,GAC1CW,EAAKpB,EAAWnF,EAAWC,EAAQ,GAGnC2F,IAGZ,CACJ,GAEEW,EAAO,CAAC3pB,EAAOojB,EAAWC,EAAQuG,EAAUnJ,EAAiB,QAC/D,MAAM,GAAEnX,EAAE,KAAEjU,EAAI,WAAE+S,EAAU,SAAEM,EAAQ,UAAEpB,GAActH,EACtD,GAAgB,EAAZsH,EAEA,YADAqiB,EAAK3pB,EAAM4I,UAAUW,QAAS6Z,EAAWC,EAAQuG,GAGrD,GAAgB,IAAZtiB,EAEA,YADAtH,EAAM2J,SAASggB,KAAKvG,EAAWC,EAAQuG,GAG3C,GAAgB,GAAZtiB,EAEA,YADAjS,EAAKs0B,KAAK3pB,EAAOojB,EAAWC,EAAQa,IAGxC,GAAI7uB,IAAS4b,GAAU,CACnBwQ,EAAWnY,EAAI8Z,EAAWC,GAC1B,IAAK,IAAI3wB,EAAI,EAAGA,EAAIgW,EAAS9V,OAAQF,IACjCi3B,EAAKjhB,EAAShW,GAAI0wB,EAAWC,EAAQuG,GAGzC,YADAnI,EAAWzhB,EAAMqjB,OAAQD,EAAWC,EAExC,CACA,GAAIhuB,IAASuuB,GAET,YADAO,EAAenkB,EAAOojB,EAAWC,GAIrC,MAAMwG,EAA8B,IAAbD,GACP,EAAZtiB,GACAc,EACJ,GAAIyhB,EACA,GAAiB,IAAbD,EACAxhB,EAAW4H,YAAY1G,GACvBmY,EAAWnY,EAAI8Z,EAAWC,GAC1B/X,IAAsB,IAAMlD,EAAW8H,MAAM5G,IAAKmX,OAEjD,CACD,MAAM,MAAEjQ,EAAK,WAAEpB,EAAU,WAAEF,GAAe9G,EACpCqI,EAAS,IAAMgR,EAAWnY,EAAI8Z,EAAWC,GACzCyG,EAAe,KACjBtZ,EAAMlH,GAAI,KACNmH,IACAvB,GAAcA,GAAY,GAC5B,EAEFE,EACAA,EAAW9F,EAAImH,EAAQqZ,GAGvBA,GAER,MAGArI,EAAWnY,EAAI8Z,EAAWC,EAC9B,EAEEhD,EAAU,CAACrgB,EAAOsjB,EAAiB7C,EAAgBsJ,GAAW,EAAOvhB,GAAY,KACnF,MAAM,KAAEnT,EAAI,MAAEuO,EAAK,IAAE7G,EAAG,SAAE2L,EAAQ,gBAAE6a,EAAe,UAAEjc,EAAS,UAAEyB,EAAS,KAAEb,GAASlI,EAKpF,GAHW,MAAPjD,GACAujB,GAAOvjB,EAAK,KAAM0jB,EAAgBzgB,GAAO,GAE7B,IAAZsH,EAEA,YADAgc,EAAgBrd,IAAI+jB,WAAWhqB,GAGnC,MAAMiqB,EAA+B,EAAZ3iB,GAA0CY,EAC7DgiB,GAAyB/Y,GAAenR,GAC9C,IAAIukB,EAKJ,GAJI2F,IACC3F,EAAY3gB,GAASA,EAAMumB,uBAC5BvF,GAAgBL,EAAWjB,EAAiBtjB,GAEhC,EAAZsH,EACA8iB,EAAiBpqB,EAAM4I,UAAW6X,EAAgBsJ,OAEjD,CACD,GAAgB,IAAZziB,EAEA,YADAtH,EAAM2J,SAAS0W,QAAQI,EAAgBsJ,GAGvCE,GACAnW,GAAoB9T,EAAO,KAAMsjB,EAAiB,iBAEtC,GAAZhc,EACAtH,EAAM3K,KAAKob,OAAOzQ,EAAOsjB,EAAiB7C,EAAgBjY,EAAW0b,GAAW6F,GAE3ExG,IAEJluB,IAAS4b,IACLlI,EAAY,GAAiB,GAAZA,GAEtB2b,EAAgBnB,EAAiBD,EAAiB7C,GAAgB,GAAO,IAEnEprB,IAAS4b,IAEX,IADJlI,IAEEP,GAAyB,GAAZlB,IACfod,EAAgBhc,EAAU4a,EAAiB7C,GAE3CsJ,GACAtZ,EAAOzQ,EAEf,EACKkqB,IACA3F,EAAY3gB,GAASA,EAAMymB,mBAC5BJ,IACA3e,IAAsB,KAClBiZ,GAAaK,GAAgBL,EAAWjB,EAAiBtjB,GACzDiqB,GACInW,GAAoB9T,EAAO,KAAMsjB,EAAiB,YAAY,GACnE7C,EACP,EAEEhQ,EAASzQ,IACX,MAAM,KAAE3K,EAAI,GAAEiU,EAAE,OAAE+Z,EAAM,WAAEjb,GAAepI,EACzC,GAAI3K,IAAS4b,GAkBT,YAFIqZ,EAAehhB,EAAI+Z,GAI3B,GAAIhuB,IAASuuB,GAET,YADAQ,EAAiBpkB,GAGrB,MAAMuqB,EAAgB,KAClB7I,EAAWpY,GACPlB,IAAeA,EAAW4E,WAAa5E,EAAW8G,YAClD9G,EAAW8G,YACf,EAEJ,GAAsB,EAAlBlP,EAAMsH,WACNc,IACCA,EAAW4E,UAAW,CACvB,MAAM,MAAEwD,EAAK,WAAEpB,GAAehH,EACxB0hB,EAAe,IAAMtZ,EAAMlH,EAAIihB,GACjCnb,EACAA,EAAWpP,EAAMsJ,GAAIihB,EAAeT,GAGpCA,GAER,MAEIS,GACJ,EAEED,EAAiB,CAACrqB,EAAK8B,KAGzB,IAAI/G,EACJ,MAAOiF,IAAQ8B,EACX/G,EAAO0nB,EAAgBziB,GACvByhB,EAAWzhB,GACXA,EAAMjF,EAEV0mB,EAAW3f,EAAI,EAEbqoB,EAAmB,CAAC3qB,EAAUghB,EAAgBsJ,KAIhD,MAAM,IAAES,EAAG,MAAEt3B,EAAK,OAAEic,EAAM,QAAE5F,EAAO,GAAEkhB,GAAOhrB,EAExC+qB,IACA,QAAeA,GAGnBt3B,EAAMV,OAGF2c,IAEAA,EAAOvd,QAAS,EAChByuB,EAAQ9W,EAAS9J,EAAUghB,EAAgBsJ,IAG3CU,GACAnf,GAAsBmf,EAAIhK,GAE9BnV,IAAsB,KAClB7L,EAASkE,aAAc,CAAI,GAC5B8c,GAICA,GACAA,EAAe7W,gBACd6W,EAAe9c,aAChBlE,EAASmnB,WACRnnB,EAASunB,eACVvnB,EAASirB,aAAejK,EAAekK,YACvClK,EAAe7sB,OACa,IAAxB6sB,EAAe7sB,MACf6sB,EAAenf,UAGgD,EAIrEojB,EAAkB,CAAChc,EAAU4a,EAAiB7C,EAAgBsJ,GAAW,EAAOvhB,GAAY,EAAO1G,EAAQ,KAC7G,IAAK,IAAIpP,EAAIoP,EAAOpP,EAAIgW,EAAS9V,OAAQF,IACrC2tB,EAAQ3X,EAAShW,GAAI4wB,EAAiB7C,EAAgBsJ,EAAUvhB,EACpE,EAEEgb,EAAkBxjB,GACE,EAAlBA,EAAMsH,UACCkc,EAAgBxjB,EAAM4I,UAAUW,SAErB,IAAlBvJ,EAAMsH,UACCtH,EAAM2J,SAAS3O,OAEnB0nB,EAAiB1iB,EAAMqjB,QAAUrjB,EAAMsJ,IAE5CtC,GAAS,CAAChH,EAAOojB,EAAWjD,KACjB,MAATngB,EACIojB,EAAUwH,QACVvK,EAAQ+C,EAAUwH,OAAQ,KAAM,MAAM,GAI1C3H,EAAMG,EAAUwH,QAAU,KAAM5qB,EAAOojB,EAAW,KAAM,KAAM,KAAMjD,GAExEtd,IACAG,IACAogB,EAAUwH,OAAS5qB,CAAK,EAEtBkkB,GAAY,CACdziB,EAAGwhB,EACHwH,GAAIpK,EACJ3F,EAAGiP,EACHzsB,EAAGuT,EACHoa,GAAIvE,EACJwE,GAAIrG,EACJsG,GAAIxF,EACJyF,IAAK1F,EACL/xB,EAAGiwB,EACHyH,EAAG3lB,GAEP,IAAIwZ,GACA4I,GAIJ,OAHIpG,KACCxC,GAAS4I,IAAepG,EAAmB4C,KAEzC,CACHld,UACA8X,WACAoM,UAAWrM,GAAa7X,GAAQ8X,IAExC,CACA,SAASqG,IAAc,OAAElyB,EAAM,OAAEkc,GAAUgc,GACvCl4B,EAAOwD,aAAe0Y,EAAO1Y,aAAe00B,CAChD,CAYA,SAAS/E,GAAuBlD,EAAIC,EAAIvrB,GAAU,GAC9C,MAAMwzB,EAAMlI,EAAGxa,SACT2iB,EAAMlI,EAAGza,SACf,IAAI,QAAQ0iB,KAAQ,QAAQC,GACxB,IAAK,IAAI34B,EAAI,EAAGA,EAAI04B,EAAIx4B,OAAQF,IAAK,CAGjC,MAAMm1B,EAAKuD,EAAI14B,GACf,IAAIq1B,EAAKsD,EAAI34B,GACM,EAAfq1B,EAAGzgB,YAA2CygB,EAAGxE,mBAC7CwE,EAAGhf,WAAa,GAAsB,KAAjBgf,EAAGhf,aACxBgf,EAAKsD,EAAI34B,GAAKsyB,GAAeqG,EAAI34B,IACjCq1B,EAAGze,GAAKue,EAAGve,IAEV1R,GACDwuB,GAAuByB,EAAIE,GAOvC,CAER,CAEA,SAAS0B,GAAYlyB,GACjB,MAAMkK,EAAIlK,EAAIyM,QACRnL,EAAS,CAAC,GAChB,IAAInG,EAAGs2B,EAAG5B,EAAG/tB,EAAG+U,EAChB,MAAMkd,EAAM/zB,EAAI3E,OAChB,IAAKF,EAAI,EAAGA,EAAI44B,EAAK54B,IAAK,CACtB,MAAM64B,EAAOh0B,EAAI7E,GACjB,GAAa,IAAT64B,EAAY,CAEZ,GADAvC,EAAInwB,EAAOA,EAAOjG,OAAS,GACvB2E,EAAIyxB,GAAKuC,EAAM,CACf9pB,EAAE/O,GAAKs2B,EACPnwB,EAAO3G,KAAKQ,GACZ,QACJ,CACA00B,EAAI,EACJ/tB,EAAIR,EAAOjG,OAAS,EACpB,MAAOw0B,EAAI/tB,EACP+U,EAAKgZ,EAAI/tB,GAAM,EACX9B,EAAIsB,EAAOuV,IAAMmd,EACjBnE,EAAIhZ,EAAI,EAGR/U,EAAI+U,EAGRmd,EAAOh0B,EAAIsB,EAAOuuB,MACdA,EAAI,IACJ3lB,EAAE/O,GAAKmG,EAAOuuB,EAAI,IAEtBvuB,EAAOuuB,GAAK10B,EAEpB,CACJ,CACA00B,EAAIvuB,EAAOjG,OACXyG,EAAIR,EAAOuuB,EAAI,GACf,MAAOA,KAAM,EACTvuB,EAAOuuB,GAAK/tB,EACZA,EAAIoI,EAAEpI,GAEV,OAAOR,CACX,CAEA,MAAM2yB,GAAcn2B,GAASA,EAAKo2B,aAC5BC,GAAsB9nB,GAAUA,IAAUA,EAAM+nB,UAA+B,KAAnB/nB,EAAM+nB,UAClEC,GAAex2B,GAAiC,qBAAfy2B,YAA8Bz2B,aAAkBy2B,WACjFC,GAAgB,CAACloB,EAAOmoB,KAC1B,MAAMC,EAAiBpoB,GAASA,EAAMgX,GACtC,IAAI,QAASoR,GAAiB,CAC1B,GAAKD,EAMA,CACD,MAAM32B,EAAS22B,EAAOC,GAQtB,OAAO52B,CACX,CAZI,OAAO,IAaf,CAKI,OAAO42B,CACX,EAEEC,GAAe,CACjBR,cAAc,EACdxH,QAAQf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EAAW0b,GAChG,MAAQ4G,GAAIrG,EAAesG,GAAIxF,EAAeyF,IAAK1F,EAAoB2F,GAAG,OAAEzJ,EAAM,cAAE0K,EAAa,WAAEnK,EAAU,cAAEE,IAAoBiC,EAC7HyH,EAAWD,GAAmBvI,EAAGvf,OACvC,IAAI,UAAE0D,EAAS,SAAEoB,EAAQ,gBAAE6a,GAAoBJ,EAO/C,GAAU,MAAND,EAAY,CAEZ,MAAM6D,EAAe5D,EAAG7Z,GAElByY,EAAW,IACXoK,EAAchJ,EAAGE,OAEjBtB,EAAW,IACjBP,EAAOuF,EAAa3D,EAAWC,GAC/B7B,EAAO2K,EAAY/I,EAAWC,GAC9B,MAAMjuB,EAAU+tB,EAAG/tB,OAAS02B,GAAc3I,EAAGvf,MAAOsoB,GAC9CE,EAAgBjJ,EAAGiJ,aAAerK,EAAW,IAC/C3sB,IACAosB,EAAO4K,EAAch3B,GAErB+qB,EAAQA,GAASyL,GAAYx2B,IAKjC,MAAM4qB,EAAQ,CAACoD,EAAWC,KAGN,GAAZ/b,GACAmd,EAAc/b,EAAU0a,EAAWC,EAAQC,EAAiB7C,EAAgBN,EAAOvK,EAAcpN,EACrG,EAEAmjB,EACA3L,EAAMoD,EAAW+I,GAEZ/2B,GACL4qB,EAAM5qB,EAAQg3B,EAEtB,KACK,CAEDjJ,EAAG7Z,GAAK4Z,EAAG5Z,GACX,MAAM6iB,EAAchJ,EAAGE,OAASH,EAAGG,OAC7BjuB,EAAU+tB,EAAG/tB,OAAS8tB,EAAG9tB,OACzBg3B,EAAgBjJ,EAAGiJ,aAAelJ,EAAGkJ,aACrCC,EAAcX,GAAmBxI,EAAGtf,OACpC0oB,EAAmBD,EAAcjJ,EAAYhuB,EAC7Cm3B,EAAgBF,EAAcF,EAAaC,EAajD,GAZAjM,EAAQA,GAASyL,GAAYx2B,GACzBmuB,GAEA+B,EAAmBpC,EAAGK,gBAAiBA,EAAiB+I,EAAkBhJ,EAAiB7C,EAAgBN,EAAOvK,GAIlHwQ,GAAuBlD,EAAIC,GAAI,IAEzB3a,GACN+c,EAAcrC,EAAIC,EAAImJ,EAAkBC,EAAejJ,EAAiB7C,EAAgBN,EAAOvK,GAAc,GAE7G+V,EACKU,GAGDG,GAAarJ,EAAIC,EAAW+I,EAAYjI,EAAW,QAKvD,IAAKf,EAAGvf,OAASuf,EAAGvf,MAAMgX,OAASsI,EAAGtf,OAASsf,EAAGtf,MAAMgX,IAAK,CACzD,MAAM6R,EAActJ,EAAG/tB,OAAS02B,GAAc3I,EAAGvf,MAAOsoB,GACpDO,GACAD,GAAarJ,EAAIsJ,EAAY,KAAMvI,EAAW,EAKtD,MACSmI,GAGLG,GAAarJ,EAAI/tB,EAAQg3B,EAAclI,EAAW,EAG9D,CACJ,EACAzT,OAAOzQ,EAAOsjB,EAAiB7C,EAAgBjY,GAAaiiB,GAAIpK,EAAS4K,GAAKxa,OAAQiR,IAAgBqI,GAClG,MAAM,UAAEziB,EAAS,SAAEoB,EAAQ,OAAE2a,EAAM,aAAE+I,EAAY,OAAEh3B,EAAM,MAAEwO,GAAU5D,EAKrE,GAJI5K,GACAssB,EAAW0K,IAGXrC,IAAa2B,GAAmB9nB,MAChC8d,EAAW2B,GACK,GAAZ/b,GACA,IAAK,IAAI5U,EAAI,EAAGA,EAAIgW,EAAS9V,OAAQF,IAAK,CACtC,MAAMwb,EAAQxF,EAAShW,GACvB2tB,EAAQnS,EAAOoV,EAAiB7C,GAAgB,IAAQvS,EAAMqV,gBAClE,CAGZ,EACAoG,KAAM6C,GACN1N,QAAS4N,IAEb,SAASF,GAAaxsB,EAAOojB,EAAWoF,GAAgByC,GAAG,OAAEzJ,GAAU9G,EAAGiP,GAAQC,EAAW,GAExE,IAAbA,GACApI,EAAOxhB,EAAMosB,aAAchJ,EAAWoF,GAE1C,MAAM,GAAElf,EAAE,OAAE+Z,EAAM,UAAE/b,EAAS,SAAEoB,EAAQ,MAAE9E,GAAU5D,EAC7C2sB,EAAyB,IAAb/C,EAQlB,GANI+C,GACAnL,EAAOlY,EAAI8Z,EAAWoF,KAKrBmE,GAAajB,GAAmB9nB,KAEjB,GAAZ0D,EACA,IAAK,IAAI5U,EAAI,EAAGA,EAAIgW,EAAS9V,OAAQF,IACjCi3B,EAAKjhB,EAAShW,GAAI0wB,EAAWoF,EAAc,GAKnDmE,GACAnL,EAAO6B,EAAQD,EAAWoF,EAElC,CACA,SAASkE,GAAgBE,EAAM5sB,EAAOsjB,EAAiB7C,EAAgB7K,EAAcpN,GAAayiB,GAAG,YAAExI,EAAW,WAAEF,EAAU,cAAE2J,IAAmBW,GAC/I,MAAMz3B,EAAU4K,EAAM5K,OAAS02B,GAAc9rB,EAAM4D,MAAOsoB,GAC1D,GAAI92B,EAAQ,CAGR,MAAM03B,EAAa13B,EAAO23B,MAAQ33B,EAAO43B,WACzC,GAAsB,GAAlBhtB,EAAMsH,UACN,GAAIokB,GAAmB1rB,EAAM4D,OACzB5D,EAAMqjB,OAASwJ,EAAgBpK,EAAYmK,GAAO5sB,EAAOuiB,EAAWqK,GAAOtJ,EAAiB7C,EAAgB7K,EAAcpN,GAC1HxI,EAAMosB,aAAeU,MAEpB,CACD9sB,EAAMqjB,OAASZ,EAAYmK,GAI3B,IAAIR,EAAeU,EACnB,MAAOV,EAEH,GADAA,EAAe3J,EAAY2J,GACvBA,GAC0B,IAA1BA,EAAaa,UACS,oBAAtBb,EAAallB,KAA4B,CACzClH,EAAMosB,aAAeA,EACrBh3B,EAAO23B,KACH/sB,EAAMosB,cAAgB3J,EAAYziB,EAAMosB,cAC5C,KACJ,CAEJS,EAAgBC,EAAY9sB,EAAO5K,EAAQkuB,EAAiB7C,EAAgB7K,EAAcpN,EAC9F,CAER,CACA,OAAOxI,EAAMqjB,QAAUZ,EAAYziB,EAAMqjB,OAC7C,CAEA,MAAM6J,GAAWjB,GAEXhb,GAAW3c,YAA8DI,GACzE+uB,GAAOnvB,YAA0DI,GACjEkT,GAAUtT,YAA6DI,GACvEkvB,GAAStvB,YAA4DI,GAMrEgT,GAAa,GACnB,IAAIylB,GAAe,KAiBnB,SAAS9X,GAAU+X,GAAkB,GACjC1lB,GAAWxV,KAAMi7B,GAAeC,EAAkB,KAAO,GAC7D,CACA,SAASC,KACL3lB,GAAW5U,MACXq6B,GAAezlB,GAAWA,GAAW9U,OAAS,IAAM,IACxD,CAKA,IAAI06B,GAAqB,EAiBzB,SAAShnB,GAAiBjO,GACtBi1B,IAAsBj1B,CAC1B,CACA,SAASk1B,GAAWvtB,GAWhB,OATAA,EAAMujB,gBACF+J,GAAqB,EAAIH,IAAgB,KAAY,KAEzDE,KAGIC,GAAqB,GAAKH,IAC1BA,GAAaj7B,KAAK8N,GAEfA,CACX,CAIA,SAASwtB,GAAmBn4B,EAAMuO,EAAO8E,EAAUK,EAAWI,EAAc7B,GACxE,OAAOimB,GAAWE,GAAgBp4B,EAAMuO,EAAO8E,EAAUK,EAAWI,EAAc7B,GAAW,GACjG,CAQA,SAASmO,GAAYpgB,EAAMuO,EAAO8E,EAAUK,EAAWI,GACnD,OAAOokB,GAAW5lB,GAAYtS,EAAMuO,EAAO8E,EAAUK,EAAWI,GAAc,GAClF,CACA,SAAS2M,GAAQzd,GACb,QAAOA,IAA8B,IAAtBA,EAAMq1B,WACzB,CACA,SAAS1e,GAAgBkU,EAAIC,GAOzB,OAAOD,EAAG7tB,OAAS8tB,EAAG9tB,MAAQ6tB,EAAG5tB,MAAQ6tB,EAAG7tB,GAChD,CAWA,MAKMkmB,GAAoB,cACpBmS,GAAe,EAAGr4B,SAAiB,MAAPA,EAAcA,EAAM,KAChDs4B,GAAe,EAAG7wB,MAAK8wB,UAASC,aACnB,MAAP/wB,GACF,QAASA,KAAQ,QAAMA,KAAQ,QAAWA,GACtC,CAAErK,EAAG+S,EAA0BvI,EAAGH,EAAKmkB,EAAG2M,EAAS7W,IAAK8W,GACxD/wB,EACJ,KAEV,SAAS0wB,GAAgBp4B,EAAMuO,EAAQ,KAAM8E,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAM7B,GAAYjS,IAAS4b,GAAW,EAAI,GAA4B8c,GAAc,EAAOC,GAAgC,GACnN,MAAMhuB,EAAQ,CACV0tB,aAAa,EACbO,UAAU,EACV54B,OACAuO,QACAtO,IAAKsO,GAAS+pB,GAAa/pB,GAC3B7G,IAAK6G,GAASgqB,GAAahqB,GAC3B+R,QAASjQ,EACTkQ,aAAc,KACdlN,WACAE,UAAW,KACXe,SAAU,KACViH,UAAW,KACXC,WAAY,KACZ3I,KAAM,KACNE,WAAY,KACZkB,GAAI,KACJ+Z,OAAQ,KACRjuB,OAAQ,KACRg3B,aAAc,KACd8B,YAAa,EACb5mB,YACAyB,YACAI,eACAoa,gBAAiB,KACjBhjB,WAAY,MAoChB,OAlCIytB,GACAG,GAAkBnuB,EAAO0I,GAET,IAAZpB,GACAjS,EAAK+4B,UAAUpuB,IAGd0I,IAGL1I,EAAMsH,YAAa,QAASoB,GACtB,EACA,IAON4kB,GAAqB,IAEpBS,GAEDZ,KAKCntB,EAAM+I,UAAY,GAAiB,EAAZzB,IAGJ,KAApBtH,EAAM+I,WACNokB,GAAaj7B,KAAK8N,GAEfA,CACX,CACA,MAAM2H,GAAwF0mB,GAC9F,SAASA,GAAah5B,EAAMuO,EAAQ,KAAM8E,EAAW,KAAMK,EAAY,EAAGI,EAAe,KAAM4kB,GAAc,GAOzG,GANK14B,GAAQA,IAASif,KAIlBjf,EAAOuS,IAEPkO,GAAQzgB,GAAO,CAIf,MAAMi5B,EAASrmB,GAAW5S,EAAMuO,GAAO,GAavC,OAZI8E,GACAylB,GAAkBG,EAAQ5lB,GAE1B4kB,GAAqB,IAAMS,GAAeZ,KACnB,EAAnBmB,EAAOhnB,UACP6lB,GAAaA,GAAazqB,QAAQrN,IAASi5B,EAG3CnB,GAAaj7B,KAAKo8B,IAG1BA,EAAOvlB,YAAc,EACdulB,CACX,CAMA,GAJIC,GAAiBl5B,KACjBA,EAAOA,EAAKm5B,WAGZ5qB,EAAO,CAEPA,EAAQ6qB,GAAmB7qB,GAC3B,IAAM6hB,MAAOiJ,EAAK,MAAEhJ,GAAU9hB,EAC1B8qB,KAAU,QAASA,KACnB9qB,EAAM6hB,OAAQ,QAAeiJ,KAE7B,QAAShJ,MAGL,QAAQA,MAAW,QAAQA,KAC3BA,GAAQ,QAAO,CAAC,EAAGA,IAEvB9hB,EAAM8hB,OAAQ,QAAeA,GAErC,CAEA,MAAMpe,GAAY,QAASjS,GACrB,EACAmU,EAAWnU,GACP,IACAm2B,GAAWn2B,GACP,IACA,QAASA,GACL,GACA,QAAWA,GACP,EACA,EAQtB,OAAOo4B,GAAgBp4B,EAAMuO,EAAO8E,EAAUK,EAAWI,EAAc7B,EAAWymB,GAAa,EACnG,CACA,SAASU,GAAmB7qB,GACxB,OAAKA,GAEE,QAAQA,IAAU4X,MAAqB5X,GACxC,QAAO,CAAC,EAAGA,GACXA,EAHK,IAIf,CACA,SAASqE,GAAWjI,EAAO2uB,EAAYC,GAAW,GAG9C,MAAM,MAAEhrB,EAAK,IAAE7G,EAAG,UAAEgM,EAAS,SAAEL,GAAa1I,EACtC6uB,EAAcF,EAAaG,GAAWlrB,GAAS,CAAC,EAAG+qB,GAAc/qB,EACjE0qB,EAAS,CACXZ,aAAa,EACbO,UAAU,EACV54B,KAAM2K,EAAM3K,KACZuO,MAAOirB,EACPv5B,IAAKu5B,GAAelB,GAAakB,GACjC9xB,IAAK4xB,GAAcA,EAAW5xB,IAItB6xB,GAAY7xB,GACN,QAAQA,GACJA,EAAIoL,OAAOylB,GAAae,IACxB,CAAC5xB,EAAK6wB,GAAae,IACvBf,GAAae,GACrB5xB,EACN4Y,QAAS3V,EAAM2V,QACfC,aAAc5V,EAAM4V,aACpBlN,SAEMA,EACNtT,OAAQ4K,EAAM5K,OACdg3B,aAAcpsB,EAAMosB,aACpB8B,YAAaluB,EAAMkuB,YACnB5mB,UAAWtH,EAAMsH,UAKjByB,UAAW4lB,GAAc3uB,EAAM3K,OAAS4b,IACnB,IAAflI,EACI,GACY,GAAZA,EACJA,EACNI,aAAcnJ,EAAMmJ,aACpBoa,gBAAiBvjB,EAAMujB,gBACvBhjB,WAAYP,EAAMO,WAClB2H,KAAMlI,EAAMkI,KACZE,WAAYpI,EAAMoI,WAKlBQ,UAAW5I,EAAM4I,UACjBe,SAAU3J,EAAM2J,SAChBiH,UAAW5Q,EAAM4Q,WAAa3I,GAAWjI,EAAM4Q,WAC/CC,WAAY7Q,EAAM6Q,YAAc5I,GAAWjI,EAAM6Q,YACjDvH,GAAItJ,EAAMsJ,GACV+Z,OAAQrjB,EAAMqjB,QAElB,OAAOiL,CACX,CAeA,SAASS,GAAgBC,EAAO,IAAKC,EAAO,GACxC,OAAOtnB,GAAY8b,GAAM,KAAMuL,EAAMC,EACzC,CAIA,SAASC,GAAkBC,EAASC,GAGhC,MAAMpvB,EAAQ2H,GAAYic,GAAQ,KAAMuL,GAExC,OADAnvB,EAAMkuB,YAAckB,EACbpvB,CACX,CAIA,SAASqvB,GAAmBL,EAAO,GAGnCM,GAAU,GACN,OAAOA,GACAja,KAAaI,GAAY7N,GAAS,KAAMonB,IACzCrnB,GAAYC,GAAS,KAAMonB,EACrC,CACA,SAASxnB,GAAe0G,GACpB,OAAa,MAATA,GAAkC,mBAAVA,EAEjBvG,GAAYC,KAEd,QAAQsG,GAENvG,GAAYsJ,GAAU,KAE7B/C,EAAMlK,SAEgB,kBAAVkK,EAGL8W,GAAe9W,GAIfvG,GAAY8b,GAAM,KAAM5W,OAAOqB,GAE9C,CAEA,SAAS8W,GAAe9W,GACpB,OAAoB,OAAbA,EAAM5E,IAAe4E,EAAMqhB,KAAOrhB,EAAQjG,GAAWiG,EAChE,CACA,SAASigB,GAAkBnuB,EAAO0I,GAC9B,IAAIrT,EAAO,EACX,MAAM,UAAEiS,GAActH,EACtB,GAAgB,MAAZ0I,EACAA,EAAW,UAEV,IAAI,QAAQA,GACbrT,EAAO,QAEN,GAAwB,kBAAbqT,EAAuB,CACnC,GAAgB,GAAZpB,EAAyE,CAEzE,MAAM8N,EAAO1M,EAASsF,QAOtB,YANIoH,IAEAA,EAAK5O,KAAO4O,EAAK/O,IAAK,GACtB8nB,GAAkBnuB,EAAOoV,KACzBA,EAAK5O,KAAO4O,EAAK/O,IAAK,IAG9B,CACK,CACDhR,EAAO,GACP,MAAMm6B,EAAW9mB,EAASgN,EACrB8Z,GAAchU,MAAqB9S,EAGlB,IAAb8mB,GAA4C/pB,IAGR,IAArCA,EAAyBoB,MAAM6O,EAC/BhN,EAASgN,EAAI,GAGbhN,EAASgN,EAAI,EACb1V,EAAM+I,WAAa,OAVvBL,EAASsV,KAAOvY,CAaxB,CACJ,MACS,QAAWiD,IAChBA,EAAW,CAAEsF,QAAStF,EAAUsV,KAAMvY,GACtCpQ,EAAO,KAGPqT,EAAWmE,OAAOnE,GAEF,GAAZpB,GACAjS,EAAO,GACPqT,EAAW,CAACqmB,GAAgBrmB,KAG5BrT,EAAO,GAGf2K,EAAM0I,SAAWA,EACjB1I,EAAMsH,WAAajS,CACvB,CACA,SAASy5B,MAAcx3B,GACnB,MAAM4G,EAAM,CAAC,EACb,IAAK,IAAIxL,EAAI,EAAGA,EAAI4E,EAAK1E,OAAQF,IAAK,CAClC,MAAM+8B,EAAUn4B,EAAK5E,GACrB,IAAK,MAAM4C,KAAOm6B,EACd,GAAY,UAARn6B,EACI4I,EAAIunB,QAAUgK,EAAQhK,QACtBvnB,EAAIunB,OAAQ,QAAe,CAACvnB,EAAIunB,MAAOgK,EAAQhK,cAGlD,GAAY,UAARnwB,EACL4I,EAAIwnB,OAAQ,QAAe,CAACxnB,EAAIwnB,MAAO+J,EAAQ/J,aAE9C,IAAI,QAAKpwB,GAAM,CAChB,MAAM2rB,EAAW/iB,EAAI5I,GACfo6B,EAAWD,EAAQn6B,IACrBo6B,GACAzO,IAAayO,IACX,QAAQzO,IAAaA,EAAS5e,SAASqtB,KACzCxxB,EAAI5I,GAAO2rB,EACL,GAAG9Y,OAAO8Y,EAAUyO,GACpBA,EAEd,KACiB,KAARp6B,IACL4I,EAAI5I,GAAOm6B,EAAQn6B,GAG/B,CACA,OAAO4I,CACX,CACA,SAAS0mB,GAAgBhV,EAAMnQ,EAAUO,EAAOsI,EAAY,MACxD1I,EAA2BgQ,EAAMnQ,EAAU,EAA+B,CACtEO,EACAsI,GAER,CAEA,MAAMqnB,GAAkBrR,KACxB,IAAIsR,GAAQ,EACZ,SAASnJ,GAAwBzmB,EAAOjO,EAAQ4X,GAC5C,MAAMtU,EAAO2K,EAAM3K,KAEbkL,GAAcxO,EAASA,EAAOwO,WAAaP,EAAMO,aAAeovB,GAChElwB,EAAW,CACb8L,IAAKqkB,KACL5vB,QACA3K,OACAtD,SACAwO,aACAsH,KAAM,KACN7M,KAAM,KACNuO,QAAS,KACTtW,OAAQ,KACRkc,OAAQ,KACRjc,MAAO,IAAI,MAAY,GACvB8T,OAAQ,KACRxK,MAAO,KACPwd,QAAS,KACT6V,YAAa,KACblpB,UAAW,KACXoD,SAAUhY,EAASA,EAAOgY,SAAWnT,OAAOqT,OAAO1J,EAAWwJ,UAC9DqN,YAAa,KACbnQ,YAAa,GAEbkS,WAAY,KACZ9F,WAAY,KAEZzM,aAAc6V,GAAsBpnB,EAAMkL,GAC1CyI,aAAcxE,EAAsBnP,EAAMkL,GAE1CwG,KAAM,KACNxC,QAAS,KAETkX,cAAe,KAEfrU,aAAc/R,EAAK+R,aAEnBnB,IAAK,KACLiB,KAAM,KACNtD,MAAO,KACPkD,MAAO,KACPD,MAAO,KACP4P,KAAM,KACNtP,WAAY,KACZ2oB,aAAc,KAEdnmB,WACA+gB,WAAY/gB,EAAWA,EAASghB,UAAY,EAC5C/D,SAAU,KACVI,eAAe,EAGf9a,WAAW,EACXvI,aAAa,EACbqO,eAAe,EACf+d,GAAI,KACJ3hB,EAAG,KACHoZ,GAAI,KACJ9M,EAAG,KACHyM,GAAI,KACJC,EAAG,KACHqD,GAAI,KACJD,IAAK,KACLwF,GAAI,KACJ7sB,EAAG,KACH8sB,IAAK,KACLC,IAAK,KACL7vB,GAAI,KACJ8vB,GAAI,MAcR,OARI1wB,EAASwG,IAAM,CAAEyP,EAAGjW,GAExBA,EAASoI,KAAO9V,EAASA,EAAO8V,KAAOpI,EACvCA,EAASsH,KAAOvD,EAAO7B,KAAK,KAAMlC,GAE9BO,EAAMowB,IACNpwB,EAAMowB,GAAG3wB,GAENA,CACX,CACA,IAAIqK,GAAkB,KACtB,MAAMgE,GAAqB,IAAMhE,IAAmBrE,EAC9CkG,GAAsBlM,IACxBqK,GAAkBrK,EAClBA,EAASvM,MAAMZ,IAAI,EAEjBsZ,GAAuB,KACzB9B,IAAmBA,GAAgB5W,MAAMX,MACzCuX,GAAkB,IAAI,EAS1B,SAASkM,GAAoBvW,GACzB,OAAkC,EAA3BA,EAASO,MAAMsH,SAC1B,CACA,IAyHI+oB,GACAC,GA1HAjlB,IAAwB,EAC5B,SAASsb,GAAelnB,EAAUV,GAAQ,GACtCsM,GAAwBtM,EACxB,MAAM,MAAE6E,EAAK,SAAE8E,GAAajJ,EAASO,MAC/Bub,EAAavF,GAAoBvW,GACvC6b,GAAU7b,EAAUmE,EAAO2X,EAAYxc,GACvCmf,GAAUze,EAAUiJ,GACpB,MAAM6nB,EAAchV,EACdiV,GAAuB/wB,EAAUV,QACjCrK,EAEN,OADA2W,IAAwB,EACjBklB,CACX,CACA,SAASC,GAAuB/wB,EAAUV,GAEtC,MAAM2H,EAAYjH,EAASpK,KAwB3BoK,EAAS2X,YAAcxgB,OAAOqT,OAAO,MAGrCxK,EAASjD,OAAQ,QAAQ,IAAIC,MAAMgD,EAASwG,IAAKkR,KAKjD,MAAM,MAAEtJ,GAAUnH,EAClB,GAAImH,EAAO,CACP,MAAMiiB,EAAgBrwB,EAASqwB,aAC3BjiB,EAAMjb,OAAS,EAAI69B,GAAmBhxB,GAAY,KACtDkM,GAAmBlM,IACnB,UACA,MAAM8wB,EAAc/wB,EAAsBqO,EAAOpO,EAAU,EAAmC,CAA6EA,EAASmE,MAAOksB,IAG3L,IAFA,UACAlkB,MACI,QAAU2kB,GAAc,CAExB,GADAA,EAAY7uB,KAAKkK,GAAsBA,IACnC7M,EAEA,OAAOwxB,EACF7uB,MAAMgvB,IACPC,GAAkBlxB,EAAUixB,EAAgB3xB,EAAM,IAEjDc,OAAM+wB,IACPjxB,EAAYixB,EAAGnxB,EAAU,EAAkC,IAM/DA,EAASmnB,SAAW2J,CAS5B,MAEII,GAAkBlxB,EAAU8wB,EAAaxxB,EAEjD,MAEI8xB,GAAqBpxB,EAAUV,EAEvC,CACA,SAAS4xB,GAAkBlxB,EAAU8wB,EAAaxxB,IAC1C,QAAWwxB,GAEP9wB,EAASpK,KAAKy7B,kBAGdrxB,EAASsxB,UAAYR,EAGrB9wB,EAASuH,OAASupB,GAGjB,QAASA,KAUd9wB,EAAS0H,YAAa,QAAUopB,IAQpCM,GAAqBpxB,EAAUV,EACnC,CAiBA,SAAS8xB,GAAqBpxB,EAAUV,EAAOiyB,GAC3C,MAAMtqB,EAAYjH,EAASpK,KAG3B,IAAKoK,EAASuH,OAAQ,CAGlB,IAAKjI,GAASsxB,KAAY3pB,EAAUM,OAAQ,CACxC,MAAMiqB,EAAWvqB,EAAUuqB,UACvBna,GAAqBrX,GAAUwxB,SACnC,GAAIA,EAAU,CACN,EAGJ,MAAM,gBAAEC,EAAe,gBAAEtS,GAAoBnf,EAASc,WAAWC,QAC3D,WAAE2wB,EAAYvS,gBAAiBwS,GAA6B1qB,EAC5D2qB,GAAuB,SAAO,QAAO,CACvCH,kBACAC,cACDvS,GAAkBwS,GACrB1qB,EAAUM,OAASqpB,GAAQY,EAAUI,EAIzC,CACJ,CACA5xB,EAASuH,OAAUN,EAAUM,QAAU,KAInCspB,IACAA,GAAiB7wB,EAEzB,CAGIkM,GAAmBlM,IACnB,UACAoY,GAAapY,IACb,UACAmM,IAgBR,CACA,SAAS0lB,GAAiB7xB,GACtB,OAAO,IAAIhD,MAAMgD,EAASqH,MAgBpB,CACEtR,IAAIJ,EAAQE,GAER,OADA,OAAMmK,EAAU,MAA8B,UACvCrK,EAAOE,EAClB,GAEZ,CACA,SAASm7B,GAAmBhxB,GACxB,MAAMyZ,EAASc,IAIXva,EAASua,QAAUA,GAAW,CAAC,CAAC,EAEpC,IAAIlT,EAkBA,MAAO,CACCA,YACA,OAAOA,IAAUA,EAAQwqB,GAAiB7xB,GAC9C,EACAoH,MAAOpH,EAASoH,MAChBE,KAAMtH,EAASsH,KACfmS,SAGZ,CACA,SAAS3F,GAAe9T,GACpB,GAAIA,EAASua,QACT,OAAQva,EAASowB,cACZpwB,EAASowB,YAAc,IAAIpzB,OAAM,SAAU,QAAQgD,EAASua,UAAW,CACpExkB,IAAIJ,EAAQE,GACR,OAAIA,KAAOF,EACAA,EAAOE,GAETA,KAAO2gB,GACLA,GAAoB3gB,GAAKmK,QAD/B,CAGT,IAGhB,CAGA,SAASiV,GAAiBhO,EAAW6qB,GAAkB,GACnD,OAAO,QAAW7qB,GACZA,EAAU8qB,aAAe9qB,EAAUiG,KACnCjG,EAAUiG,MAAS4kB,GAAmB7qB,EAAU+qB,MAC1D,CAyBA,SAASlD,GAAiBl2B,GACtB,OAAO,QAAWA,IAAU,cAAeA,CAC/C,CAEA,MAAM9B,GAAW,CAAE4I,EAAiBC,KAEzB,QAAWD,EAAiBC,EAAciM,IA4JrD,SAAS8O,GAAE9kB,EAAMq8B,EAAiBhpB,GAC9B,MAAM/V,EAAIyX,UAAUxX,OACpB,OAAU,IAAND,GACI,QAAS++B,MAAqB,QAAQA,GAElC5b,GAAQ4b,GACD/pB,GAAYtS,EAAM,KAAM,CAACq8B,IAG7B/pB,GAAYtS,EAAMq8B,GAIlB/pB,GAAYtS,EAAM,KAAMq8B,IAI/B/+B,EAAI,EACJ+V,EAAWvK,MAAMwzB,UAAU3tB,MAAMnK,KAAKuQ,UAAW,GAEtC,IAANzX,GAAWmjB,GAAQpN,KACxBA,EAAW,CAACA,IAETf,GAAYtS,EAAMq8B,EAAiBhpB,GAElD,CAEsBpU,OAAgE,IAyOtF,MAAMorB,GAAU,Q,4PC3qPhB,MAAMkS,EAAQ,6BACRC,EAA2B,qBAAbC,SAA2BA,SAAW,KACpDC,EAAoBF,GAAqBA,EAAIhQ,cAAc,YAC3DmQ,EAAU,CACZxQ,OAAQ,CAACtT,EAAOnc,EAAQsxB,KACpBtxB,EAAOkgC,aAAa/jB,EAAOmV,GAAU,KAAK,EAE9C5S,OAAQvC,IACJ,MAAMnc,EAASmc,EAAMqU,WACjBxwB,GACAA,EAAOmgC,YAAYhkB,EACvB,EAEJ2T,cAAe,CAACsQ,EAAKhS,EAAOqE,EAAI5gB,KAC5B,MAAM0F,EAAK6W,EACL0R,EAAIO,gBAAgBR,EAAOO,GAC3BN,EAAIhQ,cAAcsQ,EAAK3N,EAAK,CAAEA,WAAO9vB,GAI3C,MAHY,WAARy9B,GAAoBvuB,GAA2B,MAAlBA,EAAMyuB,UACnC/oB,EAAGgpB,aAAa,WAAY1uB,EAAMyuB,UAE/B/oB,CAAE,EAEbyY,WAAYiN,GAAQ6C,EAAIU,eAAevD,GACvC/M,cAAe+M,GAAQ6C,EAAI5P,cAAc+M,GACzC7M,QAAS,CAACyK,EAAMoC,KACZpC,EAAK4F,UAAYxD,CAAI,EAEzB3M,eAAgB,CAAC/Y,EAAI0lB,KACjB1lB,EAAGmpB,YAAczD,CAAI,EAEzBzM,WAAYqK,GAAQA,EAAKrK,WACzBE,YAAamK,GAAQA,EAAKnK,YAC1ByJ,cAAewG,GAAYb,EAAI3F,cAAcwG,GAC7C/P,WAAWrZ,EAAIzH,GACXyH,EAAGgpB,aAAazwB,EAAI,GACxB,EACAghB,UAAUvZ,GACN,MAAMglB,EAAShlB,EAAGuZ,WAAU,GAa5B,MAHI,WAAYvZ,IACZglB,EAAO5wB,OAAS4L,EAAG5L,QAEhB4wB,CACX,EAKAvL,oBAAoBoM,EAASp9B,EAAQsxB,EAAQlD,EAAOre,EAAOC,GAEvD,MAAM4wB,EAAStP,EAASA,EAAOuP,gBAAkB7gC,EAAO8gC,UAIxD,GAAI/wB,IAAUA,IAAUC,GAAOD,EAAM2gB,cAEjC,MAAO,EAEH,GADA1wB,EAAOkgC,aAAanwB,EAAM+gB,WAAU,GAAOQ,GACvCvhB,IAAUC,KAASD,EAAQA,EAAM2gB,aACjC,UAGP,CAEDsP,EAAkBe,UAAY3S,EAAQ,QAAQgP,UAAkBA,EAChE,MAAM8B,EAAWc,EAAkB5C,QACnC,GAAIhP,EAAO,CAEP,MAAM4S,EAAU9B,EAASjE,WACzB,MAAO+F,EAAQ/F,WACXiE,EAAS+B,YAAYD,EAAQ/F,YAEjCiE,EAASiB,YAAYa,EACzB,CACAhhC,EAAOkgC,aAAahB,EAAU5N,EAClC,CACA,MAAO,CAEHsP,EAASA,EAAOlQ,YAAc1wB,EAAOi7B,WAErC3J,EAASA,EAAOuP,gBAAkB7gC,EAAO8gC,UAEjD,GAKJ,SAASI,EAAW3pB,EAAIjR,EAAO8nB,GAI3B,MAAM+S,EAAoB5pB,EAAG6pB,KACzBD,IACA76B,GAASA,EAAQ,CAACA,KAAU66B,GAAqB,IAAIA,IAAoBE,KAAK,MAErE,MAAT/6B,EACAiR,EAAG+pB,gBAAgB,SAEdlT,EACL7W,EAAGgpB,aAAa,QAASj6B,GAGzBiR,EAAGgqB,UAAYj7B,CAEvB,CAEA,SAASk7B,EAAWjqB,EAAI1D,EAAM5K,GAC1B,MAAM0qB,EAAQpc,EAAGoc,MACX8N,GAAc,QAASx4B,GAC7B,GAAIA,IAASw4B,EAAa,CACtB,IAAK,MAAMl+B,KAAO0F,EACdy4B,EAAS/N,EAAOpwB,EAAK0F,EAAK1F,IAE9B,GAAIsQ,KAAS,QAASA,GAClB,IAAK,MAAMtQ,KAAOsQ,EACG,MAAb5K,EAAK1F,IACLm+B,EAAS/N,EAAOpwB,EAAK,GAIrC,KACK,CACD,MAAMo+B,EAAiBhO,EAAMiO,QACzBH,EACI5tB,IAAS5K,IACT0qB,EAAMkO,QAAU54B,GAGf4K,GACL0D,EAAG+pB,gBAAgB,SAKnB,SAAU/pB,IACVoc,EAAMiO,QAAUD,EAExB,CACJ,CACA,MAAMG,EAAc,iBACpB,SAASJ,EAAS/N,EAAO/Y,EAAMlO,GAC3B,IAAI,QAAQA,GACRA,EAAIpI,SAAQgD,GAAKo6B,EAAS/N,EAAO/Y,EAAMtT,UAKvC,GAFW,MAAPoF,IACAA,EAAM,IACNkO,EAAK7I,WAAW,MAEhB4hB,EAAMoO,YAAYnnB,EAAMlO,OAEvB,CACD,MAAMs1B,EAAWC,EAAWtO,EAAO/Y,GAC/BknB,EAAYpiB,KAAKhT,GAEjBinB,EAAMoO,aAAY,QAAUC,GAAWt1B,EAAI8G,QAAQsuB,EAAa,IAAK,aAGrEnO,EAAMqO,GAAYt1B,CAE1B,CAER,CACA,MAAMw1B,EAAW,CAAC,SAAU,MAAO,MAC7BC,EAAc,CAAC,EACrB,SAASF,EAAWtO,EAAOyO,GACvB,MAAMtvB,EAASqvB,EAAYC,GAC3B,GAAItvB,EACA,OAAOA,EAEX,IAAI8H,GAAO,QAASwnB,GACpB,GAAa,WAATxnB,GAAqBA,KAAQ+Y,EAC7B,OAAQwO,EAAYC,GAAWxnB,EAEnCA,GAAO,QAAWA,GAClB,IAAK,IAAIja,EAAI,EAAGA,EAAIuhC,EAASrhC,OAAQF,IAAK,CACtC,MAAMqhC,EAAWE,EAASvhC,GAAKia,EAC/B,GAAIonB,KAAYrO,EACZ,OAAQwO,EAAYC,GAAWJ,CAEvC,CACA,OAAOI,CACX,CAEA,MAAMC,EAAU,+BAChB,SAASC,EAAU/qB,EAAIhU,EAAK+C,EAAO8nB,EAAO1gB,GACtC,GAAI0gB,GAAS7qB,EAAIwO,WAAW,UACX,MAATzL,EACAiR,EAAGgrB,kBAAkBF,EAAS9+B,EAAI0O,MAAM,EAAG1O,EAAI1C,SAG/C0W,EAAGirB,eAAeH,EAAS9+B,EAAK+C,OAGnC,CAGD,MAAMm8B,GAAY,QAAqBl/B,GAC1B,MAAT+C,GAAkBm8B,KAAc,QAAmBn8B,GACnDiR,EAAG+pB,gBAAgB/9B,GAGnBgU,EAAGgpB,aAAah9B,EAAKk/B,EAAY,GAAKn8B,EAE9C,CACJ,CAIA,SAASo8B,EAAanrB,EAAIhU,EAAK+C,EAI/BsQ,EAAc2a,EAAiB7C,EAAgBiE,GAC3C,GAAY,cAARpvB,GAA+B,gBAARA,EAKvB,OAJIqT,GACA+b,EAAgB/b,EAAc2a,EAAiB7C,QAEnDnX,EAAGhU,GAAgB,MAAT+C,EAAgB,GAAKA,GAGnC,GAAY,UAAR/C,GACe,aAAfgU,EAAGorB,UAEFprB,EAAGorB,QAAQryB,SAAS,KAAM,CAG3BiH,EAAG5L,OAASrF,EACZ,MAAMpC,EAAoB,MAAToC,EAAgB,GAAKA,EAWtC,OAVIiR,EAAGjR,QAAUpC,GAIE,WAAfqT,EAAGorB,UACHprB,EAAGjR,MAAQpC,QAEF,MAAToC,GACAiR,EAAG+pB,gBAAgB/9B,GAG3B,CACA,IAAIq/B,GAAa,EACjB,GAAc,KAAVt8B,GAAyB,MAATA,EAAe,CAC/B,MAAMhD,SAAciU,EAAGhU,GACV,YAATD,EAEAgD,GAAQ,QAAmBA,GAEb,MAATA,GAA0B,WAAThD,GAEtBgD,EAAQ,GACRs8B,GAAa,GAEC,WAATt/B,IAGLgD,EAAQ,EACRs8B,GAAa,EAErB,CAIA,IACIrrB,EAAGhU,GAAO+C,CAOd,CALA,MAAOu4B,GACC,CAIR,CACA+D,GAAcrrB,EAAG+pB,gBAAgB/9B,EACrC,CAGA,MAAOs/B,EAASC,GAAoC,MAChD,IAAID,EAAUE,KAAKC,IACfF,GAAqB,EACzB,GAAsB,qBAAXG,OAAwB,CAK3BF,KAAKC,MAAQjD,SAASmD,YAAY,SAASC,YAI3CN,EAAUlW,YAAYqW,IAAIpzB,KAAK+c,cAInC,MAAMyW,EAAUC,UAAUC,UAAUjY,MAAM,mBAC1CyX,KAAwBM,GAAWv8B,OAAOu8B,EAAQ,KAAO,GAC7D,CACA,MAAO,CAACP,EAASC,EACpB,EApBmD,GAuBpD,IAAIS,EAAY,EAChB,MAAM7zB,EAAkBJ,QAAQC,UAC1Bi0B,EAAQ,KACVD,EAAY,CAAC,EAEXE,EAAS,IAAMF,IAAc7zB,EAAEC,KAAK6zB,GAASD,EAAYV,KAC/D,SAASa,EAAiBnsB,EAAI7F,EAAOY,EAASiB,GAC1CgE,EAAGmsB,iBAAiBhyB,EAAOY,EAASiB,EACxC,CACA,SAASowB,EAAoBpsB,EAAI7F,EAAOY,EAASiB,GAC7CgE,EAAGosB,oBAAoBjyB,EAAOY,EAASiB,EAC3C,CACA,SAASqwB,EAAWrsB,EAAI6qB,EAASyB,EAAWC,EAAWp2B,EAAW,MAE9D,MAAMq2B,EAAWxsB,EAAGysB,OAASzsB,EAAGysB,KAAO,CAAC,GAClCC,EAAkBF,EAAS3B,GACjC,GAAI0B,GAAaG,EAEbA,EAAgB39B,MAAQw9B,MAEvB,CACD,MAAOlpB,EAAMrH,GAAW2wB,EAAU9B,GAClC,GAAI0B,EAAW,CAEX,MAAMK,EAAWJ,EAAS3B,GAAWgC,EAAcN,EAAWp2B,GAC9Dg2B,EAAiBnsB,EAAIqD,EAAMupB,EAAS5wB,EACxC,MACS0wB,IAELN,EAAoBpsB,EAAIqD,EAAMqpB,EAAiB1wB,GAC/CwwB,EAAS3B,QAAWz/B,EAE5B,CACJ,CACA,MAAM0hC,EAAoB,4BAC1B,SAASH,EAAUtpB,GACf,IAAIrH,EACJ,GAAI8wB,EAAkB3kB,KAAK9E,GAAO,CAE9B,IAAI+N,EADJpV,EAAU,CAAC,EAEX,MAAQoV,EAAI/N,EAAKyQ,MAAMgZ,GACnBzpB,EAAOA,EAAK3I,MAAM,EAAG2I,EAAK/Z,OAAS8nB,EAAE,GAAG9nB,QACxC0S,EAAQoV,EAAE,GAAGlV,gBAAiB,CAEtC,CACA,MAAM/B,EAAoB,MAAZkJ,EAAK,GAAaA,EAAK3I,MAAM,IAAK,QAAU2I,EAAK3I,MAAM,IACrE,MAAO,CAACP,EAAO6B,EACnB,CACA,SAAS6wB,EAAcE,EAAc52B,GACjC,MAAMy2B,EAAWtF,IAOb,MAAMsE,EAAYtE,EAAEsE,WAAaN,KAC7BC,GAAsBK,GAAagB,EAAQI,SAAW,KACtD,QAA2BC,EAA8B3F,EAAGsF,EAAQ79B,OAAQoH,EAAU,EAAyC,CAACmxB,GACpI,EAIJ,OAFAsF,EAAQ79B,MAAQg+B,EAChBH,EAAQI,SAAWd,IACZU,CACX,CACA,SAASK,EAA8B3F,EAAGv4B,GACtC,IAAI,QAAQA,GAAQ,CAChB,MAAMm+B,EAAe5F,EAAE6F,yBAKvB,OAJA7F,EAAE6F,yBAA2B,KACzBD,EAAa38B,KAAK+2B,GAClBA,EAAE8F,UAAW,CAAI,EAEdr+B,EAAMtB,KAAI3E,GAAOw+B,IAAOA,EAAE8F,UAAYtkC,GAAMA,EAAGw+B,IAC1D,CAEI,OAAOv4B,CAEf,CAEA,MAAMs+B,EAAa,WACbhV,EAAY,CAACrY,EAAIhU,EAAKsgC,EAAWC,EAAW1V,GAAQ,EAAOxX,EAAc2a,EAAiB7C,EAAgBiE,KAChG,UAARpvB,EACA29B,EAAW3pB,EAAIusB,EAAW1V,GAEb,UAAR7qB,EACLi+B,EAAWjqB,EAAIssB,EAAWC,IAErB,QAAKvgC,IAEL,QAAgBA,IACjBqgC,EAAWrsB,EAAIhU,EAAKsgC,EAAWC,EAAWvS,IAG9B,MAAXhuB,EAAI,IACLA,EAAMA,EAAI0O,MAAM,GAAK,GACZ,MAAX1O,EAAI,IACEA,EAAMA,EAAI0O,MAAM,GAAK,GACvB4yB,EAAgBttB,EAAIhU,EAAKugC,EAAW1V,IAC1CsU,EAAanrB,EAAIhU,EAAKugC,EAAWltB,EAAc2a,EAAiB7C,EAAgBiE,IAOpE,eAARpvB,EACAgU,EAAGutB,WAAahB,EAEH,gBAARvgC,IACLgU,EAAGwtB,YAAcjB,GAErBxB,EAAU/qB,EAAIhU,EAAKugC,EAAW1V,GAClC,EAEJ,SAASyW,EAAgBttB,EAAIhU,EAAK+C,EAAO8nB,GACrC,OAAIA,EAGY,cAAR7qB,GAA+B,gBAARA,MAIvBA,KAAOgU,GAAMqtB,EAAWllB,KAAKnc,KAAQ,QAAW+C,IAW5C,eAAR/C,GAAgC,cAARA,GAA+B,cAARA,IAKvC,SAARA,KAIQ,SAARA,GAAiC,UAAfgU,EAAGorB,YAIb,SAARp/B,GAAiC,aAAfgU,EAAGorB,aAIrBiC,EAAWllB,KAAKnc,MAAQ,QAAS+C,KAG9B/C,KAAOgU,KAClB,CAgB0C,qBAAhBytB,aAA8BA,YA2RxD,MAAMC,EAAa,aACbC,EAAY,YAGZC,EAAa,CAACtzB,GAASiD,YAAY,IAAAsT,GAAE,KAAgBgd,EAAuBvzB,GAAQiD,GAC1FqwB,EAAW1F,YAAc,aACzB,MAAM4F,EAA+B,CACjCzqB,KAAME,OACNxX,KAAMwX,OACNwqB,IAAK,CACDhiC,KAAM0X,QACNiB,SAAS,GAEbspB,SAAU,CAACzqB,OAAQjU,OAAQhC,QAC3B2gC,eAAgB1qB,OAChB2qB,iBAAkB3qB,OAClB4qB,aAAc5qB,OACd6qB,gBAAiB7qB,OACjB8qB,kBAAmB9qB,OACnB+qB,cAAe/qB,OACfgrB,eAAgBhrB,OAChBirB,iBAAkBjrB,OAClBkrB,aAAclrB,QAQZ8C,GAN6BunB,EAAWtzB,OAC5B,QAAO,CAAC,EAAG,WAAsBwzB,GAKlC,CAACxnB,EAAMtY,EAAO,OACvB,QAAQsY,GACRA,EAAKvZ,SAAQ8jB,GAAKA,KAAK7iB,KAElBsY,GACLA,KAAQtY,EACZ,GAME0gC,EAAuBpoB,KAClBA,KACD,QAAQA,GACJA,EAAK7H,MAAKoS,GAAKA,EAAEvnB,OAAS,IAC1Bgd,EAAKhd,OAAS,GAG5B,SAASukC,EAAuB9oB,GAC5B,MAAM4pB,EAAY,CAAC,EACnB,IAAK,MAAM3iC,KAAO+Y,EACR/Y,KAAO8hC,IACTa,EAAU3iC,GAAO+Y,EAAS/Y,IAGlC,IAAqB,IAAjB+Y,EAASgpB,IACT,OAAOY,EAEX,MAAM,KAAEtrB,EAAO,IAAG,KAAEtX,EAAI,SAAEiiC,EAAQ,eAAEC,EAAiB,GAAG5qB,eAAiB,iBAAE6qB,EAAmB,GAAG7qB,iBAAmB,aAAE8qB,EAAe,GAAG9qB,aAAe,gBAAE+qB,EAAkBH,EAAc,kBAAEI,EAAoBH,EAAgB,cAAEI,EAAgBH,EAAY,eAAEI,EAAiB,GAAGlrB,eAAiB,iBAAEmrB,EAAmB,GAAGnrB,iBAAmB,aAAEorB,EAAe,GAAGprB,cAAoB0B,EACjX6pB,EAAYC,EAAkBb,GAC9Bc,EAAgBF,GAAaA,EAAU,GACvCG,EAAgBH,GAAaA,EAAU,IACvC,cAAEjrB,EAAa,QAAEC,EAAO,iBAAEE,EAAgB,QAAEE,EAAO,iBAAEE,EAAgB,eAAEC,EAAiBR,EAAa,SAAES,EAAWR,EAAO,kBAAEU,EAAoBR,GAAqB6qB,EACpKK,EAAc,CAAChvB,EAAIivB,EAAUt9B,KAC/Bu9B,EAAsBlvB,EAAIivB,EAAWX,EAAgBH,GACrDe,EAAsBlvB,EAAIivB,EAAWZ,EAAoBH,GACzDv8B,GAAQA,GAAM,EAEZw9B,EAAc,CAACnvB,EAAIrO,KACrBqO,EAAGovB,YAAa,EAChBF,EAAsBlvB,EAAIuuB,GAC1BW,EAAsBlvB,EAAIyuB,GAC1BS,EAAsBlvB,EAAIwuB,GAC1B78B,GAAQA,GAAM,EAEZ09B,EAAiBJ,GACZ,CAACjvB,EAAIrO,KACR,MAAM2U,EAAO2oB,EAAW7qB,EAAWR,EAC7B5L,EAAU,IAAMg3B,EAAYhvB,EAAIivB,EAAUt9B,GAChD0U,EAASC,EAAM,CAACtG,EAAIhI,IACpBs3B,GAAU,KACNJ,EAAsBlvB,EAAIivB,EAAWb,EAAkBH,GACvDsB,EAAmBvvB,EAAIivB,EAAWX,EAAgBH,GAC7CO,EAAoBpoB,IACrBkpB,EAAmBxvB,EAAIjU,EAAM+iC,EAAe92B,EAChD,GACF,EAGV,OAAO,QAAO22B,EAAW,CACrBhrB,cAAc3D,GACVqG,EAAS1C,EAAe,CAAC3D,IACzBuvB,EAAmBvvB,EAAIiuB,GACvBsB,EAAmBvvB,EAAIkuB,EAC3B,EACA/pB,eAAenE,GACXqG,EAASlC,EAAgB,CAACnE,IAC1BuvB,EAAmBvvB,EAAIouB,GACvBmB,EAAmBvvB,EAAIquB,EAC3B,EACAzqB,QAASyrB,GAAc,GACvBjrB,SAAUirB,GAAc,GACxBrrB,QAAQhE,EAAIrO,GACRqO,EAAGovB,YAAa,EAChB,MAAMp3B,EAAU,IAAMm3B,EAAYnvB,EAAIrO,GACtC49B,EAAmBvvB,EAAIuuB,GAEvBkB,IACAF,EAAmBvvB,EAAIwuB,GACvBc,GAAU,KACDtvB,EAAGovB,aAIRF,EAAsBlvB,EAAIuuB,GAC1BgB,EAAmBvvB,EAAIyuB,GAClBC,EAAoB1qB,IACrBwrB,EAAmBxvB,EAAIjU,EAAMgjC,EAAe/2B,GAChD,IAEJqO,EAASrC,EAAS,CAAChE,EAAIhI,GAC3B,EACA8L,iBAAiB9D,GACbgvB,EAAYhvB,GAAI,GAChBqG,EAASvC,EAAkB,CAAC9D,GAChC,EACAsE,kBAAkBtE,GACdgvB,EAAYhvB,GAAI,GAChBqG,EAAS/B,EAAmB,CAACtE,GACjC,EACAkE,iBAAiBlE,GACbmvB,EAAYnvB,GACZqG,EAASnC,EAAkB,CAAClE,GAChC,GAER,CACA,SAAS6uB,EAAkBb,GACvB,GAAgB,MAAZA,EACA,OAAO,KAEN,IAAI,QAASA,GACd,MAAO,CAAC0B,EAAS1B,EAASpnB,OAAQ8oB,EAAS1B,EAAS9mB,QAEnD,CACD,MAAMjd,EAAIylC,EAAS1B,GACnB,MAAO,CAAC/jC,EAAGA,EACf,CACJ,CACA,SAASylC,EAASv6B,GACd,MAAMhH,GAAM,QAASgH,GAGrB,OAAOhH,CACX,CAWA,SAASohC,EAAmBvvB,EAAI2vB,GAC5BA,EAAIltB,MAAM,OAAO1V,SAAQ+X,GAAKA,GAAK9E,EAAG4vB,UAAUnjC,IAAIqY,MACnD9E,EAAG6pB,OACC7pB,EAAG6pB,KAAO,IAAI9/B,MAAQ0C,IAAIkjC,EACnC,CACA,SAAST,EAAsBlvB,EAAI2vB,GAC/BA,EAAIltB,MAAM,OAAO1V,SAAQ+X,GAAKA,GAAK9E,EAAG4vB,UAAUzoB,OAAOrC,KACvD,MAAM,KAAE+kB,GAAS7pB,EACb6pB,IACAA,EAAKp/B,OAAOklC,GACP9F,EAAKp5B,OACNuP,EAAG6pB,UAAOz+B,GAGtB,CACA,SAASkkC,EAAUh2B,GACfu2B,uBAAsB,KAClBA,sBAAsBv2B,EAAG,GAEjC,CACA,IAAIw2B,EAAQ,EACZ,SAASN,EAAmBxvB,EAAI+vB,EAAcC,EAAiBh4B,GAC3D,MAAMO,EAAMyH,EAAGiwB,SAAWH,EACpBI,EAAoB,KAClB33B,IAAOyH,EAAGiwB,QACVj4B,GACJ,EAEJ,GAAIg4B,EACA,OAAOG,WAAWD,EAAmBF,GAEzC,MAAM,KAAEjkC,EAAI,QAAEqkC,EAAO,UAAEC,GAAcC,EAAkBtwB,EAAI+vB,GAC3D,IAAKhkC,EACD,OAAOiM,IAEX,MAAMu4B,EAAWxkC,EAAO,MACxB,IAAIykC,EAAQ,EACZ,MAAM/3B,EAAM,KACRuH,EAAGosB,oBAAoBmE,EAAUE,GACjCP,GAAmB,EAEjBO,EAASnJ,IACPA,EAAEx7B,SAAWkU,KAAQwwB,GAASH,GAC9B53B,GACJ,EAEJ03B,YAAW,KACHK,EAAQH,GACR53B,GACJ,GACD23B,EAAU,GACbpwB,EAAGmsB,iBAAiBoE,EAAUE,EAClC,CACA,SAASH,EAAkBtwB,EAAI+vB,GAC3B,MAAMW,EAAShF,OAAOiF,iBAAiB3wB,GAEjC4wB,EAAsB5kC,IAAS0kC,EAAO1kC,IAAQ,IAAIyW,MAAM,MACxDouB,EAAmBD,EAAmBlD,EAAa,SACnDoD,EAAsBF,EAAmBlD,EAAa,YACtDqD,EAAoBC,EAAWH,EAAkBC,GACjDG,EAAkBL,EAAmBjD,EAAY,SACjDuD,EAAqBN,EAAmBjD,EAAY,YACpDwD,EAAmBH,EAAWC,EAAiBC,GACrD,IAAInlC,EAAO,KACPqkC,EAAU,EACVC,EAAY,EAEZN,IAAiBrC,EACbqD,EAAoB,IACpBhlC,EAAO2hC,EACP0C,EAAUW,EACVV,EAAYS,EAAoBxnC,QAG/BymC,IAAiBpC,EAClBwD,EAAmB,IACnBplC,EAAO4hC,EACPyC,EAAUe,EACVd,EAAYa,EAAmB5nC,SAInC8mC,EAAUrR,KAAKqS,IAAIL,EAAmBI,GACtCplC,EACIqkC,EAAU,EACJW,EAAoBI,EAChBzD,EACAC,EACJ,KACV0C,EAAYtkC,EACNA,IAAS2hC,EACLoD,EAAoBxnC,OACpB4nC,EAAmB5nC,OACvB,GAEV,MAAM+nC,EAAetlC,IAAS2hC,GAC1B,yBAAyBvlB,KAAKuoB,EAAOhD,EAAa,aACtD,MAAO,CACH3hC,OACAqkC,UACAC,YACAgB,eAER,CACA,SAASL,EAAWM,EAAQ1C,GACxB,MAAO0C,EAAOhoC,OAASslC,EAAUtlC,OAC7BgoC,EAASA,EAAOzyB,OAAOyyB,GAE3B,OAAOvS,KAAKqS,OAAOxC,EAAUnhC,KAAI,CAAC8jC,EAAGnoC,IAAMooC,EAAKD,GAAKC,EAAKF,EAAOloC,MACrE,CAKA,SAASooC,EAAK7vB,GACV,OAAkD,IAA3CrS,OAAOqS,EAAEjH,MAAM,GAAI,GAAGuB,QAAQ,IAAK,KAC9C,CAEA,SAASwzB,IACL,OAAOjH,SAASiJ,KAAKC,YACzB,CAEoB,IAAI/mC,QACD,IAAIA,QAsH3B,MAAMgnC,EAAoBj7B,IACtB,MAAM5N,EAAK4N,EAAM4D,MAAM,yBACnB,EACJ,OAAO,QAAQxR,GAAMiG,IAAS,QAAejG,EAAIiG,GAASjG,CAAE,EAEhE,SAAS8oC,GAAmBtK,GACxBA,EAAEx7B,OAAO+lC,WAAY,CACzB,CACA,SAASC,GAAiBxK,GACtB,MAAMx7B,EAASw7B,EAAEx7B,OACbA,EAAO+lC,YACP/lC,EAAO+lC,WAAY,EACnB/lC,EAAOimC,cAAc,IAAIC,MAAM,UAEvC,CAGA,MAAMC,GAAa,CACfljB,QAAQ/O,GAAMqK,WAAW,KAAE6nB,EAAI,KAAEr3B,EAAI,OAAED,IAAYlE,GAC/CsJ,EAAGmyB,QAAUR,EAAiBj7B,GAC9B,MAAM07B,EAAex3B,GAAWlE,EAAM4D,OAA8B,WAArB5D,EAAM4D,MAAMvO,KAC3DogC,EAAiBnsB,EAAIkyB,EAAO,SAAW,SAAS5K,IAC5C,GAAIA,EAAEx7B,OAAO+lC,UACT,OACJ,IAAIQ,EAAWryB,EAAGjR,MACd8L,IACAw3B,EAAWA,EAASx3B,QAEpBu3B,IACAC,GAAW,QAASA,IAExBryB,EAAGmyB,QAAQE,EAAS,IAEpBx3B,GACAsxB,EAAiBnsB,EAAI,UAAU,KAC3BA,EAAGjR,MAAQiR,EAAGjR,MAAM8L,MAAM,IAG7Bq3B,IACD/F,EAAiBnsB,EAAI,mBAAoB4xB,IACzCzF,EAAiBnsB,EAAI,iBAAkB8xB,IAKvC3F,EAAiBnsB,EAAI,SAAU8xB,IAEvC,EAEAxnB,QAAQtK,GAAI,MAAEjR,IACViR,EAAGjR,MAAiB,MAATA,EAAgB,GAAKA,CACpC,EACAkgB,aAAajP,GAAI,MAAEjR,EAAOsb,WAAW,KAAE6nB,EAAI,KAAEr3B,EAAI,OAAED,IAAYlE,GAG3D,GAFAsJ,EAAGmyB,QAAUR,EAAiBj7B,GAE1BsJ,EAAG6xB,UACH,OACJ,GAAIrJ,SAAS8J,gBAAkBtyB,GAAkB,UAAZA,EAAGjU,KAAkB,CACtD,GAAImmC,EACA,OAEJ,GAAIr3B,GAAQmF,EAAGjR,MAAM8L,SAAW9L,EAC5B,OAEJ,IAAK6L,GAAsB,WAAZoF,EAAGjU,QAAsB,QAASiU,EAAGjR,SAAWA,EAC3D,MAER,CACA,MAAMpC,EAAoB,MAAToC,EAAgB,GAAKA,EAClCiR,EAAGjR,QAAUpC,IACbqT,EAAGjR,MAAQpC,EAEnB,GAEE4lC,GAAiB,CAEnBnxB,MAAM,EACN2N,QAAQ/O,EAAIoM,EAAG1V,GACXsJ,EAAGmyB,QAAUR,EAAiBj7B,GAC9By1B,EAAiBnsB,EAAI,UAAU,KAC3B,MAAMwyB,EAAaxyB,EAAGyyB,YAChBC,EAAeC,GAAS3yB,GACxB4yB,EAAU5yB,EAAG4yB,QACbjd,EAAS3V,EAAGmyB,QAClB,IAAI,QAAQK,GAAa,CACrB,MAAM9pC,GAAQ,QAAa8pC,EAAYE,GACjCG,GAAmB,IAAXnqC,EACd,GAAIkqC,IAAYC,EACZld,EAAO6c,EAAW3zB,OAAO6zB,SAExB,IAAKE,GAAWC,EAAO,CACxB,MAAMC,EAAW,IAAIN,GACrBM,EAAS95B,OAAOtQ,EAAO,GACvBitB,EAAOmd,EACX,CACJ,MACK,IAAI,QAAMN,GAAa,CACxB,MAAMxN,EAAS,IAAIj7B,IAAIyoC,GACnBI,EACA5N,EAAOv4B,IAAIimC,GAGX1N,EAAOv6B,OAAOioC,GAElB/c,EAAOqP,EACX,MAEIrP,EAAOod,GAAiB/yB,EAAI4yB,GAChC,GAER,EAEAtoB,QAAS0oB,GACT/jB,aAAajP,EAAI0K,EAAShU,GACtBsJ,EAAGmyB,QAAUR,EAAiBj7B,GAC9Bs8B,GAAWhzB,EAAI0K,EAAShU,EAC5B,GAEJ,SAASs8B,GAAWhzB,GAAI,MAAEjR,EAAK,SAAEnC,GAAY8J,GACzCsJ,EAAGyyB,YAAc1jC,GACb,QAAQA,GACRiR,EAAG4yB,SAAU,QAAa7jC,EAAO2H,EAAM4D,MAAMvL,QAAU,GAElD,QAAMA,GACXiR,EAAG4yB,QAAU7jC,EAAMvC,IAAIkK,EAAM4D,MAAMvL,OAE9BA,IAAUnC,IACfoT,EAAG4yB,SAAU,QAAW7jC,EAAOgkC,GAAiB/yB,GAAI,IAE5D,CACA,MAAMizB,GAAc,CAChBlkB,QAAQ/O,GAAI,MAAEjR,GAAS2H,GACnBsJ,EAAG4yB,SAAU,QAAW7jC,EAAO2H,EAAM4D,MAAMvL,OAC3CiR,EAAGmyB,QAAUR,EAAiBj7B,GAC9By1B,EAAiBnsB,EAAI,UAAU,KAC3BA,EAAGmyB,QAAQQ,GAAS3yB,GAAI,GAEhC,EACAiP,aAAajP,GAAI,MAAEjR,EAAK,SAAEnC,GAAY8J,GAClCsJ,EAAGmyB,QAAUR,EAAiBj7B,GAC1B3H,IAAUnC,IACVoT,EAAG4yB,SAAU,QAAW7jC,EAAO2H,EAAM4D,MAAMvL,OAEnD,GAEEmkC,GAAe,CAEjB9xB,MAAM,EACN2N,QAAQ/O,GAAI,MAAEjR,EAAOsb,WAAW,OAAEzP,IAAYlE,GAC1C,MAAMy8B,GAAa,QAAMpkC,GACzBo9B,EAAiBnsB,EAAI,UAAU,KAC3B,MAAMozB,EAAcv+B,MAAMwzB,UAAU76B,OAC/B+C,KAAKyP,EAAGhE,SAAU2lB,GAAMA,EAAE0R,WAC1B5lC,KAAKk0B,GAAM/mB,GAAS,QAAS+3B,GAAShR,IAAMgR,GAAShR,KAC1D3hB,EAAGmyB,QAAQnyB,EAAG+oB,SACRoK,EACI,IAAIppC,IAAIqpC,GACRA,EACJA,EAAY,GAAG,IAEzBpzB,EAAGmyB,QAAUR,EAAiBj7B,EAClC,EAGA4T,QAAQtK,GAAI,MAAEjR,IACVukC,GAAYtzB,EAAIjR,EACpB,EACAkgB,aAAajP,EAAIuzB,EAAU78B,GACvBsJ,EAAGmyB,QAAUR,EAAiBj7B,EAClC,EACA6T,QAAQvK,GAAI,MAAEjR,IACVukC,GAAYtzB,EAAIjR,EACpB,GAEJ,SAASukC,GAAYtzB,EAAIjR,GACrB,MAAMykC,EAAaxzB,EAAG+oB,SACtB,IAAIyK,IAAe,QAAQzkC,KAAW,QAAMA,GAA5C,CAMA,IAAK,IAAI3F,EAAI,EAAGC,EAAI2W,EAAGhE,QAAQ1S,OAAQF,EAAIC,EAAGD,IAAK,CAC/C,MAAMqqC,EAASzzB,EAAGhE,QAAQ5S,GACpBsqC,EAAcf,GAASc,GAC7B,GAAID,GACI,QAAQzkC,GACR0kC,EAAOJ,UAAW,QAAatkC,EAAO2kC,IAAgB,EAGtDD,EAAOJ,SAAWtkC,EAAMvC,IAAIknC,QAIhC,IAAI,QAAWf,GAASc,GAAS1kC,GAG7B,YAFIiR,EAAG2zB,gBAAkBvqC,IACrB4W,EAAG2zB,cAAgBvqC,GAInC,CACKoqC,IAAoC,IAAtBxzB,EAAG2zB,gBAClB3zB,EAAG2zB,eAAiB,EArBxB,CAuBJ,CAEA,SAAShB,GAAS3yB,GACd,MAAO,WAAYA,EAAKA,EAAG5L,OAAS4L,EAAGjR,KAC3C,CAEA,SAASgkC,GAAiB/yB,EAAI4yB,GAC1B,MAAM5mC,EAAM4mC,EAAU,aAAe,cACrC,OAAO5mC,KAAOgU,EAAKA,EAAGhU,GAAO4mC,CACjC,CACA,MAAMgB,GAAgB,CAClB7kB,QAAQ/O,EAAI0K,EAAShU,GACjBm9B,GAAc7zB,EAAI0K,EAAShU,EAAO,KAAM,UAC5C,EACA4T,QAAQtK,EAAI0K,EAAShU,GACjBm9B,GAAc7zB,EAAI0K,EAAShU,EAAO,KAAM,UAC5C,EACAuY,aAAajP,EAAI0K,EAAShU,EAAOsI,GAC7B60B,GAAc7zB,EAAI0K,EAAShU,EAAOsI,EAAW,eACjD,EACAuL,QAAQvK,EAAI0K,EAAShU,EAAOsI,GACxB60B,GAAc7zB,EAAI0K,EAAShU,EAAOsI,EAAW,UACjD,GAEJ,SAAS80B,GAAoB1I,EAASr/B,GAClC,OAAQq/B,GACJ,IAAK,SACD,OAAO8H,GACX,IAAK,WACD,OAAOjB,GACX,QACI,OAAQlmC,GACJ,IAAK,WACD,OAAOwmC,GACX,IAAK,QACD,OAAOU,GACX,QACI,OAAOhB,IAG3B,CACA,SAAS4B,GAAc7zB,EAAI0K,EAAShU,EAAOsI,EAAWsH,GAClD,MAAMytB,EAAaD,GAAoB9zB,EAAGorB,QAAS10B,EAAM4D,OAAS5D,EAAM4D,MAAMvO,MACxEjD,EAAKirC,EAAWztB,GACtBxd,GAAMA,EAAGkX,EAAI0K,EAAShU,EAAOsI,EACjC,CAsCA,MAAMg1B,GAAkB,CAAC,OAAQ,QAAS,MAAO,QAC3CC,GAAiB,CACnB/qC,KAAMo+B,GAAKA,EAAE4M,kBACbC,QAAS7M,GAAKA,EAAE8M,iBAChBx+B,KAAM0xB,GAAKA,EAAEx7B,SAAWw7B,EAAE+M,cAC1BC,KAAMhN,IAAMA,EAAEiN,QACdC,MAAOlN,IAAMA,EAAEmN,SACfC,IAAKpN,IAAMA,EAAEqN,OACbC,KAAMtN,IAAMA,EAAEuN,QACdC,KAAMxN,GAAK,WAAYA,GAAkB,IAAbA,EAAEyN,OAC9Br8B,OAAQ4uB,GAAK,WAAYA,GAAkB,IAAbA,EAAEyN,OAChCC,MAAO1N,GAAK,WAAYA,GAAkB,IAAbA,EAAEyN,OAC/BE,MAAO,CAAC3N,EAAGjd,IAAc2pB,GAAgBv1B,MAAK2S,GAAKkW,EAAE,GAAGlW,UAAY/G,EAAUtR,SAASqY,MAKrF8jB,GAAgB,CAACpsC,EAAIuhB,IAChB,CAAClQ,KAAUnM,KACd,IAAK,IAAI5E,EAAI,EAAGA,EAAIihB,EAAU/gB,OAAQF,IAAK,CACvC,MAAM+rC,EAAQlB,GAAe5pB,EAAUjhB,IACvC,GAAI+rC,GAASA,EAAMh7B,EAAOkQ,GACtB,MACR,CACA,OAAOvhB,EAAGqR,KAAUnM,EAAK,EAK3BonC,GAAW,CACbC,IAAK,SACLC,MAAO,IACPC,GAAI,WACJT,KAAM,aACNE,MAAO,cACPQ,KAAM,aACN/qC,OAAQ,aAKNgrC,GAAW,CAAC3sC,EAAIuhB,IACVlQ,IACJ,KAAM,QAASA,GACX,OAEJ,MAAMu7B,GAAW,QAAUv7B,EAAMnO,KACjC,OAAIqe,EAAU5L,MAAKmZ,GAAKA,IAAM8d,GAAYN,GAASxd,KAAO8d,IAC/C5sC,EAAGqR,QADd,CAEA,EAuDR,MAAMw7B,IAAgC,QAAO,CAAEtd,aAAaqQ,GAG5D,IAAItL,GAEJ,SAASwY,KACL,OAAQxY,KACHA,IAAW,QAAeuY,IACnC,CASA,MAAMj4B,GAAS,IAAK1P,KAChB4nC,KAAiBl4B,UAAU1P,EAC9B,EAIK4zB,GAAY,IAAK5zB,KACnB,MAAMinB,EAAM2gB,KAAiBhU,aAAa5zB,GAK1C,MAAM,MAAE0oB,GAAUzB,EAsBlB,OArBAA,EAAIyB,MAASmf,IACT,MAAM/b,EAAYgc,GAAmBD,GACrC,IAAK/b,EACD,OACJ,MAAMxa,EAAY2V,EAAIc,YACjB,QAAWzW,IAAeA,EAAU5B,QAAW4B,EAAUqoB,WAK1DroB,EAAUqoB,SAAW7N,EAAU0P,WAGnC1P,EAAU0P,UAAY,GACtB,MAAMt2B,EAAQwjB,EAAMoD,GAAW,EAAOA,aAAqByI,YAK3D,OAJIzI,aAAqBic,UACrBjc,EAAUiQ,gBAAgB,WAC1BjQ,EAAUkP,aAAa,aAAc,KAElC91B,CAAK,EAET+hB,CACV,EAwDD,SAAS6gB,GAAmBhc,GACxB,IAAI,QAASA,GAAY,CACrB,MAAM3rB,EAAMq6B,SAAS5F,cAAc9I,GAInC,OAAO3rB,CACX,CAOA,OAAO2rB,CACX,C,oCC7oDA,SAASkc,EAAQC,EAAKC,GAClB,MAAMzoC,EAAMH,OAAOqT,OAAO,MACpBw1B,EAAOF,EAAIxzB,MAAM,KACvB,IAAK,IAAIrZ,EAAI,EAAGA,EAAI+sC,EAAK7sC,OAAQF,IAC7BqE,EAAI0oC,EAAK/sC,KAAM,EAEnB,OAAO8sC,EAAmB/gC,KAAS1H,EAAI0H,EAAI+G,eAAiB/G,KAAS1H,EAAI0H,EAC7E,C,o7BAKA,MA0BMihC,EAAuB,mMAGvBC,EAAsCL,EAAQI,GAyDpD,MAAME,EAAsB,8EACtBC,EAAqCP,EAAQM,GAYnD,SAASE,EAAmBznC,GACxB,QAASA,GAAmB,KAAVA,CACtB,CA+FA,SAAS0nC,EAAe1nC,GACpB,GAAI2nC,EAAQ3nC,GAAQ,CAChB,MAAMZ,EAAM,CAAC,EACb,IAAK,IAAI/E,EAAI,EAAGA,EAAI2F,EAAMzF,OAAQF,IAAK,CACnC,MAAMqiB,EAAO1c,EAAM3F,GACbqS,EAAak7B,EAASlrB,GACtBmrB,EAAiBnrB,GACjBgrB,EAAehrB,GACrB,GAAIhQ,EACA,IAAK,MAAMzP,KAAOyP,EACdtN,EAAInC,GAAOyP,EAAWzP,EAGlC,CACA,OAAOmC,CACX,CACK,OAAIwoC,EAAS5nC,IAGT8nC,EAAS9nC,GAFPA,OAEN,CAGT,CACA,MAAM+nC,EAAkB,gBAClBC,EAAsB,QAC5B,SAASH,EAAiBtM,GACtB,MAAM11B,EAAM,CAAC,EAOb,OANA01B,EAAQ7nB,MAAMq0B,GAAiB/pC,SAAQ0e,IACnC,GAAIA,EAAM,CACN,MAAMurB,EAAMvrB,EAAKhJ,MAAMs0B,GACvBC,EAAI1tC,OAAS,IAAMsL,EAAIoiC,EAAI,GAAGn8B,QAAUm8B,EAAI,GAAGn8B,OACnD,KAEGjG,CACX,CAiBA,SAASqiC,EAAeloC,GACpB,IAAIZ,EAAM,GACV,GAAIwoC,EAAS5nC,GACTZ,EAAMY,OAEL,GAAI2nC,EAAQ3nC,GACb,IAAK,IAAI3F,EAAI,EAAGA,EAAI2F,EAAMzF,OAAQF,IAAK,CACnC,MAAMqS,EAAaw7B,EAAeloC,EAAM3F,IACpCqS,IACAtN,GAAOsN,EAAa,IAE5B,MAEC,GAAIo7B,EAAS9nC,GACd,IAAK,MAAMsU,KAAQtU,EACXA,EAAMsU,KACNlV,GAAOkV,EAAO,KAI1B,OAAOlV,EAAI0M,MACf,CAkGA,SAASq8B,EAAmBr9B,EAAGC,GAC3B,GAAID,EAAEvQ,SAAWwQ,EAAExQ,OACf,OAAO,EACX,IAAI6tC,GAAQ,EACZ,IAAK,IAAI/tC,EAAI,EAAG+tC,GAAS/tC,EAAIyQ,EAAEvQ,OAAQF,IACnC+tC,EAAQC,EAAWv9B,EAAEzQ,GAAI0Q,EAAE1Q,IAE/B,OAAO+tC,CACX,CACA,SAASC,EAAWv9B,EAAGC,GACnB,GAAID,IAAMC,EACN,OAAO,EACX,IAAIu9B,EAAaC,EAAOz9B,GACpB09B,EAAaD,EAAOx9B,GACxB,GAAIu9B,GAAcE,EACd,SAAOF,IAAcE,IAAa19B,EAAE29B,YAAc19B,EAAE09B,UAIxD,GAFAH,EAAaI,EAAS59B,GACtB09B,EAAaE,EAAS39B,GAClBu9B,GAAcE,EACd,OAAO19B,IAAMC,EAIjB,GAFAu9B,EAAaX,EAAQ78B,GACrB09B,EAAab,EAAQ58B,GACjBu9B,GAAcE,EACd,SAAOF,IAAcE,IAAaL,EAAmBr9B,EAAGC,GAI5D,GAFAu9B,EAAaR,EAASh9B,GACtB09B,EAAaV,EAAS/8B,GAClBu9B,GAAcE,EAAY,CAE1B,IAAKF,IAAeE,EAChB,OAAO,EAEX,MAAMG,EAAapqC,OAAOkR,KAAK3E,GAAGvQ,OAC5BquC,EAAarqC,OAAOkR,KAAK1E,GAAGxQ,OAClC,GAAIouC,IAAeC,EACf,OAAO,EAEX,IAAK,MAAM3rC,KAAO6N,EAAG,CACjB,MAAM+9B,EAAU/9B,EAAEg+B,eAAe7rC,GAC3B8rC,EAAUh+B,EAAE+9B,eAAe7rC,GACjC,GAAK4rC,IAAYE,IACXF,GAAWE,IACZV,EAAWv9B,EAAE7N,GAAM8N,EAAE9N,IACtB,OAAO,CAEf,CACJ,CACA,OAAOuX,OAAO1J,KAAO0J,OAAOzJ,EAChC,CACA,SAASi+B,EAAa9pC,EAAKkH,GACvB,OAAOlH,EAAIimB,WAAUzI,GAAQ2rB,EAAW3rB,EAAMtW,IAClD,CAMA,MAAM6iC,EAAmB7iC,GACdwhC,EAASxhC,GACVA,EACO,MAAPA,EACI,GACAuhC,EAAQvhC,IACL0hC,EAAS1hC,KACLA,EAAI4e,WAAakkB,IAAmBC,EAAW/iC,EAAI4e,WACtDokB,KAAKC,UAAUjjC,EAAKkjC,EAAU,GAC9B90B,OAAOpO,GAEnBkjC,EAAW,CAACpjC,EAAME,IAEhBA,GAAOA,EAAItB,UACJwkC,EAASpjC,EAAME,EAAIpG,OAErBupC,EAAMnjC,GACJ,CACH,CAAC,OAAOA,EAAI1E,SAAU,IAAI0E,EAAIojC,WAAWC,QAAO,CAACD,GAAUvsC,EAAKmJ,MAC5DojC,EAAQ,GAAGvsC,QAAYmJ,EAChBojC,IACR,CAAC,IAGHE,EAAMtjC,GACJ,CACH,CAAC,OAAOA,EAAI1E,SAAU,IAAI0E,EAAIrI,YAG7B+pC,EAAS1hC,IAASuhC,EAAQvhC,IAASujC,EAAcvjC,GAGnDA,EAFIoO,OAAOpO,GAKhBwjC,EAEA,CAAC,EACDC,EAA0E,GAC1EC,EAAO,OAIP1jB,EAAK,KAAM,EACX2jB,EAAO,YACPC,EAAQ/sC,GAAQ8sC,EAAK3wB,KAAKnc,GAC1BuO,EAAmBvO,GAAQA,EAAIwO,WAAW,aAC1Cw+B,EAAS1rC,OAAOqoB,OAChBxO,EAAS,CAAClZ,EAAK+R,KACjB,MAAM5W,EAAI6E,EAAImL,QAAQ4G,GAClB5W,GAAK,GACL6E,EAAI+K,OAAO5P,EAAG,EAClB,EAEEyuC,EAAiBvqC,OAAO+6B,UAAUwP,eAClCoB,EAAS,CAAC9jC,EAAKnJ,IAAQ6rC,EAAetnC,KAAK4E,EAAKnJ,GAChD0qC,EAAU7hC,MAAM6hC,QAChB4B,EAASnjC,GAA8B,iBAAtB+jC,EAAa/jC,GAC9BsjC,EAAStjC,GAA8B,iBAAtB+jC,EAAa/jC,GAC9BmiC,EAAUniC,GAA8B,kBAAtB+jC,EAAa/jC,GAC/B+iC,EAAc/iC,GAAuB,oBAARA,EAC7BwhC,EAAYxhC,GAAuB,kBAARA,EAC3BsiC,EAAYtiC,GAAuB,kBAARA,EAC3B0hC,EAAY1hC,GAAgB,OAARA,GAA+B,kBAARA,EAC3CgkC,EAAahkC,GACR0hC,EAAS1hC,IAAQ+iC,EAAW/iC,EAAIiD,OAAS8/B,EAAW/iC,EAAIoB,OAE7D0hC,EAAiB3qC,OAAO+6B,UAAUtU,SAClCmlB,EAAgBnqC,GAAUkpC,EAAe1nC,KAAKxB,GAC9CqqC,EAAarqC,GAERmqC,EAAanqC,GAAO2L,MAAM,GAAI,GAEnCg+B,EAAiBvjC,GAA8B,oBAAtB+jC,EAAa/jC,GACtCkkC,EAAgBrtC,GAAQ2qC,EAAS3qC,IAC3B,QAARA,GACW,MAAXA,EAAI,IACJ,GAAKstC,SAASttC,EAAK,MAAQA,EACzButC,EAA+BvD,EAErC,uIAKMwD,EAAuB1wC,IACzB,MAAMuS,EAAQ/N,OAAOqT,OAAO,MAC5B,OAASs1B,IACL,MAAMwD,EAAMp+B,EAAM46B,GAClB,OAAOwD,IAAQp+B,EAAM46B,GAAOntC,EAAGmtC,GAClC,CAAC,EAEAyD,EAAa,SAIbC,EAAWH,GAAqBvD,GAC3BA,EAAIh6B,QAAQy9B,GAAY,CAACttB,EAAGtH,IAAOA,EAAIA,EAAE80B,cAAgB,OAE9DC,EAAc,aAIdC,EAAYN,GAAqBvD,GAAQA,EAAIh6B,QAAQ49B,EAAa,OAAO39B,gBAIzE69B,EAAaP,GAAqBvD,GAAQA,EAAI+D,OAAO,GAAGJ,cAAgB3D,EAAIv7B,MAAM,KAIlFu/B,EAAeT,GAAqBvD,GAAQA,EAAM,KAAK8D,EAAW9D,KAAS,KAE3EiE,EAAa,CAACnrC,EAAOnC,KAAcU,OAAO4tB,GAAGnsB,EAAOnC,GACpDutC,EAAiB,CAACC,EAAKhwB,KACzB,IAAK,IAAIhhB,EAAI,EAAGA,EAAIgxC,EAAI9wC,OAAQF,IAC5BgxC,EAAIhxC,GAAGghB,EACX,EAEEiwB,GAAM,CAACC,EAAKtuC,EAAK+C,KACnBzB,OAAO+gB,eAAeisB,EAAKtuC,EAAK,CAC5BqkB,cAAc,EACdD,YAAY,EACZrhB,SACF,EAEAwrC,GAAYplC,IACd,MAAMlL,EAAIuwC,WAAWrlC,GACrB,OAAOslC,MAAMxwC,GAAKkL,EAAMlL,CAAC,EAE7B,IAAIywC,GACJ,MAAMC,GAAgB,IACVD,KACHA,GACyB,qBAAfE,WACDA,WACgB,qBAAThlC,KACHA,KACkB,qBAAX81B,OACHA,OACkB,qBAAX,EAAAmP,EACH,EAAAA,EACA,CAAC,E,8FC1kB/B,MAAMC,EAAQR,GAAmC,IAA5BhtC,OAAOkR,KAAK87B,GAAKhxC,OAChC0vC,EAAS,CAAC+B,EAAc5E,IAC9B4E,EAAanyC,KAAKwF,MAAM2sC,EAAc5E,GAChC6E,EAAY,CAACC,EAAQC,KACzB,MAAMC,EAAYF,EAAOx4B,MAAM,IAC/B,OAAO04B,EAAU1tC,KAAI2tC,GAAQF,EAAOE,IAASA,IAAMtR,KAAK,GAAG,EAGvDuR,EAASpzB,GAAWA,EAAQrO,MAAK,CAAC0hC,EAAIC,IAAOD,EAAGlyC,EAAImyC,EAAGnyC,GAAKkyC,EAAG5b,EAAI6b,EAAG7b,IACtE8b,EAAwBC,IAC5B,MAAMlsC,EAAS,CAAC,EAChB,IAAImsC,EAAU,EAMd,OAJAD,EAAY1uC,SAAQ4uC,IAClBpsC,EAAOosC,GAAQD,EACfA,GAAW,CAAC,IAEPnsC,CAAM,ECjBf,IAAIqsC,EAAa,CACf,EAAG,CACH,CAAC,EAAG,GAAI,CAAC,EAAG,IAEZ,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,GAChB,CAAC,EAAG,IAEJ,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAGxB,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,GAAI,CAAC,EAAG,IAEhC,EAAG,CAAC,CAAC,EAAG,GAAI,CAAC,EAAG,KCVlB,MAAMC,EAAgB,KAChBC,EAAgB,IAChBC,EAAcH,EACdI,EAAyB,GACzBC,EAAsC,IACtCC,EAAmC,GACnCC,EAAkC,GAClCC,EAAiB,GAEjBC,EAAc,mCACdC,EAAY,mCAEZC,EAAY,oBACZC,EAAqB,qBACrBC,EAAY,oBACZC,EAAqB,qBACrBC,EAAY,iBACZC,EAAY,iBACZC,EAAiB,uBACjBC,EAAY,QACZC,GAAiB,IAAIvR,MAAOwR,cAC5BC,EAAU,CACdC,WAAY,6BCfd,MAAMC,EAqBJrpB,OAAM,SACJspB,IAEA,MAAMn1B,EAAU,IAAI5f,KAAKg1C,2BAA2BD,MAAc/0C,KAAKi1C,wBAAwBF,IACzFG,EAAkBl1C,KAAKm1C,YAAYv1B,GACzC,OAAOozB,EAAOkC,EAChB,CAEAD,wBAAwBF,GACtB,MAAMn1B,EAAU,GACVw1B,EAAyB,8CAE/B,IAAK,IAAIr0C,EAAI,EAAGA,GAAK21B,KAAK2e,IAAIN,EAAS9zC,OAAS,GAAIF,GAAK,EACvD,IAAK,IAAIs2B,EAAIt2B,EAAI,EAAGs2B,GAAKt2B,EAAI,EAAGs2B,GAAK,EAAG,CACtC,GAAIA,GAAK0d,EAAS9zC,OAChB,MAGF,MAAMq0C,EAAQP,EAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,KACpCke,EAAaH,EAAuBI,KAAKF,GAE/C,GAAkB,MAAdC,EAAoB,CACtB,MAAME,EAAMz1C,KAAK01C,0BAA0B,CAACzE,SAASsE,EAAW,GAAI,IAAKtE,SAASsE,EAAW,GAAI,IAAKtE,SAASsE,EAAW,GAAI,MAEnH,MAAPE,GACF71B,EAAQrf,KAAK,CACXsf,QAAS,OACTy1B,QACAv0C,IACAs2B,IACAse,UAAWJ,EAAW,GACtBK,KAAMH,EAAIG,KACVC,MAAOJ,EAAII,MACXC,IAAKL,EAAIK,KAGf,CACF,CAGF,OAAOl2B,CACT,CAGAo1B,2BAA2BD,GACzB,MAAMn1B,EAAU,GACVm2B,EAAuB,YAEvBC,EAASC,GAAavf,KAAK2e,IAAIY,EAAUL,KAAOlB,GAGtD,IAAK,IAAI3zC,EAAI,EAAGA,GAAK21B,KAAK2e,IAAIN,EAAS9zC,OAAS,GAAIF,GAAK,EACvD,IAAK,IAAIs2B,EAAIt2B,EAAI,EAAGs2B,GAAKt2B,EAAI,EAAGs2B,GAAK,EAAG,CACtC,GAAIA,GAAK0d,EAAS9zC,OAChB,MAGF,MAAMq0C,EAAQP,EAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,KAE1C,GAAI0e,EAAqBP,KAAKF,GAAQ,CACpC,MAAMY,EAAa,GACb71C,EAAQi1C,EAAMr0C,OACdk1C,EAAgBzC,EAAYrzC,GASlC,GARA81C,EAAczxC,SAAQ,EAAE6qB,EAAGvuB,MACzB,MAAMy0C,EAAMz1C,KAAK01C,0BAA0B,CAACzE,SAASqE,EAAMjjC,MAAM,EAAGkd,GAAI,IAAK0hB,SAASqE,EAAMjjC,MAAMkd,EAAGvuB,GAAI,IAAKiwC,SAASqE,EAAMjjC,MAAMrR,GAAI,MAE5H,MAAPy0C,GACFS,EAAW31C,KAAKk1C,EAClB,IAGES,EAAWj1C,OAAS,EAAG,CAUzB,IAAIm1C,EAAgBF,EAAW,GAC3BG,EAAcL,EAAOE,EAAW,IACpCA,EAAW7jC,MAAM,GAAG3N,SAAQuxC,IAC1B,MAAMK,EAAWN,EAAOC,GAEpBK,EAAWD,IACbD,EAAgBH,EAChBI,EAAcC,EAChB,IAEF12B,EAAQrf,KAAK,CACXsf,QAAS,OACTy1B,QACAv0C,IACAs2B,IACAse,UAAW,GACXC,KAAMQ,EAAcR,KACpBC,MAAOO,EAAcP,MACrBC,IAAKM,EAAcN,KAEvB,CACF,CACF,CAGF,OAAOl2B,CACT,CAYAu1B,YAAYv1B,GACV,OAAOA,EAAQza,QAAOsmB,IACpB,IAAI8qB,GAAa,EACjB,MAAMC,EAAgB52B,EAAQ3e,OAE9B,IAAK,IAAIq4B,EAAI,EAAGA,EAAIkd,EAAeld,GAAK,EAAG,CACzC,MAAMmd,EAAa72B,EAAQ0Z,GAE3B,GAAI7N,IAAUgrB,GACRA,EAAW11C,GAAK0qB,EAAM1qB,GAAK01C,EAAWpf,GAAK5L,EAAM4L,EAAG,CACtDkf,GAAa,EACb,KACF,CAEJ,CAEA,OAAQA,CAAU,GAEtB,CAcAb,0BAA0BgB,GACxB,GAAIA,EAAS,GAAK,IAAMA,EAAS,IAAM,EACrC,OAAO,KAGT,IAAIC,EAAS,EACTC,EAAS,EACTC,EAAS,EAEb,IAAK,IAAIvd,EAAI,EAAGwd,EAAOJ,EAASz1C,OAAQq4B,EAAIwd,EAAMxd,GAAK,EAAG,CACxD,MAAMyd,EAAML,EAASpd,GAErB,GAAIyd,EAAM,IAAMA,EAAMtD,GAAiBsD,EAAMvD,EAC3C,OAAO,KAGLuD,EAAM,KACRH,GAAU,GAGRG,EAAM,KACRJ,GAAU,GAGRI,GAAO,IACTF,GAAU,EAEd,CAEA,OAAID,GAAU,GAAgB,IAAXD,GAAgBE,GAAU,EACpC,KAGF72C,KAAKg3C,YAAYN,EAC1B,CAGAM,YAAYN,GAEV,MAAMO,EAAqB,CAAC,CAACP,EAAS,GAAIA,EAASrkC,MAAM,EAAG,IAAK,CAACqkC,EAAS,GAAIA,EAASrkC,MAAM,EAAG,KAE3F6kC,EAA2BD,EAAmBh2C,OAEpD,IAAK,IAAIo2B,EAAI,EAAGA,EAAI6f,EAA0B7f,GAAK,EAAG,CACpD,MAAO8f,EAAGC,GAAQH,EAAmB5f,GAErC,GAAIoc,GAAiB0D,GAAKA,GAAK3D,EAAe,CAC5C,MAAM6D,EAAKr3C,KAAKs3C,sBAAsBF,GAEtC,OAAU,MAANC,EACK,CACLzB,KAAMuB,EACNtB,MAAOwB,EAAGxB,MACVC,IAAKuB,EAAGvB,KAUL,IACT,CACF,CAIA,IAAK,IAAIvmB,EAAI,EAAGA,EAAI2nB,EAA0B3nB,GAAK,EAAG,CACpD,MAAO4nB,EAAGC,GAAQH,EAAmB1nB,GAC/B8nB,EAAKr3C,KAAKs3C,sBAAsBF,GAEtC,GAAU,MAANC,EACF,MAAO,CACLzB,KAAM51C,KAAKu3C,mBAAmBJ,GAC9BtB,MAAOwB,EAAGxB,MACVC,IAAKuB,EAAGvB,IAGd,CAEA,OAAO,IACT,CAEAwB,sBAAsBZ,GACpB,MAAMc,EAAO,CAACd,EAAUA,EAASrkC,QAAQolC,WAEzC,IAAK,IAAI12C,EAAI,EAAGA,EAAIy2C,EAAKv2C,OAAQF,GAAK,EAAG,CACvC,MAAMwU,EAAOiiC,EAAKz2C,GACZ+0C,EAAMvgC,EAAK,GACXsgC,EAAQtgC,EAAK,GAEnB,GAAIugC,GAAO,GAAKA,GAAO,IAAMD,GAAS,GAAKA,GAAS,GAClD,MAAO,CACLC,MACAD,QAGN,CAEA,OAAO,IACT,CAEA0B,mBAAmB3B,GACjB,OAAIA,EAAO,GACFA,EAGLA,EAAO,GAEFA,EAAO,KAITA,EAAO,GAChB,ECnSF,MAAM8B,EAAM,IAAIC,YAAY,OAEtBC,EAAW,CAACpmC,EAAGC,KACnB,MAAM7P,EAAI4P,EAAEvQ,OACN8nB,EAAItX,EAAExQ,OACN42C,EAAM,GAAKj2C,EAAI,EACrB,IAAIk2C,GAAM,EACNC,EAAK,EACLC,EAAKp2C,EACLb,EAAIa,EAER,MAAOb,IACL22C,EAAIlmC,EAAEymC,WAAWl3C,KAAO,GAAKA,EAG/B,IAAKA,EAAI,EAAGA,EAAIgoB,EAAGhoB,IAAK,CACtB,IAAIm3C,EAAKR,EAAIjmC,EAAEwmC,WAAWl3C,IAC1B,MAAMo3C,EAAKD,EAAKH,EAChBG,IAAOA,EAAKJ,GAAMA,EAAKA,EACvBC,KAAQG,EAAKJ,GACbA,GAAMI,EAEFH,EAAKF,GACPG,IAGEF,EAAKD,GACPG,IAGFD,EAAKA,GAAM,EAAI,EACfD,EAAKA,GAAM,IAAMK,EAAKJ,GACtBA,GAAMI,CACR,CAEAp3C,EAAIa,EAEJ,MAAOb,IACL22C,EAAIlmC,EAAEymC,WAAWl3C,IAAM,EAGzB,OAAOi3C,CAAE,EAGLI,EAAU,CAAC3mC,EAAGD,KAClB,MAAM5P,EAAI4P,EAAEvQ,OACN8nB,EAAItX,EAAExQ,OACNo3C,EAAM,GACNC,EAAM,GACNC,EAAQ7hB,KAAK8hB,KAAK52C,EAAI,IACtB62C,EAAQ/hB,KAAK8hB,KAAKzvB,EAAI,IAE5B,IAAK,IAAIhoB,EAAI,EAAGA,EAAIw3C,EAAOx3C,IACzBu3C,EAAIv3C,IAAM,EACVs3C,EAAIt3C,GAAK,EAGX,IAAIs2B,EAAI,EAER,KAAOA,EAAIohB,EAAQ,EAAGphB,IAAK,CACzB,IAAI0gB,EAAK,EACLD,GAAM,EACV,MAAM3nC,EAAY,GAAJknB,EACRqhB,EAAOhiB,KAAKC,IAAI,GAAI5N,GAAK5Y,EAE/B,IAAK,IAAIof,EAAIpf,EAAOof,EAAImpB,EAAMnpB,IAC5BmoB,EAAIjmC,EAAEwmC,WAAW1oB,KAAO,GAAKA,EAG/B,IAAK,IAAIxuB,EAAI,EAAGA,EAAIa,EAAGb,IAAK,CAC1B,MAAMm3C,EAAKR,EAAIlmC,EAAEymC,WAAWl3C,IACtB43C,EAAKL,EAAIv3C,EAAI,GAAK,KAAOA,EAAI,GAAK,EAClC63C,EAAKP,EAAIt3C,EAAI,GAAK,KAAOA,EAAI,GAAK,EAClCo3C,EAAKD,EAAKH,EACVc,IAAOX,EAAKU,GAAMd,GAAMA,EAAKA,EAAKI,EAAKU,EAC7C,IAAIE,EAAKf,IAAOc,EAAKf,GACjBiB,EAAKjB,EAAKe,EAEVC,IAAO,GAAKH,IACdL,EAAIv3C,EAAI,GAAK,IAAM,GAAKA,EAAI,IAG1Bg4C,IAAO,GAAKH,IACdP,EAAIt3C,EAAI,GAAK,IAAM,GAAKA,EAAI,IAG9B+3C,EAAKA,GAAM,EAAIH,EACfI,EAAKA,GAAM,EAAIH,EACfd,EAAKiB,IAAOZ,EAAKW,GACjBf,EAAKe,EAAKX,CACZ,CAEA,IAAK,IAAI5oB,EAAIpf,EAAOof,EAAImpB,EAAMnpB,IAC5BmoB,EAAIjmC,EAAEwmC,WAAW1oB,IAAM,CAE3B,CAEA,IAAIwoB,EAAK,EACLD,GAAM,EACV,MAAM3nC,EAAY,GAAJknB,EACRqhB,EAAOhiB,KAAKC,IAAI,GAAI5N,EAAI5Y,GAASA,EAEvC,IAAK,IAAIof,EAAIpf,EAAOof,EAAImpB,EAAMnpB,IAC5BmoB,EAAIjmC,EAAEwmC,WAAW1oB,KAAO,GAAKA,EAG/B,IAAIypB,EAAQjwB,EAEZ,IAAK,IAAIhoB,EAAI,EAAGA,EAAIa,EAAGb,IAAK,CAC1B,MAAMm3C,EAAKR,EAAIlmC,EAAEymC,WAAWl3C,IACtB43C,EAAKL,EAAIv3C,EAAI,GAAK,KAAOA,EAAI,GAAK,EAClC63C,EAAKP,EAAIt3C,EAAI,GAAK,KAAOA,EAAI,GAAK,EAClCo3C,EAAKD,EAAKH,EACVc,IAAOX,EAAKU,GAAMd,GAAMA,EAAKA,EAAKI,EAAKU,EAC7C,IAAIE,EAAKf,IAAOc,EAAKf,GACjBiB,EAAKjB,EAAKe,EACdG,GAASF,IAAO/vB,EAAI,GAAK,EAAI,EAC7BiwB,GAASD,IAAOhwB,EAAI,GAAK,EAAI,EAEzB+vB,IAAO,GAAKH,IACdL,EAAIv3C,EAAI,GAAK,IAAM,GAAKA,EAAI,IAG1Bg4C,IAAO,GAAKH,IACdP,EAAIt3C,EAAI,GAAK,IAAM,GAAKA,EAAI,IAG9B+3C,EAAKA,GAAM,EAAIH,EACfI,EAAKA,GAAM,EAAIH,EACfd,EAAKiB,IAAOZ,EAAKW,GACjBf,EAAKe,EAAKX,CACZ,CAEA,IAAK,IAAI5oB,EAAIpf,EAAOof,EAAImpB,EAAMnpB,IAC5BmoB,EAAIjmC,EAAEwmC,WAAW1oB,IAAM,EAGzB,OAAOypB,CAAK,EAGR1C,EAAW,CAAC9kC,EAAGC,KACnB,GAAID,EAAEvQ,OAASwQ,EAAExQ,OAAQ,CACvB,MAAM0tC,EAAMl9B,EACZA,EAAID,EACJA,EAAIm9B,CACN,CAEA,OAAiB,IAAbl9B,EAAExQ,OACGuQ,EAAEvQ,OAGPuQ,EAAEvQ,QAAU,GACP22C,EAASpmC,EAAGC,GAGd2mC,EAAQ5mC,EAAGC,EAAE,EC/JhBwnC,EAAmB,CAAClE,EAAUmE,EAAOC,KACzC,MAAMC,EAAoBrE,EAAS9zC,QAAUi4C,EAAMj4C,OAC7Co4C,EAAgCtE,EAAS9zC,QAAUk4C,EACnDG,EAA0BF,GAAqBC,EAErD,OAAOC,EAA0B5iB,KAAK8hB,KAAKzD,EAAS9zC,OAAS,GAAKk4C,CAAS,EAGvEI,EAA0B,CAACxE,EAAUyE,EAAkBL,KAC3D,IAAIM,EAAgB,EACpB,MAAMjP,EAAQvlC,OAAOkR,KAAKqjC,GAAkBE,MAAKR,IAC/C,MAAMS,EAAgBV,EAAiBlE,EAAUmE,EAAOC,GAClDS,EAAqBtD,EAASvB,EAAUmE,GACxCW,EAAgBD,GAAsBD,EAM5C,OAJIE,IACFJ,EAAgBG,GAGXC,CAAa,IAGtB,OAAIrP,EACK,CACLsP,oBAAqBL,EACrBM,yBAA0BvP,GAIvB,CAAC,CAAC,EC/BX,IAAIwP,EAAY,CACdxoC,EAAG,CAAC,IAAK,KACTC,EAAG,CAAC,KACJgL,EAAG,CAAC,IAAK,IAAK,IAAK,KACnBwiB,EAAG,CAAC,KACJuT,EAAG,CAAC,IAAK,KACTzxC,EAAG,CAAC,IAAK,IAAK,KACdC,EAAG,CAAC,IAAK,IAAK,KACds4B,EAAG,CAAC,KACJhgB,EAAG,CAAC,IAAK,KACTwS,EAAG,CAAC,IAAK,KACTmuB,EAAG,CAAC,KACJC,EAAG,CAAC,MCZFC,EAAkB,CACpBC,SAAU,CACRC,YAAa,cACbC,WAAY,aACZC,aAAc,eACdC,eAAgB,iBAChBC,UAAW,YACXC,YAAa,cACbC,MAAO,QACPC,OAAQ,SACRC,WAAY,aACZC,OAAQ,SACRC,gBAAiB,kBACjBC,aAAc,eACdC,kBAAmB,oBACnBC,YAAa,cACbC,WAAY,aACZC,MAAO,SAETC,YAAa,CACXC,KAAM,OACNC,aAAc,eACdC,aAAc,eACdC,eAAgB,iBAChBd,MAAO,QACPD,YAAa,cACbgB,gBAAiB,kBACjBjB,UAAW,YACXkB,SAAU,WACVC,sBAAuB,wBACvBC,YAAa,cACbC,SAAU,WACVC,OAAQ,SACRX,MAAO,SAETY,eAAgB,CACdC,SAAU,WACVC,OAAQ,SACRC,QAAS,UACTC,OAAQ,SACRC,QAAS,UACTC,KAAM,OACNC,MAAO,QACPzG,IAAK,MACL0G,KAAM,OACN3G,MAAO,QACP4G,OAAQ,SACR7G,KAAM,OACN8G,MAAO,QACPC,UAAW,cC7Cf,MAAMC,EACJ98C,cACEE,KAAK68C,SAAW,CAAC,EACjB78C,KAAKg6C,UAAYA,EACjBh6C,KAAK88C,WAAa,CAChB3B,WAAY,IAEdn7C,KAAK+8C,mBAAqB,CAAC,EAC3B/8C,KAAKg9C,aAAe7C,EACpBn6C,KAAKi9C,OAAS,CAAC,EACfj9C,KAAKk9C,gBAAkB,GACvBl9C,KAAKm9C,wBAAyB,EAC9Bn9C,KAAKo9C,qBAAuB,EAC5Bp9C,KAAKq9C,uBACP,CAEAC,WAAW3pC,EAAU,CAAC,GAChBA,EAAQqmC,YACVh6C,KAAKg6C,UAAYrmC,EAAQqmC,WAGvBrmC,EAAQmpC,aACV98C,KAAK88C,WAAanpC,EAAQmpC,WAC1B98C,KAAKq9C,yBAGH1pC,EAAQqpC,cACVh9C,KAAKu9C,gBAAgB5pC,EAAQqpC,cAG3BrpC,EAAQspC,SACVj9C,KAAKi9C,OAAStpC,EAAQspC,aAGel6C,IAAnC4Q,EAAQwpC,yBACVn9C,KAAKm9C,uBAAyBxpC,EAAQwpC,6BAGHp6C,IAAjC4Q,EAAQypC,uBACVp9C,KAAKo9C,qBAAuBzpC,EAAQypC,qBAExC,CAEAG,gBAAgBP,GACd,IAAIh9C,KAAKw9C,wBAAwBR,GAG/B,MAAM,IAAIS,MAAM,gDAFhBz9C,KAAKg9C,aAAeA,CAIxB,CAEAQ,wBAAwBR,GACtB,IAAIU,GAAQ,EAaZ,OAZAz4C,OAAOkR,KAAKgkC,GAAiBz1C,SAAQhB,IACnC,GAAIA,KAAQs5C,EAAc,CACxB,MAAMW,EAAkBj6C,EACxBuB,OAAOkR,KAAKgkC,EAAgBwD,IAAkBj5C,SAAQf,IAC9CA,KAAOq5C,EAAaW,KACxBD,GAAQ,EACV,GAEJ,MACEA,GAAQ,CACV,IAEKA,CACT,CAEAL,wBACE,MAAMN,EAAqB,CAAC,EAC5B93C,OAAOkR,KAAKnW,KAAK88C,YAAYp4C,SAAQsW,IACnC+hC,EAAmB/hC,GAAQhb,KAAK49C,oBAAoB5iC,EAAK,IAE3Dhb,KAAK+8C,mBAAqBA,CAC5B,CAEAa,oBAAoB5iC,GAClB,MAAM8yB,EAAO9tC,KAAK88C,WAAW9hC,GAE7B,GAAa,eAATA,EAAuB,CACzB,MAAM6iC,EAAkB,GAQxB,OAPA/P,EAAKppC,SAAQo5C,IACX,MAAMC,SAAmBD,EAEP,WAAdC,GAAwC,WAAdA,GAAwC,YAAdA,GACtDF,EAAgBt9C,KAAKu9C,EAAMpyB,WAAW7X,cACxC,IAEKs/B,EAAsB0K,EAC/B,CAEA,OAAO1K,EAAsBrF,EAC/B,CAEAkQ,2BAA2BlB,GACrB98C,KAAK88C,WAAW3B,WAClBn7C,KAAK88C,WAAW3B,WAAa,IAAIn7C,KAAK88C,WAAW3B,cAAe2B,GAEhE98C,KAAK88C,WAAW3B,WAAa2B,EAG/B98C,KAAK+8C,mBAAmB5B,WAAan7C,KAAK49C,oBAAoB,aAChE,CAEAK,WAAWjjC,EAAMkjC,GACXl+C,KAAK68C,SAAS7hC,GAChBhM,QAAQmvC,KAAK,0BAEbn+C,KAAK68C,SAAS7hC,GAAQkjC,CAE1B,EAGF,MAAME,EAAgB,IAAIxB,EChH1B,MAAMyB,EACJv+C,YAAYw+C,GACVt+C,KAAKs+C,aAAeA,CACtB,CAEA7yB,OAAM,SACJspB,IAEA,MAAMwJ,EAAmBxJ,EAAS36B,MAAM,IAAIq9B,UAAUhW,KAAK,IAC3D,OAAOzhC,KAAKs+C,aAAa,CACvBvJ,SAAUwJ,IACTn5C,KAAIqmB,IAAS,IAAMA,EACpB6pB,MAAO7pB,EAAM6pB,MAAMl7B,MAAM,IAAIq9B,UAAUhW,KAAK,IAC5C+c,UAAU,EAEVz9C,EAAGg0C,EAAS9zC,OAAS,EAAIwqB,EAAM4L,EAC/BA,EAAG0d,EAAS9zC,OAAS,EAAIwqB,EAAM1qB,KAEnC,ECdF,MAAM,EACJjB,YAAYw+C,GACVt+C,KAAKs+C,aAAeA,CACtB,CAEA7yB,OAAM,SACJspB,IAEA,MAAMn1B,EAAU,GACV6+B,EAAiBz+C,KAAK0+C,kBAAkB1+C,KAAK2+C,qBAAqB5J,EAAUqJ,EAAcpE,YAEhG,IAAK,IAAIj5C,EAAI,EAAGA,EAAI09C,EAAex9C,OAAQF,GAAK,EAAG,CACjD,MAAM69C,EAAMH,EAAe19C,GAE3B,GAAI0xC,EAAMmM,GACR,MAGF,MAAMC,EAAiBlM,EAAUoC,EAAU6J,GACrCE,EAAoB9+C,KAAKs+C,aAAa,CAC1CvJ,SAAU8J,IAEZC,EAAkBp6C,SAAQ+mB,IACxB,MAAM6pB,EAAQP,EAAS1iC,MAAMoZ,EAAM1qB,GAAI0qB,EAAM4L,EAAI,GAAK,KAEtD,GAAIie,EAAMzhC,gBAAkB4X,EAAMszB,YAAa,CAE7C,MAAMC,EAAW,CAAC,EAClB/5C,OAAOkR,KAAKyoC,GAAKl6C,SAAQu6C,IACvB,MAAMC,EAAMN,EAAIK,IAEkB,IAA9B3J,EAAMvkC,QAAQkuC,KAChBD,EAASC,GAAaC,EACxB,IAEF,MAAMC,EAAal6C,OAAOkR,KAAK6oC,GAAU55C,KAAImqB,GAAK,GAAGA,QAAQyvB,EAASzvB,OAAMkS,KAAK,MACjF7hB,EAAQrf,KAAK,IAAKkrB,EAChB6vB,MAAM,EACNhG,QACAsJ,IAAKI,EACLG,cAEJ,IAEJ,CAKA,OAAOv/B,EAAQza,QAAOsmB,GAASA,EAAM6pB,MAAMr0C,OAAS,GACtD,CAGA09C,qBAAqB5J,EAAUqK,GAC7B,MAAMC,EAAgB,CAAC,EACjBC,EAAW,CAAC,EAYlB,OAXAvK,EAAS36B,MAAM,IAAI1V,SAAQquC,IACzBsM,EAActM,IAAQ,CAAI,IAE5B9tC,OAAOkR,KAAKipC,GAAO16C,SAAQ66C,IACzB,MAAMC,EAAOJ,EAAMG,GACbE,EAAeD,EAAKr6C,QAAOy5C,GAAOA,KAAOS,IAE3CI,EAAax+C,OAAS,IACxBq+C,EAASC,GAAUE,EACrB,IAEKH,CACT,CAGAZ,kBAAkBU,GAChB,MAAMM,EAAYz6C,OAAOkR,KAAKipC,GACxBI,EAAOx/C,KAAK2/C,QAAQD,EAAW,CAAC,IAAKN,GAE3C,OAAOI,EAAKp6C,KAAIw5C,IACd,MAAMgB,EAAU,CAAC,EAIjB,OAHAhB,EAAIl6C,SAAQ,EAAEm7C,EAASX,MACrBU,EAAQC,GAAWX,CAAG,IAEjBU,CAAO,GAElB,CAEAD,QAAQxpC,EAAMqpC,EAAMJ,GAClB,IAAKjpC,EAAKlV,OACR,OAAOu+C,EAGT,MAAMM,EAAW3pC,EAAK,GAChB4pC,EAAW5pC,EAAK9D,MAAM,GACtB2tC,EAAW,GACjBZ,EAAMU,GAAUp7C,SAAQm7C,IACtBL,EAAK96C,SAAQk6C,IACX,IAAIqB,GAAgB,EAEpB,IAAK,IAAIl/C,EAAI,EAAGA,EAAI69C,EAAI39C,OAAQF,GAAK,EACnC,GAAI69C,EAAI79C,GAAG,KAAO8+C,EAAS,CACzBI,EAAel/C,EACf,KACF,CAGF,IAAsB,IAAlBk/C,EAAqB,CACvB,MAAMC,EAAetB,EAAIpoC,OAAO,CAAC,CAACqpC,EAASC,KAC3CE,EAASz/C,KAAK2/C,EAChB,KAAO,CACL,MAAMC,EAAiBvB,EAAIvsC,MAAM,GACjC8tC,EAAexvC,OAAOsvC,EAAc,GACpCE,EAAe5/C,KAAK,CAACs/C,EAASC,IAC9BE,EAASz/C,KAAKq+C,GACdoB,EAASz/C,KAAK4/C,EAChB,IACA,IAEJ,MAAMC,EAAUpgD,KAAKqgD,MAAML,GAE3B,OAAID,EAAS9+C,OACJjB,KAAK2/C,QAAQI,EAAUK,EAAShB,GAGlCgB,CACT,CAEAC,MAAMb,GACJ,MAAMluC,EAAU,GACVgvC,EAAU,CAAC,EAWjB,OAVAd,EAAK96C,SAAQk6C,IACX,MAAM2B,EAAQ3B,EAAIx5C,KAAI,CAACmqB,EAAGlvB,IAAU,CAACkvB,EAAGlvB,KACxCkgD,EAAMhvC,OACN,MAAMivC,EAAQD,EAAMn7C,KAAI,EAAEmqB,EAAG7nB,KAAO,GAAG6nB,KAAK7nB,MAAK+5B,KAAK,KAEhD+e,KAASF,IACbA,EAAQE,IAAS,EACjBlvC,EAAQ/Q,KAAKq+C,GACf,IAEKttC,CACT,EC7IF,MAAMmvC,EACJ3gD,cACEE,KAAKs7C,KAAO,IAAI,EAAUt7C,KAAKs+C,cAC/Bt+C,KAAKy3C,QAAU,IAAI4G,EAAYr+C,KAAKs+C,aACtC,CAEA7yB,OAAM,SACJspB,IAEA,MAAMn1B,EAAU,IAAI5f,KAAKs+C,aAAa,CACpCvJ,gBACK/0C,KAAKy3C,QAAQhsB,MAAM,CACxBspB,gBACK/0C,KAAKs7C,KAAK7vB,MAAM,CACrBspB,cAEF,OAAO/B,EAAOpzB,EAChB,CAEA0+B,cAAa,SACXvJ,IAEA,MAAMn1B,EAAU,GACV8gC,EAAiB3L,EAAS9zC,OAC1B0/C,EAAgB5L,EAASlhC,cAuC/B,OArCA5O,OAAOkR,KAAKioC,EAAcrB,oBAAoBr4C,SAAQk8C,IACpD,MAAMC,EAAazC,EAAcrB,mBAAmB6D,GAEpD,IAAK,IAAI7/C,EAAI,EAAGA,EAAI2/C,EAAgB3/C,GAAK,EACvC,IAAK,IAAIs2B,EAAIt2B,EAAGs2B,EAAIqpB,EAAgBrpB,GAAK,EAAG,CAC1C,MAAMypB,EAAeH,EAActuC,MAAMtR,GAAIs2B,EAAI,GAAK,KAChD0pB,EAAkBD,KAAgBD,EACxC,IAAIG,EAA2B,CAAC,EAGhC,MAAMC,EAAuB,IAANlgD,GAAWs2B,IAAMqpB,EAAiB,EAErDtC,EAAcjB,wBAA0B8D,IAAmBF,IAC7DC,EAA2BzH,EAAwBuH,EAAcD,EAAYzC,EAAchB,uBAG7F,MAAM8D,EAAsE,IAAjDj8C,OAAOkR,KAAK6qC,GAA0B//C,OAEjE,GAAI8/C,GAAkBG,EAAoB,CACxC,MAAMC,EAAmBD,EAAqBF,EAAyBjH,yBAA2B+G,EAC5FM,EAAOP,EAAWM,GACxBvhC,EAAQrf,KAAK,CACXsf,QAAS,aACT9e,IACAs2B,IACAie,MAAOP,EAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,KACnC0nB,YAAa+B,EACbM,OACAR,eAAgBA,EAChBpC,UAAU,EACVlD,MAAM,KACH0F,GAEP,CACF,CACF,IAEKphC,CACT,EC7DF,MAAMyhC,EACJ51B,OAAM,SACJspB,EAAQ,QACRuM,EAAU1M,IAEV,MAAMh1B,EAAU,GAmBhB,OAlBA3a,OAAOkR,KAAKmrC,GAAS58C,SAAQsW,IAC3B,MAAMumC,EAAQD,EAAQtmC,GACtBumC,EAAMC,UAAY,EAElB,MAAMjM,EAAagM,EAAM/L,KAAKT,GAE9B,GAAIQ,EAAY,CACd,MAAMD,EAAQC,EAAW,GACzB31B,EAAQrf,KAAK,CACXsf,QAAS,QACTy1B,QACAv0C,EAAGw0C,EAAWl1C,MACdg3B,EAAGke,EAAWl1C,MAAQk1C,EAAW,GAAGt0C,OAAS,EAC7CwgD,UAAWzmC,EACXu6B,cAEJ,KAEKvC,EAAOpzB,EAChB,EClCF,IAAI8hC,EAAQ,CAGVC,IAAI//C,EAAG2tB,GACL,IAAIqyB,EAAQhgD,EAEZ,GAAI2tB,EAAIqyB,EACN,OAAO,EAGT,GAAU,IAANryB,EACF,OAAO,EAGT,IAAIsyB,EAAQ,EAEZ,IAAK,IAAI9gD,EAAI,EAAGA,GAAKwuB,EAAGxuB,GAAK,EAC3B8gD,GAASD,EACTC,GAAS9gD,EACT6gD,GAAS,EAGX,OAAOC,CACT,EAEAC,MAAMlgD,GACJ,OAAO80B,KAAKqrB,IAAIngD,GAAK80B,KAAKqrB,IAAI,GAChC,EAEAC,KAAKpgD,GACH,OAAO80B,KAAKqrB,IAAIngD,GAAK80B,KAAKqrB,IAAI,EAChC,EAEAE,UAAUC,GACR,IAAIC,EAAO,EAEX,IAAK,IAAIphD,EAAI,EAAGA,GAAKmhD,EAAKnhD,GAAK,EAAGohD,GAAQphD,EAE1C,OAAOohD,CACT,GCrCEC,EAAoB,EACtB9M,YAEA,IAMI+M,EANAC,EAAU3O,GAA0B2B,EAAMr0C,OAe9C,OAbIqhD,IAAYr7C,OAAOs7C,oBACrBD,EAAUr7C,OAAOu7C,WAOjBH,EADmB,IAAjB/M,EAAMr0C,OACK4yC,EAAmC,EAEnCC,EAAkC,EAG1Cpd,KAAKqS,IAAIuZ,EAASD,EAC1B,ECnBGI,EAAc,EAChB7M,OACAD,gBAGA,MAAM+M,EAAYhsB,KAAKqS,IAAIrS,KAAK2e,IAAIO,EAAOlB,GAAiBX,GAC5D,IAAIuO,EAAsB,IAAZI,EAMd,OAJI/M,IACF2M,GAAW,GAGNA,CACR,ECZD,MAAMK,EAAgBC,IACpB,MAAMC,EAAYD,EAAYxoC,MAAM,IAC9B0oC,EAAiBD,EAAU19C,QAAO4tC,GAAQA,EAAKtnB,MAAM8oB,KAAYtzC,OACjE8hD,EAAiBF,EAAU19C,QAAO4tC,GAAQA,EAAKtnB,MAAM6oB,KAAYrzC,OACvE,IAAI+hD,EAAa,EACjB,MAAMC,EAAkBvsB,KAAKC,IAAImsB,EAAgBC,GAEjD,IAAK,IAAIhiD,EAAI,EAAGA,GAAKkiD,EAAiBliD,GAAK,EACzCiiD,GAActB,EAAMC,IAAImB,EAAiBC,EAAgBhiD,GAG3D,OAAOiiD,CAAU,EAGnB,IAAIE,EAAoB5P,IAEtB,MAAMsP,EAActP,EAAK1/B,QAAQ4gC,EAAgB,IAEjD,GAAIoO,EAAYn3B,MAAM4oB,IAAuBuO,EAAY/uC,gBAAkB+uC,EACzE,OAAO,EAMT,MAAMO,EAAc,CAACnP,EAAaC,EAAWE,GACvCiP,EAAoBD,EAAYliD,OAEtC,IAAK,IAAIF,EAAI,EAAGA,EAAIqiD,EAAmBriD,GAAK,EAAG,CAC7C,MAAMwgD,EAAQ4B,EAAYpiD,GAE1B,GAAI6hD,EAAYn3B,MAAM81B,GACpB,OAAO,CAEX,CAKA,OAAOoB,EAAcC,EACtB,ECzCD,MAAMS,EAAY,EAChB7D,OACA8D,SACAhO,YAEA,MAAMiO,EAAW/D,EAAK8D,GAEhBE,EAAOlO,EAAMzhC,cAAcuG,MAAM,IAEjCqpC,EAAcD,EAAKr+C,QAAO4tC,GAAQA,IAASuQ,IAAQriD,OAEnDyiD,EAAgBF,EAAKr+C,QAAO4tC,GAAQA,IAASwQ,IAAUtiD,OAC7D,MAAO,CACLwiD,cACAC,gBACD,EAGH,IAAIC,EAAc,EAChBrI,OACAsD,MACAtJ,YAEA,IAAKgG,EACH,OAAO,EAGT,IAAI0H,EAAa,EACjB,MAAMxD,EAAOZ,EA6Bb,OA5BA35C,OAAOkR,KAAKqpC,GAAM96C,SAAQ4+C,IACxB,MAAM,YACJG,EAAW,cACXC,GACEL,EAAU,CACZ7D,OACA8D,SACAhO,UAGF,GAAoB,IAAhBmO,GAAuC,IAAlBC,EAIvBV,GAAc,MACT,CAGL,MAAMlzC,EAAI4mB,KAAKC,IAAI+sB,EAAeD,GAClC,IAAIG,EAAgB,EAEpB,IAAK,IAAI7iD,EAAI,EAAGA,GAAK+O,EAAG/O,GAAK,EAC3B6iD,GAAiBlC,EAAMC,IAAI+B,EAAgBD,EAAa1iD,GAG1DiiD,GAAcY,CAChB,KAEKZ,CACR,ECzDGa,EAAoB,EACtBzC,OACA5C,WACAlD,OACAsD,MACAtJ,YAEA,MAAMwO,EAAc1C,EAEd2C,EAAsBb,EAAiB5N,GACvC0O,EAAiBL,EAAY,CACjCrI,OACAsD,MACAtJ,UAEI2O,EAAqBzF,EAAY,EAAK,EACtC0F,EAAcJ,EAAcC,EAAsBC,EAAiBC,EACzE,MAAO,CACLH,cACAC,sBACAC,iBACAE,cAEH,ECxBGC,EAAe,EACjB1C,YACAlM,aACAD,YAEA,MAAM8O,EAAiB,CACrBC,WAAY,GACZC,WAAY,GACZC,MAAO,GACPC,aAAc,GACdC,OAAQ,GACRC,QAAS,IAGX,GAAIjD,KAAa2C,EACf,OAAOA,EAAe3C,IAAcnM,EAAMr0C,OAK5C,OAAQwgD,GACN,IAAK,aAGH,OAAO/qB,KAAKqS,IAAIrS,KAAK2e,IAAIpE,SAASsE,EAAW,GAAI,IAAMb,GAAiBX,GAG5E,OAAO,CACR,EC9BG4Q,EAAgB,EAClBb,cACAc,iBACId,EAAcc,ECHhBC,GAAkB,EACpBvP,QACAwP,gBAEA,MAAMC,EAAWzP,EAAM3D,OAAO,GAC9B,IAAImS,EAAc,EAClB,MAAMkB,EAAiB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAkBtD,OAfElB,EADEkB,EAAet0C,SAASq0C,GACZ,EACLA,EAASt5B,MAAM,MACV,GAIA,GAKXq5B,IACHhB,GAAe,GAGVA,EAAcxO,EAAMr0C,MAC5B,ECtBD,MAAMgkD,GAAoBC,IACxB,IAAIC,EAAU,EAMd,OALAlgD,OAAOkR,KAAK+uC,GAAOxgD,SAAQf,IACzB,MAAMyhD,EAAYF,EAAMvhD,GACxBwhD,GAAWC,EAAUjgD,QAAO+zC,KAAWA,IAAOj4C,MAAM,IAEtDkkD,GAAWlgD,OAAOirC,QAAQgV,GAAOjkD,OAC1BkkD,CAAO,EAGVE,GAA2B,EAC/B/P,QACA4P,QACAI,YAEA,MAAMC,EAAmBtgD,OAAOkR,KAAKioC,EAAcnB,OAAOiI,IAAQjkD,OAC5DukD,EAAgBP,GAAkB7G,EAAcnB,OAAOiI,IAC7D,IAAI5C,EAAU,EACd,MAAMmD,EAAcnQ,EAAMr0C,OAE1B,IAAK,IAAIF,EAAI,EAAGA,GAAK0kD,EAAa1kD,GAAK,EAAG,CACxC,MAAM2kD,EAAgBhvB,KAAKC,IAAI2uB,EAAOvkD,EAAI,GAE1C,IAAK,IAAIs2B,EAAI,EAAGA,GAAKquB,EAAeruB,GAAK,EACvCirB,GAAWZ,EAAMC,IAAI5gD,EAAI,EAAGs2B,EAAI,GAAKkuB,EAAmBC,GAAiBnuB,CAE7E,CAEA,OAAOirB,CAAO,EAGhB,IAAIqD,GAAiB,EACnBT,QACA5P,QACAsQ,eACAN,YAEA,IAAIhD,EAAU+C,GAAyB,CACrC/P,QACA4P,QACAI,UAIF,GAAIM,EAAc,CAChB,MAAMC,EAAiBvQ,EAAMr0C,OAAS2kD,EAEtC,GAAqB,IAAjBA,GAAyC,IAAnBC,EACxBvD,GAAW,MACN,CACL,IAAIwD,EAAoB,EAExB,IAAK,IAAI/kD,EAAI,EAAGA,GAAK21B,KAAKC,IAAIivB,EAAcC,GAAiB9kD,GAAK,EAChE+kD,GAAqBpE,EAAMC,IAAIiE,EAAeC,EAAgB9kD,GAGhEuhD,GAAWwD,CACb,CACF,CAEA,OAAOpvB,KAAKqvB,MAAMzD,EACnB,ECrDD,MAAM0D,GAAgB,CAACv6B,EAAOspB,KAC5B,IAAIsN,EAAa,EAUjB,OARI52B,EAAM6pB,MAAMr0C,OAAS8zC,EAAS9zC,SAE9BohD,EADyB,IAAvB52B,EAAM6pB,MAAMr0C,OACD4yC,EAEAC,GAIVuO,CAAU,EAGbxF,GAAW,CACfoJ,WAAY7D,EACZ8D,KAAMzD,EACN3F,WAAY+G,EACZtC,MAAO4C,EACPgC,OAAQxB,EACRyB,SAAUvB,GACVwB,QAASV,IAGLW,GAAa,CAACtrC,EAAMyQ,IACpBoxB,GAAS7hC,GACJ6hC,GAAS7hC,GAAMyQ,GAGpB2yB,EAAcvB,SAAS7hC,IAAS,YAAaojC,EAAcvB,SAAS7hC,GAC/DojC,EAAcvB,SAAS7hC,GAAMurC,QAAQ96B,GAGvC,EAMT,IAAI+6B,GAAkB,CAAE/6B,EAAOspB,KAC7B,MAAM0R,EAAY,CAAC,EAEnB,GAAI,YAAah7B,GAA0B,MAAjBA,EAAM62B,QAC9B,OAAO72B,EAGT,MAAM42B,EAAa2D,GAAcv6B,EAAOspB,GAClC2R,EAAmBJ,GAAW76B,EAAM5L,QAAS4L,GACnD,IAAI62B,EAAU,EAEkB,kBAArBoE,EACTpE,EAAUoE,EACiB,eAAlBj7B,EAAM5L,UACfyiC,EAAUoE,EAAiBxC,YAC3BuC,EAAU3C,YAAc4C,EAAiB5C,YACzC2C,EAAU1C,oBAAsB2C,EAAiB3C,oBACjD0C,EAAUzC,eAAiB0C,EAAiB1C,gBAG9C,MAAM2C,EAAejwB,KAAKqS,IAAIuZ,EAASD,GACvC,MAAO,IAAK52B,KACPg7B,EACHnE,QAASqE,EACTC,aAAclF,EAAMI,MAAM6E,GAE7B,ECxED,MAAME,GAAgB,CACpB9R,SAAU,GACV+R,QAAS,CAAC,EACVC,iBAAiB,EAEjBC,UAAU5+C,EAAM6+C,GACd,MAAM//C,EAAS,GAEf,IAAK,IAAInG,EAAI,EAAGA,EAAIqH,EAAMrH,GAAK,EAAG,CAChC,IAAI2F,EAAQ,GAEM,WAAdugD,IACFvgD,EAAQ,CAAC,GAGXQ,EAAO3G,KAAKmG,EACd,CAEA,OAAOQ,CACT,EAGAggD,oBAAoBnmD,EAAGs2B,GACrB,MAAO,CACLxX,QAAS,aACTy1B,MAAOt1C,KAAK+0C,SAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,KACxCt2B,IACAs2B,IAEJ,EAKA7Z,OAAOiO,EAAO07B,GACZ,MAAM53B,EAAI9D,EAAM4L,EACV+vB,EAAiBZ,GAAgB/6B,EAAOzrB,KAAK+0C,UACnD,IAAIsS,EAAKD,EAAe9E,QAEpB6E,EAAiB,IAKnBE,GAAMrnD,KAAK8mD,QAAQO,GAAGD,EAAermD,EAAI,GAAGomD,EAAiB,IAI/D,IAAI3U,EAAIkP,EAAMO,UAAUkF,GAAkBE,EAErCrnD,KAAK+mD,kBACRvU,GAAKoB,IAAwCuT,EAAiB,IAOhE,IAAIG,GAAa,EACjBriD,OAAOkR,KAAKnW,KAAK8mD,QAAQtU,EAAEjjB,IAAI7qB,SAAQ6iD,IACrC,MAAMC,EAAuBxnD,KAAK8mD,QAAQtU,EAAEjjB,GAAGg4B,GAE3CtW,SAASsW,EAAwB,KAAOJ,GACtCK,GAAwBhV,IAC1B8U,GAAa,EAEjB,IAGGA,IAEHtnD,KAAK8mD,QAAQtU,EAAEjjB,GAAG43B,GAAkB3U,EACpCxyC,KAAK8mD,QAAQ/9B,EAAEwG,GAAG43B,GAAkBC,EACpCpnD,KAAK8mD,QAAQO,GAAG93B,GAAG43B,GAAkBE,EAEzC,EAGAI,iBAAiBC,GAEf,IAAIj8B,EAAQzrB,KAAKknD,oBAAoB,EAAGQ,GACxC1nD,KAAKwd,OAAOiO,EAAO,GAEnB,IAAK,IAAI1qB,EAAI,EAAGA,GAAK2mD,EAAmB3mD,GAAK,EAAG,CAI9C0qB,EAAQzrB,KAAKknD,oBAAoBnmD,EAAG2mD,GACpC,MAAM/Y,EAAM3uC,KAAK8mD,QAAQ/9B,EAAEhoB,EAAI,GAE/BkE,OAAOkR,KAAKw4B,GAAKjqC,SAAQyiD,IACvB,MAAMQ,EAAYhZ,EAAIwY,GAKI,eAAtBQ,EAAU9nC,SAEZ7f,KAAKwd,OAAOiO,EAAOwlB,SAASkW,EAAgB,IAAM,EACpD,GAEJ,CACF,EAIAS,OAAOlH,GACL,MAAMmH,EAAuB,GAC7B,IAAIt4B,EAAImxB,EAAiB,EAErByG,EAAiB,EAEjB3U,EAAI,SACR,MAAMgF,EAAOx3C,KAAK8mD,QAAQtU,EAAEjjB,GAExBioB,GACFvyC,OAAOkR,KAAKqhC,GAAM9yC,SAAQojD,IACxB,MAAMC,EAAuBvQ,EAAKsQ,GAE9BC,EAAuBvV,IACzB2U,EAAiBlW,SAAS6W,EAAyB,IACnDtV,EAAIuV,EACN,IAIJ,MAAOx4B,GAAK,EAAG,CACb,MAAM9D,EAAQzrB,KAAK8mD,QAAQ/9B,EAAEwG,GAAG43B,GAChCU,EAAqB9mC,QAAQ0K,GAC7B8D,EAAI9D,EAAM1qB,EAAI,EACdomD,GAAkB,CACpB,CAEA,OAAOU,CACT,GAGF,IAAItB,GAAU,CAiCZyB,2BAA2BjT,EAAUn1B,EAASmnC,GAAkB,GAC9DF,GAAc9R,SAAWA,EACzB8R,GAAcE,gBAAkBA,EAChC,MAAMrG,EAAiB3L,EAAS9zC,OAEhC,IAAIgnD,EAAuBpB,GAAcG,UAAUtG,EAAgB,SACnE9gC,EAAQlb,SAAQ+mB,IACdw8B,EAAqBx8B,EAAM4L,GAAG92B,KAAKkrB,EAAM,IAG3Cw8B,EAAuBA,EAAqB7iD,KAAIqmB,GAASA,EAAMla,MAAK,CAAC0hC,EAAIC,IAAOD,EAAGlyC,EAAImyC,EAAGnyC,MAC1F8lD,GAAcC,QAAU,CAOtB/9B,EAAG89B,GAAcG,UAAUtG,EAAgB,UAG3C2G,GAAIR,GAAcG,UAAUtG,EAAgB,UAE5ClO,EAAGqU,GAAcG,UAAUtG,EAAgB,WAG7C,IAAK,IAAInxB,EAAI,EAAGA,EAAImxB,EAAgBnxB,GAAK,EACvC04B,EAAqB14B,GAAG7qB,SAAQ+mB,IAC1BA,EAAM1qB,EAAI,EACZkE,OAAOkR,KAAK0wC,GAAcC,QAAQ/9B,EAAE0C,EAAM1qB,EAAI,IAAI2D,SAAQyiD,IACxDN,GAAcrpC,OAAOiO,EAAOwlB,SAASkW,EAAgB,IAAM,EAAE,IAG/DN,GAAcrpC,OAAOiO,EAAO,EAC9B,IAEFo7B,GAAcY,iBAAiBl4B,GAGjC,MAAMs4B,EAAuBhB,GAAce,OAAOlH,GAC5CwH,EAAwBL,EAAqB5mD,OAC7CqhD,EAAUtiD,KAAKmoD,WAAWpT,EAAUmT,GAC1C,MAAO,CACLnT,WACAuN,UACAsE,aAAclF,EAAMI,MAAMQ,GAC1B8D,SAAUyB,EAEd,EAEAM,WAAWpT,EAAUmT,GACnB,MAAMxH,EAAiB3L,EAAS9zC,OAChC,IAAIqhD,EAAU,EAQd,OALEA,EADsB,IAApBvN,EAAS9zC,OACD,EAEA4lD,GAAcC,QAAQtU,EAAEkO,EAAiB,GAAGwH,GAGjD5F,CACT,GCnOF,MAAM8F,GAEJ38B,OAAM,SACJspB,EAAQ,UACRsT,IAEA,MAAMzoC,EAAU,GAChB,IAAI4hC,EAAY,EAEhB,MAAOA,EAAYzM,EAAS9zC,OAAQ,CAClC,MAAMqnD,EAActoD,KAAKuoD,eAAexT,EAAUyM,GAC5CgH,EAAYxoD,KAAKyoD,aAAa1T,EAAUyM,GAE9C,GAAmB,MAAf8G,EACF,MAGF,MAAM,MACJ78B,EAAK,UACLi9B,GACE1oD,KAAK2oD,cAAcL,EAAaE,GAEpC,GAAI/8B,EAAO,CACT,MAAM4L,EAAI5L,EAAMprB,MAAQorB,EAAM,GAAGxqB,OAAS,EACpC6iD,EAAc9jD,KAAK4oD,eAAeF,EAAWL,GACnDzoC,EAAQrf,KAAKP,KAAK6oD,eAAeH,EAAWrxB,EAAG5L,EAAOq4B,IACtDtC,EAAYnqB,EAAI,CAClB,CACF,CAEA,MAAMyxB,EAAclpC,EAAQxJ,MAAKqV,GACxBA,aAAiB/b,UAG1B,OAAIo5C,EACKp5C,QAAQq5C,IAAInpC,GAGdA,CACT,CAGAipC,eAAeH,EAAWrxB,EAAG5L,EAAOq4B,GAClC,MAAMkF,EAAY,CAChBnpC,QAAS,SACT9e,EAAG0qB,EAAMprB,MACTg3B,IACAie,MAAO7pB,EAAM,GACbi9B,YACA5E,YAAa,EACbc,YAAan5B,EAAM,GAAGxqB,OAASynD,EAAUznD,QAG3C,OAAI6iD,aAAuBp0C,QAClBo0C,EAAY/zC,MAAKk5C,IACf,IAAKD,EACVlF,YAAamF,MAKZ,IAAKD,EACVlF,cAEJ,CAEAyE,eAAexT,EAAUyM,GACvB,MAAM0H,EAAS,WAEf,OADAA,EAAO1H,UAAYA,EACZ0H,EAAO1T,KAAKT,EACrB,CAEA0T,aAAa1T,EAAUyM,GACrB,MAAM3X,EAAO,YAEb,OADAA,EAAK2X,UAAYA,EACV3X,EAAK2L,KAAKT,EACnB,CAEA4T,cAAcL,EAAaE,GACzB,MAAMW,EAAe,aACrB,IAAI19B,EACAi9B,EAAY,GAEhB,GAAIF,GAAaF,EAAY,GAAGrnD,OAASunD,EAAU,GAAGvnD,OAAQ,CAI5DwqB,EAAQ68B,EAKR,MAAM9Q,EAAO2R,EAAa3T,KAAK/pB,EAAM,IAEjC+rB,IACFkR,EAAYlR,EAAK,GAErB,MAIE/rB,EAAQ+8B,EAEJ/8B,IACFi9B,EAAYj9B,EAAM,IAItB,MAAO,CACLA,QACAi9B,YAEJ,CAEAE,eAAeF,EAAWL,GACxB,MAAMzoC,EAAUyoC,EAAU58B,MAAMi9B,GAEhC,GAAI9oC,aAAmBlQ,QACrB,OAAOkQ,EAAQ7P,MAAKq5C,IAClB,MAAMC,EAAe9C,GAAQyB,2BAA2BU,EAAWU,GACnE,OAAOC,EAAa/G,OAAO,IAI/B,MAAM+G,EAAe9C,GAAQyB,2BAA2BU,EAAW9oC,GACnE,OAAOypC,EAAa/G,OACtB,EC9HF,MAAMgH,GACJxpD,cACEE,KAAKupD,UAAY,CACnB,CAGA99B,OAAM,SACJspB,IAgBA,MAAM7tC,EAAS,GAEf,GAAwB,IAApB6tC,EAAS9zC,OACX,MAAO,GAGT,IAAIF,EAAI,EACJyoD,EAAY,KAChB,MAAM9I,EAAiB3L,EAAS9zC,OAEhC,IAAK,IAAIsuB,EAAI,EAAGA,EAAImxB,EAAgBnxB,GAAK,EAAG,CAC1C,MAAMk6B,EAAQ1U,EAASkD,WAAW1oB,GAAKwlB,EAASkD,WAAW1oB,EAAI,GAM/D,GAJiB,MAAbi6B,IACFA,EAAYC,GAGVA,IAAUD,EAAW,CACvB,MAAMnyB,EAAI9H,EAAI,EACdvvB,KAAKwd,OAAO,CACVzc,IACAs2B,IACAoyB,MAAOD,EACPzU,WACA7tC,WAEFnG,EAAIs2B,EACJmyB,EAAYC,CACd,CACF,CASA,OAPAzpD,KAAKwd,OAAO,CACVzc,IACAs2B,EAAGqpB,EAAiB,EACpB+I,MAAOD,EACPzU,WACA7tC,WAEKA,CACT,CAEAsW,QAAO,EACLzc,EAAC,EACDs2B,EAAC,MACDoyB,EAAK,SACL1U,EAAQ,OACR7tC,IAEA,GAAImwB,EAAIt2B,EAAI,GAAyB,IAApB21B,KAAK2e,IAAIoU,GAAc,CACtC,MAAMC,EAAgBhzB,KAAK2e,IAAIoU,GAE/B,GAAIC,EAAgB,GAAKA,GAAiB1pD,KAAKupD,UAAW,CACxD,MAAMjU,EAAQP,EAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,MACpC,aACJsyB,EAAY,cACZC,GACE5pD,KAAK83B,YAAYwd,GACrB,OAAOpuC,EAAO3G,KAAK,CACjBsf,QAAS,WACT9e,IACAs2B,IACAie,MAAOP,EAAS1iC,MAAMtR,GAAIs2B,EAAI,GAAK,KACnCsyB,eACAC,gBACA9E,UAAW2E,EAAQ,GAEvB,CACF,CAEA,OAAO,IACT,CAEA3xB,YAAYwd,GAGV,IAAIqU,EAAe,UACfC,EAAgB,GAapB,OAXIxV,EAAUt0B,KAAKw1B,IACjBqU,EAAe,QACfC,EAAgB,IACP1V,EAAUp0B,KAAKw1B,IACxBqU,EAAe,QACfC,EAAgB,IACPnV,EAAU30B,KAAKw1B,KACxBqU,EAAe,SACfC,EAAgB,IAGX,CACLD,eACAC,gBAEJ,ECnHF,MAAMC,GACJ/pD,cACEE,KAAK8pD,WAAa,mDACpB,CAEAr+B,OAAM,SACJspB,IAEA,MAAMn1B,EAAU,GAKhB,OAJA3a,OAAOkR,KAAKioC,EAAcnB,QAAQv4C,SAAQqlD,IACxC,MAAM7E,EAAQ9G,EAAcnB,OAAO8M,GACnCpZ,EAAO/wB,EAAS5f,KAAKgqD,OAAOjV,EAAUmQ,EAAO6E,GAAW,IAEnD/W,EAAOpzB,EAChB,CAEAqqC,eAAeF,EAAWhV,EAAU10C,GAClC,OAAK0pD,EAAUr5C,SAAS,WACxB1Q,KAAK8pD,WAAWhqC,KAAKi1B,EAASpD,OAAOtxC,IAC5B,EAGF,CACT,CAGA2pD,OAAOjV,EAAUmQ,EAAO6E,GACtB,IAAInE,EACJ,MAAMhmC,EAAU,GAChB,IAAI7e,EAAI,EACR,MAAM2/C,EAAiB3L,EAAS9zC,OAEhC,MAAOF,EAAI2/C,EAAiB,EAAG,CAC7B,IAAIrpB,EAAIt2B,EAAI,EACRmpD,EAAgB,EAChB5E,EAAQ,EACZM,EAAe5lD,KAAKiqD,eAAeF,EAAWhV,EAAUh0C,GAExD,MAAO,EAAM,CACX,MAAMopD,EAAWpV,EAASpD,OAAOta,EAAI,GAC/B+yB,EAAYlF,EAAMiF,IAAa,GACrC,IAAI3f,GAAQ,EACR6f,GAAkB,EAClBC,GAAgB,EAEpB,GAAIjzB,EAAIqpB,EAAgB,CACtB,MAAM6J,EAAUxV,EAASpD,OAAOta,GAC1BmzB,EAAkBJ,EAAUnpD,OAElC,IAAK,IAAIsuB,EAAI,EAAGA,EAAIi7B,EAAiBj7B,GAAK,EAAG,CAC3C,MAAMk7B,EAAWL,EAAU76B,GAG3B,GAFA+6B,GAAgB,EAEZG,EAAU,CACZ,MAAMC,EAAgBD,EAAS15C,QAAQw5C,GAEvC,IAAuB,IAAnBG,EAAsB,CACxBlgB,GAAQ,EACR6f,EAAiBC,EAEK,IAAlBI,IAKF9E,GAAgB,GAIdsE,IAAkBG,IAIpB/E,GAAS,EACT4E,EAAgBG,GAGlB,KACF,CACF,CACF,CACF,CAGA,IAAI7f,EAEG,CAEDnT,EAAIt2B,EAAI,GACV6e,EAAQrf,KAAK,CACXsf,QAAS,UACT9e,IACAs2B,EAAGA,EAAI,EACPie,MAAOP,EAAS1iC,MAAMtR,EAAGs2B,GACzB6tB,MAAO6E,EACPzE,QACAM,iBAKJ7kD,EAAIs2B,EACJ,KACF,CAlBEA,GAAK,CAmBT,CACF,CAEA,OAAOzX,CACT,EC5GF,MAAM+qC,GACJ7qD,cACEE,KAAK68C,SAAW,CACdqJ,KAAMpR,EACNgI,WAAY2D,EACZc,MAAOF,EAEP8E,OAAQiC,GACRhC,SAAUkD,GACVjD,QAASwD,GAEb,CAEAp+B,MAAMspB,GACJ,MAAMn1B,EAAU,GACVgrC,EAAW,GACX/N,EAAW,IAAI53C,OAAOkR,KAAKnW,KAAK68C,aAAc53C,OAAOkR,KAAKioC,EAAcvB,WAuB9E,OAtBAA,EAASn4C,SAAQf,IACf,IAAK3D,KAAK68C,SAASl5C,KAASy6C,EAAcvB,SAASl5C,GACjD,OAGF,MAAMknD,EAAU7qD,KAAK68C,SAASl5C,GAAO3D,KAAK68C,SAASl5C,GAAOy6C,EAAcvB,SAASl5C,GAAKgnD,SAChFG,EAAc,IAAID,EAClB3jD,EAAS4jD,EAAYr/B,MAAM,CAC/BspB,WACAsT,UAAWroD,OAGTkH,aAAkBwI,SACpBxI,EAAO6I,MAAKg7C,IACVpa,EAAO/wB,EAASmrC,EAAS,IAE3BH,EAASrqD,KAAK2G,IAEdypC,EAAO/wB,EAAS1Y,EAClB,IAGE0jD,EAAS3pD,OAAS,EACb,IAAIyO,SAAQC,IACjBD,QAAQq5C,IAAI6B,GAAU76C,MAAK,KACzBJ,EAAQqjC,EAAOpzB,GAAS,GACxB,IAICozB,EAAOpzB,EAChB,ECvDF,MAAMorC,GAAS,EACTC,GAAkB,GAATD,GACTE,GAAgB,GAATD,GACPE,GAAa,GAAPD,GACNE,GAAc,GAAND,GACRE,GAAe,GAARD,GACPE,GAAiB,IAAPD,GACVE,GAAQ,CACZrP,OAAQ8O,GACR5O,OAAQ6O,GACR3O,KAAM4O,GACNpV,IAAKqV,GACLtV,MAAOuV,GACPxV,KAAMyV,GACNG,QAASF,IAQX,MAAMG,GACJ9Y,UAAU+Y,EAAYhlD,GACpB,IAAI/C,EAAM+nD,OAEI3oD,IAAV2D,GAAiC,IAAVA,IACzB/C,GAAO,KAGT,MAAM,eACJq4C,GACEoC,EAAcpB,aAClB,OAAOhB,EAAer4C,GAAKiQ,QAAQ,SAAU,GAAGlN,IAClD,CAEAilD,oBAAoBrJ,GAClB,MAAMsJ,EAAoB,CACxBC,2BAA4BvJ,GAAW,IAAM,MAC7CwJ,8BAA+BxJ,EAAU,GACzCyJ,+BAAgCzJ,EAAU,IAC1C0J,gCAAiC1J,EAAU,MAEvC2J,EAAoB,CACxBJ,2BAA4B,GAC5BC,8BAA+B,GAC/BC,+BAAgC,GAChCC,gCAAiC,IAMnC,OAJA/mD,OAAOkR,KAAKy1C,GAAmBlnD,SAAQwnD,IACrC,MAAM/P,EAAUyP,EAAkBM,GAClCD,EAAkBC,GAAYlsD,KAAKmsD,YAAYhQ,EAAQ,IAElD,CACLyP,oBACAK,oBACAjT,MAAOh5C,KAAKosD,eAAe9J,GAE/B,CAEA8J,eAAe9J,GACb,MAAM+J,EAAQ,EAEd,OAAI/J,EAAU,IAAM+J,EAEX,EAGL/J,EAAU,IAAM+J,EAEX,EAGL/J,EAAU,IAAM+J,EAEX,EAGL/J,EAAU,KAAO+J,EAGZ,EAIF,CACT,CAEAF,YAAYhQ,GACV,IACI1zB,EADAijC,EAAa,YAEjB,MAAMY,EAAWrnD,OAAOkR,KAAKo1C,IACvBgB,EAAaD,EAASzgC,WAAU2gC,GAAQrQ,EAAUoP,GAAMiB,KAY9D,OAVID,GAAc,IAChBb,EAAaY,EAASC,EAAa,GAEhB,IAAfA,EACF9jC,EAAOiO,KAAKqvB,MAAM5J,EAAUoP,GAAMG,IAElCA,EAAa,YAIV1rD,KAAK2yC,UAAU+Y,EAAYjjC,EACpC,EC3GF,IAAI,GAAoB,IACf,KCCL,GAAc,KACT,CACLgkC,QAASrO,EAAcpB,aAAa5C,SAASO,MAC7CU,YAAa,CAAC+C,EAAcpB,aAAa3B,YAAYV,SCFzD,MAAM+R,GAA+B,CAACjhC,EAAOkhC,KAC3C,IAAIF,EAAU,GAcd,OAZIE,GAAgBlhC,EAAM6vB,MAAS7vB,EAAM+yB,SAQ9B/yB,EAAMm7B,cAAgB,IAC/B6F,EAAUrO,EAAcpB,aAAa5C,SAASW,iBAP5C0R,EADEhhC,EAAM21B,MAAQ,GACNhD,EAAcpB,aAAa5C,SAASQ,OACrCnvB,EAAM21B,MAAQ,IACbhD,EAAcpB,aAAa5C,SAASS,WAEpCuD,EAAcpB,aAAa5C,SAASU,OAM3C2R,CAAO,EAGVG,GAAgC,CAACnhC,EAAOkhC,KAC5C,IAAIF,EAAU,GAMd,OAJIE,IACFF,EAAUrO,EAAcpB,aAAa5C,SAASY,cAGzCyR,CAAO,EAGVI,GAA4B,CAACphC,EAAOkhC,IACpCA,EACKvO,EAAcpB,aAAa5C,SAASa,kBAGtCmD,EAAcpB,aAAa5C,SAASc,YAGvC4R,GAAuB,CAACrhC,EAAOkhC,KACnC,IAAIF,EAAU,GACd,MAAMM,EAAWthC,EAAMm1B,eACjBoM,EAAuB,cAAbD,GAA4BA,EAASl5C,cAAcnD,SAAS,cAY5E,MAViB,cAAbq8C,EACFN,EAAUC,GAA6BjhC,EAAOkhC,GACrCI,EAASr8C,SAAS,aAC3B+7C,EAAUG,GAA8BnhC,EAAOkhC,GACtCK,EACTP,EAAUI,GAA0BphC,EAAOkhC,GACrB,eAAbI,IACTN,EAAUrO,EAAcpB,aAAa5C,SAASe,YAGzCsR,CAAO,EAGhB,IAAI,GAAoB,CAAEhhC,EAAOkhC,KAC/B,MAAMF,EAAUK,GAAqBrhC,EAAOkhC,GACtCtR,EAAc,GACd/H,EAAO7nB,EAAM6pB,MAgBnB,OAdIhC,EAAK7nB,MAAMuoB,GACbqH,EAAY96C,KAAK69C,EAAcpB,aAAa3B,YAAYI,gBAC/CnI,EAAK7nB,MAAM0oB,IAAuBb,EAAKz/B,gBAAkBy/B,GAClE+H,EAAY96C,KAAK69C,EAAcpB,aAAa3B,YAAYG,cAGtD/vB,EAAM+yB,UAAY/yB,EAAM6pB,MAAMr0C,QAAU,GAC1Co6C,EAAY96C,KAAK69C,EAAcpB,aAAa3B,YAAYE,cAGtD9vB,EAAM6vB,MACRD,EAAY96C,KAAK69C,EAAcpB,aAAa3B,YAAYC,MAGnD,CACLmR,UACApR,cAEH,EC9EG,GAAgB5vB,GACM,eAApBA,EAAMg2B,UACD,CACLgL,QAASrO,EAAcpB,aAAa5C,SAASM,YAC7CW,YAAa,CAAC+C,EAAcpB,aAAa3B,YAAYX,YAAa0D,EAAcpB,aAAa3B,YAAYK,kBAItG,CACL+Q,QAAS,GACTpR,YAAa,ICVb,GAAiB5vB,IACnB,IAAIghC,EAAUrO,EAAcpB,aAAa5C,SAASI,eAMlD,OAJ+B,IAA3B/uB,EAAMi9B,UAAUznD,SAClBwrD,EAAUrO,EAAcpB,aAAa5C,SAASG,cAGzC,CACLkS,UACApR,YAAa,CAAC+C,EAAcpB,aAAa3B,YAAYM,UAExD,ECXG,GAAkB,KACb,CACL8Q,QAASrO,EAAcpB,aAAa5C,SAASK,UAC7CY,YAAa,CAAC+C,EAAcpB,aAAa3B,YAAYZ,aCHrD,GAAkBhvB,IACpB,IAAIghC,EAAUrO,EAAcpB,aAAa5C,SAASE,WAMlD,OAJoB,IAAhB7uB,EAAM65B,QACRmH,EAAUrO,EAAcpB,aAAa5C,SAASC,aAGzC,CACLoS,UACApR,YAAa,CAAC+C,EAAcpB,aAAa3B,YAAYO,uBAExD,ECJD,MAAMqR,GAAkB,CACtBR,QAAS,GACTpR,YAAa,IAQf,MAAM6R,GACJptD,cACEE,KAAK68C,SAAW,CACdoJ,WAAY,GACZC,KAAM,GACNpJ,WAAY,GACZyE,MAAO,GACP4E,OAAQ,GACRC,SAAU,GACVC,QAAS,IAEXrmD,KAAKitD,gBAAkB,CACrBR,QAAS,GACTpR,YAAa,IAEfr7C,KAAKmtD,uBACP,CAEAA,wBACEntD,KAAKitD,gBAAgB5R,YAAY96C,KAAK69C,EAAcpB,aAAa3B,YAAYS,SAAUsC,EAAcpB,aAAa3B,YAAYU,OAChI,CAEAqR,YAAYpU,EAAOoN,GACjB,GAAwB,IAApBA,EAASnlD,OACX,OAAOjB,KAAKitD,gBAGd,GAAIjU,EAAQ,EACV,OAAOiU,GAGT,MAAMI,EAAgBjP,EAAcpB,aAAa3B,YAAYQ,YACvDyR,EAAettD,KAAKutD,gBAAgBnH,GAC1C,IAAIoH,EAAWxtD,KAAKytD,iBAAiBH,EAAkC,IAApBlH,EAASnlD,QAe5D,OAbiB,OAAbusD,QAAkCzqD,IAAbyqD,GACvBA,EAASnS,YAAYt6B,QAAQssC,GAEL,MAApBG,EAASf,UACXe,EAASf,QAAU,KAGrBe,EAAW,CACTf,QAAS,GACTpR,YAAa,CAACgS,IAIXG,CACT,CAEAD,gBAAgBnH,GACd,IAAIkH,EAAelH,EAAS,GAC5B,MAAMsH,EAAiBtH,EAAS/zC,MAAM,GAMtC,OALAq7C,EAAehpD,SAAQ+mB,IACjBA,EAAM6pB,MAAMr0C,OAASqsD,EAAahY,MAAMr0C,SAC1CqsD,EAAe7hC,EACjB,IAEK6hC,CACT,CAEAG,iBAAiBhiC,EAAOkhC,GACtB,OAAI3sD,KAAK68C,SAASpxB,EAAM5L,SACf7f,KAAK68C,SAASpxB,EAAM5L,SAAS4L,EAAOkhC,GAGzCvO,EAAcvB,SAASpxB,EAAM5L,UAAY,aAAcu+B,EAAcvB,SAASpxB,EAAM5L,SAC/Eu+B,EAAcvB,SAASpxB,EAAM5L,SAAS2tC,SAAS/hC,EAAOkhC,GAGxDM,EACT,ECnFF,MAAMT,GAAO,KAAM,IAAIrpB,MAAOgM,UAExBwe,GAAoB,CAACvE,EAAiBrU,EAAU5kC,KACpD,MAAMq9C,EAAW,IAAIN,GACfU,EAAgB,IAAInC,GACpBoC,EAAgBtH,GAAQyB,2BAA2BjT,EAAUqU,GAC7D0E,EAAWtB,KAASr8C,EACpB49C,EAAcH,EAAcjC,oBAAoBkC,EAAcvL,SACpE,MAAO,CACLwL,cACGD,KACAE,EACHP,SAAUA,EAASJ,YAAYW,EAAY/U,MAAO6U,EAAczH,UACjE,EAGG4H,GAAO,CAACjZ,EAAUoG,KAClBA,GACFiD,EAAcJ,2BAA2B7C,GAG3C,MAAM8S,EAAW,IAAItD,GACrB,OAAOsD,EAASxiC,MAAMspB,EAAS,EAG3BmZ,GAAS,CAACnZ,EAAUoG,KACxB,MAAMhrC,EAAQq8C,KACR5sC,EAAUouC,GAAKjZ,EAAUoG,GAE/B,GAAIv7B,aAAmBlQ,QACrB,MAAM,IAAI+tC,MAAM,sEAGlB,OAAOkQ,GAAkB/tC,EAASm1B,EAAU5kC,EAAM,C,uBCzCpDg+C,EAAOC,QAAU,EAAjB,K,oCCEA,IAAI1M,EAAQ,EAAQ,MAChB2M,EAAS,EAAQ,MACjBC,EAAU,EAAQ,MAClBC,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,MACxBC,EAAe,EAAQ,MACvBC,EAAkB,EAAQ,MAC1BC,EAAc,EAAQ,MACtBC,EAAuB,EAAQ,MAC/BC,EAAS,EAAQ,MAErBV,EAAOC,QAAU,SAAoBv/C,GACnC,OAAO,IAAIa,SAAQ,SAA4BC,EAASm/C,GACtD,IAGIC,EAHAC,EAAcngD,EAAO0G,KACrB05C,EAAiBpgD,EAAOqgD,QACxBC,EAAetgD,EAAOsgD,aAE1B,SAAS7lD,IACHuF,EAAOugD,aACTvgD,EAAOugD,YAAYC,YAAYN,GAG7BlgD,EAAOygD,QACTzgD,EAAOygD,OAAOvrB,oBAAoB,QAASgrB,EAE/C,CAEIrN,EAAM6N,WAAWP,WACZC,EAAe,gBAGxB,IAAIO,EAAU,IAAIC,eAGlB,GAAI5gD,EAAO6gD,KAAM,CACf,IAAIC,EAAW9gD,EAAO6gD,KAAKC,UAAY,GACnC5a,EAAWlmC,EAAO6gD,KAAK3a,SAAW6a,SAASC,mBAAmBhhD,EAAO6gD,KAAK3a,WAAa,GAC3Fka,EAAea,cAAgB,SAAWC,KAAKJ,EAAW,IAAM5a,EAClE,CAEA,IAAIib,EAAWxB,EAAc3/C,EAAOohD,QAASphD,EAAOqhD,KAMpD,SAASC,IACP,GAAKX,EAAL,CAIA,IAAIY,EAAkB,0BAA2BZ,EAAUf,EAAae,EAAQa,yBAA2B,KACvGC,EAAgBnB,GAAiC,SAAjBA,GAA6C,SAAjBA,EACvCK,EAAQzE,SAA/ByE,EAAQe,aACNxF,EAAW,CACbx1C,KAAM+6C,EACNE,OAAQhB,EAAQgB,OAChBC,WAAYjB,EAAQiB,WACpBvB,QAASkB,EACTvhD,OAAQA,EACR2gD,QAASA,GAGXnB,GAAO,SAAkB3nD,GACvBiJ,EAAQjJ,GACR4C,GACF,IAAG,SAAiByE,GAClB+gD,EAAO/gD,GACPzE,GACF,GAAGyhD,GAGHyE,EAAU,IAvBV,CAwBF,CAmEA,GAnGAA,EAAQkB,KAAK7hD,EAAO9F,OAAOwoC,cAAegd,EAASyB,EAAUnhD,EAAO8hD,OAAQ9hD,EAAO+hD,mBAAmB,GAGtGpB,EAAQznB,QAAUl5B,EAAOk5B,QA+BrB,cAAeynB,EAEjBA,EAAQW,UAAYA,EAGpBX,EAAQqB,mBAAqB,WACtBrB,GAAkC,IAAvBA,EAAQsB,aAQD,IAAnBtB,EAAQgB,QAAkBhB,EAAQuB,aAAwD,IAAzCvB,EAAQuB,YAAYhgD,QAAQ,WAKjF+2B,WAAWqoB,EACb,EAIFX,EAAQwB,QAAU,WACXxB,IAILV,EAAOH,EAAY,kBAAmB9/C,EAAQ,eAAgB2gD,IAG9DA,EAAU,KACZ,EAGAA,EAAQyB,QAAU,WAGhBnC,EAAOH,EAAY,gBAAiB9/C,EAAQ,KAAM2gD,IAGlDA,EAAU,IACZ,EAGAA,EAAQ0B,UAAY,WAClB,IAAIC,EAAsBtiD,EAAOk5B,QAAU,cAAgBl5B,EAAOk5B,QAAU,cAAgB,mBACxFqpB,EAAeviD,EAAOuiD,cAAgBxC,EACtC//C,EAAOsiD,sBACTA,EAAsBtiD,EAAOsiD,qBAE/BrC,EAAOH,EACLwC,EACAtiD,EACAuiD,EAAaC,oBAAsB,YAAc,eACjD7B,IAGFA,EAAU,IACZ,EAKI9N,EAAM4P,uBAAwB,CAEhC,IAAIC,GAAa1iD,EAAO2iD,iBAAmB9C,EAAgBsB,KAAcnhD,EAAO4iD,eAC9EnD,EAAQoD,KAAK7iD,EAAO4iD,qBACpB1uD,EAEEwuD,IACFtC,EAAepgD,EAAO8iD,gBAAkBJ,EAE5C,CAGI,qBAAsB/B,GACxB9N,EAAMh9C,QAAQuqD,GAAgB,SAA0BniD,EAAKnJ,GAChC,qBAAhBqrD,GAAqD,iBAAtBrrD,EAAIkQ,qBAErCo7C,EAAetrD,GAGtB6rD,EAAQoC,iBAAiBjuD,EAAKmJ,EAElC,IAIG40C,EAAMmQ,YAAYhjD,EAAO2iD,mBAC5BhC,EAAQgC,kBAAoB3iD,EAAO2iD,iBAIjCrC,GAAiC,SAAjBA,IAClBK,EAAQL,aAAetgD,EAAOsgD,cAIS,oBAA9BtgD,EAAOijD,oBAChBtC,EAAQ1rB,iBAAiB,WAAYj1B,EAAOijD,oBAIP,oBAA5BjjD,EAAOkjD,kBAAmCvC,EAAQwC,QAC3DxC,EAAQwC,OAAOluB,iBAAiB,WAAYj1B,EAAOkjD,mBAGjDljD,EAAOugD,aAAevgD,EAAOygD,UAG/BP,EAAa,SAASkD,GACfzC,IAGLV,GAAQmD,GAAWA,GAAUA,EAAOvuD,KAAQ,IAAImrD,EAAO,YAAcoD,GACrEzC,EAAQ0C,QACR1C,EAAU,KACZ,EAEA3gD,EAAOugD,aAAevgD,EAAOugD,YAAY+C,UAAUpD,GAC/ClgD,EAAOygD,SACTzgD,EAAOygD,OAAO8C,QAAUrD,IAAelgD,EAAOygD,OAAOxrB,iBAAiB,QAASirB,KAI9EC,IACHA,EAAc,MAIhBQ,EAAQ6C,KAAKrD,EACf,GACF,C,oCCjNA,IAAItN,EAAQ,EAAQ,MAChB1xC,EAAO,EAAQ,MACfsiD,EAAQ,EAAQ,KAChBC,EAAc,EAAQ,MACtBC,EAAW,EAAQ,MAQvB,SAASC,EAAeC,GACtB,IAAInlC,EAAU,IAAI+kC,EAAMI,GACpB5kD,EAAWkC,EAAKsiD,EAAMtyB,UAAUwvB,QAASjiC,GAa7C,OAVAm0B,EAAM/Q,OAAO7iC,EAAUwkD,EAAMtyB,UAAWzS,GAGxCm0B,EAAM/Q,OAAO7iC,EAAUyf,GAGvBzf,EAASwK,OAAS,SAAgBq6C,GAChC,OAAOF,EAAeF,EAAYG,EAAeC,GACnD,EAEO7kD,CACT,CAGA,IAAI8kD,EAAQH,EAAeD,GAG3BI,EAAMN,MAAQA,EAGdM,EAAM/D,OAAS,EAAQ,MACvB+D,EAAMC,YAAc,EAAQ,MAC5BD,EAAME,SAAW,EAAQ,MACzBF,EAAMG,QAAU,gBAGhBH,EAAM7J,IAAM,SAAa6B,GACvB,OAAOl7C,QAAQq5C,IAAI6B,EACrB,EACAgI,EAAMI,OAAS,EAAQ,MAGvBJ,EAAMK,aAAe,EAAQ,MAE7B9E,EAAOC,QAAUwE,EAGjBzE,EAAOC,QAAP,WAAyBwE,C,gCChDzB,SAAS/D,EAAOqE,GACdlzD,KAAKkzD,QAAUA,CACjB,CAEArE,EAAO7uB,UAAUtU,SAAW,WAC1B,MAAO,UAAY1rB,KAAKkzD,QAAU,KAAOlzD,KAAKkzD,QAAU,GAC1D,EAEArE,EAAO7uB,UAAUmzB,YAAa,EAE9BhF,EAAOC,QAAUS,C,oCChBjB,IAAIA,EAAS,EAAQ,MAQrB,SAASgE,EAAYO,GACnB,GAAwB,oBAAbA,EACT,MAAM,IAAIC,UAAU,gCAGtB,IAAIC,EAEJtzD,KAAKuzD,QAAU,IAAI7jD,SAAQ,SAAyBC,GAClD2jD,EAAiB3jD,CACnB,IAEA,IAAI2lC,EAAQt1C,KAGZA,KAAKuzD,QAAQxjD,MAAK,SAASkiD,GACzB,GAAK3c,EAAMke,WAAX,CAEA,IAAIzyD,EACAC,EAAIs0C,EAAMke,WAAWvyD,OAEzB,IAAKF,EAAI,EAAGA,EAAIC,EAAGD,IACjBu0C,EAAMke,WAAWzyD,GAAGkxD,GAEtB3c,EAAMke,WAAa,IARU,CAS/B,IAGAxzD,KAAKuzD,QAAQxjD,KAAO,SAAS0jD,GAC3B,IAAIC,EAEAH,EAAU,IAAI7jD,SAAQ,SAASC,GACjC2lC,EAAM6c,UAAUxiD,GAChB+jD,EAAW/jD,CACb,IAAGI,KAAK0jD,GAMR,OAJAF,EAAQtB,OAAS,WACf3c,EAAM+Z,YAAYqE,EACpB,EAEOH,CACT,EAEAH,GAAS,SAAgBF,GACnB5d,EAAMqe,SAKVre,EAAMqe,OAAS,IAAI9E,EAAOqE,GAC1BI,EAAehe,EAAMqe,QACvB,GACF,CAKAd,EAAY7yB,UAAU4zB,iBAAmB,WACvC,GAAI5zD,KAAK2zD,OACP,MAAM3zD,KAAK2zD,MAEf,EAMAd,EAAY7yB,UAAUmyB,UAAY,SAAmB0B,GAC/C7zD,KAAK2zD,OACPE,EAAS7zD,KAAK2zD,QAIZ3zD,KAAKwzD,WACPxzD,KAAKwzD,WAAWjzD,KAAKszD,GAErB7zD,KAAKwzD,WAAa,CAACK,EAEvB,EAMAhB,EAAY7yB,UAAUqvB,YAAc,SAAqBwE,GACvD,GAAK7zD,KAAKwzD,WAAV,CAGA,IAAInzD,EAAQL,KAAKwzD,WAAWziD,QAAQ8iD,IACrB,IAAXxzD,GACFL,KAAKwzD,WAAW7iD,OAAOtQ,EAAO,EAHhC,CAKF,EAMAwyD,EAAYj6C,OAAS,WACnB,IAAIq5C,EACA3c,EAAQ,IAAIud,GAAY,SAAkBp2C,GAC5Cw1C,EAASx1C,CACX,IACA,MAAO,CACL64B,MAAOA,EACP2c,OAAQA,EAEZ,EAEA9D,EAAOC,QAAUyE,C,gCCpHjB1E,EAAOC,QAAU,SAAkB1nD,GACjC,SAAUA,IAASA,EAAMysD,WAC3B,C,mCCFA,IAAIzR,EAAQ,EAAQ,MAChB6M,EAAW,EAAQ,MACnBuF,EAAqB,EAAQ,KAC7BC,EAAkB,EAAQ,MAC1BxB,EAAc,EAAQ,MACtByB,EAAY,EAAQ,MAEpBC,EAAaD,EAAUC,WAM3B,SAAS3B,EAAMK,GACb3yD,KAAKwyD,SAAWG,EAChB3yD,KAAKk0D,aAAe,CAClB1E,QAAS,IAAIsE,EACb/I,SAAU,IAAI+I,EAElB,CAOAxB,EAAMtyB,UAAUwvB,QAAU,SAAiB2E,EAAatlD,GAG3B,kBAAhBslD,GACTtlD,EAASA,GAAU,CAAC,EACpBA,EAAOqhD,IAAMiE,GAEbtlD,EAASslD,GAAe,CAAC,EAG3BtlD,EAAS0jD,EAAYvyD,KAAKwyD,SAAU3jD,GAGhCA,EAAO9F,OACT8F,EAAO9F,OAAS8F,EAAO9F,OAAO8K,cACrB7T,KAAKwyD,SAASzpD,OACvB8F,EAAO9F,OAAS/I,KAAKwyD,SAASzpD,OAAO8K,cAErChF,EAAO9F,OAAS,MAGlB,IAAIqoD,EAAeviD,EAAOuiD,kBAELruD,IAAjBquD,GACF4C,EAAUI,cAAchD,EAAc,CACpCiD,kBAAmBJ,EAAW7C,aAAa6C,EAAWK,SACtDC,kBAAmBN,EAAW7C,aAAa6C,EAAWK,SACtDjD,oBAAqB4C,EAAW7C,aAAa6C,EAAWK,WACvD,GAIL,IAAIE,EAA0B,GAC1BC,GAAiC,EACrCz0D,KAAKk0D,aAAa1E,QAAQ9qD,SAAQ,SAAoCgwD,GACjC,oBAAxBA,EAAYC,UAA0D,IAAhCD,EAAYC,QAAQ9lD,KAIrE4lD,EAAiCA,GAAkCC,EAAYE,YAE/EJ,EAAwBzzC,QAAQ2zC,EAAYG,UAAWH,EAAYI,UACrE,IAEA,IAKIvB,EALAwB,EAA2B,GAO/B,GANA/0D,KAAKk0D,aAAanJ,SAASrmD,SAAQ,SAAkCgwD,GACnEK,EAAyBx0D,KAAKm0D,EAAYG,UAAWH,EAAYI,SACnE,KAIKL,EAAgC,CACnC,IAAIO,EAAQ,CAACjB,OAAiBhxD,GAE9ByJ,MAAMwzB,UAAUjf,QAAQhb,MAAMivD,EAAOR,GACrCQ,EAAQA,EAAMx+C,OAAOu+C,GAErBxB,EAAU7jD,QAAQC,QAAQd,GAC1B,MAAOmmD,EAAM/zD,OACXsyD,EAAUA,EAAQxjD,KAAKilD,EAAM7oB,QAAS6oB,EAAM7oB,SAG9C,OAAOonB,CACT,CAGA,IAAI0B,EAAYpmD,EAChB,MAAO2lD,EAAwBvzD,OAAQ,CACrC,IAAIi0D,EAAcV,EAAwBroB,QACtCgpB,EAAaX,EAAwBroB,QACzC,IACE8oB,EAAYC,EAAYD,EAI1B,CAHE,MAAOhmD,GACPkmD,EAAWlmD,GACX,KACF,CACF,CAEA,IACEskD,EAAUQ,EAAgBkB,EAG5B,CAFE,MAAOhmD,GACP,OAAOS,QAAQo/C,OAAO7/C,EACxB,CAEA,MAAO8lD,EAAyB9zD,OAC9BsyD,EAAUA,EAAQxjD,KAAKglD,EAAyB5oB,QAAS4oB,EAAyB5oB,SAGpF,OAAOonB,CACT,EAEAjB,EAAMtyB,UAAUo1B,OAAS,SAAgBvmD,GAEvC,OADAA,EAAS0jD,EAAYvyD,KAAKwyD,SAAU3jD,GAC7B0/C,EAAS1/C,EAAOqhD,IAAKrhD,EAAO8hD,OAAQ9hD,EAAO+hD,kBAAkBh9C,QAAQ,MAAO,GACrF,EAGA8tC,EAAMh9C,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BqE,GAE/EupD,EAAMtyB,UAAUj3B,GAAU,SAASmnD,EAAKrhD,GACtC,OAAO7O,KAAKwvD,QAAQ+C,EAAY1jD,GAAU,CAAC,EAAG,CAC5C9F,OAAQA,EACRmnD,IAAKA,EACL36C,MAAO1G,GAAU,CAAC,GAAG0G,OAEzB,CACF,IAEAmsC,EAAMh9C,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BqE,GAErEupD,EAAMtyB,UAAUj3B,GAAU,SAASmnD,EAAK36C,EAAM1G,GAC5C,OAAO7O,KAAKwvD,QAAQ+C,EAAY1jD,GAAU,CAAC,EAAG,CAC5C9F,OAAQA,EACRmnD,IAAKA,EACL36C,KAAMA,IAEV,CACF,IAEA44C,EAAOC,QAAUkE,C,mCCjJjB,IAAI5Q,EAAQ,EAAQ,MAEpB,SAASoS,IACP9zD,KAAKq1D,SAAW,EAClB,CAUAvB,EAAmB9zB,UAAUhS,IAAM,SAAa6mC,EAAWC,EAAUnhD,GAOnE,OANA3T,KAAKq1D,SAAS90D,KAAK,CACjBs0D,UAAWA,EACXC,SAAUA,EACVF,cAAajhD,GAAUA,EAAQihD,YAC/BD,QAAShhD,EAAUA,EAAQghD,QAAU,OAEhC30D,KAAKq1D,SAASp0D,OAAS,CAChC,EAOA6yD,EAAmB9zB,UAAUs1B,MAAQ,SAAeplD,GAC9ClQ,KAAKq1D,SAASnlD,KAChBlQ,KAAKq1D,SAASnlD,GAAM,KAExB,EAUA4jD,EAAmB9zB,UAAUt7B,QAAU,SAAiBjE,GACtDihD,EAAMh9C,QAAQ1E,KAAKq1D,UAAU,SAAwB7sC,GACzC,OAANA,GACF/nB,EAAG+nB,EAEP,GACF,EAEA2lC,EAAOC,QAAU0F,C,oCCnDjB,IAAIyB,EAAgB,EAAQ,MACxBC,EAAc,EAAQ,MAW1BrH,EAAOC,QAAU,SAAuB6B,EAASwF,GAC/C,OAAIxF,IAAYsF,EAAcE,GACrBD,EAAYvF,EAASwF,GAEvBA,CACT,C,oCCjBA,IAAIC,EAAe,EAAQ,KAY3BvH,EAAOC,QAAU,SAAqB8E,EAASrkD,EAAQ8mD,EAAMnG,EAASzE,GACpE,IAAI97C,EAAQ,IAAIwuC,MAAMyV,GACtB,OAAOwC,EAAazmD,EAAOJ,EAAQ8mD,EAAMnG,EAASzE,EACpD,C,oCCfA,IAAIrJ,EAAQ,EAAQ,MAChBkU,EAAgB,EAAQ,MACxB9C,EAAW,EAAQ,MACnBN,EAAW,EAAQ,MACnB3D,EAAS,EAAQ,MAKrB,SAASgH,EAA6BhnD,GAKpC,GAJIA,EAAOugD,aACTvgD,EAAOugD,YAAYwE,mBAGjB/kD,EAAOygD,QAAUzgD,EAAOygD,OAAO8C,QACjC,MAAM,IAAIvD,EAAO,WAErB,CAQAV,EAAOC,QAAU,SAAyBv/C,GACxCgnD,EAA6BhnD,GAG7BA,EAAOqgD,QAAUrgD,EAAOqgD,SAAW,CAAC,EAGpCrgD,EAAO0G,KAAOqgD,EAAc1tD,KAC1B2G,EACAA,EAAO0G,KACP1G,EAAOqgD,QACPrgD,EAAOinD,kBAITjnD,EAAOqgD,QAAUxN,EAAMqU,MACrBlnD,EAAOqgD,QAAQpU,QAAU,CAAC,EAC1BjsC,EAAOqgD,QAAQrgD,EAAO9F,SAAW,CAAC,EAClC8F,EAAOqgD,SAGTxN,EAAMh9C,QACJ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAA2BqE,UAClB8F,EAAOqgD,QAAQnmD,EACxB,IAGF,IAAIitD,EAAUnnD,EAAOmnD,SAAWxD,EAASwD,QAEzC,OAAOA,EAAQnnD,GAAQkB,MAAK,SAA6Bg7C,GAWvD,OAVA8K,EAA6BhnD,GAG7Bk8C,EAASx1C,KAAOqgD,EAAc1tD,KAC5B2G,EACAk8C,EAASx1C,KACTw1C,EAASmE,QACTrgD,EAAOonD,mBAGFlL,CACT,IAAG,SAA4B4I,GAe7B,OAdKb,EAASa,KACZkC,EAA6BhnD,GAGzB8kD,GAAUA,EAAO5I,WACnB4I,EAAO5I,SAASx1C,KAAOqgD,EAAc1tD,KACnC2G,EACA8kD,EAAO5I,SAASx1C,KAChBo+C,EAAO5I,SAASmE,QAChBrgD,EAAOonD,qBAKNvmD,QAAQo/C,OAAO6E,EACxB,GACF,C,+BC1EAxF,EAAOC,QAAU,SAAsBn/C,EAAOJ,EAAQ8mD,EAAMnG,EAASzE,GA6BnE,OA5BA97C,EAAMJ,OAASA,EACX8mD,IACF1mD,EAAM0mD,KAAOA,GAGf1mD,EAAMugD,QAAUA,EAChBvgD,EAAM87C,SAAWA,EACjB97C,EAAMgkD,cAAe,EAErBhkD,EAAMinD,OAAS,WACb,MAAO,CAELhD,QAASlzD,KAAKkzD,QACdl4C,KAAMhb,KAAKgb,KAEXm7C,YAAan2D,KAAKm2D,YAClB5jD,OAAQvS,KAAKuS,OAEb6jD,SAAUp2D,KAAKo2D,SACfC,WAAYr2D,KAAKq2D,WACjBC,aAAct2D,KAAKs2D,aACnBC,MAAOv2D,KAAKu2D,MAEZ1nD,OAAQ7O,KAAK6O,OACb8mD,KAAM31D,KAAK21D,KACXnF,OAAQxwD,KAAK+qD,UAAY/qD,KAAK+qD,SAASyF,OAASxwD,KAAK+qD,SAASyF,OAAS,KAE3E,EACOvhD,CACT,C,oCCxCA,IAAIyyC,EAAQ,EAAQ,MAUpByM,EAAOC,QAAU,SAAqBoI,EAASC,GAE7CA,EAAUA,GAAW,CAAC,EACtB,IAAI5nD,EAAS,CAAC,EAEd,SAAS6nD,EAAejzD,EAAQmV,GAC9B,OAAI8oC,EAAMrR,cAAc5sC,IAAWi+C,EAAMrR,cAAcz3B,GAC9C8oC,EAAMqU,MAAMtyD,EAAQmV,GAClB8oC,EAAMrR,cAAcz3B,GACtB8oC,EAAMqU,MAAM,CAAC,EAAGn9C,GACd8oC,EAAMrT,QAAQz1B,GAChBA,EAAOvG,QAETuG,CACT,CAGA,SAAS+9C,EAAoBxrC,GAC3B,OAAKu2B,EAAMmQ,YAAY4E,EAAQtrC,IAEnBu2B,EAAMmQ,YAAY2E,EAAQrrC,SAA/B,EACEurC,OAAe3zD,EAAWyzD,EAAQrrC,IAFlCurC,EAAeF,EAAQrrC,GAAOsrC,EAAQtrC,GAIjD,CAGA,SAASyrC,EAAiBzrC,GACxB,IAAKu2B,EAAMmQ,YAAY4E,EAAQtrC,IAC7B,OAAOurC,OAAe3zD,EAAW0zD,EAAQtrC,GAE7C,CAGA,SAAS0rC,EAAiB1rC,GACxB,OAAKu2B,EAAMmQ,YAAY4E,EAAQtrC,IAEnBu2B,EAAMmQ,YAAY2E,EAAQrrC,SAA/B,EACEurC,OAAe3zD,EAAWyzD,EAAQrrC,IAFlCurC,OAAe3zD,EAAW0zD,EAAQtrC,GAI7C,CAGA,SAAS2rC,EAAgB3rC,GACvB,OAAIA,KAAQsrC,EACHC,EAAeF,EAAQrrC,GAAOsrC,EAAQtrC,IACpCA,KAAQqrC,EACVE,OAAe3zD,EAAWyzD,EAAQrrC,SADpC,CAGT,CAEA,IAAI4rC,EAAW,CACb,IAAOH,EACP,OAAUA,EACV,KAAQA,EACR,QAAWC,EACX,iBAAoBA,EACpB,kBAAqBA,EACrB,iBAAoBA,EACpB,QAAWA,EACX,eAAkBA,EAClB,gBAAmBA,EACnB,QAAWA,EACX,aAAgBA,EAChB,eAAkBA,EAClB,eAAkBA,EAClB,iBAAoBA,EACpB,mBAAsBA,EACtB,WAAcA,EACd,iBAAoBA,EACpB,cAAiBA,EACjB,UAAaA,EACb,UAAaA,EACb,WAAcA,EACd,YAAeA,EACf,WAAcA,EACd,iBAAoBA,EACpB,eAAkBC,GASpB,OANApV,EAAMh9C,QAAQO,OAAOkR,KAAKqgD,GAAShgD,OAAOvR,OAAOkR,KAAKsgD,KAAW,SAA4BtrC,GAC3F,IAAI4qC,EAAQgB,EAAS5rC,IAASwrC,EAC1BK,EAAcjB,EAAM5qC,GACvBu2B,EAAMmQ,YAAYmF,IAAgBjB,IAAUe,IAAqBjoD,EAAOsc,GAAQ6rC,EACnF,IAEOnoD,CACT,C,oCChGA,IAAI8/C,EAAc,EAAQ,MAS1BR,EAAOC,QAAU,SAAgBz+C,EAASm/C,EAAQ/D,GAChD,IAAIkM,EAAiBlM,EAASl8C,OAAOooD,eAChClM,EAASyF,QAAWyG,IAAkBA,EAAelM,EAASyF,QAGjE1B,EAAOH,EACL,mCAAqC5D,EAASyF,OAC9CzF,EAASl8C,OACT,KACAk8C,EAASyE,QACTzE,IAPFp7C,EAAQo7C,EAUZ,C,oCCtBA,IAAIrJ,EAAQ,EAAQ,MAChB8Q,EAAW,EAAQ,MAUvBrE,EAAOC,QAAU,SAAuB74C,EAAM25C,EAASnd,GACrD,IAAIxkB,EAAUvtB,MAAQwyD,EAMtB,OAJA9Q,EAAMh9C,QAAQqtC,GAAK,SAAmBtxC,GACpC8U,EAAO9U,EAAGyH,KAAKqlB,EAAShY,EAAM25C,EAChC,IAEO35C,CACT,C,oCCnBA,IAAImsC,EAAQ,EAAQ,MAChBwV,EAAsB,EAAQ,MAC9BxB,EAAe,EAAQ,KACvB9G,EAAuB,EAAQ,MAE/BuI,EAAuB,CACzB,eAAgB,qCAGlB,SAASC,EAAsBlI,EAASxoD,IACjCg7C,EAAMmQ,YAAY3C,IAAYxN,EAAMmQ,YAAY3C,EAAQ,mBAC3DA,EAAQ,gBAAkBxoD,EAE9B,CAEA,SAAS2wD,IACP,IAAIrB,EAQJ,OAP8B,qBAAnBvG,gBAGmB,qBAAZn9B,SAAuE,qBAA5CrtB,OAAO+6B,UAAUtU,SAASxjB,KAAKoqB,YAD1E0jC,EAAU,EAAQ,OAKbA,CACT,CAEA,SAASsB,EAAgB3rD,EAAU4rD,EAAQC,GACzC,GAAI9V,EAAMpT,SAAS3iC,GACjB,IAEE,OADC4rD,GAAUznB,KAAK2nB,OAAO9rD,GAChB+1C,EAAMlvC,KAAK7G,EAKpB,CAJE,MAAOszB,GACP,GAAe,gBAAXA,EAAEjkB,KACJ,MAAMikB,CAEV,CAGF,OAAQu4B,GAAW1nB,KAAKC,WAAWpkC,EACrC,CAEA,IAAI6mD,EAAW,CAEbpB,aAAcxC,EAEdoH,QAASqB,IAETvB,iBAAkB,CAAC,SAA0BvgD,EAAM25C,GAIjD,OAHAgI,EAAoBhI,EAAS,UAC7BgI,EAAoBhI,EAAS,gBAEzBxN,EAAM6N,WAAWh6C,IACnBmsC,EAAMgW,cAAcniD,IACpBmsC,EAAMiW,SAASpiD,IACfmsC,EAAMkW,SAASriD,IACfmsC,EAAMmW,OAAOtiD,IACbmsC,EAAMoW,OAAOviD,GAENA,EAELmsC,EAAMqW,kBAAkBxiD,GACnBA,EAAKyiD,OAEVtW,EAAMuW,kBAAkB1iD,IAC1B6hD,EAAsBlI,EAAS,mDACxB35C,EAAKmW,YAEVg2B,EAAMlT,SAASj5B,IAAU25C,GAAuC,qBAA5BA,EAAQ,iBAC9CkI,EAAsBlI,EAAS,oBACxBoI,EAAgB/hD,IAElBA,CACT,GAEA0gD,kBAAmB,CAAC,SAA2B1gD,GAC7C,IAAI67C,EAAepxD,KAAKoxD,cAAgBoB,EAASpB,aAC7CiD,EAAoBjD,GAAgBA,EAAaiD,kBACjDE,EAAoBnD,GAAgBA,EAAamD,kBACjD2D,GAAqB7D,GAA2C,SAAtBr0D,KAAKmvD,aAEnD,GAAI+I,GAAsB3D,GAAqB7S,EAAMpT,SAAS/4B,IAASA,EAAKtU,OAC1E,IACE,OAAO6uC,KAAK2nB,MAAMliD,EAQpB,CAPE,MAAO0pB,GACP,GAAIi5B,EAAmB,CACrB,GAAe,gBAAXj5B,EAAEjkB,KACJ,MAAM06C,EAAaz2B,EAAGj/B,KAAM,gBAE9B,MAAMi/B,CACR,CACF,CAGF,OAAO1pB,CACT,GAMAwyB,QAAS,EAET0pB,eAAgB,aAChBE,eAAgB,eAEhBwG,kBAAmB,EACnBC,eAAgB,EAEhBnB,eAAgB,SAAwBzG,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAtB,QAAS,CACPpU,OAAQ,CACN,OAAU,uCAKhB4G,EAAMh9C,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6BqE,GACpEypD,EAAStD,QAAQnmD,GAAU,CAAC,CAC9B,IAEA24C,EAAMh9C,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BqE,GACrEypD,EAAStD,QAAQnmD,GAAU24C,EAAMqU,MAAMoB,EACzC,IAEAhJ,EAAOC,QAAUoE,C,gCChIjBrE,EAAOC,QAAU,CACfiG,mBAAmB,EACnBE,mBAAmB,EACnBlD,qBAAqB,E,mBCLvBlD,EAAOC,QAAU,CACf,QAAW,S,gCCCbD,EAAOC,QAAU,SAAc3tD,EAAImI,GACjC,OAAO,WAEL,IADA,IAAIjD,EAAO,IAAI6G,MAAMiM,UAAUxX,QACtBF,EAAI,EAAGA,EAAI4E,EAAK1E,OAAQF,IAC/B4E,EAAK5E,GAAK0X,UAAU1X,GAEtB,OAAON,EAAGsF,MAAM6C,EAASjD,EAC3B,CACF,C,oCCRA,IAAI+7C,EAAQ,EAAQ,MAEpB,SAAS2W,EAAOvrD,GACd,OAAO+iD,mBAAmB/iD,GACxB8G,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CASAu6C,EAAOC,QAAU,SAAkB8B,EAAKS,EAAQC,GAE9C,IAAKD,EACH,OAAOT,EAGT,IAAIoI,EACJ,GAAI1H,EACF0H,EAAmB1H,EAAiBD,QAC/B,GAAIjP,EAAMuW,kBAAkBtH,GACjC2H,EAAmB3H,EAAOjlC,eACrB,CACL,IAAI6sC,EAAQ,GAEZ7W,EAAMh9C,QAAQisD,GAAQ,SAAmB7jD,EAAKnJ,GAChC,OAARmJ,GAA+B,qBAARA,IAIvB40C,EAAMrT,QAAQvhC,GAChBnJ,GAAY,KAEZmJ,EAAM,CAACA,GAGT40C,EAAMh9C,QAAQoI,GAAK,SAAoBpF,GACjCg6C,EAAMzS,OAAOvnC,GACfA,EAAIA,EAAE8wD,cACG9W,EAAMlT,SAAS9mC,KACxBA,EAAIooC,KAAKC,UAAUroC,IAErB6wD,EAAMh4D,KAAK83D,EAAO10D,GAAO,IAAM00D,EAAO3wD,GACxC,IACF,IAEA4wD,EAAmBC,EAAM92B,KAAK,IAChC,CAEA,GAAI62B,EAAkB,CACpB,IAAIG,EAAgBvI,EAAIn/C,QAAQ,MACT,IAAnB0nD,IACFvI,EAAMA,EAAI79C,MAAM,EAAGomD,IAGrBvI,KAA8B,IAAtBA,EAAIn/C,QAAQ,KAAc,IAAM,KAAOunD,CACjD,CAEA,OAAOpI,CACT,C,gCC5DA/B,EAAOC,QAAU,SAAqB6B,EAASyI,GAC7C,OAAOA,EACHzI,EAAQr8C,QAAQ,OAAQ,IAAM,IAAM8kD,EAAY9kD,QAAQ,OAAQ,IAChEq8C,CACN,C,oCCXA,IAAIvO,EAAQ,EAAQ,MAEpByM,EAAOC,QACL1M,EAAM4P,uBAGJ,WACE,MAAO,CACLqH,MAAO,SAAe39C,EAAMtU,EAAOkyD,EAAS1+C,EAAM2+C,EAAQC,GACxD,IAAIC,EAAS,GACbA,EAAOx4D,KAAKya,EAAO,IAAM60C,mBAAmBnpD,IAExCg7C,EAAMsX,SAASJ,IACjBG,EAAOx4D,KAAK,WAAa,IAAI4iC,KAAKy1B,GAASK,eAGzCvX,EAAMpT,SAASp0B,IACjB6+C,EAAOx4D,KAAK,QAAU2Z,GAGpBwnC,EAAMpT,SAASuqB,IACjBE,EAAOx4D,KAAK,UAAYs4D,IAGX,IAAXC,GACFC,EAAOx4D,KAAK,UAGd4/B,SAAS44B,OAASA,EAAOt3B,KAAK,KAChC,EAEAiwB,KAAM,SAAc12C,GAClB,IAAIyQ,EAAQ0U,SAAS44B,OAAOttC,MAAM,IAAI9L,OAAO,aAAe3E,EAAO,cACnE,OAAQyQ,EAAQytC,mBAAmBztC,EAAM,IAAM,IACjD,EAEA3M,OAAQ,SAAgB9D,GACtBhb,KAAK24D,MAAM39C,EAAM,GAAImoB,KAAKC,MAAQ,MACpC,EAEH,CAlCD,GAqCA,WACE,MAAO,CACLu1B,MAAO,WAAkB,EACzBjH,KAAM,WAAkB,OAAO,IAAM,EACrC5yC,OAAQ,WAAmB,EAE9B,CAND,E,gCCrCJqvC,EAAOC,QAAU,SAAuB8B,GAItC,MAAO,8BAA8BpwC,KAAKowC,EAC5C,C,oCCXA,IAAIxO,EAAQ,EAAQ,MAQpByM,EAAOC,QAAU,SAAsB+K,GACrC,OAAOzX,EAAMlT,SAAS2qB,KAAsC,IAAzBA,EAAQlG,YAC7C,C,oCCVA,IAAIvR,EAAQ,EAAQ,MAEpByM,EAAOC,QACL1M,EAAM4P,uBAIJ,WACE,IAEI8H,EAFAC,EAAO,kBAAkBv5C,KAAK2jB,UAAUC,WACxC41B,EAAiBn5B,SAASjQ,cAAc,KAS5C,SAASqpC,EAAWrJ,GAClB,IAAIsJ,EAAOtJ,EAWX,OATImJ,IAEFC,EAAe34B,aAAa,OAAQ64B,GACpCA,EAAOF,EAAeE,MAGxBF,EAAe34B,aAAa,OAAQ64B,GAG7B,CACLA,KAAMF,EAAeE,KACrBC,SAAUH,EAAeG,SAAWH,EAAeG,SAAS7lD,QAAQ,KAAM,IAAM,GAChF8lD,KAAMJ,EAAeI,KACrBC,OAAQL,EAAeK,OAASL,EAAeK,OAAO/lD,QAAQ,MAAO,IAAM,GAC3EgmD,KAAMN,EAAeM,KAAON,EAAeM,KAAKhmD,QAAQ,KAAM,IAAM,GACpEimD,SAAUP,EAAeO,SACzBC,KAAMR,EAAeQ,KACrBC,SAAiD,MAAtCT,EAAeS,SAASpoB,OAAO,GACxC2nB,EAAeS,SACf,IAAMT,EAAeS,SAE3B,CAUA,OARAX,EAAYG,EAAWl2B,OAAO22B,SAASR,MAQhC,SAAyBS,GAC9B,IAAIC,EAAUxY,EAAMpT,SAAS2rB,GAAeV,EAAWU,GAAcA,EACrE,OAAQC,EAAOT,WAAaL,EAAUK,UAClCS,EAAOR,OAASN,EAAUM,IAChC,CACD,CAlDD,GAqDA,WACE,OAAO,WACL,OAAO,CACT,CACD,CAJD,E,oCC5DJ,IAAIhY,EAAQ,EAAQ,MAEpByM,EAAOC,QAAU,SAA6Bc,EAASiL,GACrDzY,EAAMh9C,QAAQwqD,GAAS,SAAuBxoD,EAAOsU,GAC/CA,IAASm/C,GAAkBn/C,EAAKu2B,gBAAkB4oB,EAAe5oB,gBACnE2d,EAAQiL,GAAkBzzD,SACnBwoD,EAAQl0C,GAEnB,GACF,C,oCCTA,IAAI0mC,EAAQ,EAAQ,MAIhB0Y,EAAoB,CACtB,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,cAgB5BjM,EAAOC,QAAU,SAAsBc,GACrC,IACIvrD,EACAmJ,EACA/L,EAHAm5D,EAAS,CAAC,EAKd,OAAKhL,GAELxN,EAAMh9C,QAAQwqD,EAAQ90C,MAAM,OAAO,SAAgBigD,GAKjD,GAJAt5D,EAAIs5D,EAAKtpD,QAAQ,KACjBpN,EAAM+9C,EAAMlvC,KAAK6nD,EAAKC,OAAO,EAAGv5D,IAAI8S,cACpC/G,EAAM40C,EAAMlvC,KAAK6nD,EAAKC,OAAOv5D,EAAI,IAE7B4C,EAAK,CACP,GAAIu2D,EAAOv2D,IAAQy2D,EAAkBrpD,QAAQpN,IAAQ,EACnD,OAGAu2D,EAAOv2D,GADG,eAARA,GACau2D,EAAOv2D,GAAOu2D,EAAOv2D,GAAO,IAAI6S,OAAO,CAAC1J,IAEzCotD,EAAOv2D,GAAOu2D,EAAOv2D,GAAO,KAAOmJ,EAAMA,CAE3D,CACF,IAEOotD,GAnBgBA,CAoBzB,C,gCC9BA/L,EAAOC,QAAU,SAAgBzlD,GAC/B,OAAO,SAAc/C,GACnB,OAAO+C,EAAS5C,MAAM,KAAMH,EAC9B,CACF,C,oCCxBA,IAAImtD,EAAU,gBAEVkB,EAAa,CAAC,EAGlB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUvvD,SAAQ,SAAShB,EAAM3C,GACrFkzD,EAAWvwD,GAAQ,SAAmB62D,GACpC,cAAcA,IAAU72D,GAAQ,KAAO3C,EAAI,EAAI,KAAO,KAAO2C,CAC/D,CACF,IAEA,IAAI82D,EAAqB,CAAC,EA0C1B,SAASpG,EAAczgD,EAAS8mD,EAAQC,GACtC,GAAuB,kBAAZ/mD,EACT,MAAM,IAAI0/C,UAAU,6BAEtB,IAAIl9C,EAAOlR,OAAOkR,KAAKxC,GACnB5S,EAAIoV,EAAKlV,OACb,MAAOF,KAAM,EAAG,CACd,IAAI+mB,EAAM3R,EAAKpV,GACXizD,EAAYyG,EAAO3yC,GACvB,GAAIksC,EAAJ,CACE,IAAIttD,EAAQiN,EAAQmU,GAChB5gB,OAAmBnE,IAAV2D,GAAuBstD,EAAUttD,EAAOohB,EAAKnU,GAC1D,IAAe,IAAXzM,EACF,MAAM,IAAImsD,UAAU,UAAYvrC,EAAM,YAAc5gB,EAGxD,MACA,IAAqB,IAAjBwzD,EACF,MAAMjd,MAAM,kBAAoB31B,EAEpC,CACF,CAtDAmsC,EAAW7C,aAAe,SAAsB4C,EAAWjmC,EAASmlC,GAClE,SAASyH,EAAc7yC,EAAK8yC,GAC1B,MAAO,WAAa7H,EAAU,0BAA6BjrC,EAAM,IAAO8yC,GAAQ1H,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAASxsD,EAAOohB,EAAK+yC,GAC1B,IAAkB,IAAd7G,EACF,MAAM,IAAIvW,MAAMkd,EAAc7yC,EAAK,qBAAuBiG,EAAU,OAASA,EAAU,MAczF,OAXIA,IAAYysC,EAAmB1yC,KACjC0yC,EAAmB1yC,IAAO,EAE1B9Y,QAAQ8rD,KACNH,EACE7yC,EACA,+BAAiCiG,EAAU,8CAK1CimC,GAAYA,EAAUttD,EAAOohB,EAAK+yC,EAC3C,CACF,EAgCA1M,EAAOC,QAAU,CACfgG,cAAeA,EACfH,WAAYA,E,oCC9Ed,IAAIjkD,EAAO,EAAQ,MAIf0b,EAAWzmB,OAAO+6B,UAAUtU,SAQhC,SAAS2iB,EAAQvhC,GACf,OAAON,MAAM6hC,QAAQvhC,EACvB,CAQA,SAAS+kD,EAAY/kD,GACnB,MAAsB,qBAARA,CAChB,CAQA,SAAS6qD,EAAS7qD,GAChB,OAAe,OAARA,IAAiB+kD,EAAY/kD,IAA4B,OAApBA,EAAIhN,cAAyB+xD,EAAY/kD,EAAIhN,cAChD,oBAA7BgN,EAAIhN,YAAY63D,UAA2B7qD,EAAIhN,YAAY63D,SAAS7qD,EAClF,CAQA,SAAS4qD,EAAc5qD,GACrB,MAA8B,yBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAASyiD,EAAWziD,GAClB,MAA8B,sBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAASirD,EAAkBjrD,GACzB,IAAI5F,EAMJ,OAJEA,EAD0B,qBAAhB6zD,aAAiCA,YAAkB,OACpDA,YAAYC,OAAOluD,GAEnB,GAAUA,EAAU,QAAM4qD,EAAc5qD,EAAIkrD,QAEhD9wD,CACT,CAQA,SAASonC,EAASxhC,GAChB,MAAsB,kBAARA,CAChB,CAQA,SAASksD,EAASlsD,GAChB,MAAsB,kBAARA,CAChB,CAQA,SAAS0hC,EAAS1hC,GAChB,OAAe,OAARA,GAA+B,kBAARA,CAChC,CAQA,SAASujC,EAAcvjC,GACrB,GAA2B,oBAAvB4e,EAASxjB,KAAK4E,GAChB,OAAO,EAGT,IAAIkzB,EAAY/6B,OAAO0C,eAAemF,GACtC,OAAqB,OAAdkzB,GAAsBA,IAAc/6B,OAAO+6B,SACpD,CAQA,SAASiP,EAAOniC,GACd,MAA8B,kBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAAS+qD,EAAO/qD,GACd,MAA8B,kBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAASgrD,EAAOhrD,GACd,MAA8B,kBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAAS+iC,EAAW/iC,GAClB,MAA8B,sBAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAAS8qD,EAAS9qD,GAChB,OAAO0hC,EAAS1hC,IAAQ+iC,EAAW/iC,EAAImuD,KACzC,CAQA,SAAShD,EAAkBnrD,GACzB,MAA8B,6BAAvB4e,EAASxjB,KAAK4E,EACvB,CAQA,SAAS0F,EAAKo7B,GACZ,OAAOA,EAAIp7B,KAAOo7B,EAAIp7B,OAASo7B,EAAIh6B,QAAQ,aAAc,GAC3D,CAiBA,SAAS09C,IACP,OAAyB,qBAAd7tB,WAAoD,gBAAtBA,UAAUy3B,SACY,iBAAtBz3B,UAAUy3B,SACY,OAAtBz3B,UAAUy3B,WAI/B,qBAAX73B,QACa,qBAAblD,SAEX,CAcA,SAASz7B,EAAQutC,EAAKxxC,GAEpB,GAAY,OAARwxC,GAA+B,qBAARA,EAU3B,GALmB,kBAARA,IAETA,EAAM,CAACA,IAGL5D,EAAQ4D,GAEV,IAAK,IAAIlxC,EAAI,EAAGC,EAAIixC,EAAIhxC,OAAQF,EAAIC,EAAGD,IACrCN,EAAGyH,KAAK,KAAM+pC,EAAIlxC,GAAIA,EAAGkxC,QAI3B,IAAK,IAAItuC,KAAOsuC,EACVhtC,OAAO+6B,UAAUwP,eAAetnC,KAAK+pC,EAAKtuC,IAC5ClD,EAAGyH,KAAK,KAAM+pC,EAAItuC,GAAMA,EAAKsuC,EAIrC,CAmBA,SAAS8jB,IACP,IAAI7uD,EAAS,CAAC,EACd,SAASi0D,EAAYruD,EAAKnJ,GACpB0sC,EAAcnpC,EAAOvD,KAAS0sC,EAAcvjC,GAC9C5F,EAAOvD,GAAOoyD,EAAM7uD,EAAOvD,GAAMmJ,GACxBujC,EAAcvjC,GACvB5F,EAAOvD,GAAOoyD,EAAM,CAAC,EAAGjpD,GACfuhC,EAAQvhC,GACjB5F,EAAOvD,GAAOmJ,EAAIuF,QAElBnL,EAAOvD,GAAOmJ,CAElB,CAEA,IAAK,IAAI/L,EAAI,EAAGC,EAAIyX,UAAUxX,OAAQF,EAAIC,EAAGD,IAC3C2D,EAAQ+T,UAAU1X,GAAIo6D,GAExB,OAAOj0D,CACT,CAUA,SAASypC,EAAOn/B,EAAGC,EAAG7I,GAQpB,OAPAlE,EAAQ+M,GAAG,SAAqB3E,EAAKnJ,GAEjC6N,EAAE7N,GADAiF,GAA0B,oBAARkE,EACXkD,EAAKlD,EAAKlE,GAEVkE,CAEb,IACO0E,CACT,CAQA,SAAS4pD,EAAS59B,GAIhB,OAH8B,QAA1BA,EAAQya,WAAW,KACrBza,EAAUA,EAAQnrB,MAAM,IAEnBmrB,CACT,CAEA2wB,EAAOC,QAAU,CACf/f,QAASA,EACTqpB,cAAeA,EACfC,SAAUA,EACVpI,WAAYA,EACZwI,kBAAmBA,EACnBzpB,SAAUA,EACV0qB,SAAUA,EACVxqB,SAAUA,EACV6B,cAAeA,EACfwhB,YAAaA,EACb5iB,OAAQA,EACR4oB,OAAQA,EACRC,OAAQA,EACRjoB,WAAYA,EACZ+nB,SAAUA,EACVK,kBAAmBA,EACnB3G,qBAAsBA,EACtB5sD,QAASA,EACTqxD,MAAOA,EACPplB,OAAQA,EACRn+B,KAAMA,EACN4oD,SAAUA,E,4FClVRC,EAAoB,WACtB,GAAsB,qBAAXh4B,OAAwB,CACjC,GAAIA,OAAOg4B,iBACT,OAAOh4B,OAAOg4B,iBAMhB,IAAIC,EAASj4B,OAAOi4B,OACpB,GAAIA,EACF,OAAQA,EAAOC,YAAc,IAAMD,EAAOE,aAAe,EAE7D,CAEA,OAAO,CACT,CAhBuB,GAkBnB9Z,EAAQ,CAEV+Z,YAAa,SAASC,GACpB,IACI5d,EADA6d,EAAQ,GAGZD,EAAS,GAAGllD,OAAOklD,GACnB,MAAOA,EAAOz6D,OACZ68C,EAAQ4d,EAAOv6D,MACM,kBAAV28C,EACT6d,EAAM56C,QAAQhb,MAAM41D,EAAO7d,EAAM1jC,MAAM,OAC9B5N,MAAM6hC,QAAQyP,GACvB4d,EAAOn7D,KAAKwF,MAAM21D,EAAQ5d,IAChB,OAAc4d,IACxBC,EAAM56C,QAAQ,GAAK+8B,GAIvB,OAAO6d,CACT,EAIAC,SAAU,SAAStnD,EAAKqnD,EAAOE,GAC7B,IAII96D,EAJA+6D,EAAQ,GAAGtlD,OAAOmlD,GAClBI,EAAOD,EAAM76D,OACbgT,EAAOK,EAAIunD,KACXG,EAAQ,EAKZ,IAFA1nD,EAAIunD,KAAOA,EAAKjpB,OAEX7xC,EAAI,EAAGA,EAAIg7D,IAAQh7D,EACtBi7D,EAAQtlC,KAAKqS,IAAIz0B,EAAI2nD,YAAYH,EAAM/6D,IAAIi7D,MAAOA,GAKpD,OAFA1nD,EAAIunD,KAAO5nD,EAEJ,CACLioD,OAAQH,EAAOF,EAAKM,WACpBH,MAAOA,EAEX,EAOAI,MAAO,SAASzlC,EAAKjwB,EAAOqiC,GAC1B,OAAOrS,KAAKqS,IAAIpS,EAAKD,KAAKC,IAAIjwB,EAAOqiC,GACvC,EAOAszB,UAAW,SAASC,EAAIC,GACtB,IAEIx7D,EAAGs2B,EAAG0kC,EAAMr0D,EAFZuM,EAAOqoD,EAAGjqD,QACVmqD,EAAU,GAGd,IAAKz7D,EAAI,EAAGg7D,EAAOQ,EAAGt7D,OAAQF,EAAIg7D,IAAQh7D,EACxC2G,EAAI60D,EAAGx7D,GACPs2B,EAAIpjB,EAAKlD,QAAQrJ,IAEN,IAAP2vB,EACFmlC,EAAQj8D,KAAK,CAACmH,EAAG,IAEjBuM,EAAKtD,OAAO0mB,EAAG,GAInB,IAAKt2B,EAAI,EAAGg7D,EAAO9nD,EAAKhT,OAAQF,EAAIg7D,IAAQh7D,EAC1Cy7D,EAAQj8D,KAAK,CAAC0T,EAAKlT,IAAK,IAG1B,OAAOy7D,CACT,EAKAC,UAAW,SAAS/0D,GAClB,OAAOgvB,KAAKqvB,MAAMr+C,EAAI2zD,GAAoBA,CAC5C,GAGF,SAASqB,EAAOC,EAAOC,GACrB,IAAIC,EAAKD,EAAO3iB,EACZ6iB,EAAKF,EAAOzlB,EAEhB,GAAW,OAAP0lB,EACF,MAAO,CAAC5iB,EAAG,EAAG9C,GAAI,GAEpB,GAAW,OAAP2lB,EACF,MAAO,CAAC7iB,EAAG,EAAG9C,EAAG,GAGnB,IAAI4lB,EAAKJ,EAAM1iB,EAAI4iB,EACfG,EAAKL,EAAMxlB,EAAI2lB,EACfG,EAAKvmC,KAAKwmC,KAAKH,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACL/iB,EAAGgjB,EAAKF,EAAKE,EAAK,EAClB9lB,EAAG8lB,EAAKD,EAAKC,GAAM,EAEvB,CAEA,SAASE,EAAQljB,EAAG9C,EAAGimB,EAAIC,EAAIC,GAC7B,OAAQA,GACR,IAAK,SACHF,EAAKC,EAAK,EACV,MACF,IAAK,SACHD,EAAK,EACLC,EAAK,EACL,MACF,IAAK,QACHD,EAAK,EACLC,EAAK,EACL,MACF,IAAK,OACHD,GAAM,EACNC,EAAK,EACL,MACF,IAAK,MACHD,EAAK,EACLC,GAAM,EACN,MACF,IAAK,QACHD,GAAMA,EACNC,GAAMA,EACN,MACF,IAAK,MAEH,MACF,QAEEC,GAAU5mC,KAAK6mC,GAAK,IACpBH,EAAK1mC,KAAK8mC,IAAIF,GACdD,EAAK3mC,KAAK+mC,IAAIH,GACd,MAGF,MAAO,CACLrjB,EAAGA,EACH9C,EAAGA,EACHimB,GAAIA,EACJC,GAAIA,EAER,CAKA,IAAIK,EAAW,EACXC,EAAS,EACTC,EAAU,EACVC,EAAW,EACXC,EAAQ,EAEZ,SAASC,EAAO9jB,EAAG9C,EAAG6mB,GACpB,IAAIl4D,EAAM43D,EAaV,OAXIzjB,EAAI+jB,EAAKvxB,KACX3mC,GAAO63D,EACE1jB,EAAI+jB,EAAKrxB,QAClB7mC,GAAO83D,GAELzmB,EAAI6mB,EAAKC,IACXn4D,GAAOg4D,EACE3mB,EAAI6mB,EAAKE,SAClBp4D,GAAO+3D,GAGF/3D,CACT,CAEA,SAASq4D,EAAQC,EAASC,GACxB,IAMI9yD,EAAG0uC,EAAG9C,EANN0lB,EAAKuB,EAAQvB,GACbC,EAAKsB,EAAQtB,GACbwB,EAAKF,EAAQE,GACbC,EAAKH,EAAQG,GACbC,EAAKT,EAAOlB,EAAIC,EAAIuB,GACpBI,EAAKV,EAAOO,EAAIC,EAAIF,GAIxB,MAAO,EAAM,CACX,KAAMG,EAAKC,IAAQD,EAAKC,EAEtB,MAIFlzD,EAAIizD,GAAMC,EAENlzD,EAAIuyD,GACN7jB,EAAI4iB,GAAMyB,EAAKzB,IAAOwB,EAAKJ,IAAMnB,IAAOyB,EAAKzB,GAC7C3lB,EAAIknB,EAAKJ,KACA1yD,EAAIsyD,GACb5jB,EAAI4iB,GAAMyB,EAAKzB,IAAOwB,EAAKH,OAASpB,IAAOyB,EAAKzB,GAChD3lB,EAAIknB,EAAKH,QACA3yD,EAAIqyD,GACbzmB,EAAI2lB,GAAMyB,EAAKzB,IAAOuB,EAAK1xB,MAAQkwB,IAAOyB,EAAKzB,GAC/C5iB,EAAIokB,EAAK1xB,OACAphC,EAAIoyD,IACbxmB,EAAI2lB,GAAMyB,EAAKzB,IAAOuB,EAAK5xB,KAAOowB,IAAOyB,EAAKzB,GAC9C5iB,EAAIokB,EAAK5xB,MAGPlhC,IAAMizD,GACR3B,EAAK5iB,EACL6iB,EAAK3lB,EACLqnB,EAAKT,EAAOlB,EAAIC,EAAIuB,KAEpBC,EAAKrkB,EACLskB,EAAKpnB,EACLsnB,EAAKV,EAAOO,EAAIC,EAAIF,GAExB,CAEA,MAAO,CACLxB,GAAIA,EACJyB,GAAIA,EACJxB,GAAIA,EACJyB,GAAIA,EAER,CAEA,SAASG,EAAUC,EAAO9vD,GACxB,IAEIorC,EAAG9C,EAFHzlB,EAAS7iB,EAAO6iB,OAChB0sC,EAAUO,EAkBd,OAfI9vD,EAAO+vD,QACTR,EAAUD,EAAQC,EAASvvD,EAAOwvD,OAGrB,UAAX3sC,GACFuoB,EAAImkB,EAAQvB,GACZ1lB,EAAIinB,EAAQtB,IACQ,QAAXprC,GACTuoB,EAAImkB,EAAQE,GACZnnB,EAAIinB,EAAQG,KAEZtkB,GAAKmkB,EAAQvB,GAAKuB,EAAQE,IAAM,EAChCnnB,GAAKinB,EAAQtB,GAAKsB,EAAQG,IAAM,GAG3BpB,EAAQljB,EAAG9C,EAAGwnB,EAAMvB,GAAIuB,EAAMtB,GAAIxuD,EAAOyuD,MAClD,CAEA,IAAIuB,EAAc,CAChBC,IAAK,SAASnnD,EAAI9I,GAChB,IAAIkwD,GAASpnD,EAAGqnD,WAAarnD,EAAGsnD,UAAY,EACxC7B,EAAK1mC,KAAK8mC,IAAIuB,GACd1B,EAAK3mC,KAAK+mC,IAAIsB,GACdP,EAAK7mD,EAAGunD,YACRT,EAAK9mD,EAAGwnD,YAEZ,OAAOT,EAAU,CACf7B,GAAIllD,EAAGsiC,EAAImjB,EAAKoB,EAChB1B,GAAInlD,EAAGw/B,EAAIkmB,EAAKmB,EAChBF,GAAI3mD,EAAGsiC,EAAImjB,EAAKqB,EAChBF,GAAI5mD,EAAGw/B,EAAIkmB,EAAKoB,EAChBrB,GAAIA,EACJC,GAAIA,GACHxuD,EACL,EAEA8tD,MAAO,SAAShlD,EAAI9I,GAClB,IAAInH,EAAIg1D,EAAO/kD,EAAI9I,EAAO+tD,QACtBwC,EAAK13D,EAAEuyC,EAAItiC,EAAGhE,QAAQ0rD,OACtBC,EAAK53D,EAAEyvC,EAAIx/B,EAAGhE,QAAQ0rD,OAE1B,OAAOX,EAAU,CACf7B,GAAIllD,EAAGsiC,EAAImlB,EACXtC,GAAInlD,EAAGw/B,EAAImoB,EACXhB,GAAI3mD,EAAGsiC,EAAImlB,EACXb,GAAI5mD,EAAGw/B,EAAImoB,EACXlC,GAAI11D,EAAEuyC,EACNojB,GAAI31D,EAAEyvC,GACLtoC,EACL,EAEA0wD,IAAK,SAAS5nD,EAAI9I,GAChB,IAAInH,EAAIg1D,EAAO/kD,EAAI9I,EAAO+tD,QACtB3iB,EAAItiC,EAAGsiC,EACP9C,EAAIx/B,EAAGw/B,EACPqoB,EAAK,EACLC,EAAK,EAUT,OARI9nD,EAAG+nD,YACLzlB,EAAIvjB,KAAKC,IAAIhf,EAAGsiC,EAAGtiC,EAAG8Q,MACtB+2C,EAAK9oC,KAAK2e,IAAI19B,EAAG8Q,KAAO9Q,EAAGsiC,KAE3B9C,EAAIzgB,KAAKC,IAAIhf,EAAGw/B,EAAGx/B,EAAG8Q,MACtBg3C,EAAK/oC,KAAK2e,IAAI19B,EAAG8Q,KAAO9Q,EAAGw/B,IAGtBunB,EAAU,CACf7B,GAAI5iB,EACJ6iB,GAAI3lB,EAAIsoB,EACRnB,GAAIrkB,EAAIulB,EACRjB,GAAIpnB,EACJimB,GAAI11D,EAAEuyC,EACNojB,GAAI31D,EAAEyvC,GACLtoC,EACL,EAEAyU,SAAU,SAAS3L,EAAI9I,GACrB,IAAInH,EAAIg1D,EAAO/kD,EAAI9I,EAAO+tD,QAE1B,OAAO8B,EAAU,CACf7B,GAAIllD,EAAGsiC,EACP6iB,GAAInlD,EAAGw/B,EACPmnB,GAAI3mD,EAAGsiC,GAAKtiC,EAAGqkD,OAAS,GACxBuC,GAAI5mD,EAAGw/B,GAAKx/B,EAAGukD,QAAU,GACzBkB,GAAI11D,EAAEuyC,EACNojB,GAAI31D,EAAEyvC,GACLtoC,EACL,GAGE4tD,EAAY/a,EAAM+a,UAEtB,SAASkD,EAAcC,GACrB,IAAIC,EAAcD,EAAMC,aAAe,EACnCC,EAAUF,EAAME,QAChBC,EAAKH,EAAMx3D,KAAK8zD,OAChB8D,EAAKJ,EAAMx3D,KAAK4zD,MAChBiE,GAAMD,EAAK,EACXE,GAAMH,EAAK,EAEf,MAAO,CACLI,MAAO,CACLlmB,EAAGgmB,EAAKH,EAAQrzB,KAAOozB,EACvB1oB,EAAG+oB,EAAKJ,EAAQ7B,IAAM4B,EACtBl+D,EAAGq+D,EAAKF,EAAQ9D,MAAsB,EAAd6D,EACxBr3C,EAAGu3C,EAAKD,EAAQ5D,OAAuB,EAAd2D,GAE3BxiC,KAAM,CACJ4c,EAAGgmB,EACH9oB,EAAG+oB,EACHv+D,EAAGq+D,EACHx3C,EAAGu3C,GAGT,CAEA,SAASK,EAAezoD,EAAI4V,GAC1B,IAAI8yC,EAAQ9yC,EAAQ+yC,MAAMC,eAAehzC,EAAQizC,cAAcC,OAE/D,IAAKJ,EACH,OAAO,KAGT,QAAsBt9D,IAAlBs9D,EAAMK,cAA2C39D,IAAlBs9D,EAAMM,QACvC,MAAO,CAAC1mB,EAAGomB,EAAMK,QAASvpB,EAAGkpB,EAAMM,SAGrC,IAAIC,EAAQP,EAAMQ,eAClB,OAAOlpD,EAAG+nD,WACR,CAACzlB,EAAG2mB,EAAOzpB,EAAG,MACd,CAAC8C,EAAG,KAAM9C,EAAGypB,EACjB,CAEA,SAASE,EAAcnpD,GACrB,OAAIA,aAAc,KACTknD,EAAYC,IAEjBnnD,aAAc,KACTknD,EAAYlC,MAEjBhlD,aAAc,KACTknD,EAAYU,IAEdV,EAAYv7C,QACrB,CAEA,SAASy9C,EAAgBzsD,EAAK2lC,EAAG9C,EAAGx1C,EAAG6mB,EAAG62C,GACxC,IAAI2B,EAAUtqC,KAAK6mC,GAAK,EAExB,GAAI8B,EAAQ,CACV,IAAI9zD,EAAImrB,KAAKC,IAAI0oC,EAAQ72C,EAAI,EAAG7mB,EAAI,GAChC8qC,EAAOwN,EAAI1uC,EACX0yD,EAAM9mB,EAAI5rC,EACVohC,EAAQsN,EAAIt4C,EAAI4J,EAChB2yD,EAAS/mB,EAAI3uB,EAAIjd,EAErB+I,EAAI2sD,OAAOhnB,EAAGgkB,GACVxxB,EAAOE,GAASsxB,EAAMC,GACxB5pD,EAAIwqD,IAAIryB,EAAMwxB,EAAK1yD,GAAImrB,KAAK6mC,IAAKyD,GACjC1sD,EAAIwqD,IAAInyB,EAAOsxB,EAAK1yD,GAAIy1D,EAAS,GACjC1sD,EAAIwqD,IAAInyB,EAAOuxB,EAAQ3yD,EAAG,EAAGy1D,GAC7B1sD,EAAIwqD,IAAIryB,EAAMyxB,EAAQ3yD,EAAGy1D,EAAStqC,KAAK6mC,KAC9B9wB,EAAOE,GAChBr4B,EAAI2sD,OAAOx0B,EAAM0K,GACjB7iC,EAAIwqD,IAAInyB,EAAOsxB,EAAK1yD,GAAIy1D,EAASA,GACjC1sD,EAAIwqD,IAAIryB,EAAMwxB,EAAK1yD,EAAGy1D,EAAStqC,KAAK6mC,GAAKyD,IAChC/C,EAAMC,GACf5pD,EAAIwqD,IAAIryB,EAAMwxB,EAAK1yD,GAAImrB,KAAK6mC,GAAI,GAChCjpD,EAAIwqD,IAAIryB,EAAMyxB,EAAQ3yD,EAAG,EAAGmrB,KAAK6mC,KAEjCjpD,EAAIwqD,IAAIryB,EAAMwxB,EAAK1yD,GAAImrB,KAAK6mC,GAAI7mC,KAAK6mC,IAEvCjpD,EAAI4sD,YACJ5sD,EAAI2sD,OAAOhnB,EAAG9C,EAChB,MACE7iC,EAAI0pD,KAAK/jB,EAAG9C,EAAGx1C,EAAG6mB,EAEtB,CAEA,SAAS24C,EAAU7sD,EAAK0pD,EAAM4B,GAC5B,IAAIwB,EAAUxB,EAAMyB,gBAChBC,EAAc1B,EAAM0B,YACpBzB,EAAcD,EAAMC,aAEnBuB,GAAaE,GAAgBzB,KAIlCvrD,EAAIitD,YAEJR,EACEzsD,EACAmoD,EAAUuB,EAAK/jB,GAAK4lB,EAAc,EAClCpD,EAAUuB,EAAK7mB,GAAK0oB,EAAc,EAClCpD,EAAUuB,EAAKr8D,GAAKk+D,EACpBpD,EAAUuB,EAAKx1C,GAAKq3C,EACpBD,EAAM4B,cAERltD,EAAI4sD,YAEAE,IACF9sD,EAAImtD,UAAYL,EAChB9sD,EAAIotD,QAGFJ,GAAezB,IACjBvrD,EAAIqtD,YAAcL,EAClBhtD,EAAIstD,UAAY/B,EAChBvrD,EAAIutD,SAAW,QACfvtD,EAAIwtD,UAER,CAEA,SAASC,EAAa/D,EAAMV,EAAOzB,GACjC,IAAIrzC,EAAIqzC,EAAKM,WACTx6D,EAAIq8D,EAAKr8D,EACTs4C,EAAI+jB,EAAK/jB,EACT9C,EAAI6mB,EAAK7mB,EAAI3uB,EAAI,EAQrB,MANc,WAAV80C,EACFrjB,GAAKt4C,EAAI,EACU,QAAV27D,GAA6B,UAAVA,IAC5BrjB,GAAKt4C,GAGA,CACL6mB,EAAGA,EACH7mB,EAAGA,EACHs4C,EAAGA,EACH9C,EAAGA,EAEP,CAEA,SAAS6qB,EAAa1tD,EAAK+oB,EAAM4kC,GAC/B,IAAIC,EAAS5tD,EAAI6tD,WACbC,EAAUH,EAAIG,QACdnoB,EAAIwiB,EAAUwF,EAAIhoB,GAClB9C,EAAIslB,EAAUwF,EAAI9qB,GAClBx1C,EAAI86D,EAAUwF,EAAItgE,GAElBygE,GACF9tD,EAAI+tD,WAAWhlC,EAAM4c,EAAG9C,EAAGx1C,GAGzBsgE,EAAIK,SACFJ,GAAUE,IAGZ9tD,EAAI6tD,WAAa,GAGnB7tD,EAAIiuD,SAASllC,EAAM4c,EAAG9C,EAAGx1C,GAErBugE,GAAUE,IACZ9tD,EAAI6tD,WAAaD,GAGvB,CAEA,SAASM,EAASluD,EAAKqnD,EAAOqC,EAAM4B,GAClC,IAQI7+D,EARAu8D,EAAQsC,EAAM6C,UACdC,EAAQ9C,EAAM8C,MACdJ,IAAWI,EACX7G,EAAO+D,EAAM/D,KACbE,EAAOJ,EAAM16D,OACb0hE,EAAc/C,EAAMgD,gBACpBC,EAAcjD,EAAMkD,gBACpBV,EAAUO,GAAeE,EAG7B,GAAK9G,IAAUuG,GAAWF,GAsB1B,IAjBApE,EAAO+D,EAAa/D,EAAMV,EAAOzB,GAEjCvnD,EAAIunD,KAAOA,EAAKjpB,OAChBt+B,EAAImuD,UAAYnF,EAChBhpD,EAAIyuD,aAAe,SACnBzuD,EAAI6tD,WAAavC,EAAMoD,eACvB1uD,EAAI2uD,YAAcrD,EAAMsD,gBAEpBZ,IACFhuD,EAAImtD,UAAYiB,GAEdN,IACF9tD,EAAIutD,SAAW,QACfvtD,EAAIstD,UAAYiB,EAChBvuD,EAAIqtD,YAAcgB,GAGf5hE,EAAI,EAAGg7D,EAAOJ,EAAM16D,OAAQF,EAAIg7D,IAAQh7D,EAC3CihE,EAAa1tD,EAAKqnD,EAAM56D,GAAI,CAC1BqhE,QAASA,EACTE,OAAQA,EACR3gE,EAAGq8D,EAAKr8D,EACRs4C,EAAG+jB,EAAK/jB,EACR9C,EAAG6mB,EAAK7mB,EAAI6mB,EAAKx1C,EAAIznB,GAG3B,CAEA,IAAIoiE,EAAQ,SAASt0D,EAAQyF,EAAKqD,EAAItX,GACpC,IAAI+iE,EAAKpjE,KAETojE,EAAGC,QAAUx0D,EACbu0D,EAAGE,OAASjjE,EACZ+iE,EAAGG,OAAS,KACZH,EAAGI,OAAS,KACZJ,EAAG/2C,KAAO/X,EACV8uD,EAAGK,IAAM9rD,CACX,GAEA,OAAMwrD,EAAMnjC,UAAW,CAIrB0jC,UAAW,SAAS1hC,EAAS25B,EAAO9sD,EAAQ0e,GAC1C,IAAI61C,EAAKpjE,KACLK,EAAQ+iE,EAAGE,OACXzH,GAAO,QAAO,OAAQ,CAAChtD,EAAOgtD,KAAM,CAAC,GAAItuC,EAASltB,IAClDqiE,GAAQ,OAAQ,CAAC7zD,EAAO6zD,MAAO,YAAmBn1C,EAASltB,GAE/D,MAAO,CACLi9D,OAAO,OAAQ,CAACzuD,EAAOyuD,MAAO,UAAW/vC,EAASltB,GAClDqxB,QAAQ,OAAQ,CAAC7iB,EAAO6iB,OAAQ,UAAWnE,EAASltB,GACpDg+D,KAAM9wC,EAAQ+yC,MAAMqD,UACpBtC,iBAAiB,OAAQ,CAACxyD,EAAOwyD,gBAAiB,MAAO9zC,EAASltB,GAClEihE,aAAa,OAAQ,CAACzyD,EAAOyyD,YAAa,MAAO/zC,EAASltB,GAC1DmhE,cAAc,OAAQ,CAAC3yD,EAAO2yD,aAAc,GAAIj0C,EAASltB,GACzDw/D,aAAa,OAAQ,CAAChxD,EAAOgxD,YAAa,GAAItyC,EAASltB,GACvDu+D,OAAO,OAAQ,CAAC/vD,EAAO+vD,OAAO,GAAQrxC,EAASltB,GAC/CujE,MAAM,OAAQ,CAAC/0D,EAAO+0D,MAAM,GAAQr2C,EAASltB,GAC7CqiE,MAAOA,EACP1gC,QAASA,EACT65B,KAAMA,EACNF,MAAOA,EACPkI,QAAQ,OAAQ,CAACh1D,EAAOg1D,OAAQ,GAAIt2C,EAASltB,GAC7CyjE,SAAS,OAAQ,CAACj1D,EAAOi1D,QAAS,GAAIv2C,EAASltB,GAC/Cu8D,OAAQwD,EAAegD,EAAGK,IAAKl2C,GAC/BuyC,SAAS,QAAU,OAAQ,CAACjxD,EAAOixD,QAAS,GAAIvyC,EAASltB,IACzD0jE,WAAYjD,EAAcsC,EAAGK,KAC7BO,UAAU,OAAQ,CAACn1D,EAAOm1D,SAAU,GAAIz2C,EAASltB,IAAUq2B,KAAK6mC,GAAK,KACrEn1D,KAAMs5C,EAAMka,SAASwH,EAAG/2C,KAAMsvC,EAAOE,GACrC4G,WAAW,OAAQ,CAAC5zD,EAAO4zD,UAAW,SAAUl1C,EAASltB,GACzD2iE,gBAAgB,OAAQ,CAACn0D,EAAOm0D,eAAgB,GAAIz1C,EAASltB,GAC7D6iE,iBAAiB,OAAQ,CAACr0D,EAAOq0D,gBAAiBR,GAAQn1C,EAASltB,GACnEuiE,iBAAiB,OAAQ,CAAC/zD,EAAO+zD,gBAAiBF,GAAQn1C,EAASltB,GACnEyiE,iBAAiB,OAAQ,CAACj0D,EAAOi0D,gBAAiB,GAAIv1C,EAASltB,GAEnE,EAEAmd,OAAQ,SAAS+P,GACf,IAKI7mB,EAAO85C,EAAOmb,EALdyH,EAAKpjE,KACL4/D,EAAQ,KACRqE,EAAQ,KACR5jE,EAAQ+iE,EAAGE,OACXz0D,EAASu0D,EAAGC,QAKZrhC,GAAU,OAAQ,CAACnzB,EAAOmzB,SAAS,GAAOzU,EAASltB,GAEnD2hC,IACFt7B,EAAQ6mB,EAAQ22C,QAAQ3uD,KAAKlV,GAC7BmgD,GAAQ,IAAA94C,IAAe,OAASmH,EAAOs1D,UAAW,CAACz9D,EAAO6mB,IAAW7mB,GACrEi1D,GAAQ,OAAcnb,GAAS,GAAKkB,EAAM+Z,YAAYjb,GAElDmb,EAAM16D,SACR2+D,EAAQwD,EAAGM,UAAU1hC,EAAS25B,EAAO9sD,EAAQ0e,GAC7C02C,EAAQtE,EAAcC,KAI1BwD,EAAGG,OAAS3D,EACZwD,EAAGI,OAASS,CACd,EAEAG,SAAU,WACR,OAAOpkE,KAAKwjE,OAASxjE,KAAKwjE,OAAOrD,MAAQ,CAAC,CAC5C,EAEA6D,SAAU,WACR,OAAOhkE,KAAKujE,OAASvjE,KAAKujE,OAAOS,SAAW,CAC9C,EAEAK,QAAS,WACP,OAAOrkE,KAAKujE,QAAUvjE,KAAKujE,OAAOO,OACpC,EAEAlE,MAAO,WACL,OAAO5/D,KAAKujE,MACd,EAEAe,KAAM,SAAShE,EAAOiE,GACpB,IAIIlG,EAJA+E,EAAKpjE,KACLsU,EAAMgsD,EAAMhsD,IACZsrD,EAAQwD,EAAGG,OACXU,EAAQb,EAAGI,OAGVxjE,KAAKqkE,YAIV/vD,EAAIkwD,OAEA5E,EAAMgE,OACRvF,EAAOuB,EAAMvB,KACb/pD,EAAIitD,YACJjtD,EAAI0pD,KACFK,EAAK5xB,KACL4xB,EAAKJ,IACLI,EAAK1xB,MAAQ0xB,EAAK5xB,KAClB4xB,EAAKH,OAASG,EAAKJ,KACrB3pD,EAAIsvD,QAGNtvD,EAAImwD,YAAc/iB,EAAM0a,MAAM,EAAGwD,EAAMkE,QAAS,GAChDxvD,EAAIq+B,UAAU8pB,EAAU8H,EAAOtqB,GAAIwiB,EAAU8H,EAAOptB,IACpD7iC,EAAIowD,OAAO9E,EAAMoE,UAEjB7C,EAAU7sD,EAAK2vD,EAAM9D,MAAOP,GAC5B4C,EAASluD,EAAKsrD,EAAMjE,MAAOsI,EAAM5mC,KAAMuiC,GAEvCtrD,EAAIqwD,UACN,IAGF,IAAIC,EAAc39D,OAAO49D,mBAAqB,iBAC1CC,EAAc79D,OAAO89D,kBAAoB,iBAE7C,SAASC,EAAQrI,EAAO4H,EAAQxF,GAC9B,IAAIvB,EAAM9mC,KAAK8mC,IAAIuB,GACftB,EAAM/mC,KAAK+mC,IAAIsB,GACfkG,EAAKV,EAAOtqB,EACZirB,EAAKX,EAAOptB,EAEhB,MAAO,CACL8C,EAAGgrB,EAAKzH,GAAOb,EAAM1iB,EAAIgrB,GAAMxH,GAAOd,EAAMxlB,EAAI+tB,GAChD/tB,EAAG+tB,EAAKzH,GAAOd,EAAM1iB,EAAIgrB,GAAMzH,GAAOb,EAAMxlB,EAAI+tB,GAEpD,CAEA,SAASC,EAAUC,EAAQC,GACzB,IAGItkE,EAAGukE,EAAIlI,EAAIC,EAAIkI,EAHf5uC,EAAMmuC,EACN/7B,EAAM67B,EACNhI,EAASyI,EAAKzI,OAGlB,IAAK77D,EAAI,EAAGA,EAAIqkE,EAAOnkE,SAAUF,EAC/BukE,EAAKF,EAAOrkE,GACZq8D,EAAKkI,EAAGrrB,EAAI2iB,EAAO3iB,EACnBojB,EAAKiI,EAAGnuB,EAAIylB,EAAOzlB,EACnBouB,EAAKF,EAAKjI,GAAKA,EAAKiI,EAAKhI,GAAKA,EAC9B1mC,EAAMD,KAAKC,IAAIA,EAAK4uC,GACpBx8B,EAAMrS,KAAKqS,IAAIA,EAAKw8B,GAGtB,MAAO,CACL5uC,IAAKA,EACLoS,IAAKA,EAET,CAEA,SAASy8B,EAAOC,EAAIC,GAClB,IAAItI,EAAKsI,EAAGzrB,EAAIwrB,EAAGxrB,EACfojB,EAAKqI,EAAGvuB,EAAIsuB,EAAGtuB,EACf8lB,EAAKvmC,KAAKwmC,KAAKE,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACLD,IAAKsI,EAAGzrB,EAAIwrB,EAAGxrB,GAAKgjB,EACpBI,IAAKqI,EAAGvuB,EAAIsuB,EAAGtuB,GAAK8lB,EACpBL,OAAQ6I,EACRxI,GAAIA,EAER,CAEA,IAAI0I,EAAS,WACX3lE,KAAK4lE,UAAY,EACjB5lE,KAAK6lE,MAAQ,CACX5rB,EAAG,EACH9C,EAAG,EACHx1C,EAAG,EACH6mB,EAAG,EAEP,EAoFA,SAASs9C,EAAYnuD,EAAIioD,EAAOwE,GAC9B,IAAIzH,EAAQiD,EAAMmE,WAAWpsD,EAAIioD,GAC7BxC,EAAKT,EAAMS,GACXC,EAAKV,EAAMU,GAEf,IAAKD,IAAOC,EAEV,MAAO,CAACpjB,EAAG0iB,EAAM1iB,EAAG9C,EAAGwlB,EAAMxlB,GAG/B,IAAIx1C,EAAIyiE,EAASziE,EACb6mB,EAAI47C,EAAS57C,EAGbw7C,EAAWpE,EAAMoE,SACjBjH,EAAKrmC,KAAK2e,IAAI1zC,EAAI,EAAI+0B,KAAK8mC,IAAIwG,IAAattC,KAAK2e,IAAI7sB,EAAI,EAAIkO,KAAK+mC,IAAIuG,IACtEhH,EAAKtmC,KAAK2e,IAAI1zC,EAAI,EAAI+0B,KAAK+mC,IAAIuG,IAAattC,KAAK2e,IAAI7sB,EAAI,EAAIkO,KAAK8mC,IAAIwG,IAKtE+B,EAAK,EAAIrvC,KAAKqS,IAAIrS,KAAK2e,IAAI+nB,GAAK1mC,KAAK2e,IAAIgoB,IAQ7C,OAPAN,GAAMK,EAAK2I,EACX/I,GAAMK,EAAK0I,EAGXhJ,GAAM6C,EAAMiE,OAASzG,EACrBJ,GAAM4C,EAAMiE,OAASxG,EAEd,CACLpjB,EAAG0iB,EAAM1iB,EAAI8iB,EACb5lB,EAAGwlB,EAAMxlB,EAAI6lB,EAEjB,CAEA,SAASgJ,EAAQC,EAAQC,GACvB,IAAInlE,EAAGs2B,EAAG8uC,EAAIjvC,EAMd,IAAKn2B,EAAIklE,EAAOhlE,OAAS,EAAGF,GAAK,IAAKA,EAGpC,IAFAolE,EAAKF,EAAOllE,GAAGqlE,QAEV/uC,EAAIt2B,EAAI,EAAGs2B,GAAK,GAAK8uC,EAAGE,WAAYhvC,EACvCH,EAAK+uC,EAAO5uC,GAAG+uC,QAEXlvC,EAAGmvC,UAAYF,EAAGG,KAAKC,WAAWrvC,EAAGovC,OACvCJ,EAASC,EAAIjvC,GAKnB,OAAO+uC,CACT,CAEA,SAASO,EAAQP,GACf,IAAIllE,EAAGg7D,EAAMvb,EAAOlmC,EAAO8pD,EAAUG,EAAQ15D,EAG7C,IAAK9J,EAAI,EAAGg7D,EAAOkK,EAAOhlE,OAAQF,EAAIg7D,IAAQh7D,EAC5Cy/C,EAAQylB,EAAOllE,GACfuZ,EAAQkmC,EAAM4lB,QAEV9rD,EAAM+rD,WAMRx7D,EAAQ,IAAIC,MAAM01C,EAAMijB,IAAK,CAAC5/D,IAAK,CAAC8T,EAAI7H,IAAM6H,EAAG8uD,SAAS,CAAC32D,IAAI,GAAMA,KAErEs0D,EAAW5jB,EAAM4jB,WACjBG,EAASuB,EAAYj7D,EAAO21C,EAAMof,QAASwE,GAC3C9pD,EAAMgsD,KAAK9oD,OAAO+mD,EAAQH,EAAU5jB,EAAMwjB,aAK9C,OAAOgC,EAAQC,GAAQ,SAASE,EAAIjvC,GAClC,IAAIwvC,EAAKP,EAAGQ,SACRC,EAAK1vC,EAAGyvC,SAEPD,GAAME,GAAOA,EAChB1vC,EAAGmvC,UAAW,EACLK,IACTP,EAAGE,UAAW,EAElB,GACF,EA5KA,OAAMV,EAAO3lC,UAAW,CACtBukC,OAAQ,WACN,IAAIh5D,EAAIvL,KAAK6lE,MACb,MAAO,CACL5rB,EAAG1uC,EAAE0uC,EAAI1uC,EAAE5J,EAAI,EACfw1C,EAAG5rC,EAAE4rC,EAAI5rC,EAAEid,EAAI,EAEnB,EAEAhL,OAAQ,SAAS+mD,EAAQvG,EAAMgG,GAC7BhkE,KAAK4lE,UAAY5B,EACjBhkE,KAAK6lE,MAAQ,CACX5rB,EAAG+jB,EAAK/jB,EAAIsqB,EAAOtqB,EACnB9C,EAAG6mB,EAAK7mB,EAAIotB,EAAOptB,EACnBx1C,EAAGq8D,EAAKr8D,EACR6mB,EAAGw1C,EAAKx1C,EAEZ,EAEAq+C,SAAU,SAASlK,GACjB,IAAIyG,EAAKpjE,KACL8mE,EAAS,EACT9I,EAAOoF,EAAGyC,MAId,OAFAlJ,EAAQqI,EAAQrI,EAAOyG,EAAGmB,UAAWnB,EAAGwC,aAE/BjJ,EAAM1iB,EAAI+jB,EAAK/jB,EAAI6sB,GACvBnK,EAAMxlB,EAAI6mB,EAAK7mB,EAAI2vB,GACnBnK,EAAM1iB,EAAI+jB,EAAK/jB,EAAI+jB,EAAKr8D,EAAa,EAATmlE,GAC5BnK,EAAMxlB,EAAI6mB,EAAK7mB,EAAI6mB,EAAKx1C,EAAa,EAATs+C,EACnC,EAIAP,WAAY,SAASQ,GACnB,IAMIhmE,EAAGimE,EAAKC,EANRzI,EAAKx+D,KAAKknE,UACVzI,EAAKsI,EAAMG,UACXC,EAAO,CACT3B,EAAOhH,EAAG,GAAIA,EAAG,IACjBgH,EAAOhH,EAAG,GAAIA,EAAG,KAanB,IATIx+D,KAAK4lE,YAAcmB,EAAMnB,WAG3BuB,EAAK5mE,KACHilE,EAAO/G,EAAG,GAAIA,EAAG,IACjB+G,EAAO/G,EAAG,GAAIA,EAAG,KAIhB19D,EAAI,EAAGA,EAAIomE,EAAKlmE,SAAUF,EAI7B,GAHAimE,EAAM7B,EAAU3G,EAAI2I,EAAKpmE,IACzBkmE,EAAM9B,EAAU1G,EAAI0I,EAAKpmE,IAErBimE,EAAIj+B,IAAMk+B,EAAItwC,KAAOswC,EAAIl+B,IAAMi+B,EAAIrwC,IACrC,OAAO,EAIX,OAAO,CACT,EAKAuwC,QAAS,WACP,IAAI9D,EAAKpjE,KACLg+D,EAAOoF,EAAGyC,MACV9G,EAAQqE,EAAGwC,UACXrB,EAASnB,EAAGmB,SAEhB,MAAO,CACLS,EAAQ,CAAC/qB,EAAG+jB,EAAK/jB,EAAG9C,EAAG6mB,EAAK7mB,GAAIotB,EAAQxF,GACxCiG,EAAQ,CAAC/qB,EAAG+jB,EAAK/jB,EAAI+jB,EAAKr8D,EAAGw1C,EAAG6mB,EAAK7mB,GAAIotB,EAAQxF,GACjDiG,EAAQ,CAAC/qB,EAAG+jB,EAAK/jB,EAAI+jB,EAAKr8D,EAAGw1C,EAAG6mB,EAAK7mB,EAAI6mB,EAAKx1C,GAAI+7C,EAAQxF,GAC1DiG,EAAQ,CAAC/qB,EAAG+jB,EAAK/jB,EAAG9C,EAAG6mB,EAAK7mB,EAAI6mB,EAAKx1C,GAAI+7C,EAAQxF,GAErD,IA+FF,IAAIqI,EAAS,CACXC,QAAS,SAASC,GAChB,IACIvmE,EAAGs2B,EAAG0kC,EAAMwL,EAAM/mB,EADlBylB,EAAS,GAGb,IAAKllE,EAAI,EAAGg7D,EAAOuL,EAASrmE,OAAQF,EAAIg7D,IAAQh7D,EAC9C,IAAKs2B,EAAI,EAAGkwC,EAAOD,EAASvmE,GAAGE,OAAQo2B,EAAIkwC,IAAQlwC,EACjDmpB,EAAQ8mB,EAASvmE,GAAGs2B,GACpB4uC,EAAO1lE,KAAKigD,GACZA,EAAM4lB,QAAU,CACdE,KAAM,IAAIX,EACVgB,UAAU,EACVN,UAAU,EACVmB,KAAMzmE,EACN0mE,KAAMjnB,EAAM8iB,QAmBlB,OAXA2C,EAAO10D,MAAK,SAASC,EAAGC,GACtB,IAAIi2D,EAAKl2D,EAAE40D,QACPuB,EAAKl2D,EAAE20D,QAEX,OAAOsB,EAAGD,OAASE,EAAGF,KAClBE,EAAGH,KAAOE,EAAGF,KACbG,EAAGF,KAAOC,EAAGD,IACnB,IAEAznE,KAAKwd,OAAOyoD,GAELA,CACT,EAEAzoD,OAAQ,SAASyoD,GACf,IACIllE,EAAGg7D,EAAMvb,EAAOof,EAAOtlD,EADvBstD,GAAQ,EAGZ,IAAK7mE,EAAI,EAAGg7D,EAAOkK,EAAOhlE,OAAQF,EAAIg7D,IAAQh7D,EAC5Cy/C,EAAQylB,EAAOllE,GACf6+D,EAAQpf,EAAMof,QACdtlD,EAAQkmC,EAAM4lB,QACd9rD,EAAMqsD,SAAW/G,GAA2B,SAAlBA,EAAM59B,QAChC1nB,EAAM+rD,SAAW7lB,EAAM6jB,UACvBuD,GAASttD,EAAMqsD,SAGbiB,GACFpB,EAAQP,EAEZ,EAEA4B,OAAQ,SAAS5B,EAAQtJ,GACvB,IAAI57D,EAAGuZ,EAKP,IAAKvZ,EAAIklE,EAAOhlE,OAAS,EAAGF,GAAK,IAAKA,EAGpC,GAFAuZ,EAAQ2rD,EAAOllE,GAAGqlE,QAEd9rD,GAASA,EAAM+rD,UAAY/rD,EAAMgsD,KAAKO,SAASlK,GACjD,OAAOsJ,EAAOllE,GAIlB,OAAO,IACT,EAEAujE,KAAM,SAAShE,EAAO2F,GACpB,IAAIllE,EAAGg7D,EAAMvb,EAAOlmC,EAAO8pD,EAAUG,EAErC,IAAKxjE,EAAI,EAAGg7D,EAAOkK,EAAOhlE,OAAQF,EAAIg7D,IAAQh7D,EAC5Cy/C,EAAQylB,EAAOllE,GACfuZ,EAAQkmC,EAAM4lB,QAEV9rD,EAAM+rD,WACRjC,EAAW5jB,EAAM4jB,WACjBG,EAASuB,EAAYtlB,EAAMijB,IAAKjjB,EAAMof,QAASwE,GAC/C9pD,EAAMgsD,KAAK9oD,OAAO+mD,EAAQH,EAAU5jB,EAAMwjB,YAC1CxjB,EAAM8jB,KAAKhE,EAAOiE,GAGxB,GAGEJ,EAAY,SAASz9D,GACvB,IAAI,OAAcA,GAChB,OAAO,KAGT,IACIyP,EAAM2xD,EAAMv4C,EADZixB,EAAQ95C,EAEZ,IAAI,IAAA3F,GAAS2F,GACX,IAAK,OAAcA,EAAM85C,OAElB,IAAK,OAAc95C,EAAM6E,GAK9B,IAFAi1C,EAAQ,GACRrqC,EAAOlR,OAAOkR,KAAKzP,GACd6oB,EAAI,EAAGu4C,EAAO3xD,EAAKlV,OAAQsuB,EAAIu4C,IAAQv4C,EAC1CixB,IAAgB,IAANjxB,EAAU,KAAO,IAAMpZ,EAAKoZ,GAAK,KAAO7oB,EAAMyP,EAAKoZ,SAL/DixB,EAAQ95C,EAAM6E,OAFdi1C,EAAQ95C,EAAM85C,MAYlB,MAAO,GAAKA,CACd,EAOIgS,EAAW,CACb8K,MAAO,SACP5rC,OAAQ,SACR2vC,gBAAiB,KACjBC,YAAa,KACbE,aAAc,EACd3B,YAAa,EACbjB,OAAO,EACPgF,MAAM,EACNlB,WAAO3/D,EACPi/B,SAAS,EACT65B,KAAM,CACJkM,YAAQhlE,EACRo5D,WAAY,IACZ/zD,UAAMrF,EACNgxB,WAAOhxB,EACPilE,OAAQ,MAEV7D,UAAWA,EACX8B,YAAQljE,EACRklE,UAAW,CAAC,EACZpE,OAAQ,EACRC,QAAS,EACThE,QAAS,CACP7B,IAAK,EACLtxB,MAAO,EACPuxB,OAAQ,EACRzxB,KAAM,GAERu3B,SAAU,EACVvB,UAAW,QACXG,qBAAiB7/D,EACjB+/D,gBAAiB,EACjBE,eAAgB,EAChBE,qBAAiBngE,GAOfmlE,EAAc,cACdC,EAAc,WAElB,SAASC,EAAUlE,EAASvwD,GAC1B,IAGIsyD,EAAQ9vD,EAHRkyD,EAAWnE,EAAQoE,WACnBL,EAAY,CAAC,EACbM,EAAU,GAGd,OAAiB,IAAbF,EACK,OAEQ,IAAbA,IACFA,EAAW,CAAC,GAGd10D,GAAU,OAAM,CAAC,EAAG,CAACA,EAAS00D,IAC9BpC,EAAStyD,EAAQsyD,QAAU,CAAC,EAC5B9vD,EAAOlR,OAAOkR,KAAK8vD,UACZtyD,EAAQsyD,OAEX9vD,EAAKlV,OACPkV,EAAKzR,SAAQ,SAASf,GAChBsiE,EAAOtiE,IACT4kE,EAAQhoE,MAAK,OAAM,CAAC,EAAG,CACrBoT,EACAsyD,EAAOtiE,GACP,CAACiJ,KAAMjJ,KAGb,IAGA4kE,EAAQhoE,KAAKoT,GAIfs0D,EAAYM,EAAQp4B,QAAO,SAAS1sC,EAAQoL,GAO1C,OANA,OAAKA,EAAOo5D,WAAa,CAAC,GAAG,SAASxnE,EAAIqR,GACxCrO,EAAOqO,GAASrO,EAAOqO,IAAU,CAAC,EAClCrO,EAAOqO,GAAOjD,EAAOjC,MAAQu7D,GAAe1nE,CAC9C,WAEOoO,EAAOo5D,UACPxkE,CACT,GAAG,CAAC,GAEG,CACLwiE,OAAQsC,EACRN,UAAWA,GAEf,CAEA,SAASv+B,EAAc42B,EAAO2H,EAAWznB,EAAO1uC,GAC9C,GAAKm2D,EAAL,CAIA,IAEIO,EAFAj7C,EAAUizB,EAAMioB,SAChBC,EAASloB,EAAMmoB,QAGdV,EAAUS,EAAOlB,QAItBgB,EAAaP,EAAUS,EAAOlB,MAAMkB,EAAO97D,MACtC47D,IAI0C,KAA3C,OAASA,EAAY,CAACj7C,EAASzb,MAKjCwuD,EAAM4H,GAAa76D,QAAS,EAC5BmzC,EAAMhjC,OAAO+P,IArBf,CAuBF,CAEA,SAASq7C,EAAmBtI,EAAO2H,EAAWY,EAAUroB,EAAO1uC,GAC7D,IAAIyM,EAAOM,GAENgqD,GAAaroB,KAIbqoB,EAEOroB,EAEDqoB,IAAaroB,IACtB3hC,EAAQN,GAAQ,GAFhBM,GAAQ,EAFRN,GAAQ,EAONM,GACF6qB,EAAc42B,EAAO2H,EAAUppD,MAAOgqD,EAAU/2D,GAE9CyM,GACFmrB,EAAc42B,EAAO2H,EAAU1pD,MAAOiiC,EAAO1uC,GAEjD,CAEA,SAASg3D,EAAiBxI,EAAOxuD,GAC/B,IAEI+2D,EAAUroB,EAFVuoB,EAAUzI,EAAM4H,GAChBD,EAAYc,EAAQvV,WAGxB,GAAKyU,EAAU1pD,OAAU0pD,EAAUppD,MAAnC,CAIA,GAAmB,cAAf/M,EAAMpO,KACR88C,EAAQ4mB,EAAOS,OAAOkB,EAAQC,QAASl3D,QAClC,GAAmB,aAAfA,EAAMpO,KACf,OAGFmlE,EAAWE,EAAQE,SACnBF,EAAQE,SAAWzoB,EACnBooB,EAAmBtI,EAAO2H,EAAWY,EAAUroB,EAAO1uC,EAVtD,CAWF,CAEA,SAASo3D,EAAkB5I,EAAOxuD,GAChC,IAAIi3D,EAAUzI,EAAM4H,GAChB7S,EAAW0T,EAAQvV,WAAW2V,MAC9B3oB,EAAQ6U,GAAY+R,EAAOS,OAAOkB,EAAQC,QAASl3D,GACnD0uC,GACF9W,EAAc42B,EAAOjL,EAAU7U,EAAO1uC,EAE1C,CAEA,IAAI,EAAS,CACX5B,GAAI,aAEJsiD,SAAUA,EAEV4W,WAAY,SAAS9I,GACnBA,EAAM4H,GAAe,CACnBmB,SAAU,GAEd,EAEAziD,aAAc,SAAS05C,GACrB,IAAIyI,EAAUzI,EAAM4H,GACpBa,EAAQO,WAAY,EACpBP,EAAQvV,WAAa,CAAC,EACtBuV,EAAQQ,UAAY,GACpBR,EAAQC,QAAU,EACpB,EAEAQ,mBAAoB,SAASlJ,EAAO36D,EAAMgO,GACxC,IAQI5S,EAAGs2B,EAAG0kC,EAAMwL,EAAMtF,EAAKt+D,EAAKgU,EAAI6oC,EARhCggB,EAAe76D,EAAKtF,MACpB0oE,EAAUzI,EAAM4H,GAChBjC,EAAS8C,EAAQQ,UAAU/I,GAAgB,GAC3C6D,EAAU/D,EAAMmJ,iBAAiBjJ,GACjC0D,EAAU5D,EAAM/qD,KAAK+xD,SAAS9G,GAC9B3xD,EAASu5D,EAAUlE,EAASvwD,GAC5B+1D,EAAW/jE,EAAK4mC,KAAKh3B,MAAQ,GAC7BjB,EAAMgsD,EAAMhsD,IAKhB,IAFAA,EAAIkwD,OAECzjE,EAAI,EAAGg7D,EAAO2N,EAASzoE,OAAQF,EAAIg7D,IAAQh7D,EAI9C,GAHA4W,EAAK+xD,EAAS3oE,GACd4W,EAAGuwD,GAAe,GAEd7D,GAAW1sD,GAAM2oD,EAAMqJ,kBAAkB5oE,KAAO4W,EAAGiyD,KACrD,IAAKvyC,EAAI,EAAGkwC,EAAO14D,EAAOo3D,OAAOhlE,OAAQo2B,EAAIkwC,IAAQlwC,EACnD4qC,EAAMpzD,EAAOo3D,OAAO5uC,GACpB1zB,EAAMs+D,EAAIr1D,KAEV4zC,EAAQ,IAAI2iB,EAAMlB,EAAK3tD,EAAKqD,EAAI5W,GAChCy/C,EAAMmoB,QAAU,CACdnB,KAAMhH,EACN5zD,KAAMjJ,GAAOwkE,GAEf3nB,EAAMioB,SAAW,CACfxoE,QAAQ,EACRqgE,MAAOA,EACPuJ,UAAW9oE,EACXmjE,QAASA,EACT1D,aAAcA,GAGhBhgB,EAAMhjC,OAAOgjC,EAAMioB,UACnB9wD,EAAGuwD,GAAa3nE,KAAKigD,GACrBylB,EAAO1lE,KAAKigD,GAKlBlsC,EAAIqwD,WAIJ,OAAMoE,EAAQvV,WAAY3kD,EAAOo5D,UAAW,CAC1C6B,OAAQ,SAASh4D,EAAOrO,EAAQmV,GAC9BnV,EAAOqO,GAASrO,EAAOqO,IAAU,CAAC,EAClCrO,EAAOqO,GAAOnM,EAAKtF,OAASuY,EAAO9G,GACnCi3D,EAAQO,WAAY,CACtB,GAEJ,EAEAS,YAAa,SAASzJ,GACpBA,EAAM4H,GAAac,QAAU5B,EAAOC,QAAQ/G,EAAM4H,GAAaqB,UACjE,EAKAS,kBAAmB,SAAS1J,GAC1B8G,EAAO9C,KAAKhE,EAAOA,EAAM4H,GAAac,QACxC,EAEAiB,YAAa,SAAS3J,EAAO36D,GAI3B,GAAI26D,EAAM4H,GAAaoB,UAAW,CAChC,IAAIx3D,EAAQnM,EAAKmM,MACjB,OAAQA,EAAMpO,MACd,IAAK,YACL,IAAK,WACHolE,EAAiBxI,EAAOxuD,GACxB,MACF,IAAK,QACHo3D,EAAkB5I,EAAOxuD,GACzB,MAEJ,CACF,EAEAo4D,WAAY,SAAS5J,GACnB,IAIIv/D,EAAGg7D,EAAM1kC,EAAGkwC,EAAM/pD,EAAQgjC,EAAOylB,EAJjC8C,EAAUzI,EAAM4H,GAChBW,EAAWE,EAAQM,SACnBc,EAAUpB,EAAQM,SAAW/I,EAAM8J,oBACnC5N,EAAU9a,EAAM2a,UAAUwM,EAAUsB,GAGxC,IAAKppE,EAAI,EAAGg7D,EAAOS,EAAQv7D,OAAQF,EAAIg7D,IAAQh7D,EAE7C,GADAyc,EAASg/C,EAAQz7D,GACbyc,EAAO,GAET,IADAyoD,EAASzoD,EAAO,GAAG6sD,QAAQnC,IAAgB,GACtC7wC,EAAI,EAAGkwC,EAAOtB,EAAOhlE,OAAQo2B,EAAIkwC,IAAQlwC,EAC5CmpB,EAAQylB,EAAO5uC,GACfmpB,EAAMioB,SAASxoE,OAAwB,IAAdud,EAAO,GAChCgjC,EAAMhjC,OAAOgjC,EAAMioB,WAKrBM,EAAQ17D,QAAUmvD,EAAQv7D,UAC5BmmE,EAAO5pD,OAAOurD,EAAQC,SACtB1I,EAAMjrD,iBAGD0zD,EAAQ17D,MACjB,E,uBCn0CF,IAAIi9D,EAAa,EAAQ,KACrBC,EAAc,EAAQ,MAEtBC,EAAanX,UAGjBlF,EAAOC,QAAU,SAAUqc,GACzB,GAAIH,EAAWG,GAAW,OAAOA,EACjC,MAAMD,EAAWD,EAAYE,GAAY,qBAC3C,C,uBCTA,IAAIH,EAAa,EAAQ,KAErBI,EAAUxvD,OACVsvD,EAAanX,UAEjBlF,EAAOC,QAAU,SAAUqc,GACzB,GAAuB,iBAAZA,GAAwBH,EAAWG,GAAW,OAAOA,EAChE,MAAMD,EAAW,aAAeE,EAAQD,GAAY,kBACtD,C,uBCRA,IAAIj8B,EAAW,EAAQ,KAEnBk8B,EAAUxvD,OACVsvD,EAAanX,UAGjBlF,EAAOC,QAAU,SAAUqc,GACzB,GAAIj8B,EAASi8B,GAAW,OAAOA,EAC/B,MAAMD,EAAWE,EAAQD,GAAY,oBACvC,C,uBCTA,IAAIE,EAAkB,EAAQ,MAC1BC,EAAkB,EAAQ,MAC1BC,EAAoB,EAAQ,MAG5BC,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOrzD,EAAIszD,GAC1B,IAGIvkE,EAHAwkE,EAAIP,EAAgBK,GACpB/pE,EAAS4pE,EAAkBK,GAC3B7qE,EAAQuqE,EAAgBK,EAAWhqE,GAIvC,GAAI8pE,GAAepzD,GAAMA,GAAI,MAAO1W,EAASZ,EAG3C,GAFAqG,EAAQwkE,EAAE7qE,KAENqG,GAASA,EAAO,OAAO,OAEtB,KAAMzF,EAASZ,EAAOA,IAC3B,IAAK0qE,GAAe1qE,KAAS6qE,IAAMA,EAAE7qE,KAAWsX,EAAI,OAAOozD,GAAe1qE,GAAS,EACnF,OAAQ0qE,IAAgB,CAC5B,CACF,EAEA5c,EAAOC,QAAU,CAGf19C,SAAUo6D,GAAa,GAGvB/5D,QAAS+5D,GAAa,G,oCC7BxB,IAAIK,EAAc,EAAQ,MACtB98B,EAAU,EAAQ,MAElBm8B,EAAanX,UAEb+X,EAA2BnmE,OAAOmmE,yBAGlCC,EAAoCF,IAAgB,WAEtD,QAAapoE,IAAT/C,KAAoB,OAAO,EAC/B,IAEEiF,OAAO+gB,eAAe,GAAI,SAAU,CAAEslD,UAAU,IAASrqE,OAAS,CAGpE,CAFE,MAAOgO,GACP,OAAOA,aAAiBokD,SAC1B,CACF,CATwD,GAWxDlF,EAAOC,QAAUid,EAAoC,SAAUH,EAAGjqE,GAChE,GAAIotC,EAAQ68B,KAAOE,EAAyBF,EAAG,UAAUI,SACvD,MAAMd,EAAW,gCACjB,OAAOU,EAAEjqE,OAASA,CACtB,EAAI,SAAUiqE,EAAGjqE,GACf,OAAOiqE,EAAEjqE,OAASA,CACpB,C,uBC1BA,IAAIsqE,EAAc,EAAQ,MAEtB7/C,EAAW6/C,EAAY,CAAC,EAAE7/C,UAC1B8/C,EAAcD,EAAY,GAAGl5D,OAEjC87C,EAAOC,QAAU,SAAUqd,GACzB,OAAOD,EAAY9/C,EAAS+/C,GAAK,GAAI,EACvC,C,sBCPA,IAAIC,EAAwB,EAAQ,MAChCpB,EAAa,EAAQ,KACrBqB,EAAa,EAAQ,MACrBC,EAAkB,EAAQ,MAE1BC,EAAgBD,EAAgB,eAChCE,EAAU7mE,OAGV8mE,EAAuE,aAAnDJ,EAAW,WAAc,OAAOlzD,SAAW,CAAhC,IAG/BuzD,EAAS,SAAUP,EAAI9nE,GACzB,IACE,OAAO8nE,EAAG9nE,EACkB,CAA5B,MAAOsL,GAAqB,CAChC,EAGAk/C,EAAOC,QAAUsd,EAAwBC,EAAa,SAAUF,GAC9D,IAAIP,EAAG1qC,EAAKt5B,EACZ,YAAcnE,IAAP0oE,EAAmB,YAAqB,OAAPA,EAAc,OAEO,iBAAjDjrC,EAAMwrC,EAAOd,EAAIY,EAAQL,GAAKI,IAA8BrrC,EAEpEurC,EAAoBJ,EAAWT,GAEH,WAA3BhkE,EAASykE,EAAWT,KAAmBZ,EAAWY,EAAEe,QAAU,YAAc/kE,CACnF,C,uBC5BA,IAAI0pC,EAAS,EAAQ,MACjBxpC,EAAU,EAAQ,MAClB8kE,EAAiC,EAAQ,MACzCC,EAAuB,EAAQ,MAEnChe,EAAOC,QAAU,SAAU3qD,EAAQmV,EAAQwzD,GAIzC,IAHA,IAAIj2D,EAAO/O,EAAQwR,GACfoN,EAAiBmmD,EAAqB9mD,EACtC+lD,EAA2Bc,EAA+B7mD,EACrDtkB,EAAI,EAAGA,EAAIoV,EAAKlV,OAAQF,IAAK,CACpC,IAAI4C,EAAMwS,EAAKpV,GACV6vC,EAAOntC,EAAQE,IAAUyoE,GAAcx7B,EAAOw7B,EAAYzoE,IAC7DqiB,EAAeviB,EAAQE,EAAKynE,EAAyBxyD,EAAQjV,GAEjE,CACF,C,uBCfA,IAAIwnE,EAAc,EAAQ,MACtBgB,EAAuB,EAAQ,MAC/BE,EAA2B,EAAQ,MAEvCle,EAAOC,QAAU+c,EAAc,SAAU7+D,EAAQ3I,EAAK+C,GACpD,OAAOylE,EAAqB9mD,EAAE/Y,EAAQ3I,EAAK0oE,EAAyB,EAAG3lE,GACzE,EAAI,SAAU4F,EAAQ3I,EAAK+C,GAEzB,OADA4F,EAAO3I,GAAO+C,EACP4F,CACT,C,mBCTA6hD,EAAOC,QAAU,SAAUke,EAAQ5lE,GACjC,MAAO,CACLqhB,aAAuB,EAATukD,GACdtkD,eAAyB,EAATskD,GAChBhB,WAAqB,EAATgB,GACZ5lE,MAAOA,EAEX,C,uBCPA,IAAI4jE,EAAa,EAAQ,KACrB6B,EAAuB,EAAQ,MAC/BI,EAAc,EAAQ,MACtBC,EAAuB,EAAQ,MAEnCre,EAAOC,QAAU,SAAU8c,EAAGvnE,EAAK+C,EAAOiN,GACnCA,IAASA,EAAU,CAAC,GACzB,IAAI84D,EAAS94D,EAAQoU,WACjB/M,OAAwBjY,IAAjB4Q,EAAQqH,KAAqBrH,EAAQqH,KAAOrX,EAEvD,GADI2mE,EAAW5jE,IAAQ6lE,EAAY7lE,EAAOsU,EAAMrH,GAC5CA,EAAQ+4D,OACND,EAAQvB,EAAEvnE,GAAO+C,EAChB8lE,EAAqB7oE,EAAK+C,OAC1B,CACL,IACOiN,EAAQg5D,OACJzB,EAAEvnE,KAAM8oE,GAAS,UADEvB,EAAEvnE,EAEF,CAA5B,MAAOsL,GAAqB,CAC1Bw9D,EAAQvB,EAAEvnE,GAAO+C,EAChBylE,EAAqB9mD,EAAE6lD,EAAGvnE,EAAK,CAClC+C,MAAOA,EACPqhB,YAAY,EACZC,cAAerU,EAAQi5D,gBACvBtB,UAAW33D,EAAQk5D,aAEvB,CAAE,OAAO3B,CACX,C,uBC1BA,IAAIwB,EAAS,EAAQ,MAGjB1mD,EAAiB/gB,OAAO+gB,eAE5BmoC,EAAOC,QAAU,SAAUzqD,EAAK+C,GAC9B,IACEsf,EAAe0mD,EAAQ/oE,EAAK,CAAE+C,MAAOA,EAAOshB,cAAc,EAAMsjD,UAAU,GAG5E,CAFE,MAAOr8D,GACPy9D,EAAO/oE,GAAO+C,CAChB,CAAE,OAAOA,CACX,C,uBCXA,IAAIomE,EAAQ,EAAQ,MAGpB3e,EAAOC,SAAW0e,GAAM,WAEtB,OAA8E,GAAvE7nE,OAAO+gB,eAAe,CAAC,EAAG,EAAG,CAAEniB,IAAK,WAAc,OAAO,CAAG,IAAK,EAC1E,G,mBCNA,IAAIkpE,EAAiC,iBAAZ5sC,UAAwBA,SAAS4oB,IAGtDikB,EAAmC,oBAAfD,QAA8ChqE,IAAhBgqE,EAEtD5e,EAAOC,QAAU,CACfrF,IAAKgkB,EACLC,WAAYA,E,sBCPd,IAAIN,EAAS,EAAQ,MACjBl+B,EAAW,EAAQ,KAEnBrO,EAAWusC,EAAOvsC,SAElB8sC,EAASz+B,EAASrO,IAAaqO,EAASrO,EAASjQ,eAErDi+B,EAAOC,QAAU,SAAUqd,GACzB,OAAOwB,EAAS9sC,EAASjQ,cAAcu7C,GAAM,CAAC,CAChD,C,mBCTA,IAAIjB,EAAanX,UACb0R,EAAmB,iBAEvB5W,EAAOC,QAAU,SAAUqd,GACzB,GAAIA,EAAK1G,EAAkB,MAAMyF,EAAW,kCAC5C,OAAOiB,CACT,C,uBCNA,IAAIyB,EAAa,EAAQ,MAEzB/e,EAAOC,QAAU8e,EAAW,YAAa,cAAgB,E,uBCFzD,IAOIzhD,EAAOsC,EAPP2+C,EAAS,EAAQ,MACjBhpC,EAAY,EAAQ,MAEpBpR,EAAUo6C,EAAOp6C,QACjB66C,EAAOT,EAAOS,KACdC,EAAW96C,GAAWA,EAAQ86C,UAAYD,GAAQA,EAAKp/C,QACvDs/C,EAAKD,GAAYA,EAASC,GAG1BA,IACF5hD,EAAQ4hD,EAAGjzD,MAAM,KAGjB2T,EAAUtC,EAAM,GAAK,GAAKA,EAAM,GAAK,EAAI,IAAMA,EAAM,GAAKA,EAAM,MAK7DsC,GAAW2V,IACdjY,EAAQiY,EAAUjY,MAAM,iBACnBA,GAASA,EAAM,IAAM,MACxBA,EAAQiY,EAAUjY,MAAM,iBACpBA,IAAOsC,GAAWtC,EAAM,MAIhC0iC,EAAOC,QAAUrgC,C,kBCzBjBogC,EAAOC,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,U,uBCRF,IAAImd,EAAc,EAAQ,MAEtB+B,EAAS7vB,MACT7pC,EAAU23D,EAAY,GAAG33D,SAEzB25D,EAAO,SAAWxrD,GAAO,OAAO7G,OAAOoyD,EAAOvrD,GAAKw0C,MAAS,CAArD,CAAuD,UAC9DiX,EAA2B,uBAC3BC,EAAwBD,EAAyB1tD,KAAKytD,GAE1Dpf,EAAOC,QAAU,SAAUmI,EAAOmX,GAChC,GAAID,GAAyC,iBAATlX,IAAsB+W,EAAOK,kBAC/D,MAAOD,IAAenX,EAAQ3iD,EAAQ2iD,EAAOiX,EAA0B,IACvE,OAAOjX,CACX,C,uBCbA,IAAIuW,EAAQ,EAAQ,MAChBT,EAA2B,EAAQ,MAEvCle,EAAOC,SAAW0e,GAAM,WACtB,IAAI79D,EAAQwuC,MAAM,KAClB,QAAM,UAAWxuC,KAEjBhK,OAAO+gB,eAAe/W,EAAO,QAASo9D,EAAyB,EAAG,IAC3C,IAAhBp9D,EAAMsnD,MACf,G,uBCTA,IAAImW,EAAS,EAAQ,MACjBtB,EAA2B,UAC3BwC,EAA8B,EAAQ,MACtCC,EAAgB,EAAQ,MACxBrB,EAAuB,EAAQ,MAC/BsB,EAA4B,EAAQ,MACpCC,EAAW,EAAQ,MAiBvB5f,EAAOC,QAAU,SAAUz6C,EAASiF,GAClC,IAGIo1D,EAAQvqE,EAAQE,EAAKsqE,EAAgBC,EAAgBjoD,EAHrDkoD,EAASx6D,EAAQlQ,OACjB2qE,EAASz6D,EAAQ+4D,OACjB2B,EAAS16D,EAAQ26D,KASrB,GANE7qE,EADE2qE,EACO1B,EACA2B,EACA3B,EAAOyB,IAAW3B,EAAqB2B,EAAQ,CAAC,IAE/CzB,EAAOyB,IAAW,CAAC,GAAGnuC,UAE9Bv8B,EAAQ,IAAKE,KAAOiV,EAAQ,CAQ9B,GAPAs1D,EAAiBt1D,EAAOjV,GACpBgQ,EAAQ46D,gBACVtoD,EAAamlD,EAAyB3nE,EAAQE,GAC9CsqE,EAAiBhoD,GAAcA,EAAWvf,OACrCunE,EAAiBxqE,EAAOE,GAC/BqqE,EAASD,EAASK,EAASzqE,EAAMwqE,GAAUE,EAAS,IAAM,KAAO1qE,EAAKgQ,EAAQ66D,SAEzER,QAA6BjrE,IAAnBkrE,EAA8B,CAC3C,UAAWC,UAAyBD,EAAgB,SACpDH,EAA0BI,EAAgBD,EAC5C,EAEIt6D,EAAQ86D,MAASR,GAAkBA,EAAeQ,OACpDb,EAA4BM,EAAgB,QAAQ,GAEtDL,EAAcpqE,EAAQE,EAAKuqE,EAAgBv6D,EAC7C,CACF,C,mBCrDAw6C,EAAOC,QAAU,SAAU5Y,GACzB,IACE,QAASA,GAGX,CAFE,MAAOvmC,GACP,OAAO,CACT,CACF,C,uBCNA,IAAIy/D,EAAc,EAAQ,MAEtBC,EAAoB7zD,SAASklB,UAC7Bj6B,EAAQ4oE,EAAkB5oE,MAC1BmC,EAAOymE,EAAkBzmE,KAG7BimD,EAAOC,QAA4B,iBAAX5nD,SAAuBA,QAAQT,QAAU2oE,EAAcxmE,EAAK8H,KAAKjK,GAAS,WAChG,OAAOmC,EAAKnC,MAAMA,EAAO0S,UAC3B,E,uBCTA,IAAIq0D,EAAQ,EAAQ,MAEpB3e,EAAOC,SAAW0e,GAAM,WAEtB,IAAIhtD,EAAO,WAA4B,EAAE9P,OAEzC,MAAsB,mBAAR8P,GAAsBA,EAAK0vB,eAAe,YAC1D,G,uBCPA,IAAIk/B,EAAc,EAAQ,MAEtBxmE,EAAO4S,SAASklB,UAAU93B,KAE9BimD,EAAOC,QAAUsgB,EAAcxmE,EAAK8H,KAAK9H,GAAQ,WAC/C,OAAOA,EAAKnC,MAAMmC,EAAMuQ,UAC1B,C,uBCNA,IAAI0yD,EAAc,EAAQ,MACtBv6B,EAAS,EAAQ,MAEjB+9B,EAAoB7zD,SAASklB,UAE7B4uC,EAAgBzD,GAAelmE,OAAOmmE,yBAEtC6B,EAASr8B,EAAO+9B,EAAmB,QAEnCE,EAAS5B,GAA0D,cAAhD,WAAqC,EAAEjyD,KAC1D8zD,EAAe7B,KAAY9B,GAAgBA,GAAeyD,EAAcD,EAAmB,QAAQ3mD,cAEvGmmC,EAAOC,QAAU,CACf6e,OAAQA,EACR4B,OAAQA,EACRC,aAAcA,E,uBCfhB,IAAIJ,EAAc,EAAQ,MAEtBC,EAAoB7zD,SAASklB,UAC7BhwB,EAAO2+D,EAAkB3+D,KACzB9H,EAAOymE,EAAkBzmE,KACzBqjE,EAAcmD,GAAe1+D,EAAKA,KAAK9H,EAAMA,GAEjDimD,EAAOC,QAAUsgB,EAAc,SAAUjuE,GACvC,OAAOA,GAAM8qE,EAAY9qE,EAC3B,EAAI,SAAUA,GACZ,OAAOA,GAAM,WACX,OAAOyH,EAAKnC,MAAMtF,EAAIgY,UACxB,CACF,C,uBCbA,IAAIi0D,EAAS,EAAQ,MACjBpC,EAAa,EAAQ,KAErByE,EAAY,SAAUtE,GACxB,OAAOH,EAAWG,GAAYA,OAAW1nE,CAC3C,EAEAorD,EAAOC,QAAU,SAAU4gB,EAAWjmE,GACpC,OAAO0P,UAAUxX,OAAS,EAAI8tE,EAAUrC,EAAOsC,IAActC,EAAOsC,IAActC,EAAOsC,GAAWjmE,EACtG,C,uBCTA,IAAIkmE,EAAY,EAAQ,MACpBC,EAAoB,EAAQ,MAIhC/gB,EAAOC,QAAU,SAAU+gB,EAAGC,GAC5B,IAAIC,EAAOF,EAAEC,GACb,OAAOF,EAAkBG,QAAQtsE,EAAYksE,EAAUI,EACzD,C,uBCRA,IAAIC,EAAQ,SAAU7D,GACpB,OAAOA,GAAMA,EAAG/0C,MAAQA,MAAQ+0C,CAClC,EAGAtd,EAAOC,QAELkhB,EAA2B,iBAAd/8B,YAA0BA,aACvC+8B,EAAuB,iBAAVjsC,QAAsBA,SAEnCisC,EAAqB,iBAAR/hE,MAAoBA,OACjC+hE,EAAuB,iBAAV,EAAA98B,GAAsB,EAAAA,IAEnC,WAAe,OAAOxyC,IAAO,CAA7B,IAAoC8a,SAAS,cAATA,E,uBCbtC,IAAIywD,EAAc,EAAQ,MACtBgE,EAAW,EAAQ,MAEnB//B,EAAiB+7B,EAAY,CAAC,EAAE/7B,gBAKpC2e,EAAOC,QAAUnpD,OAAO2rC,QAAU,SAAgB66B,EAAI9nE,GACpD,OAAO6rC,EAAe+/B,EAAS9D,GAAK9nE,EACtC,C,mBCVAwqD,EAAOC,QAAU,CAAC,C,uBCAlB,IAAI+c,EAAc,EAAQ,MACtB2B,EAAQ,EAAQ,MAChB58C,EAAgB,EAAQ,KAG5Bi+B,EAAOC,SAAW+c,IAAgB2B,GAAM,WAEtC,OAEQ,GAFD7nE,OAAO+gB,eAAekK,EAAc,OAAQ,IAAK,CACtDrsB,IAAK,WAAc,OAAO,CAAG,IAC5B2N,CACL,G,uBCVA,IAAI+5D,EAAc,EAAQ,MACtBuB,EAAQ,EAAQ,MAChB0C,EAAU,EAAQ,MAElB1D,EAAU7mE,OACVmV,EAAQmxD,EAAY,GAAGnxD,OAG3B+zC,EAAOC,QAAU0e,GAAM,WAGrB,OAAQhB,EAAQ,KAAK2D,qBAAqB,EAC5C,IAAK,SAAUhE,GACb,MAAsB,UAAf+D,EAAQ/D,GAAkBrxD,EAAMqxD,EAAI,IAAMK,EAAQL,EAC3D,EAAIK,C,uBCdJ,IAAIxB,EAAa,EAAQ,KACrB97B,EAAW,EAAQ,KACnBkhC,EAAiB,EAAQ,MAG7BvhB,EAAOC,QAAU,SAAU4c,EAAO2E,EAAOC,GACvC,IAAIC,EAAWC,EAUf,OAPEJ,GAEApF,EAAWuF,EAAYF,EAAM7vE,cAC7B+vE,IAAcD,GACdphC,EAASshC,EAAqBD,EAAU7vC,YACxC8vC,IAAuBF,EAAQ5vC,WAC/B0vC,EAAe1E,EAAO8E,GACjB9E,CACT,C,uBCjBA,IAAIO,EAAc,EAAQ,MACtBjB,EAAa,EAAQ,KACrByF,EAAQ,EAAQ,MAEhBC,EAAmBzE,EAAYzwD,SAAS4Q,UAGvC4+C,EAAWyF,EAAME,iBACpBF,EAAME,cAAgB,SAAUxE,GAC9B,OAAOuE,EAAiBvE,EAC1B,GAGFtd,EAAOC,QAAU2hB,EAAME,a,uBCbvB,IAAIzhC,EAAW,EAAQ,KACnBo/B,EAA8B,EAAQ,MAI1Czf,EAAOC,QAAU,SAAU8c,EAAGv3D,GACxB66B,EAAS76B,IAAY,UAAWA,GAClCi6D,EAA4B1C,EAAG,QAASv3D,EAAQu8D,MAEpD,C,uBCTA,IAaIpsE,EAAKD,EAAKM,EAbVgsE,EAAkB,EAAQ,MAC1BzD,EAAS,EAAQ,MACjBnB,EAAc,EAAQ,MACtB/8B,EAAW,EAAQ,KACnBo/B,EAA8B,EAAQ,MACtCh9B,EAAS,EAAQ,MACjBw/B,EAAS,EAAQ,MACjBC,EAAY,EAAQ,MACpBC,EAAa,EAAQ,MAErBC,EAA6B,6BAC7Bld,EAAYqZ,EAAOrZ,UACnB/wD,EAAUoqE,EAAOpqE,QAGjBkuE,EAAU,SAAU/E,GACtB,OAAOtnE,EAAIsnE,GAAM5nE,EAAI4nE,GAAM3nE,EAAI2nE,EAAI,CAAC,EACtC,EAEIgF,EAAY,SAAUC,GACxB,OAAO,SAAUjF,GACf,IAAInxD,EACJ,IAAKk0B,EAASi9B,KAAQnxD,EAAQzW,EAAI4nE,IAAK/nE,OAASgtE,EAC9C,MAAMrd,EAAU,0BAA4Bqd,EAAO,aACnD,OAAOp2D,CACX,CACF,EAEA,GAAI61D,GAAmBC,EAAO91D,MAAO,CACnC,IAAIy1D,EAAQK,EAAO91D,QAAU81D,EAAO91D,MAAQ,IAAIhY,GAC5CquE,EAAQpF,EAAYwE,EAAMlsE,KAC1B+sE,EAAQrF,EAAYwE,EAAM5rE,KAC1B0sE,EAAQtF,EAAYwE,EAAMjsE,KAC9BA,EAAM,SAAU2nE,EAAIqF,GAClB,GAAIF,EAAMb,EAAOtE,GAAK,MAAMpY,EAAUkd,GAGtC,OAFAO,EAASC,OAAStF,EAClBoF,EAAMd,EAAOtE,EAAIqF,GACVA,CACT,EACAjtE,EAAM,SAAU4nE,GACd,OAAOkF,EAAMZ,EAAOtE,IAAO,CAAC,CAC9B,EACAtnE,EAAM,SAAUsnE,GACd,OAAOmF,EAAMb,EAAOtE,EACtB,CACF,KAAO,CACL,IAAIuF,EAAQX,EAAU,SACtBC,EAAWU,IAAS,EACpBltE,EAAM,SAAU2nE,EAAIqF,GAClB,GAAIlgC,EAAO66B,EAAIuF,GAAQ,MAAM3d,EAAUkd,GAGvC,OAFAO,EAASC,OAAStF,EAClBmC,EAA4BnC,EAAIuF,EAAOF,GAChCA,CACT,EACAjtE,EAAM,SAAU4nE,GACd,OAAO76B,EAAO66B,EAAIuF,GAASvF,EAAGuF,GAAS,CAAC,CAC1C,EACA7sE,EAAM,SAAUsnE,GACd,OAAO76B,EAAO66B,EAAIuF,EACpB,CACF,CAEA7iB,EAAOC,QAAU,CACftqD,IAAKA,EACLD,IAAKA,EACLM,IAAKA,EACLqsE,QAASA,EACTC,UAAWA,E,uBCnEb,IAAIjB,EAAU,EAAQ,MAKtBrhB,EAAOC,QAAU5hD,MAAM6hC,SAAW,SAAiBo8B,GACjD,MAA4B,SAArB+E,EAAQ/E,EACjB,C,sBCPA,IAAIwG,EAAe,EAAQ,MAEvBlE,EAAckE,EAAaloB,IAI/BoF,EAAOC,QAAU6iB,EAAajE,WAAa,SAAUvC,GACnD,MAA0B,mBAAZA,GAA0BA,IAAasC,CACvD,EAAI,SAAUtC,GACZ,MAA0B,mBAAZA,CAChB,C,uBCVA,IAAIqC,EAAQ,EAAQ,MAChBxC,EAAa,EAAQ,KAErB4G,EAAc,kBAEdnD,EAAW,SAAUoD,EAASC,GAChC,IAAI1qE,EAAQ6O,EAAKknB,EAAU00C,IAC3B,OAAOzqE,GAAS2qE,GACZ3qE,GAAS4qE,IACThH,EAAW8G,GAAatE,EAAMsE,KAC5BA,EACR,EAEI30C,EAAYsxC,EAAStxC,UAAY,SAAUmW,GAC7C,OAAO13B,OAAO03B,GAAQh/B,QAAQs9D,EAAa,KAAKr9D,aAClD,EAEI0B,EAAOw4D,EAASx4D,KAAO,CAAC,EACxB+7D,EAASvD,EAASuD,OAAS,IAC3BD,EAAWtD,EAASsD,SAAW,IAEnCljB,EAAOC,QAAU2f,C,mBCnBjB5f,EAAOC,QAAU,SAAUqd,GACzB,OAAc,OAAPA,QAAsB1oE,IAAP0oE,CACxB,C,sBCJA,IAAInB,EAAa,EAAQ,KACrB2G,EAAe,EAAQ,MAEvBlE,EAAckE,EAAaloB,IAE/BoF,EAAOC,QAAU6iB,EAAajE,WAAa,SAAUvB,GACnD,MAAoB,iBAANA,EAAwB,OAAPA,EAAcnB,EAAWmB,IAAOA,IAAOsB,CACxE,EAAI,SAAUtB,GACZ,MAAoB,iBAANA,EAAwB,OAAPA,EAAcnB,EAAWmB,EAC1D,C,mBCTAtd,EAAOC,SAAU,C,uBCAjB,IAAI8e,EAAa,EAAQ,MACrB5C,EAAa,EAAQ,KACrBiH,EAAgB,EAAQ,MACxBC,EAAoB,EAAQ,MAE5B1F,EAAU7mE,OAEdkpD,EAAOC,QAAUojB,EAAoB,SAAU/F,GAC7C,MAAoB,iBAANA,CAChB,EAAI,SAAUA,GACZ,IAAIgG,EAAUvE,EAAW,UACzB,OAAO5C,EAAWmH,IAAYF,EAAcE,EAAQzxC,UAAW8rC,EAAQL,GACzE,C,uBCZA,IAAIiG,EAAW,EAAQ,MAIvBvjB,EAAOC,QAAU,SAAUnc,GACzB,OAAOy/B,EAASz/B,EAAIhxC,OACtB,C,uBCNA,IAAI6rE,EAAQ,EAAQ,MAChBxC,EAAa,EAAQ,KACrB15B,EAAS,EAAQ,MACjBu6B,EAAc,EAAQ,MACtBwG,EAA6B,qBAC7B1B,EAAgB,EAAQ,MACxB2B,EAAsB,EAAQ,MAE9BC,EAAuBD,EAAoBpB,QAC3CsB,EAAmBF,EAAoB/tE,IAEvCmiB,EAAiB/gB,OAAO+gB,eAExB+rD,EAAsB5G,IAAgB2B,GAAM,WAC9C,OAAsF,IAA/E9mD,GAAe,WAA0B,GAAG,SAAU,CAAEtf,MAAO,IAAKzF,MAC7E,IAEI+wE,EAAW92D,OAAOA,QAAQd,MAAM,UAEhCmyD,EAAcpe,EAAOC,QAAU,SAAU1nD,EAAOsU,EAAMrH,GACvB,YAA7BuH,OAAOF,GAAM3I,MAAM,EAAG,KACxB2I,EAAO,IAAME,OAAOF,GAAMpH,QAAQ,qBAAsB,MAAQ,KAE9DD,GAAWA,EAAQzG,SAAQ8N,EAAO,OAASA,GAC3CrH,GAAWA,EAAQjG,SAAQsN,EAAO,OAASA,KAC1C41B,EAAOlqC,EAAO,SAAYirE,GAA8BjrE,EAAMsU,OAASA,KACtEmwD,EAAanlD,EAAetf,EAAO,OAAQ,CAAEA,MAAOsU,EAAMgN,cAAc,IACvEthB,EAAMsU,KAAOA,GAEhB+2D,GAAuBp+D,GAAWi9B,EAAOj9B,EAAS,UAAYjN,EAAMzF,SAAW0S,EAAQs+D,OACzFjsD,EAAetf,EAAO,SAAU,CAAEA,MAAOiN,EAAQs+D,QAEnD,IACMt+D,GAAWi9B,EAAOj9B,EAAS,gBAAkBA,EAAQ7T,YACnDqrE,GAAanlD,EAAetf,EAAO,YAAa,CAAE4kE,UAAU,IAEvD5kE,EAAMs5B,YAAWt5B,EAAMs5B,eAAYj9B,EAClB,CAA5B,MAAOkM,GAAqB,CAC9B,IAAIqL,EAAQu3D,EAAqBnrE,GAG/B,OAFGkqC,EAAOt2B,EAAO,YACjBA,EAAM1B,OAASo5D,EAASvwC,KAAoB,iBAARzmB,EAAmBA,EAAO,KACvDtU,CACX,EAIAoU,SAASklB,UAAUtU,SAAW6gD,GAAY,WACxC,OAAOjC,EAAWtqE,OAAS8xE,EAAiB9xE,MAAM4Y,QAAUq3D,EAAcjwE,KAC5E,GAAG,W,mBChDH,IAAIw4C,EAAO9hB,KAAK8hB,KACZ05B,EAAQx7C,KAAKw7C,MAKjB/jB,EAAOC,QAAU13B,KAAKy7C,OAAS,SAAel4B,GAC5C,IAAIr4C,GAAKq4C,EACT,OAAQr4C,EAAI,EAAIswE,EAAQ15B,GAAM52C,EAChC,C,uBCTA,IAAI8pB,EAAW,EAAQ,MAEvByiC,EAAOC,QAAU,SAAUqc,EAAU2H,GACnC,YAAoBrvE,IAAb0nE,EAAyBhyD,UAAUxX,OAAS,EAAI,GAAKmxE,EAAW1mD,EAAS++C,EAClF,C,uBCJA,IAAIU,EAAc,EAAQ,MACtBkH,EAAiB,EAAQ,MACzBC,EAA0B,EAAQ,MAClCC,EAAW,EAAQ,MACnBC,EAAgB,EAAQ,MAExBhI,EAAanX,UAEbof,EAAkBxtE,OAAO+gB,eAEzB0sD,EAA4BztE,OAAOmmE,yBACnCuH,EAAa,aACb7D,EAAe,eACf8D,EAAW,WAIfxkB,EAAQ/oC,EAAI8lD,EAAcmH,EAA0B,SAAwBpH,EAAGkE,EAAGyD,GAIhF,GAHAN,EAASrH,GACTkE,EAAIoD,EAAcpD,GAClBmD,EAASM,GACQ,oBAAN3H,GAA0B,cAANkE,GAAqB,UAAWyD,GAAcD,KAAYC,IAAeA,EAAWD,GAAW,CAC5H,IAAIxyD,EAAUsyD,EAA0BxH,EAAGkE,GACvChvD,GAAWA,EAAQwyD,KACrB1H,EAAEkE,GAAKyD,EAAWnsE,MAClBmsE,EAAa,CACX7qD,aAAc8mD,KAAgB+D,EAAaA,EAAW/D,GAAgB1uD,EAAQ0uD,GAC9E/mD,WAAY4qD,KAAcE,EAAaA,EAAWF,GAAcvyD,EAAQuyD,GACxErH,UAAU,GAGhB,CAAE,OAAOmH,EAAgBvH,EAAGkE,EAAGyD,EACjC,EAAIJ,EAAkB,SAAwBvH,EAAGkE,EAAGyD,GAIlD,GAHAN,EAASrH,GACTkE,EAAIoD,EAAcpD,GAClBmD,EAASM,GACLR,EAAgB,IAClB,OAAOI,EAAgBvH,EAAGkE,EAAGyD,EACD,CAA5B,MAAO5jE,GAAqB,CAC9B,GAAI,QAAS4jE,GAAc,QAASA,EAAY,MAAMrI,EAAW,2BAEjE,MADI,UAAWqI,IAAY3H,EAAEkE,GAAKyD,EAAWnsE,OACtCwkE,CACT,C,uBC1CA,IAAIC,EAAc,EAAQ,MACtBjjE,EAAO,EAAQ,MACf4qE,EAA6B,EAAQ,MACrCzG,EAA2B,EAAQ,MACnC1B,EAAkB,EAAQ,MAC1B6H,EAAgB,EAAQ,MACxB5hC,EAAS,EAAQ,MACjByhC,EAAiB,EAAQ,MAGzBK,EAA4BztE,OAAOmmE,yBAIvChd,EAAQ/oC,EAAI8lD,EAAcuH,EAA4B,SAAkCxH,EAAGkE,GAGzF,GAFAlE,EAAIP,EAAgBO,GACpBkE,EAAIoD,EAAcpD,GACdiD,EAAgB,IAClB,OAAOK,EAA0BxH,EAAGkE,EACR,CAA5B,MAAOngE,GAAqB,CAC9B,GAAI2hC,EAAOs6B,EAAGkE,GAAI,OAAO/C,GAA0BnkE,EAAK4qE,EAA2BztD,EAAG6lD,EAAGkE,GAAIlE,EAAEkE,GACjG,C,uBCrBA,IAAI2D,EAAqB,EAAQ,MAC7BC,EAAc,EAAQ,KAEtB1C,EAAa0C,EAAYx8D,OAAO,SAAU,aAK9C43C,EAAQ/oC,EAAIpgB,OAAOC,qBAAuB,SAA6BgmE,GACrE,OAAO6H,EAAmB7H,EAAGoF,EAC/B,C,qBCTAliB,EAAQ/oC,EAAIpgB,OAAOguE,qB,uBCDnB,IAAI1H,EAAc,EAAQ,MAE1Bpd,EAAOC,QAAUmd,EAAY,CAAC,EAAEgG,c,uBCFhC,IAAIhG,EAAc,EAAQ,MACtB36B,EAAS,EAAQ,MACjB+5B,EAAkB,EAAQ,MAC1B55D,EAAU,gBACVu/D,EAAa,EAAQ,MAErB/vE,EAAOgrE,EAAY,GAAGhrE,MAE1B4tD,EAAOC,QAAU,SAAU9hD,EAAQ4mE,GACjC,IAGIvvE,EAHAunE,EAAIP,EAAgBr+D,GACpBvL,EAAI,EACJmG,EAAS,GAEb,IAAKvD,KAAOunE,GAAIt6B,EAAO0/B,EAAY3sE,IAAQitC,EAAOs6B,EAAGvnE,IAAQpD,EAAK2G,EAAQvD,GAE1E,MAAOuvE,EAAMjyE,OAASF,EAAO6vC,EAAOs6B,EAAGvnE,EAAMuvE,EAAMnyE,SAChDgQ,EAAQ7J,EAAQvD,IAAQpD,EAAK2G,EAAQvD,IAExC,OAAOuD,CACT,C,kCClBA,IAAIisE,EAAwB,CAAC,EAAE1D,qBAE3BrE,EAA2BnmE,OAAOmmE,yBAGlCgI,EAAchI,IAA6B+H,EAAsBjrE,KAAK,CAAE,EAAG,GAAK,GAIpFkmD,EAAQ/oC,EAAI+tD,EAAc,SAA8BjE,GACtD,IAAIlpD,EAAamlD,EAAyBprE,KAAMmvE,GAChD,QAASlpD,GAAcA,EAAW8B,UACpC,EAAIorD,C,uBCZJ,IAAI5H,EAAc,EAAQ,MACtBgH,EAAW,EAAQ,MACnBc,EAAqB,EAAQ,MAMjCllB,EAAOC,QAAUnpD,OAAOyqE,iBAAmB,aAAe,CAAC,EAAI,WAC7D,IAEIhiE,EAFA4lE,GAAiB,EACjBxzD,EAAO,CAAC,EAEZ,IAEEpS,EAAS69D,EAAYtmE,OAAOmmE,yBAAyBnmE,OAAO+6B,UAAW,aAAal8B,KACpF4J,EAAOoS,EAAM,IACbwzD,EAAiBxzD,aAAgBtT,KACL,CAA5B,MAAOyC,GAAqB,CAC9B,OAAO,SAAwBi8D,EAAG7iE,GAKhC,OAJAkqE,EAASrH,GACTmI,EAAmBhrE,GACfirE,EAAgB5lE,EAAOw9D,EAAG7iE,GACzB6iE,EAAEqI,UAAYlrE,EACZ6iE,CACT,CACF,CAjB+D,QAiBzDnoE,E,uBC1BN,IAAImF,EAAO,EAAQ,MACfoiE,EAAa,EAAQ,KACrB97B,EAAW,EAAQ,KAEnBg8B,EAAanX,UAIjBlF,EAAOC,QAAU,SAAUtQ,EAAO01B,GAChC,IAAI/yE,EAAIqM,EACR,GAAa,WAAT0mE,GAAqBlJ,EAAW7pE,EAAKq9C,EAAMpyB,YAAc8iB,EAAS1hC,EAAM5E,EAAKzH,EAAIq9C,IAAS,OAAOhxC,EACrG,GAAIw9D,EAAW7pE,EAAKq9C,EAAM21B,WAAajlC,EAAS1hC,EAAM5E,EAAKzH,EAAIq9C,IAAS,OAAOhxC,EAC/E,GAAa,WAAT0mE,GAAqBlJ,EAAW7pE,EAAKq9C,EAAMpyB,YAAc8iB,EAAS1hC,EAAM5E,EAAKzH,EAAIq9C,IAAS,OAAOhxC,EACrG,MAAM09D,EAAW,0CACnB,C,uBCdA,IAAI0C,EAAa,EAAQ,MACrB3B,EAAc,EAAQ,MACtBmI,EAA4B,EAAQ,MACpCC,EAA8B,EAAQ,MACtCpB,EAAW,EAAQ,MAEnB/7D,EAAS+0D,EAAY,GAAG/0D,QAG5B23C,EAAOC,QAAU8e,EAAW,UAAW,YAAc,SAAiBzB,GACpE,IAAIt1D,EAAOu9D,EAA0BruD,EAAEktD,EAAS9G,IAC5CwH,EAAwBU,EAA4BtuD,EACxD,OAAO4tD,EAAwBz8D,EAAOL,EAAM88D,EAAsBxH,IAAOt1D,CAC3E,C,uBCbA,IAAI6P,EAAiB,UAErBmoC,EAAOC,QAAU,SAAUwlB,EAAQC,EAAQlwE,GACzCA,KAAOiwE,GAAU5tD,EAAe4tD,EAAQjwE,EAAK,CAC3CqkB,cAAc,EACdnkB,IAAK,WAAc,OAAOgwE,EAAOlwE,EAAM,EACvCG,IAAK,SAAU2nE,GAAMoI,EAAOlwE,GAAO8nE,CAAI,GAE3C,C,uBCRA,IAAIyD,EAAoB,EAAQ,MAE5B1E,EAAanX,UAIjBlF,EAAOC,QAAU,SAAUqd,GACzB,GAAIyD,EAAkBzD,GAAK,MAAMjB,EAAW,wBAA0BiB,GACtE,OAAOA,CACT,C,uBCTA,IAAI2E,EAAS,EAAQ,MACjBx2D,EAAM,EAAQ,MAEdzD,EAAOi6D,EAAO,QAElBjiB,EAAOC,QAAU,SAAUzqD,GACzB,OAAOwS,EAAKxS,KAASwS,EAAKxS,GAAOiW,EAAIjW,GACvC,C,uBCPA,IAAI+oE,EAAS,EAAQ,MACjBF,EAAuB,EAAQ,MAE/BsH,EAAS,qBACT/D,EAAQrD,EAAOoH,IAAWtH,EAAqBsH,EAAQ,CAAC,GAE5D3lB,EAAOC,QAAU2hB,C,uBCNjB,IAAIgE,EAAU,EAAQ,MAClBhE,EAAQ,EAAQ,OAEnB5hB,EAAOC,QAAU,SAAUzqD,EAAK+C,GAC/B,OAAOqpE,EAAMpsE,KAASosE,EAAMpsE,QAAiBZ,IAAV2D,EAAsBA,EAAQ,CAAC,EACpE,GAAG,WAAY,IAAInG,KAAK,CACtBwtB,QAAS,SACT9S,KAAM84D,EAAU,OAAS,SACzBC,UAAW,4CACXC,QAAS,2DACTr7D,OAAQ,uC,uBCTV,IAAIs7D,EAAa,EAAQ,MACrBpH,EAAQ,EAAQ,MAGpB3e,EAAOC,UAAYnpD,OAAOguE,wBAA0BnG,GAAM,WACxD,IAAIqH,EAASxxE,SAGb,OAAQuY,OAAOi5D,MAAalvE,OAAOkvE,aAAmBxxE,UAEnDA,OAAO8rE,MAAQyF,GAAcA,EAAa,EAC/C,G,uBCZA,IAAIE,EAAsB,EAAQ,MAE9BrrC,EAAMrS,KAAKqS,IACXpS,EAAMD,KAAKC,IAKfw3B,EAAOC,QAAU,SAAU/tD,EAAOY,GAChC,IAAIozE,EAAUD,EAAoB/zE,GAClC,OAAOg0E,EAAU,EAAItrC,EAAIsrC,EAAUpzE,EAAQ,GAAK01B,EAAI09C,EAASpzE,EAC/D,C,uBCVA,IAAIqzE,EAAgB,EAAQ,MACxBC,EAAyB,EAAQ,MAErCpmB,EAAOC,QAAU,SAAUqd,GACzB,OAAO6I,EAAcC,EAAuB9I,GAC9C,C,uBCNA,IAAI0G,EAAQ,EAAQ,MAIpBhkB,EAAOC,QAAU,SAAUqc,GACzB,IAAIl4D,GAAUk4D,EAEd,OAAOl4D,IAAWA,GAAqB,IAAXA,EAAe,EAAI4/D,EAAM5/D,EACvD,C,uBCRA,IAAI6hE,EAAsB,EAAQ,MAE9Bz9C,EAAMD,KAAKC,IAIfw3B,EAAOC,QAAU,SAAUqc,GACzB,OAAOA,EAAW,EAAI9zC,EAAIy9C,EAAoB3J,GAAW,kBAAoB,CAC/E,C,uBCRA,IAAI8J,EAAyB,EAAQ,MAEjCzI,EAAU7mE,OAIdkpD,EAAOC,QAAU,SAAUqc,GACzB,OAAOqB,EAAQyI,EAAuB9J,GACxC,C,uBCRA,IAAIviE,EAAO,EAAQ,MACfsmC,EAAW,EAAQ,KACnBY,EAAW,EAAQ,MACnBolC,EAAY,EAAQ,MACpBC,EAAsB,EAAQ,MAC9B7I,EAAkB,EAAQ,MAE1BpB,EAAanX,UACbqhB,EAAe9I,EAAgB,eAInCzd,EAAOC,QAAU,SAAUtQ,EAAO01B,GAChC,IAAKhlC,EAASsP,IAAU1O,EAAS0O,GAAQ,OAAOA,EAChD,IACI52C,EADAytE,EAAeH,EAAU12B,EAAO42B,GAEpC,GAAIC,EAAc,CAGhB,QAFa5xE,IAATywE,IAAoBA,EAAO,WAC/BtsE,EAASgB,EAAKysE,EAAc72B,EAAO01B,IAC9BhlC,EAAStnC,IAAWkoC,EAASloC,GAAS,OAAOA,EAClD,MAAMsjE,EAAW,0CACnB,CAEA,YADaznE,IAATywE,IAAoBA,EAAO,UACxBiB,EAAoB32B,EAAO01B,EACpC,C,uBCxBA,IAAIoB,EAAc,EAAQ,MACtBxlC,EAAW,EAAQ,MAIvB+e,EAAOC,QAAU,SAAUqc,GACzB,IAAI9mE,EAAMixE,EAAYnK,EAAU,UAChC,OAAOr7B,EAASzrC,GAAOA,EAAMA,EAAM,EACrC,C,uBCRA,IAAIioE,EAAkB,EAAQ,MAE1BC,EAAgBD,EAAgB,eAChC9rD,EAAO,CAAC,EAEZA,EAAK+rD,GAAiB,IAEtB1d,EAAOC,QAA2B,eAAjBlzC,OAAO4E,E,uBCPxB,IAAI0vD,EAAU,EAAQ,KAElB9E,EAAUxvD,OAEdizC,EAAOC,QAAU,SAAUqc,GACzB,GAA0B,WAAtB+E,EAAQ/E,GAAwB,MAAMpX,UAAU,6CACpD,OAAOqX,EAAQD,EACjB,C,mBCPA,IAAIC,EAAUxvD,OAEdizC,EAAOC,QAAU,SAAUqc,GACzB,IACE,OAAOC,EAAQD,EAGjB,CAFE,MAAOx7D,GACP,MAAO,QACT,CACF,C,uBCRA,IAAIs8D,EAAc,EAAQ,MAEtBr7D,EAAK,EACL2kE,EAAUn+C,KAAKo+C,SACfppD,EAAW6/C,EAAY,GAAI7/C,UAE/ByiC,EAAOC,QAAU,SAAUzqD,GACzB,MAAO,gBAAqBZ,IAARY,EAAoB,GAAKA,GAAO,KAAO+nB,IAAWxb,EAAK2kE,EAAS,GACtF,C,uBCPA,IAAIE,EAAgB,EAAQ,MAE5B5mB,EAAOC,QAAU2mB,IACXpyE,OAAO8rE,MACkB,iBAAnB9rE,OAAOuG,Q,uBCLnB,IAAIiiE,EAAc,EAAQ,MACtB2B,EAAQ,EAAQ,MAIpB3e,EAAOC,QAAU+c,GAAe2B,GAAM,WAEpC,OAGgB,IAHT7nE,OAAO+gB,gBAAe,WAA0B,GAAG,YAAa,CACrEtf,MAAO,GACP4kE,UAAU,IACTtrC,SACL,G,uBCXA,IAAI0sC,EAAS,EAAQ,MACjBpC,EAAa,EAAQ,KAErBhoE,EAAUoqE,EAAOpqE,QAErB6rD,EAAOC,QAAUkc,EAAWhoE,IAAY,cAAcwd,KAAK5E,OAAO5Y,G,uBCLlE,IAAIoqE,EAAS,EAAQ,MACjB0D,EAAS,EAAQ,MACjBx/B,EAAS,EAAQ,MACjBh3B,EAAM,EAAQ,MACdm7D,EAAgB,EAAQ,MACxBvD,EAAoB,EAAQ,MAE5BwD,EAAwB5E,EAAO,OAC/BztE,EAAS+pE,EAAO/pE,OAChBsyE,EAAYtyE,GAAUA,EAAO,OAC7BuyE,EAAwB1D,EAAoB7uE,EAASA,GAAUA,EAAOwyE,eAAiBv7D,EAE3Fu0C,EAAOC,QAAU,SAAUpzC,GACzB,IAAK41B,EAAOokC,EAAuBh6D,KAAW+5D,GAAuD,iBAA/BC,EAAsBh6D,GAAoB,CAC9G,IAAIm7C,EAAc,UAAYn7C,EAC1B+5D,GAAiBnkC,EAAOjuC,EAAQqY,GAClCg6D,EAAsBh6D,GAAQrY,EAAOqY,GAErCg6D,EAAsBh6D,GADbw2D,GAAqByD,EACAA,EAAU9e,GAEV+e,EAAsB/e,EAExD,CAAE,OAAO6e,EAAsBh6D,EACjC,C,oCCtBA,IAAIkyD,EAAa,EAAQ,MACrBt8B,EAAS,EAAQ,MACjBg9B,EAA8B,EAAQ,MACtC2D,EAAgB,EAAQ,MACxB7B,EAAiB,EAAQ,MACzB5B,EAA4B,EAAQ,MACpCsH,EAAgB,EAAQ,MACxBC,EAAoB,EAAQ,MAC5BC,EAA0B,EAAQ,MAClCC,EAAoB,EAAQ,MAC5BC,EAAkB,EAAQ,MAC1BC,EAA0B,EAAQ,MAClCtK,EAAc,EAAQ,MACtB4I,EAAU,EAAQ,MAEtB5lB,EAAOC,QAAU,SAAUsnB,EAAWt0C,EAAS4sC,EAAQ2H,GACrD,IAAIC,EAAoB,kBACpBC,EAAmBF,EAAqB,EAAI,EAC5Cz7D,EAAOw7D,EAAUt7D,MAAM,KACvB07D,EAAa57D,EAAKA,EAAKjZ,OAAS,GAChC80E,EAAgB7I,EAAWnnE,MAAM,KAAMmU,GAE3C,GAAK67D,EAAL,CAEA,IAAIC,EAAyBD,EAAc/1C,UAK3C,IAFK+zC,GAAWnjC,EAAOolC,EAAwB,iBAAiBA,EAAuB9F,OAElFlC,EAAQ,OAAO+H,EAEpB,IAAIE,EAAY/I,EAAW,SAEvBgJ,EAAe90C,GAAQ,SAAU5vB,EAAGC,GACtC,IAAIyhD,EAAUoiB,EAAwBK,EAAqBlkE,EAAID,OAAGzO,GAC9DmE,EAASyuE,EAAqB,IAAII,EAAcvkE,GAAK,IAAIukE,EAK7D,YAJgBhzE,IAAZmwD,GAAuB0a,EAA4B1mE,EAAQ,UAAWgsD,GACtEuiB,GAAyB7H,EAA4B1mE,EAAQ,QAASsuE,EAAgBtuE,EAAOqvD,MAAO,IACpGv2D,MAAQuxE,EAAcyE,EAAwBh2E,OAAOq1E,EAAkBnuE,EAAQlH,KAAMk2E,GACrFz9D,UAAUxX,OAAS40E,GAAkBN,EAAkBruE,EAAQuR,UAAUo9D,IACtE3uE,CACT,IAcA,GAZAgvE,EAAal2C,UAAYg2C,EAEN,UAAfF,EACEpG,EAAgBA,EAAewG,EAAcD,GAC5CnI,EAA0BoI,EAAcD,EAAW,CAAEj7D,MAAM,IACvDmwD,GAAeyK,KAAqBG,IAC7CX,EAAcc,EAAcH,EAAeH,GAC3CR,EAAcc,EAAcH,EAAe,sBAG7CjI,EAA0BoI,EAAcH,IAEnChC,EAAS,IAERiC,EAAuBh7D,OAAS86D,GAClClI,EAA4BoI,EAAwB,OAAQF,GAE9DE,EAAuBl2E,YAAco2E,CACT,CAA5B,MAAOjnE,GAAqB,CAE9B,OAAOinE,CAzCmB,CA0C5B,C,oCChEA,IAAI3xD,EAAI,EAAQ,MACZgrD,EAAW,EAAQ,MACnB1E,EAAoB,EAAQ,MAC5BsL,EAAiB,EAAQ,MACzBC,EAA2B,EAAQ,MACnCtJ,EAAQ,EAAQ,MAEhBuJ,EAAsBvJ,GAAM,WAC9B,OAAoD,aAA7C,GAAGvsE,KAAK2H,KAAK,CAAEjH,OAAQ,YAAe,EAC/C,IAIIq1E,GAAiC,WACnC,IAEErxE,OAAO+gB,eAAe,GAAI,SAAU,CAAEslD,UAAU,IAAS/qE,MAG3D,CAFE,MAAO0O,GACP,OAAOA,aAAiBokD,SAC1B,CACF,CAPqC,GAWrC9uC,EAAE,CAAE9gB,OAAQ,QAAS4E,OAAO,EAAM4pE,MAAO,EAAGzD,OAAQ6H,GAAuBC,GAAiC,CAE1G/1E,KAAM,SAAc6iB,GAClB,IAAI8nD,EAAIqE,EAASvvE,MACb25B,EAAMkxC,EAAkBK,GACxBqL,EAAW99D,UAAUxX,OACzBm1E,EAAyBz8C,EAAM48C,GAC/B,IAAK,IAAIx1E,EAAI,EAAGA,EAAIw1E,EAAUx1E,IAC5BmqE,EAAEvxC,GAAOlhB,UAAU1X,GACnB44B,IAGF,OADAw8C,EAAejL,EAAGvxC,GACXA,CACT,G,uBCrCF,IAAIpV,EAAI,EAAQ,MACZmoD,EAAS,EAAQ,MACjB3mE,EAAQ,EAAQ,MAChBywE,EAAgC,EAAQ,MAExCC,EAAe,cACfC,EAAchK,EAAO+J,GAErBzI,EAA4C,IAAnCvwB,MAAM,IAAK,CAAEyyB,MAAO,IAAKA,MAElCyG,EAAgC,SAAUb,EAAY10C,GACxD,IAAI8pC,EAAI,CAAC,EACTA,EAAE4K,GAAcU,EAA8BV,EAAY10C,EAAS4sC,GACnEzpD,EAAE,CAAEmoD,QAAQ,EAAM5sE,aAAa,EAAMmyE,MAAO,EAAGzD,OAAQR,GAAU9C,EACnE,EAEI0L,EAAqC,SAAUd,EAAY10C,GAC7D,GAAIs1C,GAAeA,EAAYZ,GAAa,CAC1C,IAAI5K,EAAI,CAAC,EACTA,EAAE4K,GAAcU,EAA8BC,EAAe,IAAMX,EAAY10C,EAAS4sC,GACxFzpD,EAAE,CAAE9gB,OAAQgzE,EAAcnI,MAAM,EAAMxuE,aAAa,EAAMmyE,MAAO,EAAGzD,OAAQR,GAAU9C,EACvF,CACF,EAGAyL,EAA8B,SAAS,SAAUE,GAC/C,OAAO,SAAe3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CACxE,IACAk+D,EAA8B,aAAa,SAAUE,GACnD,OAAO,SAAmB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC5E,IACAk+D,EAA8B,cAAc,SAAUE,GACpD,OAAO,SAAoB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC7E,IACAk+D,EAA8B,kBAAkB,SAAUE,GACxD,OAAO,SAAwB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CACjF,IACAk+D,EAA8B,eAAe,SAAUE,GACrD,OAAO,SAAqB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC9E,IACAk+D,EAA8B,aAAa,SAAUE,GACnD,OAAO,SAAmB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC5E,IACAk+D,EAA8B,YAAY,SAAUE,GAClD,OAAO,SAAkB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC3E,IACAm+D,EAAmC,gBAAgB,SAAUC,GAC3D,OAAO,SAAsB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC/E,IACAm+D,EAAmC,aAAa,SAAUC,GACxD,OAAO,SAAmB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC5E,IACAm+D,EAAmC,gBAAgB,SAAUC,GAC3D,OAAO,SAAsB3jB,GAAW,OAAOntD,EAAM8wE,EAAM72E,KAAMyY,UAAY,CAC/E,G,kCChDA,SAASq+D,EAAgBvkE,EAAQwkE,GAC/B,IAAIC,EAAOzkE,EAAS,EAAI,IAAM,GAC1B0kE,EAASvgD,KAAK2e,IAAI9iC,GAAQmZ,WAE9B,MAAOurD,EAAOh2E,OAAS81E,EACrBE,EAAS,IAAMA,EAGjB,OAAOD,EAAOC,CAChB,CAdAhyE,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB0oB,EAalB3oB,EAAOC,QAAUA,EAAQ/xC,O,kCCXzB,SAASiR,EAAO7pB,EAAQ6I,GACtB,GAAc,MAAV7I,EACF,MAAM,IAAI4vD,UAAU,iEAGtB,IAAK,IAAI6jB,KAAY5qE,EACfrH,OAAO+6B,UAAUwP,eAAetnC,KAAKoE,EAAQ4qE,KAE/CzzE,EAAOyzE,GAAY5qE,EAAO4qE,IAI9B,OAAOzzE,CACT,CAlBAwB,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB9gC,EAiBlB6gC,EAAOC,QAAUA,EAAQ/xC,O,oCCpBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB+oB,EAElB,IAAI7T,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASklC,EAAY7qE,GACnB,OAAO,EAAIg3D,EAAOjnD,SAAS,CAAC,EAAG/P,EACjC,CAEA6hD,EAAOC,QAAUA,EAAQ/xC,O,oCCbzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIqlC,EAAWhU,EAAOjnD,QACtB+xC,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,kCCXzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAQmpB,kBAAoBA,EAC5BnpB,EAAQopB,kBAAoBA,EAC5B,IAAIC,EAAiB,CAAC,EAEtB,SAASF,IACP,OAAOE,CACT,CAEA,SAASD,EAAkBE,GACzBD,EAAiBC,CACnB,C,oCCbAzyE,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,MAEzCU,EAAUV,EAAuB,EAAQ,OAEzCW,EAAUX,EAAuB,EAAQ,OAEzCY,EAAUZ,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIgmC,EAAgB,CAClBC,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAgDLC,EAAa,CAEfC,EAAG,SAAWzyB,EAAM5Q,EAAOsjC,GACzB,IAAIC,EAAM3yB,EAAK4yB,iBAAmB,EAAI,EAAI,EAE1C,OAAQxjC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAASC,IAAIA,EAAK,CACvB7c,MAAO,gBAIX,IAAK,QACH,OAAO4c,EAASC,IAAIA,EAAK,CACvB7c,MAAO,WAIX,IAAK,OACL,QACE,OAAO4c,EAASC,IAAIA,EAAK,CACvB7c,MAAO,SAGf,EAEA7kB,EAAG,SAAW+O,EAAM5Q,EAAOsjC,GAEzB,GAAc,OAAVtjC,EAAgB,CAClB,IAAIyjC,EAAa7yB,EAAK4yB,iBAElBljC,EAAOmjC,EAAa,EAAIA,EAAa,EAAIA,EAC7C,OAAOH,EAASI,cAAcpjC,EAAM,CAClCqjC,KAAM,QAEV,CAEA,OAAOjB,EAAQ37D,QAAQ86B,EAAE+O,EAAM5Q,EACjC,EAEA4jC,EAAG,SAAWhzB,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAIwlE,GAAiB,EAAIrB,EAAQz7D,SAAS6pC,EAAMvyC,GAE5CylE,EAAWD,EAAiB,EAAIA,EAAiB,EAAIA,EAEzD,GAAc,OAAV7jC,EAAgB,CAClB,IAAI+jC,EAAeD,EAAW,IAC9B,OAAO,EAAIrB,EAAQ17D,SAASg9D,EAAc,EAC5C,CAGA,MAAc,OAAV/jC,EACKsjC,EAASI,cAAcI,EAAU,CACtCH,KAAM,UAKH,EAAIlB,EAAQ17D,SAAS+8D,EAAU9jC,EAAMr0C,OAC9C,EAEAq4E,EAAG,SAAWpzB,EAAM5Q,GAClB,IAAIikC,GAAc,EAAI3B,EAAQv7D,SAAS6pC,GAEvC,OAAO,EAAI6xB,EAAQ17D,SAASk9D,EAAajkC,EAAMr0C,OACjD,EAUAw0B,EAAG,SAAWywB,EAAM5Q,GAClB,IAAIM,EAAOsQ,EAAK4yB,iBAChB,OAAO,EAAIf,EAAQ17D,SAASu5B,EAAMN,EAAMr0C,OAC1C,EAEAu4E,EAAG,SAAWtzB,EAAM5Q,EAAOsjC,GACzB,IAAIa,EAAU/iD,KAAK8hB,MAAM0N,EAAKwzB,cAAgB,GAAK,GAEnD,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAOu+D,GAGhB,IAAK,KACH,OAAO,EAAI1B,EAAQ17D,SAASo9D,EAAS,GAGvC,IAAK,KACH,OAAOb,EAASI,cAAcS,EAAS,CACrCR,KAAM,YAIV,IAAK,MACH,OAAOL,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,OACPzuC,QAAS,eAGjB,EAEAosD,EAAG,SAAWzzB,EAAM5Q,EAAOsjC,GACzB,IAAIa,EAAU/iD,KAAK8hB,MAAM0N,EAAKwzB,cAAgB,GAAK,GAEnD,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAOu+D,GAGhB,IAAK,KACH,OAAO,EAAI1B,EAAQ17D,SAASo9D,EAAS,GAGvC,IAAK,KACH,OAAOb,EAASI,cAAcS,EAAS,CACrCR,KAAM,YAIV,IAAK,MACH,OAAOL,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,OACPzuC,QAAS,eAGjB,EAEAqsD,EAAG,SAAW1zB,EAAM5Q,EAAOsjC,GACzB,IAAI/iC,EAAQqQ,EAAKwzB,cAEjB,OAAQpkC,GACN,IAAK,IACL,IAAK,KACH,OAAO0iC,EAAQ37D,QAAQu9D,EAAE1zB,EAAM5Q,GAGjC,IAAK,KACH,OAAOsjC,EAASI,cAAcnjC,EAAQ,EAAG,CACvCojC,KAAM,UAIV,IAAK,MACH,OAAOL,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,OACPzuC,QAAS,eAGjB,EAEAssD,EAAG,SAAW3zB,EAAM5Q,EAAOsjC,GACzB,IAAI/iC,EAAQqQ,EAAKwzB,cAEjB,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAO26B,EAAQ,GAGxB,IAAK,KACH,OAAO,EAAIkiC,EAAQ17D,SAASw5B,EAAQ,EAAG,GAGzC,IAAK,KACH,OAAO+iC,EAASI,cAAcnjC,EAAQ,EAAG,CACvCojC,KAAM,UAIV,IAAK,MACH,OAAOL,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,OACPzuC,QAAS,eAGjB,EAEA5rB,EAAG,SAAWukD,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAImmE,GAAO,EAAIjC,EAAQx7D,SAAS6pC,EAAMvyC,GAEtC,MAAc,OAAV2hC,EACKsjC,EAASI,cAAcc,EAAM,CAClCb,KAAM,UAIH,EAAIlB,EAAQ17D,SAASy9D,EAAMxkC,EAAMr0C,OAC1C,EAEA84E,EAAG,SAAW7zB,EAAM5Q,EAAOsjC,GACzB,IAAIoB,GAAU,EAAIrC,EAAQt7D,SAAS6pC,GAEnC,MAAc,OAAV5Q,EACKsjC,EAASI,cAAcgB,EAAS,CACrCf,KAAM,UAIH,EAAIlB,EAAQ17D,SAAS29D,EAAS1kC,EAAMr0C,OAC7C,EAEAioC,EAAG,SAAWgd,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK+zB,aAAc,CAC/ChB,KAAM,SAIHjB,EAAQ37D,QAAQ6sB,EAAEgd,EAAM5Q,EACjC,EAEA4kC,EAAG,SAAWh0B,EAAM5Q,EAAOsjC,GACzB,IAAIuB,GAAY,EAAI7W,EAAOjnD,SAAS6pC,GAEpC,MAAc,OAAV5Q,EACKsjC,EAASI,cAAcmB,EAAW,CACvClB,KAAM,eAIH,EAAIlB,EAAQ17D,SAAS89D,EAAW7kC,EAAMr0C,OAC/C,EAEAm5E,EAAG,SAAWl0B,EAAM5Q,EAAOsjC,GACzB,IAAIyB,EAAYn0B,EAAKo0B,YAErB,OAAQhlC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA0R,EAAG,SAAWinB,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAI0mE,EAAYn0B,EAAKo0B,YACjBC,GAAkBF,EAAY1mE,EAAQ6mE,aAAe,GAAK,GAAK,EAEnE,OAAQllC,GAEN,IAAK,IACH,OAAOp6B,OAAOq/D,GAGhB,IAAK,KACH,OAAO,EAAIxC,EAAQ17D,SAASk+D,EAAgB,GAG9C,IAAK,KACH,OAAO3B,EAASI,cAAcuB,EAAgB,CAC5CtB,KAAM,QAGV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA9Q,EAAG,SAAWypC,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAI0mE,EAAYn0B,EAAKo0B,YACjBC,GAAkBF,EAAY1mE,EAAQ6mE,aAAe,GAAK,GAAK,EAEnE,OAAQllC,GAEN,IAAK,IACH,OAAOp6B,OAAOq/D,GAGhB,IAAK,KACH,OAAO,EAAIxC,EAAQ17D,SAASk+D,EAAgBjlC,EAAMr0C,QAGpD,IAAK,KACH,OAAO23E,EAASI,cAAcuB,EAAgB,CAC5CtB,KAAM,QAGV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEAxsB,EAAG,SAAWmlD,EAAM5Q,EAAOsjC,GACzB,IAAIyB,EAAYn0B,EAAKo0B,YACjBG,EAA6B,IAAdJ,EAAkB,EAAIA,EAEzC,OAAQ/kC,GAEN,IAAK,IACH,OAAOp6B,OAAOu/D,GAGhB,IAAK,KACH,OAAO,EAAI1C,EAAQ17D,SAASo+D,EAAcnlC,EAAMr0C,QAGlD,IAAK,KACH,OAAO23E,EAASI,cAAcyB,EAAc,CAC1CxB,KAAM,QAIV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA/b,EAAG,SAAW00C,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cACbC,EAAqBp+B,EAAQ,IAAM,EAAI,KAAO,KAElD,OAAQjH,GACN,IAAK,IACL,IAAK,KACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,MACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eACR1Z,cAEL,IAAK,QACH,OAAO+kE,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEA9b,EAAG,SAAWy0C,EAAM5Q,EAAOsjC,GACzB,IACI+B,EADAp+B,EAAQ2J,EAAKw0B,cAWjB,OAPEC,EADY,KAAVp+B,EACmB07B,EAAcI,KAChB,IAAV97B,EACY07B,EAAcG,SAEd77B,EAAQ,IAAM,EAAI,KAAO,KAGxCjH,GACN,IAAK,IACL,IAAK,KACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,MACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eACR1Z,cAEL,IAAK,QACH,OAAO+kE,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEAstD,EAAG,SAAW30B,EAAM5Q,EAAOsjC,GACzB,IACI+B,EADAp+B,EAAQ2J,EAAKw0B,cAajB,OATEC,EADEp+B,GAAS,GACU07B,EAAcO,QAC1Bj8B,GAAS,GACG07B,EAAcM,UAC1Bh8B,GAAS,EACG07B,EAAcK,QAEdL,EAAcQ,MAG7BnjC,GACN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,QACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEA/E,EAAG,SAAW09B,EAAM5Q,EAAOsjC,GACzB,GAAc,OAAVtjC,EAAgB,CAClB,IAAIiH,EAAQ2J,EAAKw0B,cAAgB,GAEjC,OADc,IAAVn+B,IAAaA,EAAQ,IAClBq8B,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,QAEV,CAEA,OAAOjB,EAAQ37D,QAAQmM,EAAE09B,EAAM5Q,EACjC,EAEAwlC,EAAG,SAAW50B,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAKw0B,cAAe,CAChDzB,KAAM,SAIHjB,EAAQ37D,QAAQy+D,EAAE50B,EAAM5Q,EACjC,EAEAylC,EAAG,SAAW70B,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cAAgB,GAEjC,MAAc,OAAVplC,EACKsjC,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,UAIH,EAAIlB,EAAQ17D,SAASkgC,EAAOjH,EAAMr0C,OAC3C,EAEAsuB,EAAG,SAAW22B,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cAGjB,OAFc,IAAVn+B,IAAaA,EAAQ,IAEX,OAAVjH,EACKsjC,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,UAIH,EAAIlB,EAAQ17D,SAASkgC,EAAOjH,EAAMr0C,OAC3C,EAEA8nB,EAAG,SAAWm9B,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK80B,gBAAiB,CAClD/B,KAAM,WAIHjB,EAAQ37D,QAAQ0M,EAAEm9B,EAAM5Q,EACjC,EAEAh8B,EAAG,SAAW4sC,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK+0B,gBAAiB,CAClDhC,KAAM,WAIHjB,EAAQ37D,QAAQ/C,EAAE4sC,EAAM5Q,EACjC,EAEA4lC,EAAG,SAAWh1B,EAAM5Q,GAClB,OAAO0iC,EAAQ37D,QAAQ6+D,EAAEh1B,EAAM5Q,EACjC,EAEA6lC,EAAG,SAAWj1B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,GAAuB,IAAnBD,EACF,MAAO,IAGT,OAAQjmC,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEAthC,EAAG,SAAWiM,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEArQ,EAAG,SAAWhlB,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqmC,EAAoBJ,EAAgB,KAGrD,IAAK,OACL,QACE,MAAO,MAAQG,EAAeH,EAAgB,KAEpD,EAEArhC,EAAG,SAAWgM,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqmC,EAAoBJ,EAAgB,KAGrD,IAAK,OACL,QACE,MAAO,MAAQG,EAAeH,EAAgB,KAEpD,EAEAzvD,EAAG,SAAWo6B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxC01B,EAAYllD,KAAKw7C,MAAMmJ,EAAalsC,UAAY,KACpD,OAAO,EAAI4oC,EAAQ17D,SAASu/D,EAAWtmC,EAAMr0C,OAC/C,EAEA46E,EAAG,SAAW31B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxC01B,EAAYP,EAAalsC,UAC7B,OAAO,EAAI4oC,EAAQ17D,SAASu/D,EAAWtmC,EAAMr0C,OAC/C,GAGF,SAAS06E,EAAoB9X,EAAQiY,GACnC,IAAI9E,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,EAAQ7lB,KAAKw7C,MAAM6J,EAAY,IAC/B1/B,EAAU0/B,EAAY,GAE1B,GAAgB,IAAZ1/B,EACF,OAAO26B,EAAO97D,OAAOqhC,GAGvB,IAAIy/B,EAAYF,GAAkB,GAClC,OAAO9E,EAAO97D,OAAOqhC,GAASy/B,GAAY,EAAIjE,EAAQ17D,SAASggC,EAAS,EAC1E,CAEA,SAASo/B,EAAkC5X,EAAQiY,GACjD,GAAIjY,EAAS,KAAO,EAAG,CACrB,IAAImT,EAAOnT,EAAS,EAAI,IAAM,IAC9B,OAAOmT,GAAO,EAAIe,EAAQ17D,SAASqa,KAAK2e,IAAIwuB,GAAU,GAAI,EAC5D,CAEA,OAAO6X,EAAe7X,EAAQiY,EAChC,CAEA,SAASJ,EAAe7X,EAAQiY,GAC9B,IAAIE,EAAYF,GAAkB,GAC9B9E,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,GAAQ,EAAIw7B,EAAQ17D,SAASqa,KAAKw7C,MAAM6J,EAAY,IAAK,GACzD1/B,GAAU,EAAI07B,EAAQ17D,SAAS0/D,EAAY,GAAI,GACnD,OAAO/E,EAAOz6B,EAAQy/B,EAAY3/B,CACpC,CAEA,IAAIi7B,EAAWoB,EACftqB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCCj3BzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAc9F,IAAIymC,EAAa,CAEfvhC,EAAG,SAAW+O,EAAM5Q,GASlB,IAAIyjC,EAAa7yB,EAAK4yB,iBAElBljC,EAAOmjC,EAAa,EAAIA,EAAa,EAAIA,EAC7C,OAAO,EAAIzV,EAAOjnD,SAAmB,OAAVi5B,EAAiBM,EAAO,IAAMA,EAAMN,EAAMr0C,OACvE,EAEA24E,EAAG,SAAW1zB,EAAM5Q,GAClB,IAAIO,EAAQqQ,EAAKwzB,cACjB,MAAiB,MAAVpkC,EAAgBp6B,OAAO26B,EAAQ,IAAK,EAAIytB,EAAOjnD,SAASw5B,EAAQ,EAAG,EAC5E,EAEA3M,EAAG,SAAWgd,EAAM5Q,GAClB,OAAO,EAAIguB,EAAOjnD,SAAS6pC,EAAK+zB,aAAc3kC,EAAMr0C,OACtD,EAEAuQ,EAAG,SAAW00C,EAAM5Q,GAClB,IAAIqlC,EAAqBz0B,EAAKw0B,cAAgB,IAAM,EAAI,KAAO,KAE/D,OAAQplC,GACN,IAAK,IACL,IAAK,KACH,OAAOqlC,EAAmBppC,cAE5B,IAAK,MACH,OAAOopC,EAET,IAAK,QACH,OAAOA,EAAmB,GAE5B,IAAK,OACL,QACE,MAA8B,OAAvBA,EAA8B,OAAS,OAEpD,EAEAnyD,EAAG,SAAW09B,EAAM5Q,GAClB,OAAO,EAAIguB,EAAOjnD,SAAS6pC,EAAKw0B,cAAgB,IAAM,GAAIplC,EAAMr0C,OAClE,EAEA65E,EAAG,SAAW50B,EAAM5Q,GAClB,OAAO,EAAIguB,EAAOjnD,SAAS6pC,EAAKw0B,cAAeplC,EAAMr0C,OACvD,EAEA8nB,EAAG,SAAWm9B,EAAM5Q,GAClB,OAAO,EAAIguB,EAAOjnD,SAAS6pC,EAAK80B,gBAAiB1lC,EAAMr0C,OACzD,EAEAqY,EAAG,SAAW4sC,EAAM5Q,GAClB,OAAO,EAAIguB,EAAOjnD,SAAS6pC,EAAK+0B,gBAAiB3lC,EAAMr0C,OACzD,EAEAi6E,EAAG,SAAWh1B,EAAM5Q,GAClB,IAAI2mC,EAAiB3mC,EAAMr0C,OACvBi7E,EAAeh2B,EAAKi2B,qBACpBC,EAAoB1lD,KAAKw7C,MAAMgK,EAAexlD,KAAK2lD,IAAI,GAAIJ,EAAiB,IAChF,OAAO,EAAI3Y,EAAOjnD,SAAS+/D,EAAmB9mC,EAAMr0C,OACtD,GAEEq2E,EAAWoB,EACftqB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,kCC5FzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkuB,EAAoB,SAA2Bz8D,EAAS08D,GAC1D,OAAQ18D,GACN,IAAK,IACH,OAAO08D,EAAWr2B,KAAK,CACrB8V,MAAO,UAGX,IAAK,KACH,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,WAGX,IAAK,MACH,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,SAGX,IAAK,OACL,QACE,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,SAGf,EAEIwgB,EAAoB,SAA2B38D,EAAS08D,GAC1D,OAAQ18D,GACN,IAAK,IACH,OAAO08D,EAAW/vB,KAAK,CACrBwP,MAAO,UAGX,IAAK,KACH,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,WAGX,IAAK,MACH,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,SAGX,IAAK,OACL,QACE,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,SAGf,EAEIygB,EAAwB,SAA+B58D,EAAS08D,GAClE,IAQIG,EARAC,EAAc98D,EAAQ4L,MAAM,cAAgB,GAC5CmxD,EAAcD,EAAY,GAC1BE,EAAcF,EAAY,GAE9B,IAAKE,EACH,OAAOP,EAAkBz8D,EAAS08D,GAKpC,OAAQK,GACN,IAAK,IACHF,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,UAET,MAEF,IAAK,KACH0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,WAET,MAEF,IAAK,MACH0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,SAET,MAEF,IAAK,OACL,QACE0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,SAET,MAGJ,OAAO0gB,EAAe9oE,QAAQ,WAAY0oE,EAAkBM,EAAaL,IAAa3oE,QAAQ,WAAY4oE,EAAkBK,EAAaN,GAC3I,EAEIQ,EAAiB,CACnBjtE,EAAG0sE,EACHpN,EAAGqN,GAEDnF,EAAWyF,EACf3uB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,kCCtFzB,SAAS2gE,EAAgC92B,GACvC,IAAI+2B,EAAU,IAAI95C,KAAKA,KAAK+5C,IAAIh3B,EAAKvR,cAAeuR,EAAKi3B,WAAYj3B,EAAKk3B,UAAWl3B,EAAKm3B,WAAYn3B,EAAKo3B,aAAcp3B,EAAKq3B,aAAcr3B,EAAKs3B,oBAEjJ,OADAP,EAAQQ,eAAev3B,EAAKvR,eACrBuR,EAAK/W,UAAY8tC,EAAQ9tC,SAClC,CApBAlqC,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB4uB,EAmBlB7uB,EAAOC,QAAUA,EAAQ/xC,O,oCCtBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBsvB,EAElB,IAAIpa,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAI0rC,EAAsB,MAE1B,SAASD,EAAgBE,IACvB,EAAIjG,EAAQt7D,SAAS,EAAG5D,WACxB,IAAIytC,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3BhC,EAAY11B,EAAK/W,UACrB+W,EAAK23B,YAAY,EAAG,GACpB33B,EAAK43B,YAAY,EAAG,EAAG,EAAG,GAC1B,IAAIC,EAAuB73B,EAAK/W,UAC5B6uC,EAAapC,EAAYmC,EAC7B,OAAOrnD,KAAKw7C,MAAM8L,EAAaL,GAAuB,CACxD,CAEAxvB,EAAOC,QAAUA,EAAQ/xC,O,oCCxBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB6vB,EAElB,IAAI3a,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,KAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIisC,EAAuB,OAE3B,SAASD,EAAcL,IACrB,EAAI/F,EAAQx7D,SAAS,EAAG5D,WACxB,IAAIytC,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3BhsE,GAAO,EAAI+lE,EAAQt7D,SAAS6pC,GAAM/W,WAAY,EAAIyoC,EAAQv7D,SAAS6pC,GAAM/W,UAI7E,OAAOzY,KAAKqvB,MAAMn0C,EAAOssE,GAAwB,CACnD,CAEA/vB,EAAOC,QAAUA,EAAQ/xC,O,oCC3BzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB+vB,EAElB,IAAI7a,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,KAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASksC,EAAkBP,IACzB,EAAIjG,EAAQt7D,SAAS,EAAG5D,WACxB,IAAIytC,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3BhoC,EAAOsQ,EAAK4yB,iBACZsF,EAA4B,IAAIj7C,KAAK,GACzCi7C,EAA0BX,eAAe7nC,EAAO,EAAG,EAAG,GACtDwoC,EAA0BN,YAAY,EAAG,EAAG,EAAG,GAC/C,IAAIO,GAAkB,EAAIzG,EAAQv7D,SAAS+hE,GACvCE,EAA4B,IAAIn7C,KAAK,GACzCm7C,EAA0Bb,eAAe7nC,EAAM,EAAG,GAClD0oC,EAA0BR,YAAY,EAAG,EAAG,EAAG,GAC/C,IAAIS,GAAkB,EAAI3G,EAAQv7D,SAASiiE,GAE3C,OAAIp4B,EAAK/W,WAAakvC,EAAgBlvC,UAC7ByG,EAAO,EACLsQ,EAAK/W,WAAaovC,EAAgBpvC,UACpCyG,EAEAA,EAAO,CAElB,CAEAuY,EAAOC,QAAUA,EAAQ/xC,O,mCCnCzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBowB,EAElB,IAAIlb,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIisC,EAAuB,OAE3B,SAASM,EAAWZ,EAAWjqE,IAC7B,EAAIkkE,EAAQx7D,SAAS,EAAG5D,WACxB,IAAIytC,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3BhsE,GAAO,EAAI+lE,EAAQt7D,SAAS6pC,EAAMvyC,GAASw7B,WAAY,EAAIyoC,EAAQv7D,SAAS6pC,EAAMvyC,GAASw7B,UAI/F,OAAOzY,KAAKqvB,MAAMn0C,EAAOssE,GAAwB,CACnD,CAEA/vB,EAAOC,QAAUA,EAAQ/xC,O,oCC3BzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBqwB,EAElB,IAAInb,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAEzCU,EAAU,EAAQ,MAEtB,SAASV,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASwsC,EAAeb,EAAWjqE,GACjC,IAAI+qE,EAAMC,EAAOC,EAAOC,EAAuBC,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAItH,EAAQt7D,SAAS,EAAG5D,WACxB,IAAIytC,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3BhoC,EAAOsQ,EAAK4yB,iBACZrB,GAAiB,EAAIK,EAAQP,qBAC7B2H,GAAwB,EAAIrH,EAAQx7D,SAAk3B,QAAx2BqiE,EAAyjB,QAAjjBC,EAAoe,QAA3dC,EAAsH,QAA7GC,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBG,6BAA6C,IAAVN,EAAmBA,EAAQnH,EAAeyH,6BAA6C,IAAVP,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA4C,IAATR,EAAkBA,EAAO,GAE37B,KAAMQ,GAAyB,GAAKA,GAAyB,GAC3D,MAAM,IAAIE,WAAW,6DAGvB,IAAIC,EAAsB,IAAIl8C,KAAK,GACnCk8C,EAAoB5B,eAAe7nC,EAAO,EAAG,EAAGspC,GAChDG,EAAoBvB,YAAY,EAAG,EAAG,EAAG,GACzC,IAAIO,GAAkB,EAAIzG,EAAQv7D,SAASgjE,EAAqB1rE,GAC5D2rE,EAAsB,IAAIn8C,KAAK,GACnCm8C,EAAoB7B,eAAe7nC,EAAM,EAAGspC,GAC5CI,EAAoBxB,YAAY,EAAG,EAAG,EAAG,GACzC,IAAIS,GAAkB,EAAI3G,EAAQv7D,SAASijE,EAAqB3rE,GAEhE,OAAIuyC,EAAK/W,WAAakvC,EAAgBlvC,UAC7ByG,EAAO,EACLsQ,EAAK/W,WAAaovC,EAAgBpvC,UACpCyG,EAEAA,EAAO,CAElB,CAEAuY,EAAOC,QAAUA,EAAQ/xC,O,kCChDzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAQmxB,0BAA4BA,EACpCnxB,EAAQoxB,yBAA2BA,EACnCpxB,EAAQqxB,oBAAsBA,EAC9B,IAAIC,EAA2B,CAAC,IAAK,MACjCC,EAA0B,CAAC,KAAM,QAErC,SAASJ,EAA0BjqC,GACjC,OAAoD,IAA7CoqC,EAAyB3uE,QAAQukC,EAC1C,CAEA,SAASkqC,EAAyBlqC,GAChC,OAAmD,IAA5CqqC,EAAwB5uE,QAAQukC,EACzC,CAEA,SAASmqC,EAAoBnqC,EAAOsqC,EAAQ9hC,GAC1C,GAAc,SAAVxI,EACF,MAAM,IAAI8pC,WAAW,qCAAqC5oE,OAAOopE,EAAQ,0CAA0CppE,OAAOsnC,EAAO,mFAC5H,GAAc,OAAVxI,EACT,MAAM,IAAI8pC,WAAW,iCAAiC5oE,OAAOopE,EAAQ,0CAA0CppE,OAAOsnC,EAAO,mFACxH,GAAc,MAAVxI,EACT,MAAM,IAAI8pC,WAAW,+BAA+B5oE,OAAOopE,EAAQ,sDAAsDppE,OAAOsnC,EAAO,mFAClI,GAAc,OAAVxI,EACT,MAAM,IAAI8pC,WAAW,iCAAiC5oE,OAAOopE,EAAQ,sDAAsDppE,OAAOsnC,EAAO,kFAE7I,C,kCCtBA,SAAS+hC,EAAaC,EAAUn6E,GAC9B,GAAIA,EAAK1E,OAAS6+E,EAChB,MAAM,IAAIzsB,UAAUysB,EAAW,aAAeA,EAAW,EAAI,IAAM,IAAM,uBAAyBn6E,EAAK1E,OAAS,WAEpH,CATAgE,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkByxB,EAQlB1xB,EAAOC,QAAUA,EAAQ/xC,O,kCCXzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB2xB,EAElB,IAAIzc,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAAS8tC,EAAkBnC,IACzB,EAAIjG,EAAQt7D,SAAS,EAAG5D,WACxB,IAAI+hE,EAAe,EACft0B,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3B9nC,EAAMoQ,EAAKo0B,YACX1oE,GAAQkkC,EAAM0kC,EAAe,EAAI,GAAK1kC,EAAM0kC,EAGhD,OAFAt0B,EAAK85B,WAAW95B,EAAK+zB,aAAeroE,GACpCs0C,EAAK43B,YAAY,EAAG,EAAG,EAAG,GACnB53B,CACT,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,oCCtBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB6xB,EAElB,IAAI3c,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,KAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASguC,EAAsBrC,IAC7B,EAAIhG,EAAQv7D,SAAS,EAAG5D,WACxB,IAAIm9B,GAAO,EAAI0tB,EAAOjnD,SAASuhE,GAC3BsC,EAAkB,IAAI/8C,KAAK,GAC/B+8C,EAAgBzC,eAAe7nC,EAAM,EAAG,GACxCsqC,EAAgBpC,YAAY,EAAG,EAAG,EAAG,GACrC,IAAI53B,GAAO,EAAIyxB,EAAQt7D,SAAS6jE,GAChC,OAAOh6B,CACT,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,oCCvBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB+xB,EAElB,IAAI7c,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAU,EAAQ,MAEtB,SAAST,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASkuC,EAAevC,EAAWjqE,GACjC,IAAI+qE,EAAMC,EAAOC,EAAOwB,EAAuBtB,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAItH,EAAQt7D,SAAS,EAAG5D,WACxB,IAAIg/D,GAAiB,EAAII,EAAQN,qBAC7BiD,GAAe,EAAI5C,EAAQv7D,SAA80B,QAAp0BqiE,EAA8hB,QAAthBC,EAAkd,QAAzcC,EAA6G,QAApGwB,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBvE,oBAAoC,IAAVoE,EAAmBA,EAAQnH,EAAe+C,oBAAoC,IAAVmE,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBzE,oBAAmC,IAATkE,EAAkBA,EAAO,GAE94B,KAAMlE,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAIl5B,GAAO,EAAIod,EAAOjnD,SAASuhE,GAC3B9nC,EAAMoQ,EAAKo0B,YACX1oE,GAAQkkC,EAAM0kC,EAAe,EAAI,GAAK1kC,EAAM0kC,EAGhD,OAFAt0B,EAAK85B,WAAW95B,EAAK+zB,aAAeroE,GACpCs0C,EAAK43B,YAAY,EAAG,EAAG,EAAG,GACnB53B,CACT,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,oCClCzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBiyB,EAElB,IAAI/c,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAEzCU,EAAU,EAAQ,MAEtB,SAASV,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAASouC,EAAmBzC,EAAWjqE,GACrC,IAAI+qE,EAAMC,EAAOC,EAAOC,EAAuBC,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAItH,EAAQt7D,SAAS,EAAG5D,WACxB,IAAIg/D,GAAiB,EAAIK,EAAQP,qBAC7B2H,GAAwB,EAAIrH,EAAQx7D,SAAk3B,QAAx2BqiE,EAAyjB,QAAjjBC,EAAoe,QAA3dC,EAAsH,QAA7GC,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBG,6BAA6C,IAAVN,EAAmBA,EAAQnH,EAAeyH,6BAA6C,IAAVP,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA4C,IAATR,EAAkBA,EAAO,GACv7B9oC,GAAO,EAAI0tB,EAAOjnD,SAASuhE,EAAWjqE,GACtC2sE,EAAY,IAAIn9C,KAAK,GACzBm9C,EAAU7C,eAAe7nC,EAAM,EAAGspC,GAClCoB,EAAUxC,YAAY,EAAG,EAAG,EAAG,GAC/B,IAAI53B,GAAO,EAAI0xB,EAAQv7D,SAASikE,EAAW3sE,GAC3C,OAAOuyC,CACT,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,kCC1BzB,SAASkkE,EAAUC,GACjB,GAAoB,OAAhBA,IAAwC,IAAhBA,IAAwC,IAAhBA,EAClD,OAAOC,IAGT,IAAIluE,EAAStL,OAAOu5E,GAEpB,OAAIpuC,MAAM7/B,GACDA,EAGFA,EAAS,EAAImkB,KAAK8hB,KAAKjmC,GAAUmkB,KAAKw7C,MAAM3/D,EACrD,CAjBAtN,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBmyB,EAgBlBpyB,EAAOC,QAAUA,EAAQ/xC,O,oCCnBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBsyB,EAElB,IAAIpd,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAoB9F,SAASyuC,EAAgB9C,EAAW+C,IAClC,EAAI/I,EAAQv7D,SAAS,EAAG5D,WACxB,IAAImjE,GAAY,EAAIjE,EAAQt7D,SAASuhE,GAAWzuC,UAC5CyxC,GAAS,EAAItd,EAAOjnD,SAASskE,GACjC,OAAO,IAAIx9C,KAAKy4C,EAAYgF,EAC9B,CAEAzyB,EAAOC,QAAUA,EAAQ/xC,O,kDCvCzB,OAAe,EAAa,C,oECD5B,IAAIo7D,EAAiB,CAAC,EACf,SAASF,IACd,OAAOE,CACT,C,oCCQe,SAASuF,EAAgC92B,GACtD,IAAI+2B,EAAU,IAAI95C,KAAKA,KAAK+5C,IAAIh3B,EAAKvR,cAAeuR,EAAKi3B,WAAYj3B,EAAKk3B,UAAWl3B,EAAKm3B,WAAYn3B,EAAKo3B,aAAcp3B,EAAKq3B,aAAcr3B,EAAKs3B,oBAEjJ,OADAP,EAAQQ,eAAev3B,EAAKvR,eACrBuR,EAAK/W,UAAY8tC,EAAQ9tC,SAClC,C,mECfe,SAAS0wC,EAAaC,EAAUn6E,GAC7C,GAAIA,EAAK1E,OAAS6+E,EAChB,MAAM,IAAIzsB,UAAUysB,EAAW,aAAeA,EAAW,EAAI,IAAM,IAAM,uBAAyBn6E,EAAK1E,OAAS,WAEpH,C,mECJe,SAASs/E,EAAUC,GAChC,GAAoB,OAAhBA,IAAwC,IAAhBA,IAAwC,IAAhBA,EAClD,OAAOC,IAGT,IAAIluE,EAAStL,OAAOu5E,GAEpB,OAAIpuC,MAAM7/B,GACDA,EAGFA,EAAS,EAAImkB,KAAK8hB,KAAKjmC,GAAUmkB,KAAKw7C,MAAM3/D,EACrD,C,qICUe,SAASsuE,EAAQjD,EAAW+C,IACzC,OAAa,EAAGloE,WAChB,IAAIytC,GAAO,OAAO03B,GACdgD,GAAS,OAAUD,GAEvB,OAAIvuC,MAAMwuC,GACD,IAAIz9C,KAAKs9C,KAGbG,GAKL16B,EAAK46B,QAAQ56B,EAAKk3B,UAAYwD,GACvB16B,GAJEA,CAKX,C,sGChBe,SAAS66B,EAAUnD,EAAW+C,IAC3C,OAAa,EAAGloE,WAChB,IAAIytC,GAAO,OAAO03B,GACdgD,GAAS,OAAUD,GAEvB,GAAIvuC,MAAMwuC,GACR,OAAO,IAAIz9C,KAAKs9C,KAGlB,IAAKG,EAEH,OAAO16B,EAGT,IAAI86B,EAAa96B,EAAKk3B,UASlB6D,EAAoB,IAAI99C,KAAK+iB,EAAK/W,WACtC8xC,EAAkBC,SAASh7B,EAAKi3B,WAAayD,EAAS,EAAG,GACzD,IAAIO,EAAcF,EAAkB7D,UAEpC,OAAI4D,GAAcG,EAGTF,GASP/6B,EAAKk7B,YAAYH,EAAkBtsC,cAAessC,EAAkB9D,WAAY6D,GACzE96B,EAEX,C,sGC1Ce,SAASm7B,EAASzD,EAAW+C,IAC1C,OAAa,EAAGloE,WAChB,IAAImoE,GAAS,OAAUD,GACnBnkC,EAAgB,EAATokC,EACX,OAAO,OAAQhD,EAAWphC,EAC5B,C,sGCLe,SAAS8kC,EAAS1D,EAAW+C,IAC1C,OAAa,EAAGloE,WAChB,IAAImoE,GAAS,OAAUD,GACvB,OAAO,OAAU/C,EAAoB,GAATgD,EAC9B,C,4FCLe,SAASW,EAAW3D,IACjC,OAAa,EAAGnlE,WAChB,IAAIytC,GAAO,OAAO03B,GACd/nC,EAAQqQ,EAAKi3B,WAGjB,OAFAj3B,EAAKk7B,YAAYl7B,EAAKvR,cAAekB,EAAQ,EAAG,GAChDqQ,EAAKs7B,SAAS,GAAI,GAAI,GAAI,KACnBt7B,CACT,C,gHCIe,SAASu7B,EAAU7D,EAAWjqE,GAC3C,IAAI+qE,EAAMC,EAAOC,EAAOwB,EAAuBtB,EAAiBC,EAAuBC,EAAuBC,GAE9G,OAAa,EAAGxmE,WAChB,IAAIg/D,GAAiB,SACjB+C,GAAe,OAA+0B,QAAp0BkE,EAA8hB,QAAthBC,EAAkd,QAAzcC,EAA6G,QAApGwB,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBvE,oBAAoC,IAAVoE,EAAmBA,EAAQnH,EAAe+C,oBAAoC,IAAVmE,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBzE,oBAAmC,IAATkE,EAAkBA,EAAO,GAEn4B,KAAMlE,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAIl5B,GAAO,OAAO03B,GACd9nC,EAAMoQ,EAAKw7B,SACX9vE,EAAuC,GAA/BkkC,EAAM0kC,GAAgB,EAAI,IAAU1kC,EAAM0kC,GAGtD,OAFAt0B,EAAK46B,QAAQ56B,EAAKk3B,UAAYxrE,GAC9Bs0C,EAAKs7B,SAAS,GAAI,GAAI,GAAI,KACnBt7B,CACT,C,2FC5Be,SAASy7B,EAAU/D,IAChC,OAAa,EAAGnlE,WAChB,IAAIytC,GAAO,OAAO03B,GACdhoC,EAAOsQ,EAAKvR,cAGhB,OAFAuR,EAAKk7B,YAAYxrC,EAAO,EAAG,EAAG,GAC9BsQ,EAAKs7B,SAAS,GAAI,GAAI,GAAI,KACnBt7B,CACT,C,kFC5BA,SAAS07B,EAAQ3vC,GAAmV,OAAtO2vC,EAArD,oBAAXj/E,QAAoD,kBAApBA,OAAOuG,SAAmC,SAAiB+oC,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXtvC,QAAyBsvC,EAAInyC,cAAgB6C,QAAUsvC,IAAQtvC,OAAOq9B,UAAY,gBAAkBiS,CAAK,EAAY2vC,EAAQ3vC,EAAM,CAoC1W,SAAShD,EAAOvoC,GAE7B,OADA,EAAAm5E,EAAA,GAAa,EAAGpnE,WACT/R,aAAiBy8B,MAA2B,WAAnBy+C,EAAQl7E,IAAiE,kBAA1CzB,OAAO+6B,UAAUtU,SAASxjB,KAAKxB,EAChG,C,cCJe,SAASm7E,EAAQjE,GAG9B,IAFA,EAAAiC,EAAA,GAAa,EAAGpnE,YAEXw2B,EAAO2uC,IAAmC,kBAAdA,EAC/B,OAAO,EAGT,IAAI13B,GAAO,EAAA47B,EAAA,GAAOlE,GAClB,OAAQxrC,MAAMnrC,OAAOi/C,GACvB,C,cCtBe,SAASw6B,EAAgB9C,EAAW+C,IACjD,EAAAd,EAAA,GAAa,EAAGpnE,WAChB,IAAImjE,GAAY,EAAAkG,EAAA,GAAOlE,GAAWzuC,UAC9ByxC,GAAS,EAAAL,EAAA,GAAUI,GACvB,OAAO,IAAIx9C,KAAKy4C,EAAYgF,EAC9B,CCLe,SAASmB,EAAgBnE,EAAW+C,IACjD,EAAAd,EAAA,GAAa,EAAGpnE,WAChB,IAAImoE,GAAS,EAAAL,EAAA,GAAUI,GACvB,OAAOD,EAAgB9C,GAAYgD,EACrC,CCxBA,IAAIjD,EAAsB,MACX,SAASD,EAAgBE,IACtC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GACdhC,EAAY11B,EAAK/W,UACrB+W,EAAK23B,YAAY,EAAG,GACpB33B,EAAK43B,YAAY,EAAG,EAAG,EAAG,GAC1B,IAAIC,EAAuB73B,EAAK/W,UAC5B6uC,EAAapC,EAAYmC,EAC7B,OAAOrnD,KAAKw7C,MAAM8L,EAAaL,GAAuB,CACxD,CCVe,SAASoC,EAAkBnC,IACxC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAI+hE,EAAe,EACft0B,GAAO,EAAA47B,EAAA,GAAOlE,GACd9nC,EAAMoQ,EAAKo0B,YACX1oE,GAAQkkC,EAAM0kC,EAAe,EAAI,GAAK1kC,EAAM0kC,EAGhD,OAFAt0B,EAAK85B,WAAW95B,EAAK+zB,aAAeroE,GACpCs0C,EAAK43B,YAAY,EAAG,EAAG,EAAG,GACnB53B,CACT,CCRe,SAASi4B,EAAkBP,IACxC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GACdhoC,EAAOsQ,EAAK4yB,iBACZsF,EAA4B,IAAIj7C,KAAK,GACzCi7C,EAA0BX,eAAe7nC,EAAO,EAAG,EAAG,GACtDwoC,EAA0BN,YAAY,EAAG,EAAG,EAAG,GAC/C,IAAIO,EAAkB0B,EAAkB3B,GACpCE,EAA4B,IAAIn7C,KAAK,GACzCm7C,EAA0Bb,eAAe7nC,EAAM,EAAG,GAClD0oC,EAA0BR,YAAY,EAAG,EAAG,EAAG,GAC/C,IAAIS,EAAkBwB,EAAkBzB,GAExC,OAAIp4B,EAAK/W,WAAakvC,EAAgBlvC,UAC7ByG,EAAO,EACLsQ,EAAK/W,WAAaovC,EAAgBpvC,UACpCyG,EAEAA,EAAO,CAElB,CCpBe,SAASqqC,EAAsBrC,IAC5C,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIm9B,EAAOuoC,EAAkBP,GACzBsC,EAAkB,IAAI/8C,KAAK,GAC/B+8C,EAAgBzC,eAAe7nC,EAAM,EAAG,GACxCsqC,EAAgBpC,YAAY,EAAG,EAAG,EAAG,GACrC,IAAI53B,EAAO65B,EAAkBG,GAC7B,OAAOh6B,CACT,CCPA,IAAIg4B,EAAuB,OACZ,SAASD,EAAcL,IACpC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GACdhsE,EAAOmuE,EAAkB75B,GAAM/W,UAAY8wC,EAAsB/5B,GAAM/W,UAI3E,OAAOzY,KAAKqvB,MAAMn0C,EAAOssE,GAAwB,CACnD,C,cCTe,SAASiC,EAAevC,EAAWjqE,GAChD,IAAI+qE,EAAMC,EAAOC,EAAOwB,EAAuBtB,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAAY,EAAA,GAAa,EAAGpnE,WAChB,IAAIg/D,GAAiB,SACjB+C,GAAe,EAAA+F,EAAA,GAA+0B,QAAp0B7B,EAA8hB,QAAthBC,EAAkd,QAAzcC,EAA6G,QAApGwB,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBvE,oBAAoC,IAAVoE,EAAmBA,EAAQnH,EAAe+C,oBAAoC,IAAVmE,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBzE,oBAAmC,IAATkE,EAAkBA,EAAO,GAEn4B,KAAMlE,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAIl5B,GAAO,EAAA47B,EAAA,GAAOlE,GACd9nC,EAAMoQ,EAAKo0B,YACX1oE,GAAQkkC,EAAM0kC,EAAe,EAAI,GAAK1kC,EAAM0kC,EAGhD,OAFAt0B,EAAK85B,WAAW95B,EAAK+zB,aAAeroE,GACpCs0C,EAAK43B,YAAY,EAAG,EAAG,EAAG,GACnB53B,CACT,CChBe,SAASu4B,EAAeb,EAAWjqE,GAChD,IAAI+qE,EAAMC,EAAOC,EAAOC,EAAuBC,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAAY,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GACdhoC,EAAOsQ,EAAK4yB,iBACZrB,GAAiB,SACjByH,GAAwB,EAAAqB,EAAA,GAAm3B,QAAx2B7B,EAAyjB,QAAjjBC,EAAoe,QAA3dC,EAAsH,QAA7GC,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBG,6BAA6C,IAAVN,EAAmBA,EAAQnH,EAAeyH,6BAA6C,IAAVP,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA4C,IAATR,EAAkBA,EAAO,GAEh7B,KAAMQ,GAAyB,GAAKA,GAAyB,GAC3D,MAAM,IAAIE,WAAW,6DAGvB,IAAIC,EAAsB,IAAIl8C,KAAK,GACnCk8C,EAAoB5B,eAAe7nC,EAAO,EAAG,EAAGspC,GAChDG,EAAoBvB,YAAY,EAAG,EAAG,EAAG,GACzC,IAAIO,EAAkB8B,EAAed,EAAqB1rE,GACtD2rE,EAAsB,IAAIn8C,KAAK,GACnCm8C,EAAoB7B,eAAe7nC,EAAM,EAAGspC,GAC5CI,EAAoBxB,YAAY,EAAG,EAAG,EAAG,GACzC,IAAIS,EAAkB4B,EAAeb,EAAqB3rE,GAE1D,OAAIuyC,EAAK/W,WAAakvC,EAAgBlvC,UAC7ByG,EAAO,EACLsQ,EAAK/W,WAAaovC,EAAgBpvC,UACpCyG,EAEAA,EAAO,CAElB,CC7Be,SAASyqC,EAAmBzC,EAAWjqE,GACpD,IAAI+qE,EAAMC,EAAOC,EAAOC,EAAuBC,EAAiBC,EAAuBC,EAAuBC,GAE9G,EAAAY,EAAA,GAAa,EAAGpnE,WAChB,IAAIg/D,GAAiB,SACjByH,GAAwB,EAAAqB,EAAA,GAAm3B,QAAx2B7B,EAAyjB,QAAjjBC,EAAoe,QAA3dC,EAAsH,QAA7GC,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBG,6BAA6C,IAAVN,EAAmBA,EAAQnH,EAAeyH,6BAA6C,IAAVP,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA4C,IAATR,EAAkBA,EAAO,GAC56B9oC,EAAO6oC,EAAeb,EAAWjqE,GACjC2sE,EAAY,IAAIn9C,KAAK,GACzBm9C,EAAU7C,eAAe7nC,EAAM,EAAGspC,GAClCoB,EAAUxC,YAAY,EAAG,EAAG,EAAG,GAC/B,IAAI53B,EAAOi6B,EAAeG,EAAW3sE,GACrC,OAAOuyC,CACT,CCbA,IAAI,EAAuB,OACZ,SAASs4B,EAAWZ,EAAWjqE,IAC5C,EAAAksE,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GACdhsE,EAAOuuE,EAAej6B,EAAMvyC,GAASw7B,UAAYkxC,EAAmBn6B,EAAMvyC,GAASw7B,UAIvF,OAAOzY,KAAKqvB,MAAMn0C,EAAO,GAAwB,CACnD,CCbe,SAASklE,EAAgBvkE,EAAQwkE,GAC9C,IAAIC,EAAOzkE,EAAS,EAAI,IAAM,GAC1B0kE,EAASvgD,KAAK2e,IAAI9iC,GAAQmZ,WAE9B,MAAOurD,EAAOh2E,OAAS81E,EACrBE,EAAS,IAAMA,EAGjB,OAAOD,EAAOC,CAChB,CCKA,IAAIyB,EAAa,CAEfvhC,EAAG,SAAW+O,EAAM5Q,GASlB,IAAIyjC,EAAa7yB,EAAK4yB,iBAElBljC,EAAOmjC,EAAa,EAAIA,EAAa,EAAIA,EAC7C,OAAOjC,EAA0B,OAAVxhC,EAAiBM,EAAO,IAAMA,EAAMN,EAAMr0C,OACnE,EAEA24E,EAAG,SAAW1zB,EAAM5Q,GAClB,IAAIO,EAAQqQ,EAAKwzB,cACjB,MAAiB,MAAVpkC,EAAgBp6B,OAAO26B,EAAQ,GAAKihC,EAAgBjhC,EAAQ,EAAG,EACxE,EAEA3M,EAAG,SAAWgd,EAAM5Q,GAClB,OAAOwhC,EAAgB5wB,EAAK+zB,aAAc3kC,EAAMr0C,OAClD,EAEAuQ,EAAG,SAAW00C,EAAM5Q,GAClB,IAAIqlC,EAAqBz0B,EAAKw0B,cAAgB,IAAM,EAAI,KAAO,KAE/D,OAAQplC,GACN,IAAK,IACL,IAAK,KACH,OAAOqlC,EAAmBppC,cAE5B,IAAK,MACH,OAAOopC,EAET,IAAK,QACH,OAAOA,EAAmB,GAE5B,IAAK,OACL,QACE,MAA8B,OAAvBA,EAA8B,OAAS,OAEpD,EAEAnyD,EAAG,SAAW09B,EAAM5Q,GAClB,OAAOwhC,EAAgB5wB,EAAKw0B,cAAgB,IAAM,GAAIplC,EAAMr0C,OAC9D,EAEA65E,EAAG,SAAW50B,EAAM5Q,GAClB,OAAOwhC,EAAgB5wB,EAAKw0B,cAAeplC,EAAMr0C,OACnD,EAEA8nB,EAAG,SAAWm9B,EAAM5Q,GAClB,OAAOwhC,EAAgB5wB,EAAK80B,gBAAiB1lC,EAAMr0C,OACrD,EAEAqY,EAAG,SAAW4sC,EAAM5Q,GAClB,OAAOwhC,EAAgB5wB,EAAK+0B,gBAAiB3lC,EAAMr0C,OACrD,EAEAi6E,EAAG,SAAWh1B,EAAM5Q,GAClB,IAAI2mC,EAAiB3mC,EAAMr0C,OACvBi7E,EAAeh2B,EAAKi2B,qBACpBC,EAAoB1lD,KAAKw7C,MAAMgK,EAAexlD,KAAK2lD,IAAI,GAAIJ,EAAiB,IAChF,OAAOnF,EAAgBsF,EAAmB9mC,EAAMr0C,OAClD,GAEF,IC5EIg3E,EAAgB,CAClBC,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAgDL,EAAa,CAEfE,EAAG,SAAWzyB,EAAM5Q,EAAOsjC,GACzB,IAAIC,EAAM3yB,EAAK4yB,iBAAmB,EAAI,EAAI,EAE1C,OAAQxjC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAASC,IAAIA,EAAK,CACvB7c,MAAO,gBAIX,IAAK,QACH,OAAO4c,EAASC,IAAIA,EAAK,CACvB7c,MAAO,WAIX,IAAK,OACL,QACE,OAAO4c,EAASC,IAAIA,EAAK,CACvB7c,MAAO,SAGf,EAEA7kB,EAAG,SAAW+O,EAAM5Q,EAAOsjC,GAEzB,GAAc,OAAVtjC,EAAgB,CAClB,IAAIyjC,EAAa7yB,EAAK4yB,iBAElBljC,EAAOmjC,EAAa,EAAIA,EAAa,EAAIA,EAC7C,OAAOH,EAASI,cAAcpjC,EAAM,CAClCqjC,KAAM,QAEV,CAEA,OAAO+I,EAAgB7qC,EAAE+O,EAAM5Q,EACjC,EAEA4jC,EAAG,SAAWhzB,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAIwlE,EAAiBsF,EAAev4B,EAAMvyC,GAEtCylE,EAAWD,EAAiB,EAAIA,EAAiB,EAAIA,EAEzD,GAAc,OAAV7jC,EAAgB,CAClB,IAAI+jC,EAAeD,EAAW,IAC9B,OAAOtC,EAAgBuC,EAAc,EACvC,CAGA,MAAc,OAAV/jC,EACKsjC,EAASI,cAAcI,EAAU,CACtCH,KAAM,SAKHnC,EAAgBsC,EAAU9jC,EAAMr0C,OACzC,EAEAq4E,EAAG,SAAWpzB,EAAM5Q,GAClB,IAAIikC,EAAc4E,EAAkBj4B,GAEpC,OAAO4wB,EAAgByC,EAAajkC,EAAMr0C,OAC5C,EAUAw0B,EAAG,SAAWywB,EAAM5Q,GAClB,IAAIM,EAAOsQ,EAAK4yB,iBAChB,OAAOhC,EAAgBlhC,EAAMN,EAAMr0C,OACrC,EAEAu4E,EAAG,SAAWtzB,EAAM5Q,EAAOsjC,GACzB,IAAIa,EAAU/iD,KAAK8hB,MAAM0N,EAAKwzB,cAAgB,GAAK,GAEnD,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAOu+D,GAGhB,IAAK,KACH,OAAO3C,EAAgB2C,EAAS,GAGlC,IAAK,KACH,OAAOb,EAASI,cAAcS,EAAS,CACrCR,KAAM,YAIV,IAAK,MACH,OAAOL,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,OACPzuC,QAAS,eAGjB,EAEAosD,EAAG,SAAWzzB,EAAM5Q,EAAOsjC,GACzB,IAAIa,EAAU/iD,KAAK8hB,MAAM0N,EAAKwzB,cAAgB,GAAK,GAEnD,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAOu+D,GAGhB,IAAK,KACH,OAAO3C,EAAgB2C,EAAS,GAGlC,IAAK,KACH,OAAOb,EAASI,cAAcS,EAAS,CACrCR,KAAM,YAIV,IAAK,MACH,OAAOL,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAASa,QAAQA,EAAS,CAC/Bzd,MAAO,OACPzuC,QAAS,eAGjB,EAEAqsD,EAAG,SAAW1zB,EAAM5Q,EAAOsjC,GACzB,IAAI/iC,EAAQqQ,EAAKwzB,cAEjB,OAAQpkC,GACN,IAAK,IACL,IAAK,KACH,OAAO0sC,EAAgBpI,EAAE1zB,EAAM5Q,GAGjC,IAAK,KACH,OAAOsjC,EAASI,cAAcnjC,EAAQ,EAAG,CACvCojC,KAAM,UAIV,IAAK,MACH,OAAOL,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,OACPzuC,QAAS,eAGjB,EAEAssD,EAAG,SAAW3zB,EAAM5Q,EAAOsjC,GACzB,IAAI/iC,EAAQqQ,EAAKwzB,cAEjB,OAAQpkC,GAEN,IAAK,IACH,OAAOp6B,OAAO26B,EAAQ,GAGxB,IAAK,KACH,OAAOihC,EAAgBjhC,EAAQ,EAAG,GAGpC,IAAK,KACH,OAAO+iC,EAASI,cAAcnjC,EAAQ,EAAG,CACvCojC,KAAM,UAIV,IAAK,MACH,OAAOL,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,SACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS/iC,MAAMA,EAAO,CAC3BmmB,MAAO,OACPzuC,QAAS,eAGjB,EAEA5rB,EAAG,SAAWukD,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAImmE,EAAO0E,EAAWt4B,EAAMvyC,GAE5B,MAAc,OAAV2hC,EACKsjC,EAASI,cAAcc,EAAM,CAClCb,KAAM,SAIHnC,EAAgBgD,EAAMxkC,EAAMr0C,OACrC,EAEA84E,EAAG,SAAW7zB,EAAM5Q,EAAOsjC,GACzB,IAAIoB,EAAUiE,EAAc/3B,GAE5B,MAAc,OAAV5Q,EACKsjC,EAASI,cAAcgB,EAAS,CACrCf,KAAM,SAIHnC,EAAgBkD,EAAS1kC,EAAMr0C,OACxC,EAEAioC,EAAG,SAAWgd,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK+zB,aAAc,CAC/ChB,KAAM,SAIH+I,EAAgB94C,EAAEgd,EAAM5Q,EACjC,EAEA4kC,EAAG,SAAWh0B,EAAM5Q,EAAOsjC,GACzB,IAAIuB,EAAYuD,EAAgBx3B,GAEhC,MAAc,OAAV5Q,EACKsjC,EAASI,cAAcmB,EAAW,CACvClB,KAAM,cAIHnC,EAAgBqD,EAAW7kC,EAAMr0C,OAC1C,EAEAm5E,EAAG,SAAWl0B,EAAM5Q,EAAOsjC,GACzB,IAAIyB,EAAYn0B,EAAKo0B,YAErB,OAAQhlC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA0R,EAAG,SAAWinB,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAI0mE,EAAYn0B,EAAKo0B,YACjBC,GAAkBF,EAAY1mE,EAAQ6mE,aAAe,GAAK,GAAK,EAEnE,OAAQllC,GAEN,IAAK,IACH,OAAOp6B,OAAOq/D,GAGhB,IAAK,KACH,OAAOzD,EAAgByD,EAAgB,GAGzC,IAAK,KACH,OAAO3B,EAASI,cAAcuB,EAAgB,CAC5CtB,KAAM,QAGV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA9Q,EAAG,SAAWypC,EAAM5Q,EAAOsjC,EAAUjlE,GACnC,IAAI0mE,EAAYn0B,EAAKo0B,YACjBC,GAAkBF,EAAY1mE,EAAQ6mE,aAAe,GAAK,GAAK,EAEnE,OAAQllC,GAEN,IAAK,IACH,OAAOp6B,OAAOq/D,GAGhB,IAAK,KACH,OAAOzD,EAAgByD,EAAgBjlC,EAAMr0C,QAG/C,IAAK,KACH,OAAO23E,EAASI,cAAcuB,EAAgB,CAC5CtB,KAAM,QAGV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEAxsB,EAAG,SAAWmlD,EAAM5Q,EAAOsjC,GACzB,IAAIyB,EAAYn0B,EAAKo0B,YACjBG,EAA6B,IAAdJ,EAAkB,EAAIA,EAEzC,OAAQ/kC,GAEN,IAAK,IACH,OAAOp6B,OAAOu/D,GAGhB,IAAK,KACH,OAAO3D,EAAgB2D,EAAcnlC,EAAMr0C,QAG7C,IAAK,KACH,OAAO23E,EAASI,cAAcyB,EAAc,CAC1CxB,KAAM,QAIV,IAAK,MACH,OAAOL,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,cACPzuC,QAAS,eAIb,IAAK,QACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,SACPzuC,QAAS,eAIb,IAAK,SACH,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,QACPzuC,QAAS,eAIb,IAAK,OACL,QACE,OAAOqrD,EAAS9iC,IAAIukC,EAAW,CAC7Bre,MAAO,OACPzuC,QAAS,eAGjB,EAEA/b,EAAG,SAAW00C,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cACbC,EAAqBp+B,EAAQ,IAAM,EAAI,KAAO,KAElD,OAAQjH,GACN,IAAK,IACL,IAAK,KACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,MACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eACR1Z,cAEL,IAAK,QACH,OAAO+kE,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEA9b,EAAG,SAAWy0C,EAAM5Q,EAAOsjC,GACzB,IACI+B,EADAp+B,EAAQ2J,EAAKw0B,cAWjB,OAPEC,EADY,KAAVp+B,EACmB07B,EAAcI,KAChB,IAAV97B,EACY07B,EAAcG,SAEd77B,EAAQ,IAAM,EAAI,KAAO,KAGxCjH,GACN,IAAK,IACL,IAAK,KACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,MACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eACR1Z,cAEL,IAAK,QACH,OAAO+kE,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEAstD,EAAG,SAAW30B,EAAM5Q,EAAOsjC,GACzB,IACI+B,EADAp+B,EAAQ2J,EAAKw0B,cAajB,OATEC,EADEp+B,GAAS,GACU07B,EAAcO,QAC1Bj8B,GAAS,GACG07B,EAAcM,UAC1Bh8B,GAAS,EACG07B,EAAcK,QAEdL,EAAcQ,MAG7BnjC,GACN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAOsjC,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,cACPzuC,QAAS,eAGb,IAAK,QACH,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,SACPzuC,QAAS,eAGb,IAAK,OACL,QACE,OAAOqrD,EAASgC,UAAUD,EAAoB,CAC5C3e,MAAO,OACPzuC,QAAS,eAGjB,EAEA/E,EAAG,SAAW09B,EAAM5Q,EAAOsjC,GACzB,GAAc,OAAVtjC,EAAgB,CAClB,IAAIiH,EAAQ2J,EAAKw0B,cAAgB,GAEjC,OADc,IAAVn+B,IAAaA,EAAQ,IAClBq8B,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,QAEV,CAEA,OAAO+I,EAAgBx5D,EAAE09B,EAAM5Q,EACjC,EAEAwlC,EAAG,SAAW50B,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAKw0B,cAAe,CAChDzB,KAAM,SAIH+I,EAAgBlH,EAAE50B,EAAM5Q,EACjC,EAEAylC,EAAG,SAAW70B,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cAAgB,GAEjC,MAAc,OAAVplC,EACKsjC,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,SAIHnC,EAAgBv6B,EAAOjH,EAAMr0C,OACtC,EAEAsuB,EAAG,SAAW22B,EAAM5Q,EAAOsjC,GACzB,IAAIr8B,EAAQ2J,EAAKw0B,cAGjB,OAFc,IAAVn+B,IAAaA,EAAQ,IAEX,OAAVjH,EACKsjC,EAASI,cAAcz8B,EAAO,CACnC08B,KAAM,SAIHnC,EAAgBv6B,EAAOjH,EAAMr0C,OACtC,EAEA8nB,EAAG,SAAWm9B,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK80B,gBAAiB,CAClD/B,KAAM,WAIH+I,EAAgBj5D,EAAEm9B,EAAM5Q,EACjC,EAEAh8B,EAAG,SAAW4sC,EAAM5Q,EAAOsjC,GACzB,MAAc,OAAVtjC,EACKsjC,EAASI,cAAc9yB,EAAK+0B,gBAAiB,CAClDhC,KAAM,WAIH+I,EAAgB1oE,EAAE4sC,EAAM5Q,EACjC,EAEA4lC,EAAG,SAAWh1B,EAAM5Q,GAClB,OAAO0sC,EAAgB9G,EAAEh1B,EAAM5Q,EACjC,EAEA6lC,EAAG,SAAWj1B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,GAAuB,IAAnBD,EACF,MAAO,IAGT,OAAQjmC,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEAthC,EAAG,SAAWiM,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEArQ,EAAG,SAAWhlB,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqmC,EAAoBJ,EAAgB,KAGrD,IAAK,OACL,QACE,MAAO,MAAQG,EAAeH,EAAgB,KAEpD,EAEArhC,EAAG,SAAWgM,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxCq1B,EAAiBF,EAAaG,oBAElC,OAAQlmC,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqmC,EAAoBJ,EAAgB,KAGrD,IAAK,OACL,QACE,MAAO,MAAQG,EAAeH,EAAgB,KAEpD,EAEAzvD,EAAG,SAAWo6B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxC01B,EAAYllD,KAAKw7C,MAAMmJ,EAAalsC,UAAY,KACpD,OAAO2nC,EAAgB8E,EAAWtmC,EAAMr0C,OAC1C,EAEA46E,EAAG,SAAW31B,EAAM5Q,EAAO8lC,EAAWznE,GACpC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EACxC01B,EAAYP,EAAalsC,UAC7B,OAAO2nC,EAAgB8E,EAAWtmC,EAAMr0C,OAC1C,GAGF,SAAS06E,EAAoB9X,EAAQiY,GACnC,IAAI9E,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,EAAQ7lB,KAAKw7C,MAAM6J,EAAY,IAC/B1/B,EAAU0/B,EAAY,GAE1B,GAAgB,IAAZ1/B,EACF,OAAO26B,EAAO97D,OAAOqhC,GAGvB,IAAIy/B,EAAYF,GAAkB,GAClC,OAAO9E,EAAO97D,OAAOqhC,GAASy/B,EAAYlF,EAAgBz6B,EAAS,EACrE,CAEA,SAASo/B,EAAkC5X,EAAQiY,GACjD,GAAIjY,EAAS,KAAO,EAAG,CACrB,IAAImT,EAAOnT,EAAS,EAAI,IAAM,IAC9B,OAAOmT,EAAOF,EAAgBpgD,KAAK2e,IAAIwuB,GAAU,GAAI,EACvD,CAEA,OAAO6X,EAAe7X,EAAQiY,EAChC,CAEA,SAASJ,EAAe7X,EAAQiY,GAC9B,IAAIE,EAAYF,GAAkB,GAC9B9E,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,EAAQu6B,EAAgBpgD,KAAKw7C,MAAM6J,EAAY,IAAK,GACpD1/B,EAAUy6B,EAAgBiF,EAAY,GAAI,GAC9C,OAAO/E,EAAOz6B,EAAQy/B,EAAY3/B,CACpC,CAEA,QCj2BIigC,EAAoB,SAA2Bz8D,EAAS08D,GAC1D,OAAQ18D,GACN,IAAK,IACH,OAAO08D,EAAWr2B,KAAK,CACrB8V,MAAO,UAGX,IAAK,KACH,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,WAGX,IAAK,MACH,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,SAGX,IAAK,OACL,QACE,OAAOugB,EAAWr2B,KAAK,CACrB8V,MAAO,SAGf,EAEIwgB,EAAoB,SAA2B38D,EAAS08D,GAC1D,OAAQ18D,GACN,IAAK,IACH,OAAO08D,EAAW/vB,KAAK,CACrBwP,MAAO,UAGX,IAAK,KACH,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,WAGX,IAAK,MACH,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,SAGX,IAAK,OACL,QACE,OAAOugB,EAAW/vB,KAAK,CACrBwP,MAAO,SAGf,EAEIygB,EAAwB,SAA+B58D,EAAS08D,GAClE,IAQIG,EARAC,EAAc98D,EAAQ4L,MAAM,cAAgB,GAC5CmxD,EAAcD,EAAY,GAC1BE,EAAcF,EAAY,GAE9B,IAAKE,EACH,OAAOP,EAAkBz8D,EAAS08D,GAKpC,OAAQK,GACN,IAAK,IACHF,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,UAET,MAEF,IAAK,KACH0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,WAET,MAEF,IAAK,MACH0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,SAET,MAEF,IAAK,OACL,QACE0gB,EAAiBH,EAAWO,SAAS,CACnC9gB,MAAO,SAET,MAGJ,OAAO0gB,EAAe9oE,QAAQ,WAAY0oE,EAAkBM,EAAaL,IAAa3oE,QAAQ,WAAY4oE,EAAkBK,EAAaN,GAC3I,EAEIQ,EAAiB,CACnBjtE,EAAG0sE,EACHpN,EAAGqN,GAEL,I,UC/FIiD,EAA2B,CAAC,IAAK,MACjCC,EAA0B,CAAC,KAAM,QAC9B,SAASJ,EAA0BjqC,GACxC,OAAoD,IAA7CoqC,EAAyB3uE,QAAQukC,EAC1C,CACO,SAASkqC,EAAyBlqC,GACvC,OAAmD,IAA5CqqC,EAAwB5uE,QAAQukC,EACzC,CACO,SAASmqC,EAAoBnqC,EAAOsqC,EAAQ9hC,GACjD,GAAc,SAAVxI,EACF,MAAM,IAAI8pC,WAAW,qCAAqC5oE,OAAOopE,EAAQ,0CAA0CppE,OAAOsnC,EAAO,mFAC5H,GAAc,OAAVxI,EACT,MAAM,IAAI8pC,WAAW,iCAAiC5oE,OAAOopE,EAAQ,0CAA0CppE,OAAOsnC,EAAO,mFACxH,GAAc,MAAVxI,EACT,MAAM,IAAI8pC,WAAW,+BAA+B5oE,OAAOopE,EAAQ,sDAAsDppE,OAAOsnC,EAAO,mFAClI,GAAc,OAAVxI,EACT,MAAM,IAAI8pC,WAAW,iCAAiC5oE,OAAOopE,EAAQ,sDAAsDppE,OAAOsnC,EAAO,kFAE7I,C,cCIImkC,EAAyB,wDAGzBC,EAA6B,oCAC7BC,EAAsB,eACtBC,EAAoB,MACpBC,EAAgC,WAqSrB,SAASzC,EAAOhC,EAAW0E,EAAgB3uE,GACxD,IAAI+qE,EAAMI,EAAiBH,EAAOC,EAAO2D,EAAO1D,EAAuB2D,EAAkBC,EAAuBzD,EAAuBC,EAAwByD,EAAOC,EAAOC,EAAOxC,EAAuByC,EAAkBC,EAAuBC,EAAwBC,GAE5Q,EAAAnD,EAAA,GAAa,EAAGpnE,WAChB,IAAIwqE,EAAY/nE,OAAOonE,GACnB7K,GAAiB,SACjB0H,EAA4L,QAAlLT,EAAgG,QAAxFI,EAA8B,OAAZnrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQwrE,cAAwC,IAApBL,EAA6BA,EAAkBrH,EAAe0H,cAA6B,IAATT,EAAkBA,EAAOwE,EAAA,EAC7NhE,GAAwB,EAAAqB,EAAA,GAAu3B,QAA52B5B,EAA6jB,QAApjBC,EAAue,QAA9d2D,EAAsH,QAA7G1D,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAsE,QAAvC6uE,EAAmB7uE,EAAQwrE,cAAyC,IAArBqD,GAA8F,QAAtDC,EAAwBD,EAAiB7uE,eAA+C,IAA1B8uE,OAA/J,EAA2MA,EAAsBvD,6BAA6C,IAAVqD,EAAmBA,EAAQ9K,EAAeyH,6BAA6C,IAAVN,EAAmBA,EAA4D,QAAnDI,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA6C,IAAVP,EAAmBA,EAAQ,GAEt7B,KAAMO,GAAyB,GAAKA,GAAyB,GAC3D,MAAM,IAAIE,WAAW,6DAGvB,IAAI5E,GAAe,EAAA+F,EAAA,GAAs1B,QAA30BmC,EAAkiB,QAAzhBC,EAAqd,QAA5cC,EAA6G,QAApGxC,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAsE,QAAvCkvE,EAAmBlvE,EAAQwrE,cAAyC,IAArB0D,GAA8F,QAAtDC,EAAwBD,EAAiBlvE,eAA+C,IAA1BmvE,OAA/J,EAA2MA,EAAsBtI,oBAAoC,IAAVoI,EAAmBA,EAAQnL,EAAe+C,oBAAoC,IAAVmI,EAAmBA,EAA6D,QAApDI,EAAyBtL,EAAe0H,cAA+C,IAA3B4D,GAA2G,QAA7DC,EAAyBD,EAAuBpvE,eAAgD,IAA3BqvE,OAA/E,EAA4HA,EAAuBxI,oBAAoC,IAAVkI,EAAmBA,EAAQ,GAE54B,KAAMlI,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAKD,EAAOvG,SACV,MAAM,IAAIwG,WAAW,yCAGvB,IAAKD,EAAO5C,WACV,MAAM,IAAI6C,WAAW,2CAGvB,IAAI/D,GAAe,EAAAyG,EAAA,GAAOlE,GAE1B,IAAKiE,EAAQxG,GACX,MAAM,IAAI+D,WAAW,sBAMvB,IAAI7D,GAAiB,EAAAyB,EAAA,GAAgC3B,GACjD4B,EAAU8E,EAAgB1G,EAAcE,GACxC4H,EAAmB,CACrBjE,sBAAuBA,EACvB1E,aAAcA,EACd2E,OAAQA,EACR7D,cAAeD,GAEbn0E,EAAS+7E,EAAUx3D,MAAMy2D,GAA4B98E,KAAI,SAAUg+E,GACrE,IAAIC,EAAiBD,EAAU,GAE/B,GAAuB,MAAnBC,GAA6C,MAAnBA,EAAwB,CACpD,IAAIC,EAAgB,EAAeD,GACnC,OAAOC,EAAcF,EAAWjE,EAAO5C,WACzC,CAEA,OAAO6G,CACT,IAAG3hD,KAAK,IAAIhW,MAAMw2D,GAAwB78E,KAAI,SAAUg+E,GAEtD,GAAkB,OAAdA,EACF,MAAO,IAGT,IAAIC,EAAiBD,EAAU,GAE/B,GAAuB,MAAnBC,EACF,OAAOE,EAAmBH,GAG5B,IAAIjf,EAAY,EAAWkf,GAE3B,GAAIlf,EASF,OARkB,OAAZxwD,QAAgC,IAAZA,GAAsBA,EAAQ6vE,8BAAgChE,EAAyB4D,IAC/G3D,EAAoB2D,EAAWd,EAAgBpnE,OAAO0iE,IAGtC,OAAZjqE,QAAgC,IAAZA,GAAsBA,EAAQ8vE,+BAAiClE,EAA0B6D,IACjH3D,EAAoB2D,EAAWd,EAAgBpnE,OAAO0iE,IAGjDzZ,EAAU8Y,EAASmG,EAAWjE,EAAOvG,SAAUuK,GAGxD,GAAIE,EAAe53D,MAAM42D,GACvB,MAAM,IAAIjD,WAAW,iEAAmEiE,EAAiB,KAG3G,OAAOD,CACT,IAAG3hD,KAAK,IACR,OAAOv6B,CACT,CAEA,SAASq8E,EAAmBzlC,GAC1B,IAAI4lC,EAAU5lC,EAAMryB,MAAM02D,GAE1B,OAAKuB,EAIEA,EAAQ,GAAG9vE,QAAQwuE,EAAmB,KAHpCtkC,CAIX,C,sGC9Xe,SAAS6lC,EAAWC,EAAeC,IAChD,EAAAhE,EAAA,GAAa,EAAGpnE,WAChB,IAAIqrE,GAAW,EAAAhC,EAAA,GAAO8B,GAClBG,GAAY,EAAAjC,EAAA,GAAO+B,GACnBjyE,EAAOkyE,EAAS30C,UAAY40C,EAAU50C,UAE1C,OAAIv9B,EAAO,GACD,EACCA,EAAO,EACT,EAEAA,CAEX,CCxBe,SAASoyE,EAA2BJ,EAAeC,IAChE,EAAAhE,EAAA,GAAa,EAAGpnE,WAChB,IAAIqrE,GAAW,EAAAhC,EAAA,GAAO8B,GAClBG,GAAY,EAAAjC,EAAA,GAAO+B,GACnBI,EAAWH,EAASnvC,cAAgBovC,EAAUpvC,cAC9CuvC,EAAYJ,EAAS3G,WAAa4G,EAAU5G,WAChD,OAAkB,GAAX8G,EAAgBC,CACzB,CCVe,SAASC,EAASvG,IAC/B,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GAElB,OADA13B,EAAKs7B,SAAS,GAAI,GAAI,GAAI,KACnBt7B,CACT,C,cCJe,SAASk+B,EAAiBxG,IACvC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GAClB,OAAOuG,EAASj+B,GAAM/W,aAAc,EAAAoyC,EAAA,GAAWr7B,GAAM/W,SACvD,CCFe,SAASk1C,EAAmBT,EAAeC,IACxD,EAAAhE,EAAA,GAAa,EAAGpnE,WAChB,IAIIvR,EAJA48E,GAAW,EAAAhC,EAAA,GAAO8B,GAClBG,GAAY,EAAAjC,EAAA,GAAO+B,GACnB7M,EAAO2M,EAAWG,EAAUC,GAC5B/F,EAAatnD,KAAK2e,IAAI2uC,EAA2BF,EAAUC,IAG/D,GAAI/F,EAAa,EACf92E,EAAS,MACJ,CACuB,IAAxB48E,EAAS3G,YAAoB2G,EAAS1G,UAAY,IAGpD0G,EAAShD,QAAQ,IAGnBgD,EAAS5C,SAAS4C,EAAS3G,WAAanG,EAAOgH,GAG/C,IAAIsG,EAAqBX,EAAWG,EAAUC,MAAgB/M,EAE1DoN,GAAiB,EAAAtC,EAAA,GAAO8B,KAAkC,IAAf5F,GAA6D,IAAzC2F,EAAWC,EAAeG,KAC3FO,GAAqB,GAGvBp9E,EAAS8vE,GAAQgH,EAAa/2E,OAAOq9E,GACvC,CAGA,OAAkB,IAAXp9E,EAAe,EAAIA,CAC5B,CC9Be,SAASq9E,EAAyBT,EAAUC,GAEzD,OADA,EAAAlE,EAAA,GAAa,EAAGpnE,YACT,EAAAqpE,EAAA,GAAOgC,GAAU30C,WAAY,EAAA2yC,EAAA,GAAOiC,GAAW50C,SACxD,CC5BA,IAAIq1C,EAAc,CAChBhsC,KAAM9hB,KAAK8hB,KACXuN,MAAOrvB,KAAKqvB,MACZmsB,MAAOx7C,KAAKw7C,MACZC,MAAO,SAAezrE,GACpB,OAAOA,EAAQ,EAAIgwB,KAAK8hB,KAAK9xC,GAASgwB,KAAKw7C,MAAMxrE,EACnD,GAGE+9E,EAAwB,QACrB,SAASC,EAAkB37E,GAChC,OAAOA,EAASy7E,EAAYz7E,GAAUy7E,EAAYC,EACpD,CCgBe,SAASE,EAAoBb,EAAUC,EAAWpwE,IAC/D,EAAAksE,EAAA,GAAa,EAAGpnE,WAChB,IAAI7G,EAAO2yE,EAAyBT,EAAUC,GAAa,IAC3D,OAAOW,EAA8B,OAAZ/wE,QAAgC,IAAZA,OAAqB,EAASA,EAAQixE,eAA5EF,CAA4F9yE,EACrG,C,cChCe,SAAS,EAAOnO,EAAQ6I,GACrC,GAAc,MAAV7I,EACF,MAAM,IAAI4vD,UAAU,iEAGtB,IAAK,IAAI6jB,KAAY5qE,EACfrH,OAAO+6B,UAAUwP,eAAetnC,KAAKoE,EAAQ4qE,KAE/CzzE,EAAOyzE,GAAY5qE,EAAO4qE,IAI9B,OAAOzzE,CACT,CCZe,SAAS0zE,EAAY7qE,GAClC,OAAO,EAAO,CAAC,EAAGA,EACpB,C,cCOIu4E,EAAiB,KACjBC,EAA6B,KAC7BC,EAAmB,MACnBC,EAAwB,MAkFb,SAASC,EAAerH,EAAWsH,EAAevxE,GAC/D,IAAI+qE,EAAMI,GAEV,EAAAe,EAAA,GAAa,EAAGpnE,WAChB,IAAIg/D,GAAiB,SACjB0H,EAA4L,QAAlLT,EAAgG,QAAxFI,EAA8B,OAAZnrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQwrE,cAAwC,IAApBL,EAA6BA,EAAkBrH,EAAe0H,cAA6B,IAATT,EAAkBA,EAAOwE,EAAA,EAEjO,IAAK/D,EAAO8F,eACV,MAAM,IAAI7F,WAAW,+CAGvB,IAAI+F,EAAaxB,EAAW/F,EAAWsH,GAEvC,GAAI9yC,MAAM+yC,GACR,MAAM,IAAI/F,WAAW,sBAGvB,IAII0E,EACAC,EALAqB,EAAkB,EAAOjO,EAAYxjE,GAAU,CACjD0xE,UAAWjqE,QAAoB,OAAZzH,QAAgC,IAAZA,OAAqB,EAASA,EAAQ0xE,WAC7EF,WAAYA,IAKVA,EAAa,GACfrB,GAAW,EAAAhC,EAAA,GAAOoD,GAClBnB,GAAY,EAAAjC,EAAA,GAAOlE,KAEnBkG,GAAW,EAAAhC,EAAA,GAAOlE,GAClBmG,GAAY,EAAAjC,EAAA,GAAOoD,IAGrB,IAGIzoC,EAHAN,EAAUwoC,EAAoBZ,EAAWD,GACzCwB,IAAmB,EAAAtI,EAAA,GAAgC+G,IAAa,EAAA/G,EAAA,GAAgC8G,IAAa,IAC7GznC,EAAU3lB,KAAKqvB,OAAO5J,EAAUmpC,GAAmB,IAGvD,GAAIjpC,EAAU,EACZ,OAAgB,OAAZ1oC,QAAgC,IAAZA,GAAsBA,EAAQ4xE,eAChDppC,EAAU,EACLgjC,EAAO8F,eAAe,mBAAoB,EAAGG,GAC3CjpC,EAAU,GACZgjC,EAAO8F,eAAe,mBAAoB,GAAIG,GAC5CjpC,EAAU,GACZgjC,EAAO8F,eAAe,mBAAoB,GAAIG,GAC5CjpC,EAAU,GACZgjC,EAAO8F,eAAe,cAAe,EAAGG,GACtCjpC,EAAU,GACZgjC,EAAO8F,eAAe,mBAAoB,EAAGG,GAE7CjG,EAAO8F,eAAe,WAAY,EAAGG,GAG9B,IAAZ/oC,EACK8iC,EAAO8F,eAAe,mBAAoB,EAAGG,GAE7CjG,EAAO8F,eAAe,WAAY5oC,EAAS+oC,GAIjD,GAAI/oC,EAAU,GACnB,OAAO8iC,EAAO8F,eAAe,WAAY5oC,EAAS+oC,GAC7C,GAAI/oC,EAAU,GACnB,OAAO8iC,EAAO8F,eAAe,cAAe,EAAGG,GAC1C,GAAI/oC,EAAUwoC,EAAgB,CACnC,IAAItoC,EAAQ7lB,KAAKqvB,MAAM1J,EAAU,IACjC,OAAO8iC,EAAO8F,eAAe,cAAe1oC,EAAO6oC,EACrD,CAAO,GAAI/oC,EAAUyoC,EACnB,OAAO3F,EAAO8F,eAAe,QAAS,EAAGG,GACpC,GAAI/oC,EAAU0oC,EAAkB,CACrC,IAAIvoC,EAAO9lB,KAAKqvB,MAAM1J,EAAUwoC,GAChC,OAAO1F,EAAO8F,eAAe,QAASzoC,EAAM4oC,EAC9C,CAAO,GAAI/oC,EAAU2oC,EAEnB,OADAvoC,EAAS/lB,KAAKqvB,MAAM1J,EAAU0oC,GACvB5F,EAAO8F,eAAe,eAAgBxoC,EAAQ2oC,GAKvD,GAFA3oC,EAAS4nC,EAAmBN,EAAWD,GAEnCrnC,EAAS,GAAI,CACf,IAAI+oC,EAAe9uD,KAAKqvB,MAAM1J,EAAU0oC,GACxC,OAAO5F,EAAO8F,eAAe,UAAWO,EAAcJ,EACxD,CACE,IAAIK,EAAyBhpC,EAAS,GAClCC,EAAQhmB,KAAKw7C,MAAMz1B,EAAS,IAEhC,OAAIgpC,EAAyB,EACpBtG,EAAO8F,eAAe,cAAevoC,EAAO0oC,GAC1CK,EAAyB,EAC3BtG,EAAO8F,eAAe,aAAcvoC,EAAO0oC,GAE3CjG,EAAO8F,eAAe,eAAgBvoC,EAAQ,EAAG0oC,EAG9D,C,4FCxKe,SAASM,EAAW9H,IACjC,EAAAiC,EAAA,GAAa,EAAGpnE,WAChB,IAAIytC,GAAO,EAAA47B,EAAA,GAAOlE,GAElB,OADA13B,EAAKs7B,SAAS,EAAG,EAAG,EAAG,GAChBt7B,CACT,CCKe,SAASy/B,EAAU/B,EAAeC,IAC/C,EAAAhE,EAAA,GAAa,EAAGpnE,WAChB,IAAImtE,EAAqBF,EAAW9B,GAChCiC,EAAsBH,EAAW7B,GACrC,OAAO+B,EAAmBz2C,YAAc02C,EAAoB12C,SAC9D,C,4FCVe,SAAS22C,EAAYlC,EAAeC,IACjD,OAAa,EAAGprE,WAChB,IAAIqrE,GAAW,OAAOF,GAClBG,GAAY,OAAOF,GACvB,OAAOC,EAASnvC,gBAAkBovC,EAAUpvC,eAAiBmvC,EAAS3G,aAAe4G,EAAU5G,UACjG,C,4FCPe,SAAS4I,EAAQnI,GAE9B,OADA,OAAa,EAAGnlE,YACT,OAAUmlE,EAAWz6C,KAAKC,MACnC,C,oCC3Be,SAAS4iD,EAAkBrgF,GACxC,OAAO,WACL,IAAIgO,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE/EujD,EAAQroD,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASr2D,EAAKsgF,aACrDrG,EAASj6E,EAAKugF,QAAQlqB,IAAUr2D,EAAKugF,QAAQvgF,EAAKsgF,cACtD,OAAOrG,CACT,CACF,C,mECRe,SAASuG,EAAgBxgF,GACtC,OAAO,SAAUygF,EAAYzyE,GAC3B,IACI0yE,EADA94D,EAAsB,OAAZ5Z,QAAgC,IAAZA,GAAsBA,EAAQ4Z,QAAUrS,OAAOvH,EAAQ4Z,SAAW,aAGpG,GAAgB,eAAZA,GAA4B5nB,EAAK2gF,iBAAkB,CACrD,IAAIL,EAAetgF,EAAK4gF,wBAA0B5gF,EAAKsgF,aACnDjqB,EAAoB,OAAZroD,QAAgC,IAAZA,GAAsBA,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASiqB,EAC9FI,EAAc1gF,EAAK2gF,iBAAiBtqB,IAAUr2D,EAAK2gF,iBAAiBL,EACtE,KAAO,CACL,IAAIO,EAAgB7gF,EAAKsgF,aAErBQ,EAAqB,OAAZ9yE,QAAgC,IAAZA,GAAsBA,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASr2D,EAAKsgF,aAEpGI,EAAc1gF,EAAKlB,OAAOgiF,IAAW9gF,EAAKlB,OAAO+hF,EACnD,CAEA,IAAInmF,EAAQsF,EAAK+gF,iBAAmB/gF,EAAK+gF,iBAAiBN,GAAcA,EAExE,OAAOC,EAAYhmF,EACrB,CACF,C,mECrBe,SAASsmF,EAAahhF,GACnC,OAAO,SAAUitC,GACf,IAAIj/B,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EujD,EAAQroD,EAAQqoD,MAChB4qB,EAAe5qB,GAASr2D,EAAKkhF,cAAc7qB,IAAUr2D,EAAKkhF,cAAclhF,EAAKmhF,mBAC7EnK,EAAc/pC,EAAOnnB,MAAMm7D,GAE/B,IAAKjK,EACH,OAAO,KAGT,IAOIj2E,EAPAqgF,EAAgBpK,EAAY,GAC5BqK,EAAgBhrB,GAASr2D,EAAKqhF,cAAchrB,IAAUr2D,EAAKqhF,cAAcrhF,EAAKshF,mBAC9EtjF,EAAM6I,MAAM6hC,QAAQ24C,GAAiBn7D,EAAUm7D,GAAe,SAAUnnE,GAC1E,OAAOA,EAAQC,KAAKinE,EACtB,IAAKG,EAAQF,GAAe,SAAUnnE,GACpC,OAAOA,EAAQC,KAAKinE,EACtB,IAEArgF,EAAQf,EAAKwhF,cAAgBxhF,EAAKwhF,cAAcxjF,GAAOA,EACvD+C,EAAQiN,EAAQwzE,cAAgBxzE,EAAQwzE,cAAczgF,GAASA,EAC/D,IAAI0wC,EAAOxE,EAAOvgC,MAAM00E,EAAc9lF,QACtC,MAAO,CACLyF,MAAOA,EACP0wC,KAAMA,EAEV,CACF,CAEA,SAAS8vC,EAAQ56E,EAAQ86E,GACvB,IAAK,IAAIzjF,KAAO2I,EACd,GAAIA,EAAOkjC,eAAe7rC,IAAQyjF,EAAU96E,EAAO3I,IACjD,OAAOA,CAKb,CAEA,SAASkoB,EAAUw7D,EAAOD,GACxB,IAAK,IAAIzjF,EAAM,EAAGA,EAAM0jF,EAAMpmF,OAAQ0C,IACpC,GAAIyjF,EAAUC,EAAM1jF,IAClB,OAAOA,CAKb,C,kEC/Ce,SAAS2jF,EAAoB3hF,GAC1C,OAAO,SAAUitC,GACf,IAAIj/B,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EkkE,EAAc/pC,EAAOnnB,MAAM9lB,EAAKihF,cACpC,IAAKjK,EAAa,OAAO,KACzB,IAAIoK,EAAgBpK,EAAY,GAC5B4K,EAAc30C,EAAOnnB,MAAM9lB,EAAK6hF,cACpC,IAAKD,EAAa,OAAO,KACzB,IAAI7gF,EAAQf,EAAKwhF,cAAgBxhF,EAAKwhF,cAAcI,EAAY,IAAMA,EAAY,GAClF7gF,EAAQiN,EAAQwzE,cAAgBxzE,EAAQwzE,cAAczgF,GAASA,EAC/D,IAAI0wC,EAAOxE,EAAOvgC,MAAM00E,EAAc9lF,QACtC,MAAO,CACLyF,MAAOA,EACP0wC,KAAMA,EAEV,CACF,C,kGChBA,IAAIqwC,EAAuB,CACzBC,iBAAkB,CAChBC,WAAY,CACVC,IAAK,wBACL7gB,MAAO,kCAET8gB,gBAAiB,CACfD,IAAK,wBACL7gB,MAAO,mCAGX+gB,SAAU,CACRH,WAAY,CACVC,IAAK,YACL7gB,MAAO,sBAET8gB,gBAAiB,CACfD,IAAK,YACL7gB,MAAO,uBAGXghB,YAAa,CACXJ,WAAY,eACZE,gBAAiB,iBAEnBG,iBAAkB,CAChBL,WAAY,CACVC,IAAK,uBACL7gB,MAAO,iCAET8gB,gBAAiB,CACfD,IAAK,uBACL7gB,MAAO,kCAGXkhB,SAAU,CACRN,WAAY,CACVC,IAAK,WACL7gB,MAAO,qBAET8gB,gBAAiB,CACfD,IAAK,WACL7gB,MAAO,sBAGXmhB,YAAa,CACXP,WAAY,CACVC,IAAK,gBACL7gB,MAAO,0BAET8gB,gBAAiB,CACfD,IAAK,gBACL7gB,MAAO,2BAGXohB,OAAQ,CACNR,WAAY,CACVC,IAAK,WACL7gB,MAAO,qBAET8gB,gBAAiB,CACfD,IAAK,WACL7gB,MAAO,sBAGXqhB,MAAO,CACLT,WAAY,CACVC,IAAK,QACL7gB,MAAO,kBAET8gB,gBAAiB,CACfD,IAAK,QACL7gB,MAAO,oBAGXshB,YAAa,CACXV,WAAY,CACVC,IAAK,eACL7gB,MAAO,yBAET8gB,gBAAiB,CACfD,IAAK,eACL7gB,MAAO,0BAGXuhB,OAAQ,CACNX,WAAY,CACVC,IAAK,UACL7gB,MAAO,oBAET8gB,gBAAiB,CACfD,IAAK,UACL7gB,MAAO,qBAGXwhB,aAAc,CACZZ,WAAY,CACVC,IAAK,eACL7gB,MAAO,yBAET8gB,gBAAiB,CACfD,IAAK,eACL7gB,MAAO,2BAGXyhB,QAAS,CACPb,WAAY,CACVC,IAAK,UACL7gB,MAAO,oBAET8gB,gBAAiB,CACfD,IAAK,UACL7gB,MAAO,sBAGX0hB,YAAa,CACXd,WAAY,CACVC,IAAK,cACL7gB,MAAO,wBAET8gB,gBAAiB,CACfD,IAAK,cACL7gB,MAAO,0BAGX2hB,OAAQ,CACNf,WAAY,CACVC,IAAK,SACL7gB,MAAO,mBAET8gB,gBAAiB,CACfD,IAAK,SACL7gB,MAAO,qBAGX4hB,WAAY,CACVhB,WAAY,CACVC,IAAK,kBACL7gB,MAAO,4BAET8gB,gBAAiB,CACfD,IAAK,kBACL7gB,MAAO,8BAGX6hB,aAAc,CACZjB,WAAY,CACVC,IAAK,cACL7gB,MAAO,wBAET8gB,gBAAiB,CACfD,IAAK,cACL7gB,MAAO,2BAKTke,EAAiB,SAAwB3vC,EAAOsM,EAAOjuC,GACzD,IAAIzM,EACA2hF,EAAyB,OAAZl1E,QAAgC,IAAZA,GAAsBA,EAAQ0xE,UAAYoC,EAAqBnyC,GAAOuyC,gBAAkBJ,EAAqBnyC,GAAOqyC,WAUzJ,OAPEzgF,EADwB,kBAAf2hF,EACAA,EACU,IAAVjnC,EACAinC,EAAWjB,IAEXiB,EAAW9hB,MAAMnzD,QAAQ,YAAasH,OAAO0mC,IAGxC,OAAZjuC,QAAgC,IAAZA,GAAsBA,EAAQ0xE,UAChD1xE,EAAQwxE,YAAcxxE,EAAQwxE,WAAa,EACtC,MAAQj+E,EAER,OAASA,EAIbA,CACT,EAEA,I,UClLI4hF,EAAc,CAChBC,KAAM,kBAENC,KAAM,YAENC,OAAQ,WAERC,MAAO,WAGLC,EAAc,CAChBJ,KAAM,gBACNC,KAAM,aACNC,OAAQ,WACRC,MAAO,SAELE,EAAkB,CACpBL,KAAM,yBACNC,KAAM,yBACNC,OAAQ,oBACRC,MAAO,qBAEL3M,EAAa,CACfr2B,MAAM,EAAA8/B,EAAA,GAAkB,CACtBE,QAAS4C,EACT7C,aAAc,SAEhBz5B,MAAM,EAAAw5B,EAAA,GAAkB,CACtBE,QAASiD,EACTlD,aAAc,SAEhBnJ,UAAU,EAAAkJ,EAAA,GAAkB,CAC1BE,QAASkD,EACTnD,aAAc,UAGlB,ICtCIoD,EAAuB,CACzBC,SAAU,wBACVC,UAAW,iBACXC,MAAO,eACPC,SAAU,gBACVC,SAAU,cACV3iB,MAAO,KAGL4iB,EAAiB,SAAwBr0C,EAAOs0C,EAAOC,EAAWC,GACpE,OAAOT,EAAqB/zC,EAC9B,EAEA,I,UCZIy0C,EAAY,CACdC,OAAQ,CAAC,SAAU,UACnBC,YAAa,CAAC,SAAU,UACxBC,KAAM,CAAC,eAAgB,kBAErBC,EAAgB,CAClBH,OAAQ,CAAC,IAAK,IAAK,IAAK,KACxBC,YAAa,CAAC,KAAM,KAAM,KAAM,MAChCC,KAAM,CAAC,aAAc,aAAc,aAAc,eAM/CE,EAAc,CAChBJ,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChEC,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,KAAM,CAAC,SAAU,UAAW,OAAQ,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,aAGhHG,EAAwB,CAC1BL,OAAQI,EAAYJ,OACpBC,YAAa,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QACrGC,KAAME,EAAYF,MAEhBI,EAAY,CACdN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvCd,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC5Ce,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACxDC,KAAM,CAAC,UAAW,SAAU,WAAY,WAAY,aAAc,UAAW,YAG3EK,EAAkB,CACpBP,OAAQ,CACN9R,GAAI,MACJC,GAAI,MACJC,SAAU,cACVC,KAAM,SACNC,QAAS,SACTC,UAAW,SACXC,QAAS,QACTC,MAAO,SAETwR,YAAa,CACX/R,GAAI,QACJC,GAAI,SACJC,SAAU,cACVC,KAAM,SACNC,QAAS,SACTC,UAAW,aACXC,QAAS,QACTC,MAAO,SAETyR,KAAM,CACJhS,GAAI,aACJC,GAAI,cACJC,SAAU,cACVC,KAAM,SACNC,QAAS,SACTC,UAAW,aACXC,QAAS,QACTC,MAAO,UAGP+R,EAA4B,CAC9BR,OAAQ,CACN9R,GAAI,MACJC,GAAI,MACJC,SAAU,cACVC,KAAM,SACNC,QAAS,UACTC,UAAW,SACXC,QAAS,SACTC,MAAO,UAETwR,YAAa,CACX/R,GAAI,QACJC,GAAI,SACJC,SAAU,cACVC,KAAM,SACNC,QAAS,UACTC,UAAW,cACXC,QAAS,SACTC,MAAO,UAETyR,KAAM,CACJhS,GAAI,aACJC,GAAI,cACJC,SAAU,cACVC,KAAM,SACNC,QAAS,UACTC,UAAW,cACXC,QAAS,SACTC,MAAO,WAIPO,EAAgB,SAAuBwH,GACzC,IAAIjuE,EAAStL,OAAOu5E,GACpB,OAAOjuE,EAAS,GAClB,EAEIqmE,EAAW,CACbI,cAAeA,EACfH,KAAK,EAAAsN,EAAA,GAAgB,CACnB1hF,OAAQslF,EACR9D,aAAc,SAEhBxM,SAAS,EAAA0M,EAAA,GAAgB,CACvB1hF,OAAQ0lF,EACRlE,aAAc,OACdS,iBAAkB,SAA0BjN,GAC1C,OAAOA,EAAU,CACnB,IAEF5jC,OAAO,EAAAswC,EAAA,GAAgB,CACrB1hF,OAAQ2lF,EACR9D,iBAAkB+D,EAClBpE,aAAc,SAEhBnwC,KAAK,EAAAqwC,EAAA,GAAgB,CACnB1hF,OAAQ6lF,EACRrE,aAAc,SAEhBrL,WAAW,EAAAuL,EAAA,GAAgB,CACzB1hF,OAAQ8lF,EACRtE,aAAc,OACdK,iBAAkBkE,EAClBjE,uBAAwB,UAG5B,I,mBClIIkE,EAA4B,eAC5BC,EAA4B,OAC5BC,EAAmB,CACrBX,OAAQ,gCACRC,YAAa,gCACbC,KAAM,gFAEJU,EAAmB,CACrBC,IAAK,CAAC,MAAO,QAEXC,EAAuB,CACzBd,OAAQ,WACRC,YAAa,YACbC,KAAM,yBAEJa,EAAuB,CACzBF,IAAK,CAAC,KAAM,KAAM,KAAM,OAEtBG,EAAqB,CACvBhB,OAAQ,eACRC,YAAa,wEACbC,KAAM,0FAEJe,EAAqB,CACvBjB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtFa,IAAK,CAAC,UAAW,MAAO,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAQ,MAAO,MAAO,MAAO,QAE/FK,EAAmB,CACrBlB,OAAQ,YACRd,MAAO,2BACPe,YAAa,4CACbC,KAAM,mEAEJiB,EAAmB,CACrBN,IAAK,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,SAEnDO,EAAyB,CAC3BpB,OAAQ,oEACRC,YAAa,yEACbC,KAAM,mFAEJmB,EAAyB,CAC3BR,IAAK,CACH3S,GAAI,MACJC,GAAI,MACJC,SAAU,UACVC,KAAM,UACNC,QAAS,WACTC,UAAW,eAEXC,QAAS,UACTC,MAAO,YAIPhtD,EAAQ,CACVutD,eAAe,EAAAsO,EAAA,GAAoB,CACjCV,aAAc6D,EACdjD,aAAckD,EACdvD,cAAe,SAAuBzgF,GACpC,OAAOuqC,SAASvqC,EAClB,IAEFmyE,KAAK,EAAA8N,EAAA,GAAa,CAChBE,cAAe8D,EACf7D,kBAAmB,OACnBE,cAAe4D,EACf3D,kBAAmB,QAErBxN,SAAS,EAAAkN,EAAA,GAAa,CACpBE,cAAeiE,EACfhE,kBAAmB,OACnBE,cAAe+D,EACf9D,kBAAmB,MACnBE,cAAe,SAAuB9mF,GACpC,OAAOA,EAAQ,CACjB,IAEFw1C,OAAO,EAAA8wC,EAAA,GAAa,CAClBE,cAAemE,EACflE,kBAAmB,OACnBE,cAAeiE,EACfhE,kBAAmB,QAErBnxC,KAAK,EAAA6wC,EAAA,GAAa,CAChBE,cAAeqE,EACfpE,kBAAmB,OACnBE,cAAemE,EACflE,kBAAmB,QAErBrM,WAAW,EAAA+L,EAAA,GAAa,CACtBE,cAAeuE,EACftE,kBAAmB,OACnBE,cAAeqE,EACfpE,kBAAmB,SAGvB,ICjFI9H,EAAS,CACXxpB,KAAM,KACNsvB,eAAgB,EAChB1I,WAAY,EACZoN,eAAgB,EAChB/Q,SAAU,EACVntD,MAAO,EACP9X,QAAS,CACP6mE,aAAc,EAGd0E,sBAAuB,IAG3B,G,oEChCA,IAAIuI,EAAuB,CACzBC,iBAAkB,CAChBE,IAAK,qBACL7gB,MAAO,+BAET+gB,SAAU,CACRF,IAAK,WACL7gB,MAAO,qBAETghB,YAAa,gBACbC,iBAAkB,CAChBJ,IAAK,qBACL7gB,MAAO,+BAETkhB,SAAU,CACRL,IAAK,WACL7gB,MAAO,qBAETmhB,YAAa,CACXN,IAAK,eACL7gB,MAAO,yBAETohB,OAAQ,CACNP,IAAK,SACL7gB,MAAO,mBAETqhB,MAAO,CACLR,IAAK,QACL7gB,MAAO,kBAETshB,YAAa,CACXT,IAAK,eACL7gB,MAAO,yBAETuhB,OAAQ,CACNV,IAAK,SACL7gB,MAAO,mBAETwhB,aAAc,CACZX,IAAK,gBACL7gB,MAAO,0BAETyhB,QAAS,CACPZ,IAAK,UACL7gB,MAAO,oBAET0hB,YAAa,CACXb,IAAK,eACL7gB,MAAO,yBAET2hB,OAAQ,CACNd,IAAK,SACL7gB,MAAO,mBAET4hB,WAAY,CACVf,IAAK,cACL7gB,MAAO,wBAET6hB,aAAc,CACZhB,IAAK,gBACL7gB,MAAO,2BAIPke,EAAiB,SAAwB3vC,EAAOsM,EAAOjuC,GACzD,IAAIzM,EACA2hF,EAAapB,EAAqBnyC,GAUtC,OAPEpuC,EADwB,kBAAf2hF,EACAA,EACU,IAAVjnC,EACAinC,EAAWjB,IAEXiB,EAAW9hB,MAAMnzD,QAAQ,YAAaguC,EAAMl2B,YAGvC,OAAZ/X,QAAgC,IAAZA,GAAsBA,EAAQ0xE,UAChD1xE,EAAQwxE,YAAcxxE,EAAQwxE,WAAa,EACtC,MAAQj+E,EAERA,EAAS,OAIbA,CACT,EAEA,I,UCtFI4hF,EAAc,CAChBC,KAAM,mBACNC,KAAM,aACNC,OAAQ,WACRC,MAAO,cAELC,EAAc,CAChBJ,KAAM,iBACNC,KAAM,cACNC,OAAQ,YACRC,MAAO,UAELE,EAAkB,CACpBL,KAAM,yBACNC,KAAM,yBACNC,OAAQ,qBACRC,MAAO,sBAEL3M,EAAa,CACfr2B,MAAM,EAAA8/B,EAAA,GAAkB,CACtBE,QAAS4C,EACT7C,aAAc,SAEhBz5B,MAAM,EAAAw5B,EAAA,GAAkB,CACtBE,QAASiD,EACTlD,aAAc,SAEhBnJ,UAAU,EAAAkJ,EAAA,GAAkB,CAC1BE,QAASkD,EACTnD,aAAc,UAGlB,ICjCIoD,EAAuB,CACzBC,SAAU,qBACVC,UAAW,mBACXC,MAAO,eACPC,SAAU,kBACVC,SAAU,cACV3iB,MAAO,KAGL4iB,EAAiB,SAAwBr0C,EAAOs0C,EAAOC,EAAWC,GACpE,OAAOT,EAAqB/zC,EAC9B,EAEA,I,UCZIy0C,EAAY,CACdC,OAAQ,CAAC,IAAK,KACdC,YAAa,CAAC,KAAM,MACpBC,KAAM,CAAC,gBAAiB,gBAEtBC,EAAgB,CAClBH,OAAQ,CAAC,IAAK,IAAK,IAAK,KACxBC,YAAa,CAAC,KAAM,KAAM,KAAM,MAChCC,KAAM,CAAC,cAAe,cAAe,cAAe,gBAMlDE,EAAc,CAChBJ,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChEC,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,KAAM,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,aAEnHI,EAAY,CACdN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvCd,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC5Ce,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACxDC,KAAM,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,aAEvEK,EAAkB,CACpBP,OAAQ,CACN9R,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,IACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAETwR,YAAa,CACX/R,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAETyR,KAAM,CACJhS,GAAI,OACJC,GAAI,OACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,UAGP+R,EAA4B,CAC9BR,OAAQ,CACN9R,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,IACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,YAETwR,YAAa,CACX/R,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,YAETyR,KAAM,CACJhS,GAAI,OACJC,GAAI,OACJC,SAAU,WACVC,KAAM,OACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,aAIPO,EAAgB,SAAuBwH,EAAasJ,GACtD,IAAIv3E,EAAStL,OAAOu5E,GAOhB8K,EAAS/4E,EAAS,IAEtB,GAAI+4E,EAAS,IAAMA,EAAS,GAC1B,OAAQA,EAAS,IACf,KAAK,EACH,OAAO/4E,EAAS,KAElB,KAAK,EACH,OAAOA,EAAS,KAElB,KAAK,EACH,OAAOA,EAAS,KAItB,OAAOA,EAAS,IAClB,EAEIqmE,EAAW,CACbI,cAAeA,EACfH,KAAK,EAAAsN,EAAA,GAAgB,CACnB1hF,OAAQslF,EACR9D,aAAc,SAEhBxM,SAAS,EAAA0M,EAAA,GAAgB,CACvB1hF,OAAQ0lF,EACRlE,aAAc,OACdS,iBAAkB,SAA0BjN,GAC1C,OAAOA,EAAU,CACnB,IAEF5jC,OAAO,EAAAswC,EAAA,GAAgB,CACrB1hF,OAAQ2lF,EACRnE,aAAc,SAEhBnwC,KAAK,EAAAqwC,EAAA,GAAgB,CACnB1hF,OAAQ6lF,EACRrE,aAAc,SAEhBrL,WAAW,EAAAuL,EAAA,GAAgB,CACzB1hF,OAAQ8lF,EACRtE,aAAc,OACdK,iBAAkBkE,EAClBjE,uBAAwB,UAG5B,I,mBC/IIkE,EAA4B,wBAC5BC,EAA4B,OAC5BC,EAAmB,CACrBX,OAAQ,UACRC,YAAa,6DACbC,KAAM,8DAEJU,EAAmB,CACrBC,IAAK,CAAC,MAAO,YAEXC,EAAuB,CACzBd,OAAQ,WACRC,YAAa,YACbC,KAAM,kCAEJa,EAAuB,CACzBF,IAAK,CAAC,KAAM,KAAM,KAAM,OAEtBG,EAAqB,CACvBhB,OAAQ,eACRC,YAAa,sDACbC,KAAM,6FAEJe,EAAqB,CACvBjB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtFa,IAAK,CAAC,OAAQ,MAAO,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAQ,MAAO,MAAO,MAAO,QAE5FK,EAAmB,CACrBlB,OAAQ,YACRd,MAAO,2BACPe,YAAa,kCACbC,KAAM,gEAEJiB,EAAmB,CACrBnB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACnDa,IAAK,CAAC,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,SAEjDO,EAAyB,CAC3BpB,OAAQ,6DACRa,IAAK,kFAEHQ,EAAyB,CAC3BR,IAAK,CACH3S,GAAI,MACJC,GAAI,MACJC,SAAU,OACVC,KAAM,OACNC,QAAS,WACTC,UAAW,aACXC,QAAS,WACTC,MAAO,WAGPhtD,EAAQ,CACVutD,eAAe,EAAAsO,EAAA,GAAoB,CACjCV,aAAc6D,EACdjD,aAAckD,EACdvD,cAAe,SAAuBzgF,GACpC,OAAOuqC,SAASvqC,EAAO,GACzB,IAEFmyE,KAAK,EAAA8N,EAAA,GAAa,CAChBE,cAAe8D,EACf7D,kBAAmB,OACnBE,cAAe4D,EACf3D,kBAAmB,QAErBxN,SAAS,EAAAkN,EAAA,GAAa,CACpBE,cAAeiE,EACfhE,kBAAmB,OACnBE,cAAe+D,EACf9D,kBAAmB,MACnBE,cAAe,SAAuB9mF,GACpC,OAAOA,EAAQ,CACjB,IAEFw1C,OAAO,EAAA8wC,EAAA,GAAa,CAClBE,cAAemE,EACflE,kBAAmB,OACnBE,cAAeiE,EACfhE,kBAAmB,QAErBnxC,KAAK,EAAA6wC,EAAA,GAAa,CAChBE,cAAeqE,EACfpE,kBAAmB,OACnBE,cAAemE,EACflE,kBAAmB,QAErBrM,WAAW,EAAA+L,EAAA,GAAa,CACtBE,cAAeuE,EACftE,kBAAmB,MACnBE,cAAeqE,EACfpE,kBAAmB,SAGvB,IClFI9H,EAAS,CACXxpB,KAAM,QACNsvB,eAAgB,EAChB1I,WAAY,EACZoN,eAAgB,EAChB/Q,SAAU,EACVntD,MAAO,EACP9X,QAAS,CACP6mE,aAAc,EAGd0E,sBAAuB,IAG3B,G,oEC7BA,IAAIuI,EAAuB,CACzBC,iBAAkB,CAChBE,IAAK,sBACL7gB,MAAO,+BAET+gB,SAAU,CACRF,IAAK,YACL7gB,MAAO,sBAETghB,YAAa,cACbC,iBAAkB,CAChBJ,IAAK,qBACL7gB,MAAO,8BAETkhB,SAAU,CACRL,IAAK,WACL7gB,MAAO,qBAETmhB,YAAa,CACXN,IAAK,kBACL7gB,MAAO,4BAETohB,OAAQ,CACNP,IAAK,UACL7gB,MAAO,oBAETqhB,MAAO,CACLR,IAAK,SACL7gB,MAAO,mBAETshB,YAAa,CACXT,IAAK,oBACL7gB,MAAO,8BAETuhB,OAAQ,CACNV,IAAK,YACL7gB,MAAO,sBAETwhB,aAAc,CACZX,IAAK,iBACL7gB,MAAO,0BAETyhB,QAAS,CACPZ,IAAK,SACL7gB,MAAO,kBAET0hB,YAAa,CACXb,IAAK,eACL7gB,MAAO,yBAET2hB,OAAQ,CACNd,IAAK,OACL7gB,MAAO,iBAET4hB,WAAY,CACVf,IAAK,eACL7gB,MAAO,yBAET6hB,aAAc,CACZhB,IAAK,eACL7gB,MAAO,0BAIPke,EAAiB,SAAwB3vC,EAAOsM,EAAOjuC,GACzD,IAAIzM,EACAqkF,EAAO9D,EAAqBnyC,GAUhC,OAPEpuC,EADkB,kBAATqkF,EACAA,EACU,IAAV3pC,EACA2pC,EAAK3D,IAEL2D,EAAKxkB,MAAMnzD,QAAQ,YAAasH,OAAO0mC,IAGlC,OAAZjuC,QAAgC,IAAZA,GAAsBA,EAAQ0xE,UAChD1xE,EAAQwxE,YAAcxxE,EAAQwxE,WAAa,EACtC,QAAUj+E,EAEV,UAAYA,EAIhBA,CACT,EAEA,I,UCtFI4hF,EAAc,CAChBC,KAAM,gBACNC,KAAM,WACNC,OAAQ,UACRC,MAAO,WAELC,EAAc,CAChBJ,KAAM,gBACNC,KAAM,aACNC,OAAQ,WACRC,MAAO,SAELE,EAAkB,CACpBL,KAAM,wBACNC,KAAM,wBACNC,OAAQ,qBACRC,MAAO,sBAEL3M,EAAa,CACfr2B,MAAM,EAAA8/B,EAAA,GAAkB,CACtBE,QAAS4C,EACT7C,aAAc,SAEhBz5B,MAAM,EAAAw5B,EAAA,GAAkB,CACtBE,QAASiD,EACTlD,aAAc,SAEhBnJ,UAAU,EAAAkJ,EAAA,GAAkB,CAC1BE,QAASkD,EACTnD,aAAc,UAGlB,ICjCIoD,EAAuB,CACzBC,SAAU,qBACVC,UAAW,aACXC,MAAO,oBACPC,SAAU,gBACVC,SAAU,sBACV3iB,MAAO,KAGL4iB,EAAiB,SAAwBr0C,EAAOs0C,EAAOC,EAAWC,GACpE,OAAOT,EAAqB/zC,EAC9B,EAEA,I,UCZIy0C,EAAY,CACdC,OAAQ,CAAC,WAAY,YACrBC,YAAa,CAAC,WAAY,YAC1BC,KAAM,CAAC,qBAAsB,uBAE3BC,EAAgB,CAClBH,OAAQ,CAAC,KAAM,KAAM,KAAM,MAC3BC,YAAa,CAAC,YAAa,aAAc,aAAc,cACvDC,KAAM,CAAC,gBAAiB,iBAAkB,iBAAkB,mBAE1DE,EAAc,CAChBJ,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChEC,YAAa,CAAC,QAAS,QAAS,OAAQ,OAAQ,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,OAAQ,QACzGC,KAAM,CAAC,UAAW,UAAW,OAAQ,QAAS,MAAO,OAAQ,UAAW,OAAQ,YAAa,UAAW,WAAY,aAElHI,EAAY,CACdN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvCd,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC5Ce,YAAa,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QAC9DC,KAAM,CAAC,WAAY,QAAS,QAAS,WAAY,QAAS,WAAY,WAEpEK,EAAkB,CACpBP,OAAQ,CACN9R,GAAI,KACJC,GAAI,KACJC,SAAU,SACVC,KAAM,OACNC,QAAS,OACTC,UAAW,QACXC,QAAS,OACTC,MAAO,QAETwR,YAAa,CACX/R,GAAI,KACJC,GAAI,KACJC,SAAU,SACVC,KAAM,OACNC,QAAS,QACTC,UAAW,aACXC,QAAS,OACTC,MAAO,SAETyR,KAAM,CACJhS,GAAI,KACJC,GAAI,KACJC,SAAU,SACVC,KAAM,OACNC,QAAS,WACTC,UAAW,kBACXC,QAAS,UACTC,MAAO,aAIPO,EAAgB,SAAuBwH,EAAa7sE,GACtD,IAAIpB,EAAStL,OAAOu5E,GAChBvH,EAAmB,OAAZtlE,QAAgC,IAAZA,OAAqB,EAASA,EAAQslE,KACrE,GAAe,IAAX1mE,EAAc,MAAO,IACzB,IACIi5E,EADAC,EAAgB,CAAC,OAAQ,OAAQ,OAAQ,SAAU,UASvD,OALED,EADa,IAAXj5E,EACO0mE,GAAQwS,EAAc/6E,SAASuoE,GAAQ,MAAQ,KAE/C,MAGJ1mE,EAASi5E,CAClB,EAEI5S,EAAW,CACbI,cAAeA,EACfH,KAAK,EAAAsN,EAAA,GAAgB,CACnB1hF,OAAQslF,EACR9D,aAAc,SAEhBxM,SAAS,EAAA0M,EAAA,GAAgB,CACvB1hF,OAAQ0lF,EACRlE,aAAc,OACdS,iBAAkB,SAA0BjN,GAC1C,OAAOA,EAAU,CACnB,IAEF5jC,OAAO,EAAAswC,EAAA,GAAgB,CACrB1hF,OAAQ2lF,EACRnE,aAAc,SAEhBnwC,KAAK,EAAAqwC,EAAA,GAAgB,CACnB1hF,OAAQ6lF,EACRrE,aAAc,SAEhBrL,WAAW,EAAAuL,EAAA,GAAgB,CACzB1hF,OAAQ8lF,EACRtE,aAAc,UAGlB,I,mBC/FIwE,EAA4B,8BAC5BC,EAA4B,OAC5BC,EAAmB,CACrBX,OAAQ,kCACRC,YAAa,oDACbC,KAAM,6CAEJU,EAAmB,CACrBC,IAAK,CAAC,OAAQ,SAEZC,EAAuB,CACzBd,OAAQ,aACRC,YAAa,8BACbC,KAAM,iCAEJa,EAAuB,CACzBF,IAAK,CAAC,KAAM,KAAM,KAAM,OAEtBG,EAAqB,CACvBhB,OAAQ,eACRC,YAAa,sEACbC,KAAM,4FAEJe,EAAqB,CACvBjB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtFa,IAAK,CAAC,OAAQ,MAAO,QAAS,OAAQ,OAAQ,SAAU,SAAU,OAAQ,MAAO,MAAO,MAAO,QAE7FK,EAAmB,CACrBlB,OAAQ,aACRd,MAAO,2BACPe,YAAa,qCACbC,KAAM,2DAEJiB,EAAmB,CACrBnB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACnDa,IAAK,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,SAEpDO,EAAyB,CAC3BpB,OAAQ,iDACRa,IAAK,sEAEHQ,EAAyB,CAC3BR,IAAK,CACH3S,GAAI,MACJC,GAAI,MACJC,SAAU,QACVC,KAAM,QACNC,QAAS,OACTC,UAAW,MACXC,QAAS,QACTC,MAAO,UAGPhtD,EAAQ,CACVutD,eAAe,EAAAsO,EAAA,GAAoB,CACjCV,aAAc6D,EACdjD,aAAckD,EACdvD,cAAe,SAAuBzgF,GACpC,OAAOuqC,SAASvqC,EAClB,IAEFmyE,KAAK,EAAA8N,EAAA,GAAa,CAChBE,cAAe8D,EACf7D,kBAAmB,OACnBE,cAAe4D,EACf3D,kBAAmB,QAErBxN,SAAS,EAAAkN,EAAA,GAAa,CACpBE,cAAeiE,EACfhE,kBAAmB,OACnBE,cAAe+D,EACf9D,kBAAmB,MACnBE,cAAe,SAAuB9mF,GACpC,OAAOA,EAAQ,CACjB,IAEFw1C,OAAO,EAAA8wC,EAAA,GAAa,CAClBE,cAAemE,EACflE,kBAAmB,OACnBE,cAAeiE,EACfhE,kBAAmB,QAErBnxC,KAAK,EAAA6wC,EAAA,GAAa,CAChBE,cAAeqE,EACfpE,kBAAmB,OACnBE,cAAemE,EACflE,kBAAmB,QAErBrM,WAAW,EAAA+L,EAAA,GAAa,CACtBE,cAAeuE,EACftE,kBAAmB,MACnBE,cAAeqE,EACfpE,kBAAmB,SAGvB,IClFI9H,EAAS,CACXxpB,KAAM,KACNsvB,eAAgB,EAChB1I,WAAY,EACZoN,eAAgB,EAChB/Q,SAAU,EACVntD,MAAO,EACP9X,QAAS,CACP6mE,aAAc,EAGd0E,sBAAuB,IAG3B,G,4FCRe,SAASwM,EAAa9N,IACnC,OAAa,EAAGnlE,WAChB,IAAIytC,GAAO,OAAO03B,GAGlB,OAFA13B,EAAK46B,QAAQ,GACb56B,EAAKs7B,SAAS,EAAG,EAAG,EAAG,GAChBt7B,CACT,C,+GCKe,SAASylC,EAAY/N,EAAWjqE,GAC7C,IAAI+qE,EAAMC,EAAOC,EAAOwB,EAAuBtB,EAAiBC,EAAuBC,EAAuBC,GAE9G,OAAa,EAAGxmE,WAChB,IAAIg/D,GAAiB,SACjB+C,GAAe,OAA+0B,QAAp0BkE,EAA8hB,QAAthBC,EAAkd,QAAzcC,EAA6G,QAApGwB,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAqE,QAAtCmrE,EAAkBnrE,EAAQwrE,cAAwC,IAApBL,GAA4F,QAArDC,EAAwBD,EAAgBnrE,eAA+C,IAA1BorE,OAA5J,EAAwMA,EAAsBvE,oBAAoC,IAAVoE,EAAmBA,EAAQnH,EAAe+C,oBAAoC,IAAVmE,EAAmBA,EAA4D,QAAnDK,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBzE,oBAAmC,IAATkE,EAAkBA,EAAO,GAEn4B,KAAMlE,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAIl5B,GAAO,OAAO03B,GACd9nC,EAAMoQ,EAAKw7B,SACX9vE,GAAQkkC,EAAM0kC,EAAe,EAAI,GAAK1kC,EAAM0kC,EAGhD,OAFAt0B,EAAK46B,QAAQ56B,EAAKk3B,UAAYxrE,GAC9Bs0C,EAAKs7B,SAAS,EAAG,EAAG,EAAG,GAChBt7B,CACT,C,4FC5Be,SAAS0lC,EAAYhO,IAClC,OAAa,EAAGnlE,WAChB,IAAIozE,GAAY,OAAOjO,GACnB13B,EAAO,IAAI/iB,KAAK,GAGpB,OAFA+iB,EAAKk7B,YAAYyK,EAAUl3C,cAAe,EAAG,GAC7CuR,EAAKs7B,SAAS,EAAG,EAAG,EAAG,GAChBt7B,CACT,C,sGCNe,SAAS4lC,EAAUlO,EAAW+C,IAC3C,OAAa,EAAGloE,WAChB,IAAImoE,GAAS,OAAUD,GACvB,OAAO,OAAU/C,GAAYgD,EAC/B,C,sGCJe,SAASmL,EAASnO,EAAW+C,IAC1C,OAAa,EAAGloE,WAChB,IAAImoE,GAAS,OAAUD,GACvB,OAAO,OAAS/C,GAAYgD,EAC9B,C,sGCJe,SAASoL,EAASpO,EAAW+C,IAC1C,OAAa,EAAGloE,WAChB,IAAImoE,GAAS,OAAUD,GACvB,OAAO,OAAS/C,GAAYgD,EAC9B,C,kFC1BA,SAASgB,EAAQ3vC,GAAmV,OAAtO2vC,EAArD,oBAAXj/E,QAAoD,kBAApBA,OAAOuG,SAAmC,SAAiB+oC,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXtvC,QAAyBsvC,EAAInyC,cAAgB6C,QAAUsvC,IAAQtvC,OAAOq9B,UAAY,gBAAkBiS,CAAK,EAAY2vC,EAAQ3vC,EAAM,CAkC1W,SAAS6vC,EAAOrX,IAC7B,OAAa,EAAGhyD,WAChB,IAAIwzE,EAAShnF,OAAO+6B,UAAUtU,SAASxjB,KAAKuiE,GAE5C,OAAIA,aAAoBtnC,MAA8B,WAAtBy+C,EAAQnX,IAAqC,kBAAXwhB,EAEzD,IAAI9oD,KAAKsnC,EAASt7B,WACI,kBAAbs7B,GAAoC,oBAAXwhB,EAClC,IAAI9oD,KAAKsnC,IAES,kBAAbA,GAAoC,oBAAXwhB,GAAoD,qBAAZj9E,UAE3EA,QAAQ8rD,KAAK,sNAEb9rD,QAAQ8rD,MAAK,IAAIrd,OAAQ8Y,QAGpB,IAAIpzB,KAAKs9C,KAEpB,C,oCCnDAx7E,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBwxB,EAElB,IAAItc,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAEzCU,EAAUV,EAAuB,EAAQ,OAEzCW,EAAUX,EAAuB,EAAQ,OAEzCY,EAAU,EAAQ,MAElBkU,EAAU9U,EAAuB,EAAQ,OAEzC+U,EAAU/U,EAAuB,EAAQ,OAEzCgV,EAAW,EAAQ,MAEnBC,EAAWjV,EAAuB,EAAQ,OAE9C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAa9F,IAAIgwC,EAAyB,wDAGzBC,EAA6B,oCAC7BC,EAAsB,eACtBC,EAAoB,MACpBC,EAAgC,WAqSpC,SAASzC,EAAOhC,EAAW0E,EAAgB3uE,GACzC,IAAI+qE,EAAMI,EAAiBH,EAAOC,EAAO2D,EAAO1D,EAAuB2D,EAAkBC,EAAuBzD,EAAuBC,EAAwByD,EAAOC,EAAOC,EAAOxC,EAAuByC,EAAkBC,EAAuBC,EAAwBC,GAE5Q,EAAImJ,EAAQ9vE,SAAS,EAAG5D,WACxB,IAAIwqE,EAAY/nE,OAAOonE,GACnB7K,GAAiB,EAAI2U,EAAS7U,qBAC9B4H,EAA4L,QAAlLT,EAAgG,QAAxFI,EAA8B,OAAZnrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQwrE,cAAwC,IAApBL,EAA6BA,EAAkBrH,EAAe0H,cAA6B,IAATT,EAAkBA,EAAO2N,EAAShwE,QACtO6iE,GAAwB,EAAIgN,EAAQ7vE,SAAs3B,QAA52BsiE,EAA6jB,QAApjBC,EAAue,QAA9d2D,EAAsH,QAA7G1D,EAAoC,OAAZlrE,QAAgC,IAAZA,OAAqB,EAASA,EAAQurE,6BAA6D,IAA1BL,EAAmCA,EAAoC,OAAZlrE,QAAgC,IAAZA,GAAsE,QAAvC6uE,EAAmB7uE,EAAQwrE,cAAyC,IAArBqD,GAA8F,QAAtDC,EAAwBD,EAAiB7uE,eAA+C,IAA1B8uE,OAA/J,EAA2MA,EAAsBvD,6BAA6C,IAAVqD,EAAmBA,EAAQ9K,EAAeyH,6BAA6C,IAAVN,EAAmBA,EAA4D,QAAnDI,EAAwBvH,EAAe0H,cAA8C,IAA1BH,GAAyG,QAA5DC,EAAyBD,EAAsBrrE,eAAgD,IAA3BsrE,OAA9E,EAA2HA,EAAuBC,6BAA6C,IAAVP,EAAmBA,EAAQ,GAEj8B,KAAMO,GAAyB,GAAKA,GAAyB,GAC3D,MAAM,IAAIE,WAAW,6DAGvB,IAAI5E,GAAe,EAAI0R,EAAQ7vE,SAAq1B,QAA30BqmE,EAAkiB,QAAzhBC,EAAqd,QAA5cC,EAA6G,QAApGxC,EAAoC,OAAZzsE,QAAgC,IAAZA,OAAqB,EAASA,EAAQ6mE,oBAAoD,IAA1B4F,EAAmCA,EAAoC,OAAZzsE,QAAgC,IAAZA,GAAsE,QAAvCkvE,EAAmBlvE,EAAQwrE,cAAyC,IAArB0D,GAA8F,QAAtDC,EAAwBD,EAAiBlvE,eAA+C,IAA1BmvE,OAA/J,EAA2MA,EAAsBtI,oBAAoC,IAAVoI,EAAmBA,EAAQnL,EAAe+C,oBAAoC,IAAVmI,EAAmBA,EAA6D,QAApDI,EAAyBtL,EAAe0H,cAA+C,IAA3B4D,GAA2G,QAA7DC,EAAyBD,EAAuBpvE,eAAgD,IAA3BqvE,OAA/E,EAA4HA,EAAuBxI,oBAAoC,IAAVkI,EAAmBA,EAAQ,GAEv5B,KAAMlI,GAAgB,GAAKA,GAAgB,GACzC,MAAM,IAAI4E,WAAW,oDAGvB,IAAKD,EAAOvG,SACV,MAAM,IAAIwG,WAAW,yCAGvB,IAAKD,EAAO5C,WACV,MAAM,IAAI6C,WAAW,2CAGvB,IAAI/D,GAAe,EAAIzD,EAAQv7D,SAASuhE,GAExC,KAAK,EAAIta,EAAOjnD,SAASg/D,GACvB,MAAM,IAAI+D,WAAW,sBAMvB,IAAI7D,GAAiB,EAAIxD,EAAQ17D,SAASg/D,GACtC4B,GAAU,EAAItF,EAAQt7D,SAASg/D,EAAcE,GAC7C4H,EAAmB,CACrBjE,sBAAuBA,EACvB1E,aAAcA,EACd2E,OAAQA,EACR7D,cAAeD,GAEbn0E,EAAS+7E,EAAUx3D,MAAMy2D,GAA4B98E,KAAI,SAAUg+E,GACrE,IAAIC,EAAiBD,EAAU,GAE/B,GAAuB,MAAnBC,GAA6C,MAAnBA,EAAwB,CACpD,IAAIC,EAAgBxL,EAAQz7D,QAAQgnE,GACpC,OAAOC,EAAcF,EAAWjE,EAAO5C,WACzC,CAEA,OAAO6G,CACT,IAAG3hD,KAAK,IAAIhW,MAAMw2D,GAAwB78E,KAAI,SAAUg+E,GAEtD,GAAkB,OAAdA,EACF,MAAO,IAGT,IAAIC,EAAiBD,EAAU,GAE/B,GAAuB,MAAnBC,EACF,OAAOE,EAAmBH,GAG5B,IAAIjf,EAAY0T,EAAQx7D,QAAQgnE,GAEhC,GAAIlf,EASF,OARkB,OAAZxwD,QAAgC,IAAZA,GAAsBA,EAAQ6vE,+BAAgC,EAAIxL,EAAQwH,0BAA0B4D,KAC5H,EAAIpL,EAAQyH,qBAAqB2D,EAAWd,EAAgBpnE,OAAO0iE,IAGnD,OAAZjqE,QAAgC,IAAZA,GAAsBA,EAAQ8vE,gCAAiC,EAAIzL,EAAQuH,2BAA2B6D,KAC9H,EAAIpL,EAAQyH,qBAAqB2D,EAAWd,EAAgBpnE,OAAO0iE,IAG9DzZ,EAAU8Y,EAASmG,EAAWjE,EAAOvG,SAAUuK,GAGxD,GAAIE,EAAe53D,MAAM42D,GACvB,MAAM,IAAIjD,WAAW,iEAAmEiE,EAAiB,KAG3G,OAAOD,CACT,IAAG3hD,KAAK,IACR,OAAOv6B,CACT,CAEA,SAASq8E,EAAmBzlC,GAC1B,IAAI4lC,EAAU5lC,EAAMryB,MAAM02D,GAE1B,OAAKuB,EAIEA,EAAQ,GAAG9vE,QAAQwuE,EAAmB,KAHpCtkC,CAIX,CAEAqQ,EAAOC,QAAUA,EAAQ/xC,O,oCCrbzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBnf,EAElB,IAAIq0B,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAAS2vC,EAAQ3vC,GAAmV,OAAtO2vC,EAArD,oBAAXj/E,QAAoD,kBAApBA,OAAOuG,SAAmC,SAAiB+oC,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXtvC,QAAyBsvC,EAAInyC,cAAgB6C,QAAUsvC,IAAQtvC,OAAOq9B,UAAY,gBAAkBiS,CAAK,EAAY2vC,EAAQ3vC,EAAM,CAkCzX,SAAShD,EAAOvoC,GAEd,OADA,EAAI48D,EAAOjnD,SAAS,EAAG5D,WAChB/R,aAAiBy8B,MAA2B,WAAnBy+C,EAAQl7E,IAAiE,kBAA1CzB,OAAO+6B,UAAUtU,SAASxjB,KAAKxB,EAChG,CAEAynD,EAAOC,QAAUA,EAAQ/xC,O,oCChDzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkByzB,EAElB,IAAIve,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAiC9F,SAAS4vC,EAAQjE,GAGf,IAFA,EAAIhG,EAAQv7D,SAAS,EAAG5D,aAEnB,EAAI6qD,EAAOjnD,SAASuhE,IAAmC,kBAAdA,EAC5C,OAAO,EAGT,IAAI13B,GAAO,EAAIyxB,EAAQt7D,SAASuhE,GAChC,OAAQxrC,MAAMnrC,OAAOi/C,GACvB,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,iCClDzB,SAAS2pE,EAAkBrgF,GACzB,OAAO,WACL,IAAIgO,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAE/EujD,EAAQroD,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASr2D,EAAKsgF,aACrDrG,EAASj6E,EAAKugF,QAAQlqB,IAAUr2D,EAAKugF,QAAQvgF,EAAKsgF,cACtD,OAAOrG,CACT,CACF,CAbA36E,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB43B,EAYlB73B,EAAOC,QAAUA,EAAQ/xC,O,kCCVzB,SAAS8pE,EAAgBxgF,GACvB,OAAO,SAAUygF,EAAYzyE,GAC3B,IACI0yE,EADA94D,EAAsB,OAAZ5Z,QAAgC,IAAZA,GAAsBA,EAAQ4Z,QAAUrS,OAAOvH,EAAQ4Z,SAAW,aAGpG,GAAgB,eAAZA,GAA4B5nB,EAAK2gF,iBAAkB,CACrD,IAAIL,EAAetgF,EAAK4gF,wBAA0B5gF,EAAKsgF,aACnDjqB,EAAoB,OAAZroD,QAAgC,IAAZA,GAAsBA,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASiqB,EAC9FI,EAAc1gF,EAAK2gF,iBAAiBtqB,IAAUr2D,EAAK2gF,iBAAiBL,EACtE,KAAO,CACL,IAAIO,EAAgB7gF,EAAKsgF,aAErBQ,EAAqB,OAAZ9yE,QAAgC,IAAZA,GAAsBA,EAAQqoD,MAAQ9gD,OAAOvH,EAAQqoD,OAASr2D,EAAKsgF,aAEpGI,EAAc1gF,EAAKlB,OAAOgiF,IAAW9gF,EAAKlB,OAAO+hF,EACnD,CAEA,IAAInmF,EAAQsF,EAAK+gF,iBAAmB/gF,EAAK+gF,iBAAiBN,GAAcA,EAExE,OAAOC,EAAYhmF,EACrB,CACF,CA1BA4E,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB+3B,EAyBlBh4B,EAAOC,QAAUA,EAAQ/xC,O,kCCvBzB,SAASsqE,EAAahhF,GACpB,OAAO,SAAUitC,GACf,IAAIj/B,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EujD,EAAQroD,EAAQqoD,MAChB4qB,EAAe5qB,GAASr2D,EAAKkhF,cAAc7qB,IAAUr2D,EAAKkhF,cAAclhF,EAAKmhF,mBAC7EnK,EAAc/pC,EAAOnnB,MAAMm7D,GAE/B,IAAKjK,EACH,OAAO,KAGT,IAOIj2E,EAPAqgF,EAAgBpK,EAAY,GAC5BqK,EAAgBhrB,GAASr2D,EAAKqhF,cAAchrB,IAAUr2D,EAAKqhF,cAAcrhF,EAAKshF,mBAC9EtjF,EAAM6I,MAAM6hC,QAAQ24C,GAAiBn7D,EAAUm7D,GAAe,SAAUnnE,GAC1E,OAAOA,EAAQC,KAAKinE,EACtB,IAAKG,EAAQF,GAAe,SAAUnnE,GACpC,OAAOA,EAAQC,KAAKinE,EACtB,IAEArgF,EAAQf,EAAKwhF,cAAgBxhF,EAAKwhF,cAAcxjF,GAAOA,EACvD+C,EAAQiN,EAAQwzE,cAAgBxzE,EAAQwzE,cAAczgF,GAASA,EAC/D,IAAI0wC,EAAOxE,EAAOvgC,MAAM00E,EAAc9lF,QACtC,MAAO,CACLyF,MAAOA,EACP0wC,KAAMA,EAEV,CACF,CAEA,SAAS8vC,EAAQ56E,EAAQ86E,GACvB,IAAK,IAAIzjF,KAAO2I,EACd,GAAIA,EAAOkjC,eAAe7rC,IAAQyjF,EAAU96E,EAAO3I,IACjD,OAAOA,CAKb,CAEA,SAASkoB,EAAUw7D,EAAOD,GACxB,IAAK,IAAIzjF,EAAM,EAAGA,EAAM0jF,EAAMpmF,OAAQ0C,IACpC,GAAIyjF,EAAUC,EAAM1jF,IAClB,OAAOA,CAKb,CApDAsB,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBu4B,EAmDlBx4B,EAAOC,QAAUA,EAAQ/xC,O,kCCjDzB,SAASirE,EAAoB3hF,GAC3B,OAAO,SAAUitC,GACf,IAAIj/B,EAAU8E,UAAUxX,OAAS,QAAsB8B,IAAjB0V,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EkkE,EAAc/pC,EAAOnnB,MAAM9lB,EAAKihF,cACpC,IAAKjK,EAAa,OAAO,KACzB,IAAIoK,EAAgBpK,EAAY,GAC5B4K,EAAc30C,EAAOnnB,MAAM9lB,EAAK6hF,cACpC,IAAKD,EAAa,OAAO,KACzB,IAAI7gF,EAAQf,EAAKwhF,cAAgBxhF,EAAKwhF,cAAcI,EAAY,IAAMA,EAAY,GAClF7gF,EAAQiN,EAAQwzE,cAAgBxzE,EAAQwzE,cAAczgF,GAASA,EAC/D,IAAI0wC,EAAOxE,EAAOvgC,MAAM00E,EAAc9lF,QACtC,MAAO,CACLyF,MAAOA,EACP0wC,KAAMA,EAEV,CACF,CArBAnyC,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBk5B,EAoBlBn5B,EAAOC,QAAUA,EAAQ/xC,O,kCCvBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAClB,IAAIq5B,EAAuB,CACzBC,iBAAkB,CAChBE,IAAK,qBACL7gB,MAAO,+BAET+gB,SAAU,CACRF,IAAK,WACL7gB,MAAO,qBAETghB,YAAa,gBACbC,iBAAkB,CAChBJ,IAAK,qBACL7gB,MAAO,+BAETkhB,SAAU,CACRL,IAAK,WACL7gB,MAAO,qBAETmhB,YAAa,CACXN,IAAK,eACL7gB,MAAO,yBAETohB,OAAQ,CACNP,IAAK,SACL7gB,MAAO,mBAETqhB,MAAO,CACLR,IAAK,QACL7gB,MAAO,kBAETshB,YAAa,CACXT,IAAK,eACL7gB,MAAO,yBAETuhB,OAAQ,CACNV,IAAK,SACL7gB,MAAO,mBAETwhB,aAAc,CACZX,IAAK,gBACL7gB,MAAO,0BAETyhB,QAAS,CACPZ,IAAK,UACL7gB,MAAO,oBAET0hB,YAAa,CACXb,IAAK,eACL7gB,MAAO,yBAET2hB,OAAQ,CACNd,IAAK,SACL7gB,MAAO,mBAET4hB,WAAY,CACVf,IAAK,cACL7gB,MAAO,wBAET6hB,aAAc,CACZhB,IAAK,gBACL7gB,MAAO,2BAIPke,EAAiB,SAAwB3vC,EAAOsM,EAAOjuC,GACzD,IAAIzM,EACA2hF,EAAapB,EAAqBnyC,GAUtC,OAPEpuC,EADwB,kBAAf2hF,EACAA,EACU,IAAVjnC,EACAinC,EAAWjB,IAEXiB,EAAW9hB,MAAMnzD,QAAQ,YAAaguC,EAAMl2B,YAGvC,OAAZ/X,QAAgC,IAAZA,GAAsBA,EAAQ0xE,UAChD1xE,EAAQwxE,YAAcxxE,EAAQwxE,WAAa,EACtC,MAAQj+E,EAERA,EAAS,OAIbA,CACT,EAEIowE,EAAW2N,EACf72B,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCC7FzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,MAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAI62C,EAAc,CAChBC,KAAM,mBACNC,KAAM,aACNC,OAAQ,WACRC,MAAO,cAELC,EAAc,CAChBJ,KAAM,iBACNC,KAAM,cACNC,OAAQ,YACRC,MAAO,UAELE,EAAkB,CACpBL,KAAM,yBACNC,KAAM,yBACNC,OAAQ,qBACRC,MAAO,sBAEL3M,EAAa,CACfr2B,MAAM,EAAIod,EAAOjnD,SAAS,CACxB6pE,QAAS4C,EACT7C,aAAc,SAEhBz5B,MAAM,EAAI8W,EAAOjnD,SAAS,CACxB6pE,QAASiD,EACTlD,aAAc,SAEhBnJ,UAAU,EAAIxZ,EAAOjnD,SAAS,CAC5B6pE,QAASkD,EACTnD,aAAc,UAGd3O,EAAWiF,EACfnuB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,kCC3CzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAClB,IAAIi7B,EAAuB,CACzBC,SAAU,qBACVC,UAAW,mBACXC,MAAO,eACPC,SAAU,kBACVC,SAAU,cACV3iB,MAAO,KAGL4iB,EAAiB,SAAwBr0C,EAAOs0C,EAAOC,EAAWC,GACpE,OAAOT,EAAqB/zC,EAC9B,EAEIgiC,EAAWqS,EACfv7B,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCCnBzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAI83C,EAAY,CACdC,OAAQ,CAAC,IAAK,KACdC,YAAa,CAAC,KAAM,MACpBC,KAAM,CAAC,gBAAiB,gBAEtBC,EAAgB,CAClBH,OAAQ,CAAC,IAAK,IAAK,IAAK,KACxBC,YAAa,CAAC,KAAM,KAAM,KAAM,MAChCC,KAAM,CAAC,cAAe,cAAe,cAAe,gBAMlDE,EAAc,CAChBJ,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAChEC,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,KAAM,CAAC,UAAW,WAAY,QAAS,QAAS,MAAO,OAAQ,OAAQ,SAAU,YAAa,UAAW,WAAY,aAEnHI,EAAY,CACdN,OAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACvCd,MAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,MAC5Ce,YAAa,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACxDC,KAAM,CAAC,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,aAEvEK,EAAkB,CACpBP,OAAQ,CACN9R,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,IACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAETwR,YAAa,CACX/R,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,SAETyR,KAAM,CACJhS,GAAI,OACJC,GAAI,OACJC,SAAU,WACVC,KAAM,OACNC,QAAS,UACTC,UAAW,YACXC,QAAS,UACTC,MAAO,UAGP+R,EAA4B,CAC9BR,OAAQ,CACN9R,GAAI,IACJC,GAAI,IACJC,SAAU,KACVC,KAAM,IACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,YAETwR,YAAa,CACX/R,GAAI,KACJC,GAAI,KACJC,SAAU,WACVC,KAAM,OACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,YAETyR,KAAM,CACJhS,GAAI,OACJC,GAAI,OACJC,SAAU,WACVC,KAAM,OACNC,QAAS,iBACTC,UAAW,mBACXC,QAAS,iBACTC,MAAO,aAIPO,EAAgB,SAAuBwH,EAAasJ,GACtD,IAAIv3E,EAAStL,OAAOu5E,GAOhB8K,EAAS/4E,EAAS,IAEtB,GAAI+4E,EAAS,IAAMA,EAAS,GAC1B,OAAQA,EAAS,IACf,KAAK,EACH,OAAO/4E,EAAS,KAElB,KAAK,EACH,OAAOA,EAAS,KAElB,KAAK,EACH,OAAOA,EAAS,KAItB,OAAOA,EAAS,IAClB,EAEIqmE,EAAW,CACbI,cAAeA,EACfH,KAAK,EAAIvV,EAAOjnD,SAAS,CACvB5X,OAAQslF,EACR9D,aAAc,SAEhBxM,SAAS,EAAInW,EAAOjnD,SAAS,CAC3B5X,OAAQ0lF,EACRlE,aAAc,OACdS,iBAAkB,SAA0BjN,GAC1C,OAAOA,EAAU,CACnB,IAEF5jC,OAAO,EAAIytB,EAAOjnD,SAAS,CACzB5X,OAAQ2lF,EACRnE,aAAc,SAEhBnwC,KAAK,EAAIwtB,EAAOjnD,SAAS,CACvB5X,OAAQ6lF,EACRrE,aAAc,SAEhBrL,WAAW,EAAItX,EAAOjnD,SAAS,CAC7B5X,OAAQ8lF,EACRtE,aAAc,OACdK,iBAAkBkE,EAClBjE,uBAAwB,UAGxBjP,EAAWsB,EACfxqB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCC3JzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIw4C,EAA4B,wBAC5BC,EAA4B,OAC5BC,EAAmB,CACrBX,OAAQ,UACRC,YAAa,6DACbC,KAAM,8DAEJU,EAAmB,CACrBC,IAAK,CAAC,MAAO,YAEXC,EAAuB,CACzBd,OAAQ,WACRC,YAAa,YACbC,KAAM,kCAEJa,EAAuB,CACzBF,IAAK,CAAC,KAAM,KAAM,KAAM,OAEtBG,EAAqB,CACvBhB,OAAQ,eACRC,YAAa,sDACbC,KAAM,6FAEJe,EAAqB,CACvBjB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtFa,IAAK,CAAC,OAAQ,MAAO,QAAS,OAAQ,QAAS,QAAS,QAAS,OAAQ,MAAO,MAAO,MAAO,QAE5FK,EAAmB,CACrBlB,OAAQ,YACRd,MAAO,2BACPe,YAAa,kCACbC,KAAM,gEAEJiB,EAAmB,CACrBnB,OAAQ,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACnDa,IAAK,CAAC,OAAQ,MAAO,OAAQ,MAAO,OAAQ,MAAO,SAEjDO,EAAyB,CAC3BpB,OAAQ,6DACRa,IAAK,kFAEHQ,EAAyB,CAC3BR,IAAK,CACH3S,GAAI,MACJC,GAAI,MACJC,SAAU,OACVC,KAAM,OACNC,QAAS,WACTC,UAAW,aACXC,QAAS,WACTC,MAAO,WAGPhtD,EAAQ,CACVutD,eAAe,EAAIrB,EAAQt7D,SAAS,CAClCuqE,aAAc6D,EACdjD,aAAckD,EACdvD,cAAe,SAAuBzgF,GACpC,OAAOuqC,SAASvqC,EAAO,GACzB,IAEFmyE,KAAK,EAAIvV,EAAOjnD,SAAS,CACvBwqE,cAAe8D,EACf7D,kBAAmB,OACnBE,cAAe4D,EACf3D,kBAAmB,QAErBxN,SAAS,EAAInW,EAAOjnD,SAAS,CAC3BwqE,cAAeiE,EACfhE,kBAAmB,OACnBE,cAAe+D,EACf9D,kBAAmB,MACnBE,cAAe,SAAuB9mF,GACpC,OAAOA,EAAQ,CACjB,IAEFw1C,OAAO,EAAIytB,EAAOjnD,SAAS,CACzBwqE,cAAemE,EACflE,kBAAmB,OACnBE,cAAeiE,EACfhE,kBAAmB,QAErBnxC,KAAK,EAAIwtB,EAAOjnD,SAAS,CACvBwqE,cAAeqE,EACfpE,kBAAmB,OACnBE,cAAemE,EACflE,kBAAmB,QAErBrM,WAAW,EAAItX,EAAOjnD,SAAS,CAC7BwqE,cAAeuE,EACftE,kBAAmB,MACnBE,cAAeqE,EACfpE,kBAAmB,SAGnB3P,EAAW7rD,EACf2iC,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCC5GzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAEzCU,EAAUV,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAW9F,IAAIktC,EAAS,CACXxpB,KAAM,QACNsvB,eAAgB3hB,EAAOjnD,QACvBkgE,WAAY5E,EAAQt7D,QACpBstE,eAAgB/R,EAAQv7D,QACxBu8D,SAAUf,EAAQx7D,QAClBoP,MAAOqsD,EAAQz7D,QACf1I,QAAS,CACP6mE,aAAc,EAGd0E,sBAAuB,IAGvB5H,EAAW6H,EACf/wB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCC1CzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB2zB,EAElB,IAAIze,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAoB9F,SAAS8vC,EAAgBnE,EAAW+C,IAClC,EAAIhJ,EAAQt7D,SAAS,EAAG5D,WACxB,IAAImoE,GAAS,EAAIhJ,EAAQv7D,SAASskE,GAClC,OAAO,EAAIrd,EAAOjnD,SAASuhE,GAAYgD,EACzC,CAEAzyB,EAAOC,QAAUA,EAAQ/xC,O,oCCrCzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB0zB,EAElB,IAAIxe,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,SAAS2vC,EAAQ3vC,GAAmV,OAAtO2vC,EAArD,oBAAXj/E,QAAoD,kBAApBA,OAAOuG,SAAmC,SAAiB+oC,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,oBAAXtvC,QAAyBsvC,EAAInyC,cAAgB6C,QAAUsvC,IAAQtvC,OAAOq9B,UAAY,gBAAkBiS,CAAK,EAAY2vC,EAAQ3vC,EAAM,CAgCzX,SAAS6vC,EAAOrX,IACd,EAAInH,EAAOjnD,SAAS,EAAG5D,WACvB,IAAIwzE,EAAShnF,OAAO+6B,UAAUtU,SAASxjB,KAAKuiE,GAE5C,OAAIA,aAAoBtnC,MAA8B,WAAtBy+C,EAAQnX,IAAqC,kBAAXwhB,EAEzD,IAAI9oD,KAAKsnC,EAASt7B,WACI,kBAAbs7B,GAAoC,oBAAXwhB,EAClC,IAAI9oD,KAAKsnC,IAES,kBAAbA,GAAoC,oBAAXwhB,GAAoD,qBAAZj9E,UAE3EA,QAAQ8rD,KAAK,sNAEb9rD,QAAQ8rD,MAAK,IAAIrd,OAAQ8Y,QAGpB,IAAIpzB,KAAKs9C,KAEpB,CAEAtyB,EAAOC,QAAUA,EAAQ/xC,O,gCC9DzB,MAAMiwE,EAAY,YACZC,EAAY,YACZC,EAAkB,0BAClBC,EAAa,yBACbC,EAAa,WAEbC,EAAqB,IAAIhtE,OAAO,IAAM+sE,EAAW9zE,QACjDg0E,EAA4B,IAAIjtE,OAAO+sE,EAAW9zE,OAAS6zE,EAAW7zE,OAAQ,MAC9Ei0E,EAAyB,IAAIltE,OAAO,OAAS8sE,EAAW7zE,OAAQ,MAEhEk0E,EAAoB,CAACl6C,EAAQ/+B,EAAa09B,KAC/C,IAAIw7C,GAAkB,EAClBC,GAAkB,EAClBC,GAAsB,EAE1B,IAAK,IAAIlsF,EAAI,EAAGA,EAAI6xC,EAAO3xC,OAAQF,IAAK,CACvC,MAAMmsF,EAAYt6C,EAAO7xC,GAErBgsF,GAAmBT,EAAUxsE,KAAKotE,IACrCt6C,EAASA,EAAOvgC,MAAM,EAAGtR,GAAK,IAAM6xC,EAAOvgC,MAAMtR,GACjDgsF,GAAkB,EAClBE,EAAsBD,EACtBA,GAAkB,EAClBjsF,KACUisF,GAAmBC,GAAuBV,EAAUzsE,KAAKotE,IACnEt6C,EAASA,EAAOvgC,MAAM,EAAGtR,EAAI,GAAK,IAAM6xC,EAAOvgC,MAAMtR,EAAI,GACzDksF,EAAsBD,EACtBA,GAAkB,EAClBD,GAAkB,IAElBA,EAAkBl5E,EAAYq5E,KAAeA,GAAa37C,EAAY27C,KAAeA,EACrFD,EAAsBD,EACtBA,EAAkBz7C,EAAY27C,KAAeA,GAAar5E,EAAYq5E,KAAeA,EAEvF,CAEA,OAAOt6C,CAAM,EAGRu6C,EAA+B,CAACrvC,EAAOjqC,KAC5C24E,EAAgBhrC,UAAY,EAErB1D,EAAMlqC,QAAQ44E,GAAiBv5C,GAAMp/B,EAAYo/B,MAGnDm6C,EAAc,CAACtvC,EAAOvM,KAC3Bq7C,EAA0BprC,UAAY,EACtCqrC,EAAuBrrC,UAAY,EAE5B1D,EAAMlqC,QAAQg5E,GAA2B,CAAC7oE,EAAGspE,IAAe97C,EAAY87C,KAC7Ez5E,QAAQi5E,GAAwB9jE,GAAKwoB,EAAYxoB,MAG9CukE,EAAY,CAACxvC,EAAOnqC,KACzB,GAAuB,kBAAVmqC,IAAsBtxC,MAAM6hC,QAAQyP,GAChD,MAAM,IAAIuV,UAAU,gDAiBrB,GAdA1/C,EAAU,CACT45E,YAAY,EACZJ,8BAA8B,KAC3Bx5E,GAIHmqC,EADGtxC,MAAM6hC,QAAQyP,GACTA,EAAM14C,KAAI60C,GAAKA,EAAEznC,SACvBrN,QAAO80C,GAAKA,EAAEh5C,SACdwgC,KAAK,KAECqc,EAAMtrC,OAGM,IAAjBsrC,EAAM78C,OACT,MAAO,GAGR,MAAM4S,GAAiC,IAAnBF,EAAQwrE,OAC3BvsC,GAAUA,EAAO/+B,cACjB++B,GAAUA,EAAO46C,kBAAkB75E,EAAQwrE,QACtC5tC,GAAiC,IAAnB59B,EAAQwrE,OAC3BvsC,GAAUA,EAAOrB,cACjBqB,GAAUA,EAAO66C,kBAAkB95E,EAAQwrE,QAE5C,GAAqB,IAAjBrhC,EAAM78C,OACT,OAAO0S,EAAQ45E,WAAah8C,EAAYuM,GAASjqC,EAAYiqC,GAG9D,MAAM4vC,EAAe5vC,IAAUjqC,EAAYiqC,GAkB3C,OAhBI4vC,IACH5vC,EAAQgvC,EAAkBhvC,EAAOjqC,EAAa09B,IAG/CuM,EAAQA,EAAMlqC,QAAQ+4E,EAAoB,IAGzC7uC,EADGnqC,EAAQw5E,6BACHA,EAA6BrvC,EAAOjqC,GAEpCA,EAAYiqC,GAGjBnqC,EAAQ45E,aACXzvC,EAAQvM,EAAYuM,EAAMnM,OAAO,IAAMmM,EAAMzrC,MAAM,IAG7C+6E,EAAYtvC,EAAOvM,EAAY,EAGvC4c,EAAOC,QAAUk/B,EAEjBn/B,EAAOC,QAAP,WAAyBk/B,C,oECzGzB,IAUIK,EAVAC,EAAc,WAAc,OAAOxyE,QACR,cAA7BioB,OAAO22B,SAASH,UAEe,UAA7Bx2B,OAAO22B,SAASH,UAEhBx2B,OAAO22B,SAASH,SAASpuC,MACvB,0DAEH,EAgBI,SAAStD,EAAU0lE,EAAOzvE,QAChB,IAAVA,IAAmBA,EAAQ,CAAC,GAEjC,IAAI0vE,EAAsB1vE,EAAM0vE,yBAAkD,IAAxBA,IAAiCA,EAAsB,CAAC,UAC3G1vE,EAAM0vE,oBAEb,IAAI14E,EAAO,SAAU6I,GACnB,IAAItY,EAAO,GAAIg0B,EAAMlhB,UAAUxX,OAAS,EACxC,MAAQ04B,KAAQ,EAAIh0B,EAAMg0B,GAAQlhB,UAAWkhB,EAAM,GAE/Cvb,GAASA,EAAMH,IACjBG,EAAMH,GAAMlY,MAAMqY,EAAOzY,EAE7B,EAEI,kBAAmB89B,WACrBkqD,EAAe59E,MAAK,WACd69E,KAEFG,EAAwBF,EAAOz4E,EAAM04E,GACrCrqD,UAAUuqD,cAAcC,MAAMl+E,MAAK,SAAUm+E,GAC3C94E,EAAK,QAAS84E,EAChB,IAAGhgF,OAAM,SAAUe,GAAS,OAAOjB,EAAYoH,EAAMnG,EAAQ,MAG7Dk/E,EAAgBN,EAAOz4E,EAAM04E,GAC7BrqD,UAAUuqD,cAAcC,MAAMl+E,MAAK,SAAUm+E,GAC3C94E,EAAK,QAAS84E,EAChB,IAAGhgF,OAAM,SAAUe,GAAS,OAAOjB,EAAYoH,EAAMnG,EAAQ,IAEjE,GAEJ,CAEA,SAASjB,EAAaoH,EAAMnG,GACrBw0B,UAAU2qD,QACbh5E,EAAK,WAEPA,EAAK,QAASnG,EAChB,CAEA,SAASk/E,EAAiBN,EAAOz4E,EAAM04E,GACrCrqD,UAAUuqD,cACP7lE,SAAS0lE,EAAOC,GAChB/9E,MAAK,SAAUm+E,GACd94E,EAAK,aAAc84E,GACfA,EAAaG,QACfj5E,EAAK,UAAW84E,GAGlBA,EAAaI,cAAgB,WAC3Bl5E,EAAK,cAAe84E,GACpB,IAAIK,EAAmBL,EAAaM,WACpCD,EAAiBE,cAAgB,WACA,cAA3BF,EAAiBj0E,QACfmpB,UAAUuqD,cAAcU,WAK1Bt5E,EAAK,UAAW84E,GAKhB94E,EAAK,SAAU84E,GAGrB,CACF,CACF,IACChgF,OAAM,SAAUe,GAAS,OAAOjB,EAAYoH,EAAMnG,EAAQ,GAC/D,CAEA,SAAS8+E,EAAyBF,EAAOz4E,EAAM04E,GAE7Ca,MAAMd,GACH99E,MAAK,SAAUg7C,GAEU,MAApBA,EAASyF,QAEXp7C,EAAK,QAAS,IAAIqoC,MAAO,+BAAiCowC,IAC1De,MACyE,IAAhE7jC,EAASmE,QAAQrrD,IAAI,gBAAgBkN,QAAQ,eACtDqE,EAAK,QAAS,IAAIqoC,MAChB,YAAcowC,EAAd,kDACmB9iC,EAASmE,QAAQrrD,IAAI,kBAC1C+qF,KAGAT,EAAgBN,EAAOz4E,EAAM04E,EAEjC,IACC5/E,OAAM,SAAUe,GAAS,OAAOjB,EAAYoH,EAAMnG,EAAQ,GAC/D,CAEO,SAAS2/E,IACV,kBAAmBnrD,WACrBA,UAAUuqD,cAAcC,MAAMl+E,MAAK,SAAUm+E,GAC3CA,EAAaU,YACf,IAAG1gF,OAAM,SAAUe,GAAS,OAAOjB,EAAYoH,KAAMnG,EAAQ,GAEjE,CAlHsB,qBAAXo0B,SAMPsqD,EADqB,qBAAZj+E,QACQ,IAAIA,SAAQ,SAAUC,GAAW,OAAO0zB,OAAOS,iBAAiB,OAAQn0B,EAAU,IAElF,CAAEI,KAAM,SAAUkB,GAAM,OAAOoyB,OAAOS,iBAAiB,OAAQ7yB,EAAK,G,wCCjBw3C49E,EAA85DC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,E,oBAVh4GpwD,EAAEh6B,OAAO+gB,eAAe8F,EAAE7mB,OAAOqqF,iBAAiB1tF,EAAEqD,OAAOsqF,0BAA0BhkF,EAAEtG,OAAOguE,sBAAsB35C,EAAEr0B,OAAO+6B,UAAUwP,eAAexuC,EAAEiE,OAAO+6B,UAAUyvC,qBAAqB1uE,EAAE,CAAC+qB,EAAElqB,EAAE2J,IAAI3J,KAAKkqB,EAAEmT,EAAEnT,EAAElqB,EAAE,CAACmmB,YAAW,EAAGC,cAAa,EAAGsjD,UAAS,EAAG5kE,MAAM6E,IAAIugB,EAAElqB,GAAG2J;;;;;;;;;IAU/Ewd,EAAE,oBAAoBwpB,WAAWA,WAAW,oBAAoBlP,OAAOA,OAAO,oBAAoB,EAAAmP,EAAO,EAAAA,EAAO,oBAAoBjlC,KAAKA,KAAK,CAAC,EAAM5L,EAAE,SAASs9B,GAAG,OAAOA,CAAC,EAAM5H,EAAE,SAAS4H,EAAEnT,EAAElqB,GAAG,OAAOA,EAAEX,QAAQ,KAAK,EAAE,OAAOg+B,EAAE/2B,KAAK4jB,GAAG,KAAK,EAAE,OAAOmT,EAAE/2B,KAAK4jB,EAAElqB,EAAE,IAAI,KAAK,EAAE,OAAOq9B,EAAE/2B,KAAK4jB,EAAElqB,EAAE,GAAGA,EAAE,IAAI,KAAK,EAAE,OAAOq9B,EAAE/2B,KAAK4jB,EAAElqB,EAAE,GAAGA,EAAE,GAAGA,EAAE,IAAI,OAAOq9B,EAAEl5B,MAAM+lB,EAAElqB,EAAE,EAAE4tF,EAAE94D,KAAKqS,IAAQmiC,EAAE,SAASjsC,EAAEnT,EAAElqB,GAAG,OAAOkqB,EAAE0jE,OAAE,IAAS1jE,EAAEmT,EAAEh+B,OAAO,EAAE6qB,EAAE,GAAG,WAAW,IAAI,IAAIvgB,EAAEkN,UAAU6gB,GAAG,EAAEt4B,EAAEwuF,EAAEjkF,EAAEtK,OAAO6qB,EAAE,GAAG/qB,EAAEyL,MAAMxL,KAAKs4B,EAAEt4B,GAAGD,EAAEu4B,GAAG/tB,EAAEugB,EAAEwN,GAAGA,GAAG,EAAE,IAAI,IAAI7c,EAAEjQ,MAAMsf,EAAE,KAAKwN,EAAExN,GAAGrP,EAAE6c,GAAG/tB,EAAE+tB,GAAG,OAAO7c,EAAEqP,GAAGlqB,EAAEb,GAAGs2B,EAAE4H,EAAEj/B,KAAKyc,EAAE,CAAC,EAAM29D,EAAE,SAASn7C,GAAG,OAAO,WAAW,OAAOA,CAAC,CAAC,EAAEgb,EAAE,iBAAiBlxB,GAAGA,GAAGA,EAAE9jB,SAASA,QAAQ8jB,EAAEwG,EAAE0qB,EAAEihC,EAAE,iBAAiB3tE,MAAMA,MAAMA,KAAKtI,SAASA,QAAQsI,KAAK6hE,EAAE7/C,GAAG2rD,GAAGpgE,SAAS,cAATA,GAA0B20E,EAAErgB,EAAEzsE,OAAO+sF,EAAED,EAAE1rE,EAAE9e,OAAO+6B,UAAU25C,EAAE51D,EAAEyrB,eAAeuqC,EAAEh2D,EAAE2H,SAASmvD,EAAE6U,EAAEA,EAAEC,iBAAY,EAAW9V,EAAE,SAAS56C,GAAG,IAAInT,EAAE6tD,EAAEzxE,KAAK+2B,EAAE47C,GAAGj5E,EAAEq9B,EAAE47C,GAAG,IAAI57C,EAAE47C,QAAG,EAAO,IAAItvE,GAAE,CAAY,CAAT,MAAMvK,GAAG,CAAC,IAAIs4B,EAAEygD,EAAE7xE,KAAK+2B,GAAG,OAAO1zB,IAAIugB,EAAEmT,EAAE47C,GAAGj5E,SAASq9B,EAAE47C,IAAIvhD,CAAC,EAAEuiD,EAAE52E,OAAO+6B,UAAUtU,SAAanH,EAAEs1D,EAAEP,EAAE,SAASr6C,GAAG,OAAO48C,EAAE3zE,KAAK+2B,EAAE,EAAEib,EAAEu1C,EAAEA,EAAEE,iBAAY,EAAW/V,EAAE,SAAS36C,GAAG,OAAO,MAAMA,OAAE,IAASA,EAAE,qBAAqB,gBAAgBib,GAAGA,KAAKj1C,OAAOg6B,GAAG1a,EAAE0a,GAAGq6C,EAAEr6C,EAAE,EAAM2wD,EAAE,SAAS3wD,GAAG,IAAInT,SAASmT,EAAE,OAAO,MAAMA,IAAI,UAAUnT,GAAG,YAAYA,EAAE,EAAEqjD,EAAEyK,EAAEM,EAAE0V,EAAQC,EAAE,SAAS5wD,GAAG,IAAIi7C,EAAEj7C,GAAG,OAAM,EAAG,IAAInT,EAAEqjD,EAAElwC,GAAG,MAAM,qBAAqBnT,GAAG,8BAA8BA,GAAG,0BAA0BA,GAAG,kBAAkBA,CAAC,EAAE6sD,EAAEvJ,EAAE,sBAAsB0L,GAAG+T,EAAE,SAASr5C,KAAKmjC,GAAGA,EAAExiE,MAAMwiE,EAAExiE,KAAK25E,UAAU,KAAK,iBAAiBjB,EAAE,GAAOkB,EAAE,SAAS9wD,GAAG,QAAQ67C,GAAGA,KAAK77C,CAAC,EAAE87C,EAAEjgE,SAASklB,UAAUtU,SAAa8tD,EAAEqW,EAAE1U,EAAE4U,EAAE7W,EAAE0W,EAAEI,GAAE,SAAS/wD,GAAG,GAAG,MAAMA,EAAE,CAAC,IAAI,OAAO87C,EAAE7yE,KAAK+2B,EAAY,CAAT,MAAMnT,GAAG,CAAC,IAAI,OAAOmT,EAAE,EAAY,CAAT,MAAMnT,GAAG,CAAC,CAAC,MAAM,EAAE,EAAEmkE,GAAG,8BAA8BC,GAAGp1E,SAASklB,UAAUmwD,GAAGlrF,OAAO+6B,UAAUowD,GAAGF,GAAGxkE,SAAS2kE,GAAGF,GAAG3gD,eAAe8gD,GAAG3wE,OAAO,IAAIywE,GAAGloF,KAAKmoF,IAAIz8E,QAAQ,sBAAsB,QAAQA,QAAQ,yDAAyD,SAAS,KAAS28E,GAAG,SAAStxD,GAAG,SAASi6C,EAAEj6C,IAAIk8C,EAAEl8C,MAAMu6C,EAAEv6C,GAAGqxD,GAAGL,IAAInwE,KAAKkwE,GAAE/wD,GAAG,EAAER,GAAG,SAASQ,EAAEnT,GAAG,OAAO,MAAMmT,OAAE,EAAOA,EAAEnT,EAAE,EAAM0kE,GAAG,SAASvxD,EAAEnT,GAAG,IAAIlqB,EAAE68B,GAAGQ,EAAEnT,GAAG,OAAOykE,GAAG3uF,GAAGA,OAAE,CAAM,EAAE6uF,GAAG,WAAW,IAAI,IAAIxxD,EAAEuxD,GAAGvrF,OAAO,kBAAkB,OAAOg6B,EAAE,CAAC,EAAE,GAAG,CAAC,GAAGA,CAAW,CAAT,MAAMnT,GAAG,CAAC,CAAhF,GAAoF4kE,GAAGtW,EAAEuW,GAAGF,GAAGG,GAAGD,GAAG,SAAS1xD,EAAEnT,GAAG,OAAO6kE,GAAG1xD,EAAE,WAAW,CAACjX,cAAa,EAAGD,YAAW,EAAGrhB,MAAMgqF,GAAG5kE,GAAGw/C,UAAS,GAAI,EAAE3pE,EAAEkvF,GAAG1tD,KAAKC,IAAQ0tD,GAAG,SAAS7xD,GAAG,IAAInT,EAAE,EAAElqB,EAAE,EAAE,OAAO,WAAW,IAAI2J,EAAEslF,KAAKv3D,EAAE,IAAI/tB,EAAE3J,GAAG,GAAGA,EAAE2J,EAAE+tB,EAAE,GAAG,KAAKxN,GAAG,IAAI,OAAOrT,UAAU,QAAQqT,EAAE,EAAE,OAAOmT,EAAEl5B,WAAM,EAAO0S,UAAU,CAAC,CAAtJ,CAAwJm4E,IAAIG,GAAGpvF,EAAEqvF,GAAG9lB,EAAE+lB,GAAGH,GAAOI,GAAG,SAASjyD,EAAEnT,GAAG,OAAOmlE,GAAGD,GAAG/xD,EAAEnT,EAAEilE,IAAI9xD,EAAE,GAAG,EAAMmkC,GAAG,SAASnkC,EAAEnT,GAAG,OAAOmT,IAAInT,GAAGmT,GAAGA,GAAGnT,GAAGA,CAAC,EAAMqlE,GAAG,SAASlyD,GAAG,MAAM,iBAAiBA,GAAGA,GAAG,GAAGA,EAAE,GAAG,GAAGA,GAAG,gBAAgB,EAAEmyD,GAAGvB,EAAEwB,GAAGF,GAAOG,GAAG,SAASryD,GAAG,OAAO,MAAMA,GAAGoyD,GAAGpyD,EAAEh+B,UAAUmwF,GAAGnyD,EAAE,EAAEsyD,GAAG,mBAAuBC,GAAG,SAASvyD,EAAEnT,GAAG,IAAIlqB,SAASq9B,EAAE,SAASnT,EAAE,MAAMA,EAAE,iBAAiBA,KAAK,UAAUlqB,GAAG,UAAUA,GAAG2vF,GAAGzxE,KAAKmf,KAAKA,GAAG,GAAGA,EAAE,GAAG,GAAGA,EAAEnT,CAAC,EAAE2lE,GAAGruB,GAAGsuB,GAAGJ,GAAGK,GAAGH,GAAGI,GAAGhC,EAAMiC,GAAG,SAAS5yD,EAAEnT,EAAElqB,GAAG,IAAIgwF,GAAGhwF,GAAG,OAAM,EAAG,IAAI2J,SAASugB,EAAE,SAAS,UAAUvgB,EAAEmmF,GAAG9vF,IAAI+vF,GAAG7lE,EAAElqB,EAAEX,QAAQ,UAAUsK,GAAGugB,KAAKlqB,IAAI6vF,GAAG7vF,EAAEkqB,GAAGmT,EAAE,EAAM6yD,GAAG,SAAS7yD,EAAEnT,GAAG,IAAI,IAAIlqB,GAAG,EAAE2J,EAAEiB,MAAMyyB,KAAKr9B,EAAEq9B,GAAG1zB,EAAE3J,GAAGkqB,EAAElqB,GAAG,OAAO2J,CAAC,EAAMwmF,GAAG,SAAS9yD,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,CAAC,EAAE+yD,GAAGpY,EAAEqY,GAAGF,GAA+BG,GAAG,SAASjzD,GAAG,OAAOgzD,GAAGhzD,IAAI,sBAAsB+yD,GAAG/yD,EAAE,EAAEkzD,GAAGJ,GAAGK,GAAGntF,OAAO+6B,UAAUqyD,GAAGD,GAAG5iD,eAAe8iD,GAAGF,GAAG3iB,qBAAqB8iB,GAAGL,GAAG,WAAW,OAAOz5E,SAAS,CAA3B,IAAgCy5E,GAAG,SAASjzD,GAAG,OAAOkzD,GAAGlzD,IAAIozD,GAAGnqF,KAAK+2B,EAAE,YAAYqzD,GAAGpqF,KAAK+2B,EAAE,SAAS,EAAEuzD,GAAGhmF,MAAM6hC,QAAQokD,GAAG,CAACrkC,QAAQ,CAAC,GAAG0gC,EAAG2D,GAAGzD,EAAG5f,EAAE6f,EAAG,WAAW,OAAM,CAAE,EAAEC,GAAIH,EAAG0D,GAAGrkC,WAAW2gC,EAAGzzD,UAAUyzD,EAAGI,EAAGD,GAAIJ,IAAKA,EAAGxzD,UAAUwzD,EAAGM,EAAGD,GAAIA,EAAG/gC,UAAU8gC,EAAGF,EAAG0D,YAAO,EAAOrD,GAAID,EAAGA,EAAGz3B,cAAS,IAASs3B,EAAGH,EAAG1gC,QAAQihC,EAAG,IAAIsD,GAAG/Y,EAAEgZ,GAAGzB,GAAG0B,GAAGd,GAAGe,GAAG,CAAC,EAAEA,GAAG,yBAAyBA,GAAG,yBAAyBA,GAAG,sBAAsBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,uBAAuBA,GAAG,8BAA8BA,GAAG,wBAAwBA,GAAG,yBAAwB,EAAGA,GAAG,sBAAsBA,GAAG,kBAAkBA,GAAG,wBAAwBA,GAAG,oBAAoBA,GAAG,qBAAqBA,GAAG,iBAAiBA,GAAG,kBAAkBA,GAAG,qBAAqBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,mBAAmBA,GAAG,gBAAgBA,GAAG,mBAAmBA,GAAG,qBAAoB,EAAG,IAAIC,GAAG,SAAS9zD,GAAG,OAAO4zD,GAAG5zD,IAAI2zD,GAAG3zD,EAAEh+B,WAAW6xF,GAAGH,GAAG1zD,GAAG,EAAM+zD,GAAG,SAAS/zD,GAAG,OAAO,SAASnT,GAAG,OAAOmT,EAAEnT,EAAE,CAAC,EAAEmnE,GAAG,CAAC7kC,QAAQ,CAAC,IAAI,SAASnvB,EAAEnT,GAAG,IAAIlqB,EAAEq4C,EAAE1uC,EAAEugB,IAAIA,EAAEwP,UAAUxP,EAAEwN,EAAE/tB,GAAG0zB,IAAIA,EAAE3D,UAAU2D,EAAEj+B,EAAEs4B,GAAGA,EAAE80B,UAAU7iD,GAAG3J,EAAE0wB,QAAQvxB,EAAE,WAAW,IAAI,IAAIk+B,EAAE3F,GAAGA,EAAE45D,SAAS55D,EAAE45D,QAAQ,QAAQC,MAAM,OAAOl0D,GAAGj+B,GAAGA,EAAEqhB,SAASrhB,EAAEqhB,QAAQ,OAAiB,CAAT,MAAMyJ,GAAG,CAAC,CAA/G,GAAmHmT,EAAEmvB,QAAQrtD,CAAC,CAA/N,CAAiOkyF,GAAGA,GAAG7kC,SAAS,IAAIglC,GAAGL,GAAGM,GAAGL,GAAGvnB,GAAGwnB,GAAG7kC,QAAQklC,GAAG7nB,IAAIA,GAAG8nB,aAAaC,GAAGF,GAAGD,GAAGC,IAAIF,GAAGK,GAAG3B,GAAG4B,GAAGnB,GAAGoB,GAAGnB,GAAGltB,GAAGmtB,GAAGrkC,QAAQwlC,GAAGpC,GAAGqC,GAAGL,GAAGM,GAAG7uF,OAAO+6B,UAAUwP,eAAmBukD,GAAG,SAAS90D,EAAEnT,GAAG,IAAIlqB,EAAE+xF,GAAG10D,GAAG1zB,GAAG3J,GAAG8xF,GAAGz0D,GAAG3F,GAAG13B,IAAI2J,GAAG+5D,GAAGrmC,GAAGj+B,GAAGY,IAAI2J,IAAI+tB,GAAGu6D,GAAG50D,GAAGl+B,EAAEa,GAAG2J,GAAG+tB,GAAGt4B,EAAEyb,EAAE1b,EAAE0yF,GAAGx0D,EAAEh+B,OAAOia,QAAQ,GAAG5B,EAAEmD,EAAExb,OAAO,IAAI,IAAIw0B,KAAKwJ,GAAGnT,IAAIgoE,GAAG5rF,KAAK+2B,EAAExJ,IAAI10B,IAAI,UAAU00B,GAAG6D,IAAI,UAAU7D,GAAG,UAAUA,IAAIz0B,IAAI,UAAUy0B,GAAG,cAAcA,GAAG,cAAcA,IAAIm+D,GAAGn+D,EAAEnc,KAAKmD,EAAElc,KAAKk1B,GAAG,OAAOhZ,CAAC,EAAEu3E,GAAG/uF,OAAO+6B,UAAci0D,GAAGrE,EAAE12D,GAAG,SAAS+F,GAAG,IAAInT,EAAEmT,GAAGA,EAAEn/B,YAAY,OAAOm/B,KAAK,mBAAmBnT,GAAGA,EAAEkU,WAAWg0D,GAAG,EAAEE,GAAG,SAASj1D,GAAG,IAAInT,EAAE,GAAG,GAAG,MAAMmT,EAAE,IAAI,IAAIr9B,KAAKqD,OAAOg6B,GAAGnT,EAAEvrB,KAAKqB,GAAG,OAAOkqB,CAAC,EAAEqoE,GAAGlvF,OAAO+6B,UAAUwP,eAAmB4kD,GAAGL,GAAGM,GAAG,SAASp1D,GAAG,IAAIg1D,GAAGh1D,GAAG,OAAOi1D,GAAGj1D,GAAG,IAAInT,EAAEoN,GAAG+F,GAAGr9B,EAAE,GAAG,IAAI,IAAI2J,KAAK0zB,GAAG,eAAe1zB,IAAIugB,GAAGqoE,GAAGjsF,KAAK+2B,EAAE1zB,KAAK3J,EAAErB,KAAKgL,GAAG,OAAO3J,CAAC,EAAE0yF,GAAGhD,GAAOiD,GAAGrD,GAAGsD,GAAGpxB,GAAGqxB,GAAG5C,GAAG6C,GAAG,SAASz1D,GAAG,OAAOq1D,GAAGr1D,GAAGm1D,GAAGn1D,GAAE,GAAIo1D,GAAGp1D,EAAE,EAAE01D,GAAG1vF,OAAO+6B,UAAU40D,GAAGD,GAAGnlD,eAAeqlD,GAAGN,IAAG,SAAUt1D,EAAEnT,GAAGmT,EAAEh6B,OAAOg6B,GAAG,IAAIr9B,GAAG,EAAE2J,EAAEugB,EAAE7qB,OAAOq4B,EAAE/tB,EAAE,EAAEugB,EAAE,QAAG,EAAO,IAAIwN,GAAGm7D,GAAG3oE,EAAE,GAAGA,EAAE,GAAGwN,KAAK/tB,EAAE,KAAK3J,EAAE2J,GAAG,IAAI,IAAIvK,EAAE8qB,EAAElqB,GAAGb,EAAE2zF,GAAG1zF,GAAGyb,GAAG,EAAEnD,EAAEvY,EAAEE,SAASwb,EAAEnD,GAAG,CAAC,IAAImc,EAAE10B,EAAE0b,GAAGjL,EAAEytB,EAAExJ,SAAI,IAASjkB,GAAGgjF,GAAGhjF,EAAEmjF,GAAGl/D,MAAMm/D,GAAG1sF,KAAK+2B,EAAExJ,MAAMwJ,EAAExJ,GAAGz0B,EAAEy0B,GAAG,CAAC,OAAOwJ,CAAE,IAAG61D,GAAG,CAAC1mC,QAAQ,CAAC,IAMn8L,SAASnvB,GAAG,IAAInT,EAAElqB,EAAE2J,EAAE+tB,EAAEt4B,EAAE8qB,EAAE,oBAAoBuX,aAAQ,IAASA,OAAOlD,SAASkD,OAAOlD,SAAS,CAAC,EAAEv+B,EAAEq9B,EAAEmvB,QAAQ7iD,EAAE,WAAW,IAAI,IAAI0zB,EAAEr9B,EAAE,CAAC,CAAC,oBAAoB,iBAAiB,oBAAoB,oBAAoB,mBAAmB,mBAAmB,CAAC,0BAA0B,uBAAuB,0BAA0B,0BAA0B,yBAAyB,yBAAyB,CAAC,0BAA0B,yBAAyB,iCAAiC,yBAAyB,yBAAyB,yBAAyB,CAAC,uBAAuB,sBAAsB,uBAAuB,uBAAuB,sBAAsB,sBAAsB,CAAC,sBAAsB,mBAAmB,sBAAsB,sBAAsB,qBAAqB,sBAAsB2J,EAAE,EAAE+tB,EAAE13B,EAAEX,OAAOD,EAAE,CAAC,EAAEuK,EAAE+tB,EAAE/tB,IAAI,IAAI0zB,EAAEr9B,EAAE2J,KAAK0zB,EAAE,KAAKnT,EAAE,CAAC,IAAIvgB,EAAE,EAAEA,EAAE0zB,EAAEh+B,OAAOsK,IAAIvK,EAAEY,EAAE,GAAG2J,IAAI0zB,EAAE1zB,GAAG,OAAOvK,CAAC,CAAC,OAAM,CAAE,CAAxzB,GAA4zBs4B,EAAE,CAACy7D,OAAOxpF,EAAEypF,iBAAiB/lF,MAAM1D,EAAE0pF,iBAAiBj0F,EAAE,CAACwuD,QAAQ,SAASvwB,EAAEr9B,GAAG,OAAO,IAAI8N,QAAQ,SAAS4pB,EAAEt4B,GAAG,IAAID,EAAE,WAAWf,KAAKY,IAAI,SAASG,GAAGu4B,GAAG,EAAEtpB,KAAKhQ,MAAMA,KAAKW,GAAG,SAASI,GAAG,IAAI0b,GAAGwiB,EAAEA,GAAGnT,EAAEopE,iBAAiB3pF,EAAE4pF,mBAAmBvzF,GAAG6a,aAAa/M,SAAS+M,EAAE1M,KAAKhP,GAAGmN,MAAMlN,EAAE,EAAEgP,KAAKhQ,MAAM,EAAEo1F,KAAK,WAAW,OAAO,IAAI1lF,QAAQ,SAASuvB,EAAEr9B,GAAG,GAAG5B,KAAKq1F,aAAa,CAAC,IAAI/7D,EAAE,WAAWt5B,KAAKY,IAAI,SAAS04B,GAAG2F,GAAG,EAAEjvB,KAAKhQ,MAAMA,KAAKW,GAAG,SAAS24B,GAAG,IAAIt4B,EAAE8qB,EAAEvgB,EAAE+pF,kBAAkBt0F,aAAa0O,SAAS1O,EAAE+O,KAAKupB,GAAGprB,MAAMtM,EAAE,MAAMq9B,GAAG,EAAEjvB,KAAKhQ,MAAM,EAAEu1F,OAAO,SAASt2D,EAAEnT,GAAG,OAAO9rB,KAAKq1F,aAAar1F,KAAKo1F,OAAOp1F,KAAKwvD,QAAQvwB,EAAEnT,EAAE,EAAE0pE,SAAS,SAASv2D,GAAGj/B,KAAKW,GAAG,SAASs+B,EAAE,EAAEgyB,QAAQ,SAAShyB,GAAGj/B,KAAKW,GAAG,QAAQs+B,EAAE,EAAEt+B,GAAG,SAASs+B,EAAEr9B,GAAG,IAAI2J,EAAE+tB,EAAE2F,GAAG1zB,GAAGugB,EAAEgY,iBAAiBv4B,EAAE3J,GAAE,EAAG,EAAEhB,IAAI,SAASq+B,EAAEr9B,GAAG,IAAI2J,EAAE+tB,EAAE2F,GAAG1zB,GAAGugB,EAAEiY,oBAAoBx4B,EAAE3J,GAAE,EAAG,EAAEqJ,IAAIM,GAAGA,GAAGtG,OAAOqqF,iBAAiBtuF,EAAE,CAACq0F,aAAa,CAACxxF,IAAI,WAAW,OAAOuX,QAAQ0Q,EAAEvgB,EAAEkqF,mBAAmB,GAAGprB,QAAQ,CAACtiD,YAAW,EAAGlkB,IAAI,WAAW,OAAOioB,EAAEvgB,EAAEkqF,kBAAkB,GAAGC,UAAU,CAAC3tE,YAAW,EAAGlkB,IAAI,WAAW,OAAOuX,QAAQ0Q,EAAEvgB,EAAEoqF,mBAAmB,KAAK/zF,EAAEq9B,EAAEmvB,QAAQptD,EAAEqiC,OAAOuyD,WAAW50F,GAAGY,EAAEq9B,EAAEmvB,QAAQ,CAACsnC,WAAU,GAAIryD,OAAOuyD,WAAW,CAACF,WAAU,EAAG,CAA9jE,CAAgkEZ,IAAI,IAAIe,GAAGf,GAAG1mC,QAAQ,MAAM0nC,GAAGD,GAAG,IAAIE,IAAG,QAAE,CAAC9jF,MAAM,CAACk4B,WAAW,CAACzmC,KAAK0X,QAAQiB,SAAQ,GAAI25E,WAAW,CAACtyF,KAAK0X,QAAQiB,SAAQ,GAAI45E,mBAAmB,CAACvyF,KAAK0X,QAAQiB,SAAQ,GAAI65E,gBAAgB,CAACxyF,KAAKwX,OAAOmB,QAAQ,cAAc85E,SAAS,CAACzyF,KAAK0X,QAAQiB,SAAQ,GAAI+5E,SAAS,CAAC1yF,KAAK0X,QAAQiB,SAAQ,IAAKlJ,MAAM,CAAC,SAAS,oBAAoB,qBAAqB+I,MAAM+iB,GAAG7pB,KAAKqH,IAAI,MAAMysB,GAAE,UAAIz3B,GAAE,QAAE,CAAC4jF,cAAa,EAAGK,UAAUI,GAAGJ,YAAYv+C,GAAE,SAAE,IAAKlY,EAAEk3D,WAAWL,GAAGJ,YAAYltE,GAAE,SAAE,KAAM2uB,EAAEzwC,OAAOu4B,EAAEm3D,WAAW3kF,EAAE4jF,aAAa,CAACgB,SAAS,QAAQ5pD,KAAK,IAAIwxB,IAAI,IAAIjC,MAAM,OAAOE,OAAO,aAAQ,IAAS,SAASx0D,IAAI+U,EAAE,SAAShL,EAAE4jF,cAAc54E,EAAE,oBAAoBhL,EAAE4jF,cAAc54E,EAAE,oBAAoBhL,EAAE4jF,aAAa,CAAC,SAAS7iD,IAAIsjD,GAAGT,cAAcS,GAAGl1F,IAAI,SAAS4xC,GAAG/gC,EAAE4jF,aAAaS,GAAGT,aAAa3tF,GAAG,CAAC,SAASqhB,EAAEkW,GAAG,WAAWA,EAAEt7B,KAAK0zB,GAAG,CAAC,SAAS11B,IAAIw1C,EAAEzwC,OAAO+K,EAAE4jF,cAAa,EAAG3tF,IAAIy4B,SAAS4D,oBAAoB,QAAQhb,GAAGoX,SAAS2D,iBAAiB,QAAQ/a,KAAK+sE,GAAGl1F,IAAI,SAAS4xC,GAAGsjD,GAAGn1F,GAAG,SAAS6xC,GAAGsjD,GAAGtmC,QAAQvwB,EAAEm3D,SAASj2D,SAASiJ,KAAKF,EAAExiC,OAAO,CAAC,SAAS2wB,IAAI5lB,EAAE4jF,eAAel+C,EAAEzwC,OAAO+K,EAAE4jF,cAAa,EAAG3tF,IAAIy4B,SAAS4D,oBAAoB,QAAQhb,IAAI+sE,GAAGV,OAAO,CAAC,OAAO,SAAE,IAAKn2D,EAAE+2D,aAAa/2D,IAAIA,IAAIxtB,EAAE4jF,eAAep2D,EAAEt9B,IAAI01B,IAAK,KAAG,SAAE,IAAK4H,EAAEkL,aAAalL,IAAIA,IAAIxtB,EAAE4jF,eAAep2D,EAAEt9B,IAAI01B,IAAK,IAAGm4D,EAAE,EAAEvwD,EAAEnT,KAAK,IAAI,IAAIlqB,KAAKkqB,IAAIA,EAAE,CAAC,GAAGwN,EAAEpxB,KAAK4jB,EAAElqB,IAAIb,EAAEk+B,EAAEr9B,EAAEkqB,EAAElqB,IAAI,GAAG2J,EAAE,IAAI,IAAI3J,KAAK2J,EAAEugB,GAAG9qB,EAAEkH,KAAK4jB,EAAElqB,IAAIb,EAAEk+B,EAAEr9B,EAAEkqB,EAAElqB,IAAI,OAAOq9B,CAAE,EAAlH,CAAoH,CAACmC,QAAQ8H,EAAEotD,aAAa9tE,IAAG,QAAE/W,IAAIqa,EAAE0jE,EAAE5tF,EAAE,CAAC2zF,OAAO,SAASt2D,QAAG,IAASA,EAAExtB,EAAE4jF,aAAah+D,IAAI11B,IAAIs9B,EAAEt9B,IAAI01B,GAAG,EAAEm4B,QAAQ7tD,EAAEyzF,KAAK/9D,EAAEk/D,WAAW,SAASzqE,GAAGA,EAAEroB,SAASylC,EAAExiC,OAAOu4B,EAAEg3D,oBAAoB5+D,GAAG,KAAK,IAAIm4D,CAAC,IAAIuG,GAAG1gF,OAAO,SAAS4pB,EAAEnT,EAAElqB,EAAE2J,EAAE+tB,EAAEt4B,GAAG,OAAO,WAAI,QAAE,KAAE,CAACioB,GAAG,OAAO+Q,UAAUiF,EAAEm3D,WAAWn3D,EAAE+2D,YAAY,EAAC,QAAE,OAAM,QAAE,CAAC5qF,IAAI,WAAW6zB,EAAEta,OAAO,CAACoP,MAAMkL,EAAEq3D,aAAaxiE,MAAM,CAAC,CAACmL,EAAEi3D,iBAAiBj3D,EAAEo2D,cAAcmB,QAAQ1qE,EAAE,KAAKA,EAAE,GAAGA,GAAGmT,EAAEs3D,WAAWzqE,MAAM,EAAC,QAAEmT,EAAEra,OAAO,YAAY,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM6xE,GAAG,oBAAoBpzD,QAAQ,OAAOA,QAAQ,WAAW,GAAGozD,IAAI,yBAAyBpzD,QAAQ,8BAA8BA,QAAQ,sBAAsBA,OAAOqzD,0BAA0B12D,UAAgB,mBAAmBqD,OAAOqzD,0BAA0B12D,WAAW/6B,OAAO+gB,eAAeqd,OAAOqzD,0BAA0B12D,UAAU,iBAAiB,CAACn8B,MAAM,OAAO7D,KAAK22F,kBAAkB,CAAC,GAAM,CAA7V,GAAiW,MAAMC,GAAG3xF,OAAO+6B,UAAUyvC,qBAAqBonB,GAAG5xF,OAAOguE,sBAAsB,SAAS6jB,GAAG73D,GAAG,MAAM,mBAAmBA,GAAG,oBAAoBvT,SAASxjB,KAAK+2B,EAAE,CAAC,SAAS83D,GAAG93D,GAAG,MAAM,cAAcA,GAAG,gBAAgBA,GAAG,cAAcA,CAAC,CAAC,SAAS+3D,GAAG/3D,KAAKnT,GAAG,IAAIgrE,GAAG73D,GAAG,MAAM,IAAIo0B,UAAU,+CAA+C,GAAG,IAAIvnC,EAAE7qB,QAAQ,mBAAmB0B,QAAQ,mBAAmBk0F,GAAG,OAAO53D,EAAE,IAAI,MAAMr9B,KAAKkqB,EAAE,CAAC,MAAMA,EAAE+qE,GAAGj1F,GAAG,IAAI,MAAM2J,KAAKugB,EAAE8qE,GAAG1uF,KAAKtG,EAAE2J,KAAK0zB,EAAE1zB,GAAG3J,EAAE2J,GAAG,CAAC,OAAO0zB,CAAC,CAAC,SAASg4D,GAAGh4D,KAAKnT,GAAG,IAAIlqB,EAAE,EAAE,IAAI2J,EAAE,KAAK,iBAAiBA,EAAE0zB,GAAG,OAAO1zB,EAAE,mBAAmBA,KAAK0zB,EAAEnT,EAAElqB,MAAMq9B,IAAIA,EAAE,CAAC,GAAGr9B,EAAEkqB,EAAE7qB,OAAOW,IAAI,GAAGk1F,GAAGhrE,EAAElqB,IAAI,CAAC,IAAI,MAAM2J,KAAKtG,OAAOkR,KAAK2V,EAAElqB,IAAIm1F,GAAGxrF,KAAKurF,GAAG73D,EAAE1zB,KAAKurF,GAAGhrE,EAAElqB,GAAG2J,IAAI0rF,GAAGh4D,EAAE1zB,GAAGugB,EAAElqB,GAAG2J,IAAI0zB,EAAE1zB,GAAGugB,EAAElqB,GAAG2J,IAAIyrF,GAAG/3D,EAAEnT,EAAElqB,GAAG,CAAC,OAAOq9B,CAAC,CAAC,MAAMi4D,GAAGrB,GAAG,MAAMsB,GAAGr3F,YAAYm/B,GAAGj/B,KAAKk2F,gBAAgB,aAAal2F,KAAKo2F,UAAS,EAAGp2F,KAAKm2F,UAAS,EAAGl3D,GAAGg4D,GAAGj3F,KAAKi/B,EAAE,EAAE,IAAIm4D,GAAGC,GAAG,SAASC,GAAGr4D,EAAEnT,GAAGmT,EAAElL,MAAMsiE,SAASvqE,EAAEuqE,SAASp3D,EAAElL,MAAM0Y,KAAK3gB,EAAE2gB,KAAKxN,EAAElL,MAAMkqC,IAAInyC,EAAEmyC,IAAIh/B,EAAElL,MAAMioC,MAAMlwC,EAAEkwC,MAAM/8B,EAAElL,MAAMmoC,OAAOpwC,EAAEowC,MAAM,CAAC,SAASq7B,GAAGt4D,GAAG,MAAMnT,EAAEmT,EAAEorC,QAAQv+C,IAAIA,EAAEyb,UAAUzoB,OAAOmgB,EAAEtrB,QAAQuiF,kBAAkBj3D,EAAEtrB,QAAQyiF,UAAUn3D,EAAEtrB,QAAQwiF,YAAYl3D,EAAEtrB,QAAQyiF,UAAUiB,KAAKA,GAAG/2D,aAAaxU,EAAEsrE,IAAIC,GAAG92D,YAAY62D,KAAKtrE,EAAE0rE,cAAcF,GAAGxrE,EAAEA,EAAE0rE,eAAe,CAAC,MAAMC,GAAG,CAAC9jF,QAAQ,IAAIwjF,GAAG9sB,QAAQ,KAAKgrB,cAAa,EAAGK,UAAUwB,GAAGxB,UAAUH,OAAOt2D,EAAEnT,EAAElqB,GAAG,YAAO,IAASA,EAAE5B,KAAKq1F,aAAar1F,KAAKo1F,OAAOp1F,KAAKwvD,QAAQvwB,EAAEnT,GAAGlqB,EAAE5B,KAAKwvD,QAAQvwB,EAAEnT,GAAG9rB,KAAKo1F,MAAM,EAAE5lC,QAAQvwB,EAAEnT,GAAG,GAAG9rB,KAAKq1F,aAAa,OAAO3lF,QAAQC,UAAU,GAAGsvB,IAAIA,EAAEkB,SAASiJ,MAAMppC,KAAK2T,QAAQ,IAAIwjF,GAAGrrE,GAAGmT,IAAIkB,SAASiJ,OAAOppC,KAAK2T,QAAQyiF,UAAS,GAAIc,GAAGxB,YAAY11F,KAAK2T,QAAQwiF,UAAS,GAAIl3D,EAAEsI,UAAUnjC,IAAIpE,KAAK2T,QAAQuiF,iBAAiBl2F,KAAK2T,QAAQyiF,UAAUp2F,KAAK2T,QAAQwiF,SAAS,CAAC,MAAME,SAASvqE,EAAE2gB,KAAK7qC,EAAEq8D,IAAI1yD,EAAEywD,MAAM1iC,EAAE4iC,OAAOl7D,GAAGi+B,EAAElL,MAAMkL,EAAEu4D,aAAa,CAACnB,SAASvqE,EAAE2gB,KAAK7qC,EAAEq8D,IAAI1yD,EAAEywD,MAAM1iC,EAAE4iC,OAAOl7D,GAAGs2F,GAAGr4D,EAAE,CAACo3D,SAAS,QAAQ5pD,KAAK,IAAIwxB,IAAI,IAAIjC,MAAM,OAAOE,OAAO,QAAQ,CAAC,GAAGl8D,KAAK2T,QAAQyiF,WAAWiB,GAAGp4D,EAAErO,WAAWymE,KAAKD,GAAGj3D,SAAS7P,cAAc,oBAAoB+mE,GAAG/2D,aAAa82D,GAAGn4D,GAAGkB,SAASiJ,KAAK/H,YAAYpC,KAAKj/B,KAAK2T,QAAQwiF,SAAS,CAAC,MAAMrqE,EAAEmT,IAAI,WAAWA,EAAEt7B,MAAMw8B,SAAS4D,oBAAoB,QAAQjY,GAAG9rB,KAAKo1F,OAAM,EAAG,OAAOp1F,KAAKq1F,cAAa,EAAGr1F,KAAKqqE,QAAQprC,EAAEkB,SAAS4D,oBAAoB,QAAQjY,GAAGqU,SAAS2D,iBAAiB,QAAQhY,GAAG9rB,KAAK2T,QAAQhL,UAAU3I,KAAK2T,QAAQhL,SAAS3I,KAAKq1F,cAAc3lF,QAAQC,SAAS,CAAC,CAAC,MAAMmc,EAAE,KAAKorE,GAAG7B,eAAe6B,GAAGt2F,IAAI,SAASkrB,GAAGyrE,GAAGv3F,OAAOA,KAAKq1F,aAAa6B,GAAG7B,aAAar1F,KAAK2T,QAAQyiF,SAASp2F,KAAKqqE,QAAQprC,GAAG,KAAKj/B,KAAKqqE,QAAQ6sB,GAAG7sB,QAAQrqE,KAAK2T,QAAQhL,UAAU3I,KAAK2T,QAAQhL,SAASuuF,GAAG7B,aAAY,EAAG,OAAO6B,GAAGv2F,GAAG,SAASmrB,GAAGorE,GAAG1nC,QAAQxvD,KAAK2T,QAAQyiF,SAASj2D,SAASiJ,KAAKnK,EAAE,CAAC,EAAEm2D,OAAO,OAAOp1F,KAAKq1F,aAAar1F,KAAK2T,QAAQwiF,UAAUoB,GAAGv3F,MAAMA,KAAKq1F,cAAa,EAAGr1F,KAAKqqE,QAAQ,KAAKrqE,KAAK2T,QAAQhL,UAAU3I,KAAK2T,QAAQhL,SAAS3I,KAAKq1F,cAAc3lF,QAAQC,WAAWunF,GAAG9B,OAAO1lF,QAAQC,SAAS,GAAG+nF,GAAG,CAACz4D,EAAEnT,EAAElqB,KAAK,MAAMb,EAAE,KAAK,IAAIk+B,EAAE,MAAMr9B,EAAE,CAACw0F,SAAStqE,EAAE9J,UAAUo0E,SAASD,SAASrqE,EAAE9J,UAAUm0E,UAAU,GAAGrqE,EAAEplB,MAAM,GAAG,iBAAiBolB,EAAEplB,MAAMu4B,EAAEnT,EAAEplB,UAAU,CAAC,MAAM3F,EAAE+qB,EAAEplB,OAAOjD,OAAOgZ,GAAG1b,EAAEuY,EAAE,EAAE2lB,EAAEnT,KAAK,IAAIlqB,EAAE,CAAC,EAAE,IAAI,IAAIb,KAAKk+B,EAAE3F,EAAEpxB,KAAK+2B,EAAEl+B,IAAI+qB,EAAE/a,QAAQhQ,GAAG,IAAIa,EAAEb,GAAGk+B,EAAEl+B,IAAI,GAAG,MAAMk+B,GAAG1zB,EAAE,IAAI,IAAIxK,KAAKwK,EAAE0zB,GAAGnT,EAAE/a,QAAQhQ,GAAG,GAAGC,EAAEkH,KAAK+2B,EAAEl+B,KAAKa,EAAEb,GAAGk+B,EAAEl+B,IAAI,OAAOa,CAAE,EAA5J,CAA8Jb,EAAE,CAAC,WAAWk+B,EAAExiB,EAAEw6E,GAAGr1F,EAAE0X,EAAE,CAAC,iBAAiB2lB,IAAIA,EAAEkB,SAAS5F,cAAc0E,IAAIw4D,GAAGlC,OAAOt2D,EAAEr9B,EAAC,EAAGq9B,EAAE04D,oBAAoB14D,EAAE8E,oBAAoB,QAAQ9E,EAAE04D,oBAAoB14D,EAAE6E,iBAAiB,QAAQ/iC,GAAGk+B,EAAE04D,mBAAmB52F,GAAG,IAAI62F,GAAG,CAAC1pE,QAAQ+Q,GAAGjkB,KAAK8Q,EAAE,cAAc,CAAC,GAAGmT,EAAEpwB,OAAOiX,iBAAiB,IAAIgG,KAAK2rE,GAAGx4D,EAAEhoB,UAAU6U,EAAE+oE,GAAGkB,GAAG,CAAC/6E,KAAK8Q,KAAKmT,EAAE7Q,UAAUtC,EAAE4rE,GAAG,GAAG,U;;;;;;ACPjxP,MAAMG,EAA8B,qBAAXx0D,OA+BzB,MAAMy0D,EAA8B,oBAAXn1F,QAAuD,kBAAvBA,OAAOgtF,YAC1D,EAAc30E,GAAS88E,EAAYn1F,OAAOqY,GAAQA,EAClD+8E,EAAyB,CAAC5Y,EAAQx7E,EAAKiV,IAAWo/E,EAAsB,CAAEh3F,EAAGm+E,EAAQ5vD,EAAG5rB,EAAK2V,EAAGV,IAChGo/E,EAAyBC,GAASnoD,KAAKC,UAAUkoD,GAClDrkF,QAAQ,UAAW,WACnBA,QAAQ,UAAW,WACnBA,QAAQ,UAAW,WAClBolD,EAAYlsD,GAAuB,kBAARA,GAAoBorF,SAASprF,GACxDmiC,EAAUniC,GAA8B,kBAAtB+jC,EAAa/jC,GAC/BqrF,EAAYrrF,GAA8B,oBAAtB+jC,EAAa/jC,GACjCsrF,EAAiBtrF,GAAQujC,EAAcvjC,IAAoC,IAA5B7H,OAAOkR,KAAKrJ,GAAK7L,OACtE,SAAS,EAAKo3F,EAAKtqF,GACQ,qBAAZiB,UACPA,QAAQ8rD,KAAK,aAAeu9B,GAExBtqF,GACAiB,QAAQ8rD,KAAK/sD,EAAIwoD,OAG7B,CACA,MAAM,EAAStxD,OAAOqoB,OACtB,IAAI+kB,EACJ,MAAMC,EAAgB,IAEVD,IACHA,EACyB,qBAAfE,WACDA,WACgB,qBAAThlC,KACHA,KACkB,qBAAX81B,OACHA,OACkB,qBAAX,EAAAmP,EACH,EAAAA,EACA,CAAC,GAE/B,SAAS8lD,EAAWC,GAChB,OAAOA,EACF3kF,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,UACdA,QAAQ,KAAM,SACvB,CACA,MAAM,EAAiB3O,OAAO+6B,UAAUwP,eACxC,SAASoB,EAAOqB,EAAKtuC,GACjB,OAAO,EAAeuE,KAAK+pC,EAAKtuC,EACpC,CASA,MAAM,EAAU6I,MAAM6hC,QAChB,EAAcvhC,GAAuB,oBAARA,EAC7B,EAAYA,GAAuB,kBAARA,EAC3B,EAAaA,GAAuB,mBAARA,EAE5B,EAAYA,GACT,OAARA,GAA+B,kBAARA,EAIlB8iC,EAAiB3qC,OAAO+6B,UAAUtU,SAClCmlB,EAAgBnqC,GAAUkpC,EAAe1nC,KAAKxB,GAC9C2pC,EAAiBvjC,GAA8B,oBAAtB+jC,EAAa/jC,GAEtC6iC,EAAmB7iC,GACP,MAAPA,EACD,GACA,EAAQA,IAASujC,EAAcvjC,IAAQA,EAAI4e,WAAakkB,EACpDE,KAAKC,UAAUjjC,EAAK,KAAM,GAC1BoO,OAAOpO;;;;;;AC3GrB,MAAM0rF,EAAoB,CAEtBC,eAAgB,EAChBC,6BAA8B,EAC9BC,yCAA0C,EAC1CC,wBAAyB,EACzBC,gCAAiC,EACjCC,yBAA0B,EAC1BC,2BAA4B,EAC5BC,kBAAmB,EACnBC,2BAA4B,EAC5BC,sBAAuB,GAEvBC,6BAA8B,GAC9BC,iCAAkC,GAClCC,4BAA6B,GAC7BC,4BAA6B,GAI7BC,iBAAkB,IAKjBf,EAAkBC,eAClBD,EAAkBE,6BAClBF,EAAkBG,yCAClBH,EAAkBI,wBAClBJ,EAAkBK,gCAClBL,EAAkBM,yBAClBN,EAAkBO,2BAClBP,EAAkBQ,kBAClBR,EAAkBS,2BAClBT,EAAkBU,sBAElBV,EAAkBW,6BAClBX,EAAkBY,iCAClBZ,EAAkBa,4BAClBb,EAAkBc,4BAEvB,SAASE,EAAmB7jC,EAAM8jC,EAAK9lF,EAAU,CAAC,GAC9C,MAAM,OAAEklD,EAAM,SAAE6gC,EAAQ,KAAE/zF,GAASgO,EAC7B0kF,EAEA1iC,EACA1mD,EAAQ,IAAI0qF,YAAYz+E,OAAOm9E,IAMrC,OALAppF,EAAM0mD,KAAOA,EACT8jC,IACAxqF,EAAM+qD,SAAWy/B,GAErBxqF,EAAM4pD,OAASA,EACR5pD,CACX,CAEA,SAAS2qF,EAAe3qF,GACpB,MAAMA,CACV,CAMA,SAAS4qF,EAAex/B,EAAMy/B,EAAQj2B,GAClC,MAAO,CAAExJ,OAAMy/B,SAAQj2B,SAC3B,CACA,SAASk2B,EAAe5pF,EAAOC,EAAKwI,GAChC,MAAM6gF,EAAM,CAAEtpF,QAAOC,OAIrB,OAHc,MAAVwI,IACA6gF,EAAI7gF,OAASA,GAEV6gF,CACX,CAEA,MAAMO,EAAU,IACVC,EAAU,KACVC,EAAU,KACVC,EAAUj/E,OAAOk/E,aAAa,MAC9BC,EAAUn/E,OAAOk/E,aAAa,MACpC,SAASE,EAAc1sD,GACnB,MAAM2sD,EAAO3sD,EACb,IAAI01B,EAAS,EACTk3B,EAAQ,EACRC,EAAU,EACVC,EAAc,EAClB,MAAMC,EAAUt6F,GAAUk6F,EAAKl6F,KAAW45F,GAAWM,EAAKl6F,EAAQ,KAAO65F,EACnEU,EAAQv6F,GAAUk6F,EAAKl6F,KAAW65F,EAClCW,EAAQx6F,GAAUk6F,EAAKl6F,KAAWg6F,EAClCS,EAAQz6F,GAAUk6F,EAAKl6F,KAAW85F,EAClCY,EAAa16F,GAAUs6F,EAAOt6F,IAAUu6F,EAAKv6F,IAAUw6F,EAAKx6F,IAAUy6F,EAAKz6F,GAC3EA,EAAQ,IAAMijE,EACdjJ,EAAO,IAAMmgC,EACbV,EAAS,IAAMW,EACfO,EAAa,IAAMN,EACnB/oD,EAAUkyB,GAAW82B,EAAO92B,IAAWg3B,EAAKh3B,IAAWi3B,EAAKj3B,GAAUq2B,EAAUK,EAAK12B,GACrFo3B,EAAc,IAAMtpD,EAAO2xB,GAC3B43B,EAAc,IAAMvpD,EAAO2xB,EAASo3B,GAC1C,SAASrxF,IAWL,OAVAqxF,EAAc,EACVK,EAAUz3B,KACVk3B,IACAC,EAAU,GAEVE,EAAOr3B,IACPA,IAEJA,IACAm3B,IACOF,EAAKj3B,EAChB,CACA,SAAS63B,IAKL,OAJIR,EAAOr3B,EAASo3B,IAChBA,IAEJA,IACOH,EAAKj3B,EAASo3B,EACzB,CACA,SAAS92D,IACL0/B,EAAS,EACTk3B,EAAQ,EACRC,EAAU,EACVC,EAAc,CAClB,CACA,SAASU,EAAUv3B,EAAS,GACxB62B,EAAc72B,CAClB,CACA,SAASw3B,IACL,MAAM53F,EAAS6/D,EAASo3B,EAExB,MAAOj3F,IAAW6/D,EACdj6D,IAEJqxF,EAAc,CAClB,CACA,MAAO,CACHr6F,QACAg6D,OACAy/B,SACAkB,aACArpD,SACAspD,cACAC,cACA7xF,OACA8xF,OACAv3D,QACAw3D,YACAC,aAER,CAEA,MAAMC,OAAMv4F,EACNw4F,EAAoB,IACpBC,EAAiB,YACvB,SAASC,EAAgB7iF,EAAQjF,EAAU,CAAC,GACxC,MAAMqmD,GAAgC,IAArBrmD,EAAQqmD,SACnB0hC,EAAQpB,EAAc1hF,GACtB+iF,EAAgB,IAAMD,EAAMr7F,QAC5Bu7F,EAAkB,IAAM/B,EAAe6B,EAAMrhC,OAAQqhC,EAAM5B,SAAU4B,EAAMr7F,SAC3Ew7F,EAAWD,IACXE,EAAcH,IACd9tE,EAAW,CACbkuE,YAAa,GACbl4B,OAAQi4B,EACRE,SAAUH,EACVI,OAAQJ,EACRK,SAAU,GACVC,WAAYL,EACZM,aAAcP,EACdQ,WAAYR,EACZS,UAAW,EACXC,UAAU,EACVl/D,KAAM,IAEJ9P,EAAU,IAAMM,GAChB,QAAE2uE,GAAY7oF,EACpB,SAAS8oF,EAAU9mC,EAAM+mC,EAAK74B,KAAWl+D,GACrC,MAAM2O,EAAMiZ,IAGZ,GAFAmvE,EAAI5C,QAAUj2B,EACd64B,EAAI74B,QAAUA,EACV24B,EAAS,CACT,MAAM/C,EAAMM,EAAezlF,EAAI0nF,SAAUU,GACnC3uF,EAAMyrF,EAAmB7jC,EAAM8jC,EAAK,CACtC5gC,OAAQ2iC,EACR71F,SAEJ62F,EAAQzuF,EACZ,CACJ,CACA,SAAS4uF,EAASpvE,EAAS7pB,EAAMgD,GAC7B6mB,EAAQ0uE,OAASL,IACjBruE,EAAQwuE,YAAcr4F,EACtB,MAAM4xC,EAAQ,CAAE5xC,QAOhB,OANIs2D,IACA1kB,EAAMmkD,IAAMM,EAAexsE,EAAQyuE,SAAUzuE,EAAQ0uE,SAE5C,MAATv1F,IACA4uC,EAAM5uC,MAAQA,GAEX4uC,CACX,CACA,MAAMsnD,EAAervE,GAAYovE,EAASpvE,EAAS,IACnD,SAASsvE,EAAIC,EAAMC,GACf,OAAID,EAAK7B,gBAAkB8B,GACvBD,EAAKzzF,OACE0zF,IAGPN,EAAUjE,EAAkBC,eAAgBmD,IAAmB,EAAGmB,GAC3D,GAEf,CACA,SAASC,EAAWF,GAChB,IAAIG,EAAM,GACV,MAAOH,EAAK5B,gBAAkBlB,GAAW8C,EAAK5B,gBAAkBhB,EAC5D+C,GAAOH,EAAK5B,cACZ4B,EAAK3B,OAET,OAAO8B,CACX,CACA,SAASC,EAAWJ,GAChB,MAAMG,EAAMD,EAAWF,GAEvB,OADAA,EAAKzB,aACE4B,CACX,CACA,SAASE,EAAkBJ,GACvB,GAAIA,IAAOzB,EACP,OAAO,EAEX,MAAM8B,EAAKL,EAAG9kD,WAAW,GACzB,OAASmlD,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IACZ,KAAPA,CAER,CACA,SAASC,EAAcN,GACnB,GAAIA,IAAOzB,EACP,OAAO,EAEX,MAAM8B,EAAKL,EAAG9kD,WAAW,GACzB,OAAOmlD,GAAM,IAAMA,GAAM,EAC7B,CACA,SAASE,EAAuBR,EAAMvvE,GAClC,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,IAAhBwuE,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMvwF,EAAM4wF,EAAkBL,EAAK5B,eAEnC,OADA4B,EAAK1B,YACE7uF,CACX,CACA,SAASgxF,EAAsBT,EAAMvvE,GACjC,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,IAAhBwuE,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMC,EAA4B,MAAvBD,EAAK5B,cAAwB4B,EAAK3B,OAAS2B,EAAK5B,cACrD3uF,EAAM8wF,EAAcN,GAE1B,OADAD,EAAK1B,YACE7uF,CACX,CACA,SAASixF,EAAeV,EAAMvvE,GAC1B,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,IAAhBwuE,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMvwF,EAAMuwF,EAAK5B,gBAAkBK,EAEnC,OADAuB,EAAK1B,YACE7uF,CACX,CACA,SAASkxF,EAAiBX,EAAMvvE,GAC5B,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,IAAhBwuE,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMvwF,EAA6B,MAAvBuwF,EAAK5B,cAEjB,OADA4B,EAAK1B,YACE7uF,CACX,CACA,SAASmxF,EAAsBZ,EAAMvvE,GACjC,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,IAAhBwuE,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMvwF,EAAM4wF,EAAkBL,EAAK5B,eAEnC,OADA4B,EAAK1B,YACE7uF,CACX,CACA,SAASoxF,EAAuBb,EAAMvvE,GAClC,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAsB,IAAhBwuE,GACc,KAAhBA,EACA,OAAO,EAEXiB,EAAWF,GACX,MAAMvwF,EAA6B,MAAvBuwF,EAAK5B,cAEjB,OADA4B,EAAK1B,YACE7uF,CACX,CACA,SAASqxF,EAAmBd,EAAMvvE,GAC9B,MAAM,YAAEwuE,GAAgBxuE,EACxB,GAAoB,KAAhBwuE,EACA,OAAO,EAEX,MAAMt7F,EAAK,KACP,MAAMs8F,EAAKD,EAAK5B,cAChB,MAAW,MAAP6B,EACOI,EAAkBL,EAAK3B,UAElB,MAAP4B,GACE,MAAPA,GACO,MAAPA,GACO,MAAPA,GACO,MAAPA,GACAA,IAAO/C,IACN+C,KAGIA,IAAO7C,GACZ4C,EAAK3B,OACE16F,KAIA08F,EAAkBJ,GAC7B,EAEExwF,EAAM9L,IAEZ,OADAq8F,EAAK1B,YACE7uF,CACX,CACA,SAASsxF,EAAcf,GACnBE,EAAWF,GACX,MAAMvwF,EAA6B,MAAvBuwF,EAAK5B,cAEjB,OADA4B,EAAK1B,YACE7uF,CACX,CACA,SAASuxF,EAAkBhB,GACvB,MAAMiB,EAASf,EAAWF,GACpBvwF,EAA6B,MAAvBuwF,EAAK5B,eACG,MAAhB4B,EAAK3B,OAET,OADA2B,EAAK1B,YACE,CACH4C,SAAUzxF,EACV0xF,SAAUF,EAAO98F,OAAS,EAElC,CACA,SAASi9F,EAAYpB,EAAMl5D,GAAQ,GAC/B,MAAMnjC,EAAK,CAACw9F,GAAW,EAAOhqF,EAAO,GAAIkqF,GAAe,KACpD,MAAMpB,EAAKD,EAAK5B,cAChB,MAAW,MAAP6B,EACgB,MAAT9oF,GAAoCgqF,EAE/B,MAAPlB,GAAiCA,EAG1B,MAAPA,GACLD,EAAK3B,OACE16F,EAAGw9F,EAAU,KAAkB,IAE1B,MAAPlB,IACW,MAAT9oF,IAA6BkqF,MAE5BlqF,IAAS+lF,GAAW/lF,IAASimF,GAEhC6C,IAAO/C,GACZ8C,EAAK3B,OACE16F,GAAG,EAAMu5F,EAASmE,IAEpBpB,IAAO7C,IACZ4C,EAAK3B,OACE16F,GAAG,EAAMy5F,EAASiE,IAjBT,MAATlqF,GAAmCgqF,CAqB9C,EAEE1xF,EAAM9L,IAEZ,OADAmjC,GAASk5D,EAAK1B,YACP7uF,CACX,CACA,SAAS6xF,EAAStB,EAAMr8F,GACpB,MAAMs8F,EAAKD,EAAK7B,cAChB,OAAI8B,IAAOzB,EACAA,EAEP76F,EAAGs8F,IACHD,EAAKzzF,OACE0zF,GAEJ,IACX,CACA,SAASsB,EAAmBvB,GACxB,MAAMwB,EAAWvB,IACb,MAAMK,EAAKL,EAAG9kD,WAAW,GACzB,OAASmlD,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACZ,KAAPA,GACO,KAAPA,CACH,EAEL,OAAOgB,EAAStB,EAAMwB,EAC1B,CACA,SAASC,EAAUzB,GACf,MAAMwB,EAAWvB,IACb,MAAMK,EAAKL,EAAG9kD,WAAW,GACzB,OAAOmlD,GAAM,IAAMA,GAAM,EAAE,EAE/B,OAAOgB,EAAStB,EAAMwB,EAC1B,CACA,SAASE,EAAa1B,GAClB,MAAMwB,EAAWvB,IACb,MAAMK,EAAKL,EAAG9kD,WAAW,GACzB,OAASmlD,GAAM,IAAMA,GAAM,IACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,GAAK,EAEhC,OAAOgB,EAAStB,EAAMwB,EAC1B,CACA,SAASG,EAAU3B,GACf,IAAIC,EAAK,GACL76C,EAAM,GACV,MAAQ66C,EAAKwB,EAAUzB,GACnB56C,GAAO66C,EAEX,OAAO76C,CACX,CACA,SAASw8C,EAAW5B,GAChBI,EAAWJ,GACX,MAAMC,EAAKD,EAAK7B,cAKhB,MAJW,MAAP8B,GACAN,EAAUjE,EAAkBC,eAAgBmD,IAAmB,EAAGmB,GAEtED,EAAKzzF,OACE,GACX,CACA,SAASs1F,EAAS7B,GACd,IAAIG,EAAM,GACV,MAAO,EAAM,CACT,MAAMF,EAAKD,EAAK7B,cAChB,GAAW,MAAP8B,GACO,MAAPA,GACO,MAAPA,GACO,MAAPA,IACCA,EACD,MAEC,GAAW,MAAPA,EAAyB,CAC9B,IAAImB,EAAYpB,GAKZ,MAJAG,GAAOF,EACPD,EAAKzzF,MAKb,MACK,GAAI0zF,IAAO/C,GAAW+C,IAAO7C,EAC9B,GAAIgE,EAAYpB,GACZG,GAAOF,EACPD,EAAKzzF,WAEJ,IAAIw0F,EAAcf,GACnB,MAGAG,GAAOF,EACPD,EAAKzzF,MACT,MAGA4zF,GAAOF,EACPD,EAAKzzF,MAEb,CACA,OAAO4zF,CACX,CACA,SAAS2B,EAAoB9B,GACzBI,EAAWJ,GACX,IAAIC,EAAK,GACL/hF,EAAO,GACX,MAAQ+hF,EAAKsB,EAAmBvB,GAC5B9hF,GAAQ+hF,EAKZ,OAHID,EAAK7B,gBAAkBK,GACvBmB,EAAUjE,EAAkBO,2BAA4B6C,IAAmB,GAExE5gF,CACX,CACA,SAAS6jF,EAAmB/B,GACxBI,EAAWJ,GACX,IAAIp2F,EAAQ,GAWZ,MAV2B,MAAvBo2F,EAAK7B,eACL6B,EAAKzzF,OACL3C,GAAS,IAAI+3F,EAAU3B,MAGvBp2F,GAAS+3F,EAAU3B,GAEnBA,EAAK7B,gBAAkBK,GACvBmB,EAAUjE,EAAkBO,2BAA4B6C,IAAmB,GAExEl1F,CACX,CACA,SAASo4F,EAAYhC,GACjBI,EAAWJ,GACXD,EAAIC,EAAM,KACV,IAAIC,EAAK,GACLgC,EAAU,GACd,MAAMt+F,EAAMw5C,GAAMA,IAAMshD,GAAqBthD,IAAMigD,EACnD,MAAQ6C,EAAKqB,EAAStB,EAAMr8F,GAEpBs+F,GADO,OAAPhC,EACWiC,EAAmBlC,GAGnBC,EAGnB,MAAM38E,EAAU08E,EAAK7B,cACrB,OAAI76E,IAAY85E,GAAW95E,IAAYk7E,GACnCmB,EAAUjE,EAAkBG,yCAA0CiD,IAAmB,GAErFx7E,IAAY85E,IACZ4C,EAAKzzF,OACLwzF,EAAIC,EAAM,MAEPiC,IAEXlC,EAAIC,EAAM,KACHiC,EACX,CACA,SAASC,EAAmBlC,GACxB,MAAMC,EAAKD,EAAK7B,cAChB,OAAQ8B,GACJ,IAAK,KACL,IAAK,IAED,OADAD,EAAKzzF,OACE,KAAK0zF,IAChB,IAAK,IACD,OAAOkC,EAA0BnC,EAAMC,EAAI,GAC/C,IAAK,IACD,OAAOkC,EAA0BnC,EAAMC,EAAI,GAC/C,QAEI,OADAN,EAAUjE,EAAkBI,wBAAyBgD,IAAmB,EAAGmB,GACpE,GAEnB,CACA,SAASkC,EAA0BnC,EAAMoC,EAASz6C,GAC9Co4C,EAAIC,EAAMoC,GACV,IAAI94C,EAAW,GACf,IAAK,IAAIrlD,EAAI,EAAGA,EAAI0jD,EAAQ1jD,IAAK,CAC7B,MAAMg8F,EAAKyB,EAAa1B,GACxB,IAAKC,EAAI,CACLN,EAAUjE,EAAkBK,gCAAiC+C,IAAmB,EAAG,KAAKsD,IAAU94C,IAAW02C,EAAK7B,iBAClH,KACJ,CACA70C,GAAY22C,CAChB,CACA,MAAO,KAAKmC,IAAU94C,GAC1B,CACA,SAAS+4C,EAAsBrC,GAC3BI,EAAWJ,GACX,IAAIC,EAAK,GACLqC,EAAc,GAClB,MAAMd,EAAWvB,GAAc,MAAPA,GACb,MAAPA,GACAA,IAAO/C,GACP+C,IAAO7C,EACX,MAAQ6C,EAAKqB,EAAStB,EAAMwB,GACxBc,GAAerC,EAEnB,OAAOqC,CACX,CACA,SAASC,EAAmBvC,GACxB,IAAIC,EAAK,GACL/hF,EAAO,GACX,MAAQ+hF,EAAKsB,EAAmBvB,GAC5B9hF,GAAQ+hF,EAEZ,OAAO/hF,CACX,CACA,SAASskF,EAAgBxC,GACrB,MAAMr8F,EAAK,CAAC8+F,GAAS,EAAOtC,KACxB,MAAMF,EAAKD,EAAK7B,cAChB,MAAW,MAAP8B,GACO,MAAPA,GACO,MAAPA,GACO,MAAPA,GACCA,EAGIA,IAAO/C,EACLiD,EAEFF,IAAO7C,GACZ+C,GAAOF,EACPD,EAAKzzF,OACE5I,EAAG8+F,EAAQtC,KAGlBA,GAAOF,EACPD,EAAKzzF,OACE5I,GAAG,EAAMw8F,IAbTA,CAcX,EAEJ,OAAOx8F,GAAG,EAAO,GACrB,CACA,SAAS++F,GAAW1C,GAChBI,EAAWJ,GACX,MAAM2C,EAAS5C,EAAIC,EAAM,KAEzB,OADAI,EAAWJ,GACJ2C,CACX,CAEA,SAASC,GAAuB5C,EAAMvvE,GAClC,IAAI+nB,EAAQ,KACZ,MAAMynD,EAAKD,EAAK7B,cAChB,OAAQ8B,GACJ,IAAK,IAQD,OAPIxvE,EAAQ+uE,WAAa,GACrBG,EAAUjE,EAAkBS,2BAA4B2C,IAAmB,GAE/EkB,EAAKzzF,OACLisC,EAAQqnD,EAASpvE,EAAS,EAAmB,KAC7C2vE,EAAWJ,GACXvvE,EAAQ+uE,YACDhnD,EACX,IAAK,IAYD,OAXI/nB,EAAQ+uE,UAAY,GACI,IAAxB/uE,EAAQwuE,aACRU,EAAUjE,EAAkBQ,kBAAmB4C,IAAmB,GAEtEkB,EAAKzzF,OACLisC,EAAQqnD,EAASpvE,EAAS,EAAoB,KAC9CA,EAAQ+uE,YACR/uE,EAAQ+uE,UAAY,GAAKY,EAAWJ,GAChCvvE,EAAQgvE,UAAkC,IAAtBhvE,EAAQ+uE,YAC5B/uE,EAAQgvE,UAAW,GAEhBjnD,EACX,IAAK,IAMD,OALI/nB,EAAQ+uE,UAAY,GACpBG,EAAUjE,EAAkBO,2BAA4B6C,IAAmB,GAE/EtmD,EAAQqqD,GAAkB7C,EAAMvvE,IAAYqvE,EAAYrvE,GACxDA,EAAQ+uE,UAAY,EACbhnD,EACX,QACI,IAAIsqD,GAAuB,EACvBC,GAAsB,EACtBC,GAAe,EACnB,GAAIjC,EAAcf,GAQd,OAPIvvE,EAAQ+uE,UAAY,GACpBG,EAAUjE,EAAkBO,2BAA4B6C,IAAmB,GAE/EtmD,EAAQqnD,EAASpvE,EAAS,EAAciyE,GAAW1C,IAEnDvvE,EAAQ+uE,UAAY,EACpB/uE,EAAQgvE,UAAW,EACZjnD,EAEX,GAAI/nB,EAAQ+uE,UAAY,IACK,IAAxB/uE,EAAQwuE,aACmB,IAAxBxuE,EAAQwuE,aACgB,IAAxBxuE,EAAQwuE,aAGZ,OAFAU,EAAUjE,EAAkBO,2BAA4B6C,IAAmB,GAC3EruE,EAAQ+uE,UAAY,EACbyD,GAAUjD,EAAMvvE,GAE3B,GAAKqyE,EAAuBtC,EAAuBR,EAAMvvE,GAGrD,OAFA+nB,EAAQqnD,EAASpvE,EAAS,EAAeqxE,EAAoB9B,IAC7DI,EAAWJ,GACJxnD,EAEX,GAAKuqD,EAAsBtC,EAAsBT,EAAMvvE,GAGnD,OAFA+nB,EAAQqnD,EAASpvE,EAAS,EAAcsxE,EAAmB/B,IAC3DI,EAAWJ,GACJxnD,EAEX,GAAKwqD,EAAetC,EAAeV,EAAMvvE,GAGrC,OAFA+nB,EAAQqnD,EAASpvE,EAAS,EAAiBuxE,EAAYhC,IACvDI,EAAWJ,GACJxnD,EAEX,IAAKsqD,IAAyBC,IAAwBC,EAKlD,OAHAxqD,EAAQqnD,EAASpvE,EAAS,GAAuB4xE,EAAsBrC,IACvEL,EAAUjE,EAAkBE,6BAA8BkD,IAAmB,EAAGtmD,EAAM5uC,OACtFw2F,EAAWJ,GACJxnD,EAEX,MAER,OAAOA,CACX,CAEA,SAASqqD,GAAkB7C,EAAMvvE,GAC7B,MAAM,YAAEwuE,GAAgBxuE,EACxB,IAAI+nB,EAAQ,KACZ,MAAMynD,EAAKD,EAAK7B,cAQhB,OAPqB,IAAhBc,GACe,IAAhBA,GACgB,KAAhBA,GACgB,KAAhBA,GACCgB,IAAO7C,GAAW6C,IAAO/C,GAC1ByC,EAAUjE,EAAkBU,sBAAuB0C,IAAmB,GAElEmB,GACJ,IAAK,IAID,OAHAD,EAAKzzF,OACLisC,EAAQqnD,EAASpvE,EAAS,EAAqB,KAC/CA,EAAQgvE,UAAW,EACZjnD,EACX,IAAK,IAGD,OAFA4nD,EAAWJ,GACXA,EAAKzzF,OACEszF,EAASpvE,EAAS,EAAmB,KAChD,IAAK,IAGD,OAFA2vE,EAAWJ,GACXA,EAAKzzF,OACEszF,EAASpvE,EAAS,GAA0B,KACvD,QACI,OAAIswE,EAAcf,IACdxnD,EAAQqnD,EAASpvE,EAAS,EAAciyE,GAAW1C,IAEnDvvE,EAAQ+uE,UAAY,EACpB/uE,EAAQgvE,UAAW,EACZjnD,GAEPmoD,EAAiBX,EAAMvvE,IACvBowE,EAAuBb,EAAMvvE,IAC7B2vE,EAAWJ,GACJ6C,GAAkB7C,EAAMvvE,IAE/BmwE,EAAsBZ,EAAMvvE,IAC5B2vE,EAAWJ,GACJH,EAASpvE,EAAS,GAAyB8xE,EAAmBvC,KAErEc,EAAmBd,EAAMvvE,IACzB2vE,EAAWJ,GACA,MAAPC,EAEO2C,GAAuB5C,EAAMvvE,IAAY+nB,EAGzCqnD,EAASpvE,EAAS,GAAoB+xE,EAAgBxC,MAGjD,IAAhBf,GACAU,EAAUjE,EAAkBU,sBAAuB0C,IAAmB,GAE1EruE,EAAQ+uE,UAAY,EACpB/uE,EAAQgvE,UAAW,EACZwD,GAAUjD,EAAMvvE,IAEnC,CAEA,SAASwyE,GAAUjD,EAAMvvE,GACrB,IAAI+nB,EAAQ,CAAE5xC,KAAM,IACpB,GAAI6pB,EAAQ+uE,UAAY,EACpB,OAAOoD,GAAuB5C,EAAMvvE,IAAYqvE,EAAYrvE,GAEhE,GAAIA,EAAQgvE,SACR,OAAOoD,GAAkB7C,EAAMvvE,IAAYqvE,EAAYrvE,GAE3D,MAAMwvE,EAAKD,EAAK7B,cAChB,OAAQ8B,GACJ,IAAK,IACD,OAAO2C,GAAuB5C,EAAMvvE,IAAYqvE,EAAYrvE,GAChE,IAAK,IAGD,OAFAkvE,EAAUjE,EAAkBM,yBAA0B8C,IAAmB,GACzEkB,EAAKzzF,OACEszF,EAASpvE,EAAS,EAAoB,KACjD,IAAK,IACD,OAAOoyE,GAAkB7C,EAAMvvE,IAAYqvE,EAAYrvE,GAC3D,QACI,GAAIswE,EAAcf,GAKd,OAJAxnD,EAAQqnD,EAASpvE,EAAS,EAAciyE,GAAW1C,IAEnDvvE,EAAQ+uE,UAAY,EACpB/uE,EAAQgvE,UAAW,EACZjnD,EAEX,MAAM,SAAE0oD,EAAQ,SAAEC,GAAaH,EAAkBhB,GACjD,GAAIkB,EACA,OAAOC,EACDtB,EAASpvE,EAAS,EAAcoxE,EAAS7B,IACzCH,EAASpvE,EAAS,EAAgBmxE,EAAW5B,IAEvD,GAAIoB,EAAYpB,GACZ,OAAOH,EAASpvE,EAAS,EAAcoxE,EAAS7B,IAEpD,MAER,OAAOxnD,CACX,CACA,SAAS0qD,KACL,MAAM,YAAEjE,EAAW,OAAEl4B,EAAM,SAAEm4B,EAAQ,OAAEC,GAAWpuE,EAOlD,OANAA,EAASquE,SAAWH,EACpBluE,EAASsuE,WAAat4B,EACtBh2C,EAASuuE,aAAeJ,EACxBnuE,EAASwuE,WAAaJ,EACtBpuE,EAASg2C,OAAS83B,IAClB9tE,EAASmuE,SAAWJ,IAChBF,EAAMT,gBAAkBK,EACjBqB,EAAS9uE,EAAU,IAEvBkyE,GAAUrE,EAAO7tE,EAC5B,CACA,MAAO,CACHmyE,aACArE,gBACAC,kBACAruE,UAER,CAEA,MAAM0yE,EAAe,SAEfC,EAAgB,wDACtB,SAASC,EAAmB10E,EAAO20E,EAAYC,GAC3C,OAAQ50E,GACJ,IAAK,OACD,MAAO,KACX,IAAK,MACD,MAAO,IACX,QAAS,CACL,MAAM60E,EAAYrvD,SAASmvD,GAAcC,EAAY,IACrD,OAAIC,GAAa,OAAUA,GAAa,MAC7BplF,OAAOqlF,cAAcD,GAIzB,GACX,EAER,CACA,SAASE,EAAa7sF,EAAU,CAAC,GAC7B,MAAMqmD,GAAgC,IAArBrmD,EAAQqmD,UACnB,QAAEwiC,GAAY7oF,EACpB,SAAS8oF,EAAUgE,EAAU9qC,EAAMxlD,EAAO0zD,KAAWl+D,GACjD,MAAMyK,EAAMqwF,EAAS7E,kBAGrB,GAFAxrF,EAAIyzD,QAAUA,EACdzzD,EAAI0pF,QAAUj2B,EACV24B,EAAS,CACT,MAAM/C,EAAMM,EAAe5pF,EAAOC,GAC5BrC,EAAMyrF,EAAmB7jC,EAAM8jC,EAAK,CACtC5gC,OAAQonC,EACRt6F,SAEJ62F,EAAQzuF,EACZ,CACJ,CACA,SAAS2yF,EAAUh9F,EAAMmgE,EAAQ41B,GAC7B,MAAMx+D,EAAO,CACTv3B,OACAyM,MAAO0zD,EACPzzD,IAAKyzD,GAKT,OAHI7J,IACA/+B,EAAKw+D,IAAM,CAAEtpF,MAAOspF,EAAKrpF,IAAKqpF,IAE3Bx+D,CACX,CACA,SAAS0lE,EAAQ1lE,EAAM4oC,EAAQ64B,EAAKh5F,GAChCu3B,EAAK7qB,IAAMyzD,EACPngE,IACAu3B,EAAKv3B,KAAOA,GAEZs2D,GAAY/+B,EAAKw+D,MACjBx+D,EAAKw+D,IAAIrpF,IAAMssF,EAEvB,CACA,SAASkE,EAAUC,EAAWn6F,GAC1B,MAAM6mB,EAAUszE,EAAUtzE,UACpB0N,EAAOylE,EAAU,EAAcnzE,EAAQs2C,OAAQt2C,EAAQyuE,UAG7D,OAFA/gE,EAAKv0B,MAAQA,EACbi6F,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAAS6lE,EAAUD,EAAWxgG,GAC1B,MAAMktB,EAAUszE,EAAUtzE,WAClB4uE,WAAYt4B,EAAQu4B,aAAc3C,GAAQlsE,EAC5C0N,EAAOylE,EAAU,EAAc78B,EAAQ41B,GAI7C,OAHAx+D,EAAK56B,MAAQ4wC,SAAS5wC,EAAO,IAC7BwgG,EAAUb,YACVW,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAAS8lE,EAAWF,EAAWl9F,GAC3B,MAAM4pB,EAAUszE,EAAUtzE,WAClB4uE,WAAYt4B,EAAQu4B,aAAc3C,GAAQlsE,EAC5C0N,EAAOylE,EAAU,EAAe78B,EAAQ41B,GAI9C,OAHAx+D,EAAKt3B,IAAMA,EACXk9F,EAAUb,YACVW,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAAS+lE,EAAaH,EAAWn6F,GAC7B,MAAM6mB,EAAUszE,EAAUtzE,WAClB4uE,WAAYt4B,EAAQu4B,aAAc3C,GAAQlsE,EAC5C0N,EAAOylE,EAAU,EAAiB78B,EAAQ41B,GAIhD,OAHAx+D,EAAKv0B,MAAQA,EAAMkN,QAAQssF,EAAeC,GAC1CU,EAAUb,YACVW,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAASgmE,EAAoBJ,GACzB,MAAMvrD,EAAQurD,EAAUb,YAClBzyE,EAAUszE,EAAUtzE,WAClB4uE,WAAYt4B,EAAQu4B,aAAc3C,GAAQlsE,EAC5C0N,EAAOylE,EAAU,EAAwB78B,EAAQ41B,GACvD,OAAmB,KAAfnkD,EAAM5xC,MAEN+4F,EAAUoE,EAAWrI,EAAkBY,iCAAkC7rE,EAAQ6uE,aAAc,GAC/FnhE,EAAKv0B,MAAQ,GACbi6F,EAAQ1lE,EAAM4oC,EAAQ41B,GACf,CACHyH,iBAAkB5rD,EAClBra,UAIW,MAAfqa,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHra,EAAKv0B,MAAQ4uC,EAAM5uC,OAAS,GAC5Bi6F,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C,CACH3gE,QAER,CACA,SAASmmE,EAAeP,EAAWn6F,GAC/B,MAAM6mB,EAAUszE,EAAUtzE,UACpB0N,EAAOylE,EAAU,EAAmBnzE,EAAQs2C,OAAQt2C,EAAQyuE,UAGlE,OAFA/gE,EAAKv0B,MAAQA,EACbi6F,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAASomE,EAAYR,GACjB,MAAMtzE,EAAUszE,EAAUtzE,UACpB+zE,EAAaZ,EAAU,EAAgBnzE,EAAQs2C,OAAQt2C,EAAQyuE,UACrE,IAAI1mD,EAAQurD,EAAUb,YACtB,GAAmB,IAAf1qD,EAAM5xC,KAA4B,CAClC,MAAMw2D,EAAS+mC,EAAoBJ,GACnCS,EAAWC,SAAWrnC,EAAOj/B,KAC7Bqa,EAAQ4kB,EAAOgnC,kBAAoBL,EAAUb,WACjD,CAUA,OARmB,KAAf1qD,EAAM5xC,MACN+4F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHA,EAAQurD,EAAUb,YAEC,IAAf1qD,EAAM5xC,OACN4xC,EAAQurD,EAAUb,aAEd1qD,EAAM5xC,MACV,KAAK,GACkB,MAAf4xC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHgsD,EAAW39F,IAAMy9F,EAAeP,EAAWvrD,EAAM5uC,OAAS,IAC1D,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHgsD,EAAW39F,IAAMo9F,EAAWF,EAAWvrD,EAAM5uC,OAAS,IACtD,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHgsD,EAAW39F,IAAMm9F,EAAUD,EAAWvrD,EAAM5uC,OAAS,IACrD,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHgsD,EAAW39F,IAAMq9F,EAAaH,EAAWvrD,EAAM5uC,OAAS,IACxD,MACJ,QAEI+1F,EAAUoE,EAAWrI,EAAkBa,4BAA6B9rE,EAAQ6uE,aAAc,GAC1F,MAAMoF,EAAcX,EAAUtzE,UACxBk0E,EAAqBf,EAAU,EAAmBc,EAAY39B,OAAQ29B,EAAYxF,UAKxF,OAJAyF,EAAmB/6F,MAAQ,GAC3Bi6F,EAAQc,EAAoBD,EAAY39B,OAAQ29B,EAAYxF,UAC5DsF,EAAW39F,IAAM89F,EACjBd,EAAQW,EAAYE,EAAY39B,OAAQ29B,EAAYxF,UAC7C,CACHkF,iBAAkB5rD,EAClBra,KAAMqmE,GAIlB,OADAX,EAAQW,EAAYT,EAAUlF,gBAAiBkF,EAAUjF,mBAClD,CACH3gE,KAAMqmE,EAEd,CACA,SAASI,EAAab,GAClB,MAAMtzE,EAAUszE,EAAUtzE,UACpBo0E,EAAsC,IAAxBp0E,EAAQwuE,YACtB8E,EAAUlF,gBACVpuE,EAAQs2C,OACRm4B,EAAmC,IAAxBzuE,EAAQwuE,YACnBxuE,EAAQ0uE,OACR1uE,EAAQyuE,SACR/gE,EAAOylE,EAAU,EAAiBiB,EAAa3F,GACrD/gE,EAAK6gC,MAAQ,GACb,IAAIkkC,EAAY,KAChB,EAAG,CACC,MAAM1qD,EAAQ0qD,GAAaa,EAAUb,YAErC,OADAA,EAAY,KACJ1qD,EAAM5xC,MACV,KAAK,EACkB,MAAf4xC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHra,EAAK6gC,MAAMv7D,KAAKqgG,EAAUC,EAAWvrD,EAAM5uC,OAAS,KACpD,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHra,EAAK6gC,MAAMv7D,KAAKugG,EAAUD,EAAWvrD,EAAM5uC,OAAS,KACpD,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHra,EAAK6gC,MAAMv7D,KAAKwgG,EAAWF,EAAWvrD,EAAM5uC,OAAS,KACrD,MACJ,KAAK,EACkB,MAAf4uC,EAAM5uC,OACN+1F,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAG+E,EAAgB7rD,IAEjHra,EAAK6gC,MAAMv7D,KAAKygG,EAAaH,EAAWvrD,EAAM5uC,OAAS,KACvD,MACJ,KAAK,EACD,MAAMwzD,EAASmnC,EAAYR,GAC3B5lE,EAAK6gC,MAAMv7D,KAAK25D,EAAOj/B,MACvB+kE,EAAY9lC,EAAOgnC,kBAAoB,KACvC,MAEZ,OAAiC,KAAxB3zE,EAAQwuE,aACW,IAAxBxuE,EAAQwuE,aAEZ,MAAM6F,EAAoC,IAAxBr0E,EAAQwuE,YACpBxuE,EAAQ4uE,WACR0E,EAAUlF,gBACVM,EAAiC,IAAxB1uE,EAAQwuE,YACjBxuE,EAAQ8uE,WACRwE,EAAUjF,kBAEhB,OADA+E,EAAQ1lE,EAAM2mE,EAAW3F,GAClBhhE,CACX,CACA,SAAS4mE,EAAYhB,EAAWh9B,EAAQ41B,EAAKqI,GACzC,MAAMv0E,EAAUszE,EAAUtzE,UAC1B,IAAIw0E,EAA2C,IAAzBD,EAAQhmC,MAAM76D,OACpC,MAAMg6B,EAAOylE,EAAU,EAAgB78B,EAAQ41B,GAC/Cx+D,EAAK+mE,MAAQ,GACb/mE,EAAK+mE,MAAMzhG,KAAKuhG,GAChB,EAAG,CACC,MAAMzJ,EAAMqJ,EAAab,GACpBkB,IACDA,EAAuC,IAArB1J,EAAIv8B,MAAM76D,QAEhCg6B,EAAK+mE,MAAMzhG,KAAK83F,EACpB,OAAiC,KAAxB9qE,EAAQwuE,aAKjB,OAJIgG,GACAtF,EAAUoE,EAAWrI,EAAkBW,6BAA8BM,EAAK,GAE9EkH,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,SAASgnE,EAAcpB,GACnB,MAAMtzE,EAAUszE,EAAUtzE,WACpB,OAAEs2C,EAAM,SAAEm4B,GAAazuE,EACvBu0E,EAAUJ,EAAab,GAC7B,OAA4B,KAAxBtzE,EAAQwuE,YACD+F,EAGAD,EAAYhB,EAAWh9B,EAAQm4B,EAAU8F,EAExD,CACA,SAASrqC,EAAM7+C,GACX,MAAMioF,EAAYpF,EAAgB7iF,EAAQ,EAAO,CAAC,EAAGjF,IAC/C4Z,EAAUszE,EAAUtzE,UACpB0N,EAAOylE,EAAU,EAAkBnzE,EAAQs2C,OAAQt2C,EAAQyuE,UAUjE,OATIhiC,GAAY/+B,EAAKw+D,MACjBx+D,EAAKw+D,IAAI7gF,OAASA,GAEtBqiB,EAAKmO,KAAO64D,EAAcpB,GAEE,KAAxBtzE,EAAQwuE,aACRU,EAAUoE,EAAWrI,EAAkBc,4BAA6B/rE,EAAQ6uE,aAAc,EAAGxjF,EAAO2U,EAAQs2C,SAAW,IAE3H88B,EAAQ1lE,EAAM4lE,EAAUlF,gBAAiBkF,EAAUjF,mBAC5C3gE,CACX,CACA,MAAO,CAAEw8B,QACb,CACA,SAAS0pC,EAAgB7rD,GACrB,GAAmB,KAAfA,EAAM5xC,KACN,MAAO,MAEX,MAAMsX,GAAQs6B,EAAM5uC,OAAS,IAAIkN,QAAQ,UAAW,OACpD,OAAOoH,EAAK/Z,OAAS,GAAK+Z,EAAK3I,MAAM,EAAG,GAAK,IAAM2I,CACvD,CAEA,SAASknF,EAAkBC,EAAKxuF,EAAU,CAAC,GAEvC,MAAMka,EAAW,CACbs0E,MACAC,QAAS,IAAI1gG,KAEX6rB,EAAU,IAAMM,EAChBm8B,EAAUhvC,IACZ6S,EAASu0E,QAAQh+F,IAAI4W,GACdA,GAEX,MAAO,CAAEuS,UAASy8B,SACtB,CACA,SAASq4C,EAAcC,EAAOC,GAC1B,IAAK,IAAIxhG,EAAI,EAAGA,EAAIuhG,EAAMrhG,OAAQF,IAC9ByhG,EAAaF,EAAMvhG,GAAIwhG,EAE/B,CACA,SAASC,EAAavnE,EAAMsnE,GAExB,OAAQtnE,EAAKv3B,MACT,KAAK,EACD2+F,EAAcpnE,EAAK+mE,MAAOO,GAC1BA,EAAYv4C,OAAO,UACnB,MACJ,KAAK,EACDq4C,EAAcpnE,EAAK6gC,MAAOymC,GAC1B,MACJ,KAAK,EACD,MAAME,EAASxnE,EACfunE,EAAaC,EAAO9+F,IAAK4+F,GACzBA,EAAYv4C,OAAO,UACnBu4C,EAAYv4C,OAAO,QACnB,MACJ,KAAK,EACDu4C,EAAYv4C,OAAO,eACnBu4C,EAAYv4C,OAAO,QACnB,MACJ,KAAK,EACDu4C,EAAYv4C,OAAO,eACnBu4C,EAAYv4C,OAAO,SACnB,MAGZ,CAEA,SAAS04C,EAAUP,EAAKxuF,EAAU,CAAC,GAE/B,MAAM4uF,EAAcL,EAAkBC,GACtCI,EAAYv4C,OAAO,aAEnBm4C,EAAI/4D,MAAQo5D,EAAaL,EAAI/4D,KAAMm5D,GAEnC,MAAMh1E,EAAUg1E,EAAYh1E,UAC5B40E,EAAIC,QAAU51F,MAAM2W,KAAKoK,EAAQ60E,QACrC,CAEA,SAASO,EAAoBR,EAAKxuF,GAC9B,MAAM,UAAEivF,EAAS,SAAEC,EAAQ,cAAEC,EAAeC,WAAYC,GAAgBrvF,EAClEka,EAAW,CACbjV,OAAQupF,EAAI1I,IAAI7gF,OAChBiqF,WACAltC,KAAM,GACNmkC,OAAQ,EACRz/B,KAAM,EACNwJ,OAAQ,EACRz+D,SAAKrC,EACL+/F,gBACAC,WAAYC,EACZC,YAAa,GAEX11E,EAAU,IAAMM,EACtB,SAASttB,EAAKo1D,EAAM16B,GAChBpN,EAAS8nC,MAAQA,CACrB,CACA,SAASutC,EAASthG,EAAGuhG,GAAgB,GACjC,MAAMC,EAAiBD,EAAgBL,EAAgB,GACvDviG,EAAKyiG,EAAcI,EAAiB,KAAKj9C,OAAOvkD,GAAKwhG,EACzD,CACA,SAASC,EAAOC,GAAc,GAC1B,MAAMC,IAAU11E,EAASo1E,YACzBK,GAAeJ,EAASK,EAC5B,CACA,SAASC,EAASF,GAAc,GAC5B,MAAMC,IAAU11E,EAASo1E,YACzBK,GAAeJ,EAASK,EAC5B,CACA,SAASE,IACLP,EAASr1E,EAASo1E,YACtB,CACA,MAAMj5C,EAAUrmD,GAAQ,IAAIA,IACtBo/F,EAAa,IAAMl1E,EAASk1E,WAClC,MAAO,CACHx1E,UACAhtB,OACA8iG,SACAG,WACAC,UACAz5C,SACA+4C,aAER,CACA,SAASW,EAAmBC,EAAW1oE,GACnC,MAAM,OAAE+uB,GAAW25C,EACnBA,EAAUpjG,KAAK,GAAGypD,EAAO,cACzB45C,GAAaD,EAAW1oE,EAAKt3B,KACzBs3B,EAAKsmE,UACLoC,EAAUpjG,KAAK,MACfqjG,GAAaD,EAAW1oE,EAAKsmE,UAC7BoC,EAAUpjG,KAAK,YAGfojG,EAAUpjG,KAAK,sBAEnBojG,EAAUpjG,KAAK,IACnB,CACA,SAASsjG,GAAoBF,EAAW1oE,GACpC,MAAM,OAAE+uB,EAAM,WAAE+4C,GAAeY,EAC/BA,EAAUpjG,KAAK,GAAGypD,EAAO,kBACzB25C,EAAUN,OAAON,KACjB,MAAM9hG,EAASg6B,EAAK6gC,MAAM76D,OAC1B,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,IAAK,CAE7B,GADA6iG,GAAaD,EAAW1oE,EAAK6gC,MAAM/6D,IAC/BA,IAAME,EAAS,EACf,MAEJ0iG,EAAUpjG,KAAK,KACnB,CACAojG,EAAUH,SAAST,KACnBY,EAAUpjG,KAAK,KACnB,CACA,SAASujG,GAAmBH,EAAW1oE,GACnC,MAAM,OAAE+uB,EAAM,WAAE+4C,GAAeY,EAC/B,GAAI1oE,EAAK+mE,MAAM/gG,OAAS,EAAG,CACvB0iG,EAAUpjG,KAAK,GAAGypD,EAAO,eACzB25C,EAAUN,OAAON,KACjB,MAAM9hG,EAASg6B,EAAK+mE,MAAM/gG,OAC1B,IAAK,IAAIF,EAAI,EAAGA,EAAIE,EAAQF,IAAK,CAE7B,GADA6iG,GAAaD,EAAW1oE,EAAK+mE,MAAMjhG,IAC/BA,IAAME,EAAS,EACf,MAEJ0iG,EAAUpjG,KAAK,KACnB,CACAojG,EAAUH,SAAST,KACnBY,EAAUpjG,KAAK,KACnB,CACJ,CACA,SAASwjG,GAAiBJ,EAAW1oE,GAC7BA,EAAKmO,KACLw6D,GAAaD,EAAW1oE,EAAKmO,MAG7Bu6D,EAAUpjG,KAAK,OAEvB,CACA,SAASqjG,GAAaD,EAAW1oE,GAC7B,MAAM,OAAE+uB,GAAW25C,EACnB,OAAQ1oE,EAAKv3B,MACT,KAAK,EACDqgG,GAAiBJ,EAAW1oE,GAC5B,MACJ,KAAK,EACD6oE,GAAmBH,EAAW1oE,GAC9B,MACJ,KAAK,EACD4oE,GAAoBF,EAAW1oE,GAC/B,MACJ,KAAK,EACDyoE,EAAmBC,EAAW1oE,GAC9B,MACJ,KAAK,EACD0oE,EAAUpjG,KAAKuvC,KAAKC,UAAU9U,EAAKv0B,OAAQu0B,GAC3C,MACJ,KAAK,EACD0oE,EAAUpjG,KAAKuvC,KAAKC,UAAU9U,EAAKv0B,OAAQu0B,GAC3C,MACJ,KAAK,EACD0oE,EAAUpjG,KAAK,GAAGypD,EAAO,kBAAoCA,EAAO,WAAsB/uB,EAAK56B,UAAW46B,GAC1G,MACJ,KAAK,EACD0oE,EAAUpjG,KAAK,GAAGypD,EAAO,kBAAoCA,EAAO,YAAwBla,KAAKC,UAAU9U,EAAKt3B,SAAUs3B,GAC1H,MACJ,KAAK,EACD0oE,EAAUpjG,KAAKuvC,KAAKC,UAAU9U,EAAKv0B,OAAQu0B,GAC3C,MACJ,KAAK,EACD0oE,EAAUpjG,KAAKuvC,KAAKC,UAAU9U,EAAKv0B,OAAQu0B,GAC3C,MACJ,QACQ,EAIhB,CAEA,MAAM+oE,GAAW,CAAC7B,EAAKxuF,EAAU,CAAC,KAE9B,MAAMsH,EAAO,EAAStH,EAAQsH,MAAQtH,EAAQsH,KAAO,SAC/C4nF,EAAW,EAASlvF,EAAQkvF,UAC5BlvF,EAAQkvF,SACR,eACAD,IAAcjvF,EAAQivF,UAEtBE,EAAyC,MAAzBnvF,EAAQmvF,cACxBnvF,EAAQmvF,cACC,UAAT7nF,EACI,IACA,KACJ8nF,EAAapvF,EAAQovF,WAAapvF,EAAQovF,WAAsB,UAAT9nF,EACvDmnF,EAAUD,EAAIC,SAAW,GACzBuB,EAAYhB,EAAoBR,EAAK,CACvClnF,OACA4nF,WACAD,YACAE,gBACAC,eAEJY,EAAUpjG,KAAc,WAAT0a,EAAoB,2BAA6B,cAChE0oF,EAAUN,OAAON,GACbX,EAAQnhG,OAAS,IACjB0iG,EAAUpjG,KAAK,WAAW6hG,EAAQh9F,KAAIkU,GAAK,GAAGA,OAAOA,MAAKmoB,KAAK,iBAC/DkiE,EAAUF,WAEdE,EAAUpjG,KAAK,WACfqjG,GAAaD,EAAWxB,GACxBwB,EAAUH,SAAST,GACnBY,EAAUpjG,KAAK,KACf,MAAM,KAAEo1D,EAAI,IAAEvwD,GAAQu+F,EAAUp2E,UAChC,MAAO,CACH40E,MACAxsC,OACAvwD,IAAKA,EAAMA,EAAI8wD,cAAWnzD,EAC7B,EAGL,SAASkhG,GAAYrrF,EAAQjF,EAAU,CAAC,GACpC,MAAMuwF,EAAkB,EAAO,CAAC,EAAGvwF,GAE7B4jD,EAASipC,EAAa0D,GACtB/B,EAAM5qC,EAAOE,MAAM7+C,GAIzB,OAFA8pF,EAAUP,EAAK+B,GAERF,GAAS7B,EAAK+B,EACzB;;;;;;ACp1CA,MAAMC,GAAwB,CAC1BC,SAAU,YACVC,kBAAmB,sBCGjBC,GAAoB,GAC1BA,GAAiB,GAAuB,CACpC,CAAC,KAAsB,CAAC,GACxB,CAAC,KAAkB,CAAC,EAAkB,GACtC,CAAC,KAAyB,CAAC,GAC3B,CAAC,KAAwB,CAAC,IAE9BA,GAAiB,GAAmB,CAChC,CAAC,KAAsB,CAAC,GACxB,CAAC,KAAgB,CAAC,GAClB,CAAC,KAAyB,CAAC,GAC3B,CAAC,KAAwB,CAAC,IAE9BA,GAAiB,GAAwB,CACrC,CAAC,KAAsB,CAAC,GACxB,CAAC,KAAkB,CAAC,EAAkB,GACtC,CAAC,KAAiB,CAAC,EAAkB,IAEzCA,GAAiB,GAAoB,CACjC,CAAC,KAAkB,CAAC,EAAkB,GACtC,CAAC,KAAiB,CAAC,EAAkB,GACrC,CAAC,KAAsB,CAAC,EAAiB,GACzC,CAAC,KAAgB,CAAC,EAAsB,GACxC,CAAC,KAAyB,CAAC,EAAqB,GAChD,CAAC,KAAwB,CAAC,EAAoB,IAElDA,GAAiB,GAAuB,CACpC,CAAC,KAAyB,CAAC,EAAyB,GACpD,CAAC,KAA0B,CAAC,EAAyB,GACrD,CAAC,KAAyB,CACtB,EACA,GAEJ,CAAC,KAA0B,CAAC,EAAiB,GAC7C,CAAC,KAAwB,EACzB,CAAC,KAAiB,CAAC,EAAqB,IAE5CA,GAAiB,GAA2B,CACxC,CAAC,KAAyB,CAAC,EAAqB,GAChD,CAAC,KAAwB,EACzB,CAAC,KAAiB,CAAC,EAAyB,IAEhDA,GAAiB,GAA2B,CACxC,CAAC,KAA0B,CAAC,EAAqB,GACjD,CAAC,KAAwB,EACzB,CAAC,KAAiB,CAAC,EAAyB,IAKhD,MAAMC,GAAiB,kDACvB,SAASC,GAAUC,GACf,OAAOF,GAAezkF,KAAK2kF,EAC/B,CAIA,SAASC,GAAY92D,GACjB,MAAMp8B,EAAIo8B,EAAIqK,WAAW,GACnBxmC,EAAIm8B,EAAIqK,WAAWrK,EAAI3sC,OAAS,GACtC,OAAOuQ,IAAMC,GAAY,KAAND,GAAoB,KAANA,EAAiCo8B,EAAnBA,EAAIv7B,MAAM,GAAI,EACjE,CAIA,SAASsyF,GAAgB5H,GACrB,QAAWh6F,IAAPg6F,GAA2B,OAAPA,EACpB,MAAO,IAEX,MAAMpnC,EAAOonC,EAAG9kD,WAAW,GAC3B,OAAQ0d,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACD,OAAOonC,EACX,KAAK,GACL,KAAK,GACL,KAAK,GACD,MAAO,IACX,KAAK,EACL,KAAK,GACL,KAAK,GACL,KAAK,IACL,KAAK,MACL,KAAK,KACL,KAAK,KACD,MAAO,IAEf,MAAO,GACX,CAMA,SAAS6H,GAAc1qF,GACnB,MAAM2qF,EAAU3qF,EAAK1H,OAErB,OAAuB,MAAnB0H,EAAKy3B,OAAO,KAAcS,MAAMnB,SAAS/2B,OAGtCsqF,GAAUK,GACXH,GAAYG,GACZ,IAAqBA,EAC/B,CAIA,SAASptC,GAAMv9C,GACX,MAAM/D,EAAO,GACb,IAGIsG,EACA9Y,EACAmhG,EACAphG,EACA+S,EACAsuF,EACAC,EATA3kG,GAAS,EACT4a,EAAO,EACPgqF,EAAe,EAQnB,MAAMC,EAAU,GAuChB,SAASC,IACL,MAAMC,EAAWlrF,EAAK7Z,EAAQ,GAC9B,GAAc,IAAT4a,GACY,MAAbmqF,GACU,IAATnqF,GACgB,MAAbmqF,EAIJ,OAHA/kG,IACAykG,EAAU,KAAOM,EACjBF,EAAQ,MACD,CAEf,CAjDAA,EAAQ,GAAkB,UACVniG,IAARY,EACAA,EAAMmhG,EAGNnhG,GAAOmhG,CACX,EAEJI,EAAQ,GAAgB,UACRniG,IAARY,IACAwS,EAAK5V,KAAKoD,GACVA,OAAMZ,EACV,EAEJmiG,EAAQ,GAA8B,KAClCA,EAAQ,KACRD,GAAc,EAElBC,EAAQ,GAAyB,KAC7B,GAAID,EAAe,EACfA,IACAhqF,EAAO,EACPiqF,EAAQ,SAEP,CAED,GADAD,EAAe,OACHliG,IAARY,EACA,OAAO,EAGX,GADAA,EAAMihG,GAAcjhG,IACR,IAARA,EACA,OAAO,EAGPuhG,EAAQ,IAEhB,GAcJ,MAAgB,OAATjqF,EAGH,GAFA5a,IACAoc,EAAIvC,EAAK7Z,GACC,OAANoc,IAAc0oF,IAAlB,CAOA,GAJAzhG,EAAOihG,GAAgBloF,GACvBuoF,EAAUV,GAAiBrpF,GAC3BxE,EAAauuF,EAAQthG,IAASshG,EAAQ,MAAmB,EAEtC,IAAfvuF,EACA,OAGJ,GADAwE,EAAOxE,EAAW,QACI1T,IAAlB0T,EAAW,KACXsuF,EAASG,EAAQzuF,EAAW,IACxBsuF,IACAD,EAAUroF,GACO,IAAbsoF,MACA,OAKZ,GAAa,IAAT9pF,EACA,OAAO9E,CApBX,CAuBR,CAEA,MAAMnD,GAAQ,IAAIjP,IAclB,SAASshG,GAAoBpzD,EAAK/3B,GAC9B,OAAO,EAAS+3B,GAAOA,EAAI/3B,GAAQ,IACvC,CAcA,SAASorF,GAAarzD,EAAK/3B,GAEvB,IAAK,EAAS+3B,GACV,OAAO,KAGX,IAAIb,EAAMp+B,GAAMnP,IAAIqW,GAQpB,GAPKk3B,IACDA,EAAMqmB,GAAMv9C,GACRk3B,GACAp+B,GAAMlP,IAAIoW,EAAMk3B,KAInBA,EACD,OAAO,KAGX,MAAMzX,EAAMyX,EAAInwC,OAChB,IAAIC,EAAO+wC,EACPlxC,EAAI,EACR,MAAOA,EAAI44B,EAAK,CACZ,MAAM7sB,EAAM5L,EAAKkwC,EAAIrwC,IACrB,QAAYgC,IAAR+J,EACA,OAAO,KAEX5L,EAAO4L,EACP/L,GACJ,CACA,OAAOG,CACX,CAEA,MAAMqkG,GAAoB33D,GAAQA,EAC5B43D,GAAmBlxF,GAAQ,GAC3BmxF,GAA4B,OAC5BC,GAAqBjhG,GAA6B,IAAlBA,EAAOxD,OAAe,GAAKwD,EAAOg9B,KAAK,IACvEkkE,GAAsBh2D,EAC5B,SAASi2D,GAAcC,EAAQC,GAE3B,OADAD,EAASnvE,KAAK2e,IAAIwwD,GACI,IAAlBC,EAEOD,EACDA,EAAS,EACL,EACA,EACJ,EAEHA,EAASnvE,KAAKC,IAAIkvE,EAAQ,GAAK,CAC1C,CACA,SAASE,GAAepyF,GAEpB,MAAMtT,EAAQ24D,EAASrlD,EAAQqyF,aACzBryF,EAAQqyF,aACP,EAEP,OAAOryF,EAAQsyF,QAAUjtC,EAASrlD,EAAQsyF,MAAMrkD,QAAUoX,EAASrlD,EAAQsyF,MAAMrkG,IAC3Eo3D,EAASrlD,EAAQsyF,MAAMrkD,OACnBjuC,EAAQsyF,MAAMrkD,MACdoX,EAASrlD,EAAQsyF,MAAMrkG,GACnB+R,EAAQsyF,MAAMrkG,EACdvB,EACRA,CACV,CACA,SAAS6lG,GAAeF,EAAa/zF,GAC5BA,EAAM2vC,QACP3vC,EAAM2vC,MAAQokD,GAEb/zF,EAAMrQ,IACPqQ,EAAMrQ,EAAIokG,EAElB,CACA,SAASG,GAAqBxyF,EAAU,CAAC,GACrC,MAAMwrE,EAASxrE,EAAQwrE,OACjB6mB,EAAcD,GAAepyF,GAC7ByyF,EAAa,EAASzyF,EAAQ0yF,cAChC,EAASlnB,IACT,EAAWxrE,EAAQ0yF,YAAYlnB,IAC7BxrE,EAAQ0yF,YAAYlnB,GACpBymB,GACAU,EAAgB,EAAS3yF,EAAQ0yF,cACnC,EAASlnB,IACT,EAAWxrE,EAAQ0yF,YAAYlnB,IAC7BymB,QACA7iG,EACA08F,EAAU/F,GACLA,EAAS0M,EAAWJ,EAAatM,EAASz4F,OAAQqlG,IAEvDC,EAAQ5yF,EAAQm6B,MAAQ,GACxBA,EAAQztC,GAAUkmG,EAAMlmG,GAExBmmG,EAAS7yF,EAAQsyF,OAAS,CAAC,EACjCjtC,EAASrlD,EAAQqyF,cAAgBE,GAAeF,EAAaQ,GAC7D,MAAMP,EAAStiG,GAAQ6iG,EAAO7iG,GAC9B,SAASuvD,EAAQvvD,GAEb,MAAM00F,EAAM,EAAW1kF,EAAQ+lF,UACzB/lF,EAAQ+lF,SAAS/1F,KACjB,EAASgQ,EAAQ+lF,WACb/lF,EAAQ+lF,SAAS/1F,GAE3B,OAAQ00F,IACF1kF,EAAQvT,OACJuT,EAAQvT,OAAO8yD,QAAQvvD,GACvB6hG,GAEd,CACA,MAAMiB,EAAazrF,GAASrH,EAAQqO,UAC9BrO,EAAQqO,UAAUhH,GAClBuqF,GACA9oE,EAAY4T,EAAc18B,EAAQ+yF,YAAc,EAAW/yF,EAAQ+yF,UAAUjqE,WAC7E9oB,EAAQ+yF,UAAUjqE,UAClBipE,GACAiB,EAAct2D,EAAc18B,EAAQ+yF,YACtC,EAAW/yF,EAAQ+yF,UAAUC,aAC3BhzF,EAAQ+yF,UAAUC,YAClBhB,GACAjiG,EAAO2sC,EAAc18B,EAAQ+yF,YAAc,EAAS/yF,EAAQ+yF,UAAUhjG,MACtEiQ,EAAQ+yF,UAAUhjG,KAClB+hG,GACAhD,EAAS,CAAC9+F,KAAQgC,KACpB,MAAOihG,EAAMC,GAAQlhG,EACrB,IAAIjC,EAAO,OACP69F,EAAW,GACK,IAAhB57F,EAAK1E,OACD,EAAS2lG,IACTrF,EAAWqF,EAAKrF,UAAYA,EAC5B79F,EAAOkjG,EAAKljG,MAAQA,GAEf,EAASkjG,KACdrF,EAAWqF,GAAQrF,GAGF,IAAhB57F,EAAK1E,SACN,EAAS2lG,KACTrF,EAAWqF,GAAQrF,GAEnB,EAASsF,KACTnjG,EAAOmjG,GAAQnjG,IAGvB,IAAI20F,EAAMnlC,EAAQvvD,EAARuvD,CAAa5+C,GAKvB,MAHa,UAAT5Q,GAAoB,EAAQ20F,IAAQkJ,IACpClJ,EAAMA,EAAI,IAEPkJ,EAAWkF,EAAUlF,EAAVkF,CAAoBpO,EAAK30F,GAAQ20F,CAAG,EAEpD/jF,EAAM,CACR,CAAC,QAAoBw5B,EACrB,CAAC,SAAsBm4D,EACvB,CAAC,UAAwBxG,EACzB,CAAC,UAAwBgD,EACzB,CAAC,WAA0BvvC,EAC3B,CAAC,QAAoBxvD,EACrB,CAAC,eAAkCijG,EACnC,CAAC,aAA8BlqE,GAEnC,OAAOnoB,CACX,CAEA,IAAIwyF,GAAW,KACf,SAASC,GAAgB9oF,GACrB6oF,GAAW7oF,CACf,CAIA,SAAS+oF,GAAiBC,EAAMl5E,EAASwe,GAErCu6D,IACIA,GAAS1xF,KAAK+uF,GAAqBC,SAAU,CACzCxoB,UAAWz4C,KAAKC,MAChB6jE,OACAl5E,UACAwe,QAEZ,CACA,MAAM26D,GAAmCC,GAAmBhD,GAAqBE,mBACjF,SAAS8C,GAAmBlpF,GACxB,OAAQmpF,GAAaN,IAAYA,GAAS1xF,KAAK6I,EAAMmpF,EACzD,CAEA,MAAMC,GAAgB,CAClBC,cAAe,EACfC,sBAAuB,EACvBC,qBAAsB,EACtBC,0BAA2B,EAC3BC,mBAAoB,EACpBC,wBAAyB,EACzBpO,iBAAkB,GAIjB8N,GAAcC,cACdD,GAAcE,sBACdF,GAAcG,qBACdH,GAAcI,0BACdJ,GAAcK,mBACdL,GAAcM,wBAsBnB,SAASC,GAAmBtzF,EAAKgP,EAAUnT,GAGvC,MAAO,IAAI,IAAIzO,IAAI,CACXyO,KACI,EAAQmT,GACNA,EACA,EAASA,GACLre,OAAOkR,KAAKmN,GACZ,EAASA,GACL,CAACA,GACD,CAACnT,KAE3B,CAiBA,SAAS03F,GAAwBvzF,EAAKgP,EAAUnT,GAC5C,MAAM23F,EAAc,EAAS33F,GAASA,EAAQ43F,GACxCx6E,EAAUjZ,EACXiZ,EAAQy6E,qBACTz6E,EAAQy6E,mBAAqB,IAAIjkG,KAErC,IAAIixD,EAAQznC,EAAQy6E,mBAAmBnkG,IAAIikG,GAC3C,IAAK9yC,EAAO,CACRA,EAAQ,GAER,IAAIizC,EAAQ,CAAC93F,GAEb,MAAO,EAAQ83F,GACXA,EAAQC,GAAmBlzC,EAAOizC,EAAO3kF,GAI7C,MAAMkvC,EAAW,EAAQlvC,KAAc+sB,EAAc/sB,GAC/CA,EACAA,EAAS,WACLA,EAAS,WACT,KAEV2kF,EAAQ,EAASz1C,GAAY,CAACA,GAAYA,EACtC,EAAQy1C,IACRC,GAAmBlzC,EAAOizC,GAAO,GAErC16E,EAAQy6E,mBAAmBlkG,IAAIgkG,EAAa9yC,EAChD,CACA,OAAOA,CACX,CACA,SAASkzC,GAAmBlzC,EAAOizC,EAAOE,GACtC,IAAIC,GAAS,EACb,IAAK,IAAIrnG,EAAI,EAAGA,EAAIknG,EAAMhnG,QAAU,EAAUmnG,GAASrnG,IAAK,CACxD,MAAMo+E,EAAS8oB,EAAMlnG,GACjB,EAASo+E,KACTipB,EAASC,GAAoBrzC,EAAOizC,EAAMlnG,GAAIonG,GAEtD,CACA,OAAOC,CACX,CACA,SAASC,GAAoBrzC,EAAOmqB,EAAQgpB,GACxC,IAAIC,EACJ,MAAME,EAASnpB,EAAO/kE,MAAM,KAC5B,EAAG,CACC,MAAM3W,EAAS6kG,EAAO7mE,KAAK,KAC3B2mE,EAASG,GAAkBvzC,EAAOvxD,EAAQ0kG,GAC1CG,EAAO33F,QAAQ,EAAG,EACtB,OAAS23F,EAAOrnG,SAAqB,IAAXmnG,GAC1B,OAAOA,CACX,CACA,SAASG,GAAkBvzC,EAAOvxD,EAAQ0kG,GACtC,IAAIC,GAAS,EACb,IAAKpzC,EAAMtkD,SAASjN,KAChB2kG,GAAS,EACL3kG,GAAQ,CACR2kG,EAAuC,MAA9B3kG,EAAOA,EAAOxC,OAAS,GAChC,MAAMk+E,EAAS17E,EAAOmQ,QAAQ,KAAM,IACpCohD,EAAMz0D,KAAK4+E,IACN,EAAQgpB,IAAW93D,EAAc83D,KAClCA,EAAOhpB,KAGPipB,EAASD,EAAOhpB,GAExB,CAEJ,OAAOipB,CACX,CAOA,MAAMr1C,GAAU,QACVy1C,IAAgB,EAChBT,GAAiB,QACjBU,GAAwB,GACxB/2D,GAAc9D,GAAQ,GAAGA,EAAI+D,OAAO,GAAG87C,sBAAsB7/C,EAAI0sB,OAAO,KAC9E,SAASouC,KACL,MAAO,CACHC,MAAO,CAAC77F,EAAKpJ,IAEO,SAATA,GAAmB,EAASoJ,GAC7BA,EAAIykC,cACK,UAAT7tC,GAAoB,EAASoJ,IAAQ,gBAAiBA,EAClDA,EAAIiK,SAASw6B,cACbzkC,EAEd87F,MAAO,CAAC97F,EAAKpJ,IAEO,SAATA,GAAmB,EAASoJ,GAC7BA,EAAI+G,cACK,UAATnQ,GAAoB,EAASoJ,IAAQ,gBAAiBA,EAClDA,EAAIiK,SAASlD,cACb/G,EAEd4kC,WAAY,CAAC5kC,EAAKpJ,IAEG,SAATA,GAAmB,EAASoJ,GAC9B4kC,GAAW5kC,GACF,UAATpJ,GAAoB,EAASoJ,IAAQ,gBAAiBA,EAClD4kC,GAAW5kC,EAAIiK,UACfjK,EAGtB,CACA,IAAI+7F,GAIAC,GAWAC,GAdJ,SAASC,GAAwBC,GAC7BJ,GAAYI,CAChB,CASA,SAASC,GAAwBC,GAC7BL,GAAYK,CAChB,CASA,SAASC,GAAyBC,GAC9BN,GAAcM,CAClB,CAEA,IAAIC,GAAkB,KACtB,MAAMC,GAAsBh9D,IACxB+8D,GAAkB/8D,CAAI,EAEpBi9D,GAAqB,IAAMF,GACjC,IAAIG,GAAmB,KACvB,MAAMC,GAAsBn8E,IACxBk8E,GAAmBl8E,CAAO,EAExBo8E,GAAqB,IAAMF,GAEjC,IAAIG,GAAO,EACX,SAASC,GAAkBl2F,EAAU,CAAC,GAElC,MAAMoa,EAAU,EAASpa,EAAQoa,SAAWpa,EAAQoa,QAAUglC,GACxDosB,EAAS,EAASxrE,EAAQwrE,QAAUxrE,EAAQwrE,OAAS4oB,GACrD+B,EAAiB,EAAQn2F,EAAQm2F,iBACnCz5D,EAAc18B,EAAQm2F,iBACtB,EAASn2F,EAAQm2F,kBACU,IAA3Bn2F,EAAQm2F,eACNn2F,EAAQm2F,eACR3qB,EACAua,EAAWrpD,EAAc18B,EAAQ+lF,UACjC/lF,EAAQ+lF,SACR,CAAE,CAACva,GAAS,CAAC,GACb4qB,EAAkB15D,EAAc18B,EAAQo2F,iBACpCp2F,EAAQo2F,gBACR,CAAE,CAAC5qB,GAAS,CAAC,GAEjB6qB,EAAgB35D,EAAc18B,EAAQq2F,eAClCr2F,EAAQq2F,cACR,CAAE,CAAC7qB,GAAS,CAAC,GAEjBn9D,EAAY,EAAO,CAAC,EAAGrO,EAAQqO,WAAa,CAAC,EAAG0mF,MAChDrC,EAAc1yF,EAAQ0yF,aAAe,CAAC,EACtC4D,EAAU,EAAWt2F,EAAQs2F,SAAWt2F,EAAQs2F,QAAU,KAC1DC,GAAc,EAAUv2F,EAAQu2F,eAAgB/R,EAASxkF,EAAQu2F,cACjEv2F,EAAQu2F,YAERC,GAAe,EAAUx2F,EAAQw2F,gBAAiBhS,EAASxkF,EAAQw2F,eACnEx2F,EAAQw2F,aAERC,IAAmBz2F,EAAQy2F,eAC3BC,IAAgB12F,EAAQ02F,YACxBC,EAAkB,EAAW32F,EAAQ22F,iBACrC32F,EAAQ22F,gBACR,KACA5D,EAAYr2D,EAAc18B,EAAQ+yF,WAAa/yF,EAAQ+yF,UAAY,KACnE6D,GAAkB,EAAU52F,EAAQ42F,kBACpC52F,EAAQ42F,gBAERC,IAAoB72F,EAAQ62F,gBAC5BC,EAAkB,EAAW92F,EAAQ82F,iBACrC92F,EAAQ82F,gBACR5B,GACA6B,EAAkB,EAAW/2F,EAAQ+2F,iBACrC/2F,EAAQ+2F,gBACR5B,IAAazD,GACbsF,EAAmB,EAAWh3F,EAAQg3F,kBACtCh3F,EAAQg3F,iBACR5B,IAAenB,GACfgD,EAAkB,EAASj3F,EAAQi3F,iBACnCj3F,EAAQi3F,qBACR7nG,EACA8nG,EAAS,EAAWl3F,EAAQk3F,QAAUl3F,EAAQk3F,OAAS,EAEvDC,EAAkBn3F,EAClBo3F,EAAuB,EAASD,EAAgBC,sBAC5CD,EAAgBC,qBAChB,IAAIhnG,IAERinG,EAAqB,EAASF,EAAgBE,oBAC1CF,EAAgBE,mBAChB,IAAIjnG,IAERknG,EAAS,EAASH,EAAgBG,QAAUH,EAAgBG,OAAS,CAAC,EAC5ErB,KACA,MAAMr8E,EAAU,CACZQ,UACAm9E,IAAKtB,GACLzqB,SACA2qB,iBACApQ,WACA13E,YACAqkF,cACA4D,UACAC,cACAC,eACAC,iBACAC,cACAC,kBACA5D,YACA6D,kBACAC,kBACAC,kBACAC,kBACAC,mBACAC,kBACAC,SACAI,UAmBJ,OAhBI19E,EAAQw8E,gBAAkBA,EAC1Bx8E,EAAQy8E,cAAgBA,EACxBz8E,EAAQw9E,qBAAuBA,EAC/Bx9E,EAAQy9E,mBAAqBA,EAUcG,2BAC3CnE,GAAiBz5E,EAASQ,EAASk9E,GAEhC19E,CACX,CAUA,SAAS69E,GAAc79E,EAAS5pB,EAAKw7E,EAAQ+qB,EAAaxmG,GACtD,MAAM,QAAEumG,EAAO,OAAEY,GAAWt9E,EAa5B,GAAgB,OAAZ08E,EAAkB,CAClB,MAAM19F,EAAM09F,EAAQ18E,EAAS4xD,EAAQx7E,EAAKD,GAC1C,OAAO,EAAS6I,GAAOA,EAAM5I,CACjC,CAKI,OAAOA,CAEf,CAEA,SAAS0nG,GAAqB/2F,EAAK6qE,EAAQ77D,GACvC,MAAMiK,EAAUjZ,EAChBiZ,EAAQy6E,mBAAqB,IAAIjkG,IACjCuQ,EAAIq2F,iBAAiBr2F,EAAKgP,EAAU67D,EACxC,CAaA,MAAMmsB,GAAqB1yF,GAAWA,EACtC,IAAI2yF,GAAetmG,OAAOqT,OAAO,MAIjC,SAASkzF,GAAkB5yF,EAAQjF,EAAU,CAAC,GAC1C,CAII,MAAM83F,EAAa93F,EAAQ83F,YAAcH,GACnC3nG,EAAM8nG,EAAW7yF,GACjB1F,EAASq4F,GAAa5nG,GAC5B,GAAIuP,EACA,OAAOA,EAGX,IAAIw4F,GAAW,EACf,MAAMlP,EAAU7oF,EAAQ6oF,SAAW5C,EACnCjmF,EAAQ6oF,QAAWzuF,IACf29F,GAAW,EACXlP,EAAQzuF,EAAI,EAGhB,MAAM,KAAE4nD,GAASsuC,GAAYrrF,EAAQjF,GAE/B0kF,EAAM,IAAIv9E,SAAS,UAAU66C,IAAvB,GAEZ,OAAQ+1C,EAAuCrT,EAA3BkT,GAAa5nG,GAAO00F,CAC5C,CACJ,CAEA,IAAI1iC,GAAO6iC,EAAkBe,iBAC7B,MAAMoS,GAAM,MAAQh2C,GACdi2C,GAAiB,CACnBC,iBAAkBl2C,GAClBm2C,sBAAuBH,KACvBI,0BAA2BJ,KAC3BpS,iBAAkBoS,MAEtB,SAASK,GAAgBr2C,GACrB,OAAO6jC,EAAmB7jC,EAAM,UAA8E5yD,EAClH,CAGK6oG,GAAeC,iBACfD,GAAeE,sBAEfF,GAAeG,0BAJpB,MAOME,GAAwB,IAAM,GAC9BC,GAAqBp/F,GAAQ,EAAWA,GAE9C,SAAS6lC,GAAUplB,KAAY5nB,GAC3B,MAAM,eAAEykG,EAAc,gBAAEE,EAAe,YAAED,EAAW,gBAAEI,EAAe,eAAEX,EAAc,SAAEpQ,GAAansE,GAC7F5pB,EAAKgQ,GAAWw4F,MAAsBxmG,GACvCukG,EAAc,EAAUv2F,EAAQu2F,aAChCv2F,EAAQu2F,YACR38E,EAAQ28E,YACRC,EAAe,EAAUx2F,EAAQw2F,cACjCx2F,EAAQw2F,aACR58E,EAAQ48E,aACRK,EAAkB,EAAU72F,EAAQ62F,iBACpC72F,EAAQ62F,gBACRj9E,EAAQi9E,gBACR4B,IAAoBz4F,EAAQy4F,gBAE5BC,EAAkB,EAAS14F,EAAQ0I,UAAY,EAAU1I,EAAQ0I,SAChE,EAAU1I,EAAQ0I,SAEbouF,EAA8B9mG,EAAZ,IAAMA,EAD1BgQ,EAAQ0I,QAEZ+tF,EACMK,EAA8B9mG,EAAZ,IAAMA,EAC1B,GACJ2oG,EAAmBlC,GAAsC,KAApBiC,EACrCltB,EAAS,EAASxrE,EAAQwrE,QAAUxrE,EAAQwrE,OAAS5xD,EAAQ4xD,OAEnEqrB,GAAmB+B,GAAa54F,GAGhC,IAAK64F,EAAaC,EAAcv5C,GAAYk5C,EAEtC,CACEzoG,EACAw7E,EACAua,EAASva,IAAW,CAAC,GAJvButB,GAAqBn/E,EAAS5pB,EAAKw7E,EAAQ2qB,EAAgBK,EAAcD,GAW3EtqB,EAAS4sB,EAETG,EAAehpG,EASnB,GARKyoG,GACC,EAASxsB,IAAWssB,GAAkBtsB,IACpC0sB,IACA1sB,EAASysB,EACTM,EAAe/sB,IAIlBwsB,KACE,EAASxsB,KAAWssB,GAAkBtsB,KACpC,EAAS6sB,IACd,OAAOpC,EAAc7B,GAAe7kG,EAUxC,IAAI+nG,GAAW,EACf,MAAMkB,EAAgB,KAClBlB,GAAW,CAAI,EAGbrT,EAAO6T,GAAkBtsB,GAEzBA,EADAitB,GAAqBt/E,EAAS5pB,EAAK8oG,EAAc7sB,EAAQ+sB,EAAcC,GAG7E,GAAIlB,EACA,OAAO9rB,EAGX,MAAMktB,EAAaC,GAAyBx/E,EAASk/E,EAAcv5C,EAASv/C,GACtEq5F,EAAa7G,GAAqB2G,GAClCG,EAAWC,GAAgB3/E,EAAS8qE,EAAK2U,GAEzCzgG,EAAM+9F,EACNA,EAAgB2C,EAAUtpG,GAC1BspG,EAEN,GAA+C9B,0BAA2B,CAEtE,MAAM/D,EAAW,CACbxrB,UAAWz4C,KAAKC,MAChBz/B,IAAK,EAASA,GACRA,EACAuoG,GAAkBtsB,GACdA,EAAOj8E,IACP,GACVw7E,OAAQstB,IAAiBP,GAAkBtsB,GACrCA,EAAOT,OACP,IACNS,OAAQ,EAASA,GACXA,EACAssB,GAAkBtsB,GACdA,EAAOhnE,OACP,GACVs6C,QAAS3mD,GAEb66F,EAAS76D,KAAO,EAAO,CAAC,EAAGhf,EAAQ09E,OAAQzB,MAAuB,CAAC,GACnEtC,GAAkBE,EACtB,CACA,OAAO76F,CACX,CACA,SAASggG,GAAa54F,GACd,EAAQA,EAAQm6B,MAChBn6B,EAAQm6B,KAAOn6B,EAAQm6B,KAAK1oC,KAAIge,GAAQ,EAASA,GAAQk1E,EAAWl1E,GAAQA,IAEvE,EAASzP,EAAQsyF,QACtBhhG,OAAOkR,KAAKxC,EAAQsyF,OAAOvhG,SAAQf,IAC3B,EAASgQ,EAAQsyF,MAAMtiG,MACvBgQ,EAAQsyF,MAAMtiG,GAAO20F,EAAW3kF,EAAQsyF,MAAMtiG,IAClD,GAGZ,CACA,SAAS+oG,GAAqBn/E,EAAS5pB,EAAKw7E,EAAQ2qB,EAAgBK,EAAcD,GAC9E,MAAM,SAAExQ,EAAQ,OAAEmR,EAAQH,gBAAiBpF,EAAY,iBAAEqF,GAAqBp9E,EACxE4/E,EAAUxC,EAAiBp9E,EAASu8E,EAAgB3qB,GAC1D,IACIstB,EADAv5C,EAAU,CAAC,EAEX0sB,EAAS,KACTz8D,EAAOg8D,EACPl2D,EAAK,KACT,MAAMvlB,EAAO,YACb,IAAK,IAAI3C,EAAI,EAAGA,EAAIosG,EAAQlsG,OAAQF,IAAK,CACrC0rG,EAAexjF,EAAKkkF,EAAQpsG,GAsB5BmyD,EACIwmC,EAAS+S,IAAiB,CAAC,EAiC/B,GAtB8C,QAAzC7sB,EAAS0lB,EAAapyC,EAASvvD,MAEhCi8E,EAAS1sB,EAAQvvD,IAoBjB,EAASi8E,IAAW,EAAWA,GAC/B,MACJ,MAAMwtB,EAAahC,GAAc79E,EACjC5pB,EAAK8oG,EAAcvC,EAAaxmG,GAC5B0pG,IAAezpG,IACfi8E,EAASwtB,GAEbjqF,EAAO8F,CACX,CACA,MAAO,CAAC22D,EAAQ6sB,EAAcv5C,EAClC,CACA,SAAS25C,GAAqBt/E,EAAS5pB,EAAK8oG,EAAc7sB,EAAQ+sB,EAAcC,GAC5E,MAAM,gBAAEnC,EAAe,gBAAEF,GAAoBh9E,EAC7C,GAAI2+E,GAAkBtsB,GAAS,CAC3B,MAAMyY,EAAMzY,EAGZ,OAFAyY,EAAIlZ,OAASkZ,EAAIlZ,QAAUstB,EAC3BpU,EAAI10F,IAAM00F,EAAI10F,KAAOA,EACd00F,CACX,CACA,GAAuB,MAAnBoS,EAAyB,CACzB,MAAMpS,EAAM,IAAOzY,EAGnB,OAFAyY,EAAIlZ,OAASstB,EACbpU,EAAI10F,IAAMA,EACH00F,CACX,CAWA,MAAMA,EAAMoS,EAAgB7qB,EAAQytB,GAAkB9/E,EAASk/E,EAAcE,EAAc/sB,EAAQ2qB,EAAiBqC,IAqBpH,OAHAvU,EAAIlZ,OAASstB,EACbpU,EAAI10F,IAAMA,EACV00F,EAAIz/E,OAASgnE,EACNyY,CACX,CACA,SAAS6U,GAAgB3/E,EAAS8qE,EAAKiV,GAWnC,MAAML,EAAW5U,EAAIiV,GAkBrB,OAAOL,CACX,CAEA,SAASd,MAAsBxmG,GAC3B,MAAOihG,EAAMC,EAAM0G,GAAQ5nG,EACrBgO,EAAU,CAAC,EACjB,IAAK,EAASizF,KAAU5tC,EAAS4tC,KAAUsF,GAAkBtF,GACzD,MAAMoF,GAAgBJ,GAAeC,kBAGzC,MAAMloG,EAAMq1D,EAAS4tC,GACf1rF,OAAO0rF,IACPsF,GAAkBtF,GACdA,GAuBV,OArBI5tC,EAAS6tC,GACTlzF,EAAQ8rF,OAASoH,EAEZ,EAASA,GACdlzF,EAAQ0I,QAAUwqF,EAEbx2D,EAAcw2D,KAAUzO,EAAcyO,GAC3ClzF,EAAQsyF,MAAQY,EAEX,EAAQA,KACblzF,EAAQm6B,KAAO+4D,GAEf7tC,EAASu0C,GACT55F,EAAQ8rF,OAAS8N,EAEZ,EAASA,GACd55F,EAAQ0I,QAAUkxF,EAEbl9D,EAAck9D,IACnB,EAAO55F,EAAS45F,GAEb,CAAC5pG,EAAKgQ,EACjB,CACA,SAAS05F,GAAkB9/E,EAAS4xD,EAAQx7E,EAAKiV,EAAQ2xF,EAAiBqC,GACtE,MAAO,CACHrC,kBACA/N,QAAUzuF,IAmBF,MAlBJ6+F,GAAiBA,EAAc7+F,GAkBrBA,CACV,EAEJ09F,WAAa7yF,GAAWm/E,EAAuB5Y,EAAQx7E,EAAKiV,GAEpE,CACA,SAASm0F,GAAyBx/E,EAAS4xD,EAAQjsB,EAASv/C,GACxD,MAAM,UAAEqO,EAAS,YAAEqkF,EAAaqE,gBAAiBpF,EAAY,eAAEwE,EAAc,aAAEK,EAAY,YAAED,EAAW,gBAAEU,GAAoBr9E,EACxHigF,EAAkB7pG,IACpB,IAAImJ,EAAMw4F,EAAapyC,EAASvvD,GAEhC,GAAW,MAAPmJ,GAAe89F,EAAiB,CAChC,MAAO,CAAE,CAAE13C,GAAWw5C,GAAqB9B,EAAiBjnG,EAAKw7E,EAAQ2qB,EAAgBK,EAAcD,GACvGp9F,EAAMw4F,EAAapyC,EAASvvD,EAChC,CACA,GAAI,EAASmJ,GAAM,CACf,IAAI4+F,GAAW,EACf,MAAMkB,EAAgB,KAClBlB,GAAW,CAAI,EAEbrT,EAAMwU,GAAqBt/E,EAAS5pB,EAAKw7E,EAAQryE,EAAKnJ,EAAKipG,GACjE,OAAQlB,EAEFO,GADA5T,CAEV,CACK,OAAI6T,GAAkBp/F,GAChBA,EAIAm/F,EACX,EAEEa,EAAa,CACf3tB,SACAn9D,YACAqkF,cACA3M,SAAU8T,GAcd,OAZIjgF,EAAQm5E,YACRoG,EAAWpG,UAAYn5E,EAAQm5E,WAE/B/yF,EAAQm6B,OACRg/D,EAAWh/D,KAAOn6B,EAAQm6B,MAE1Bn6B,EAAQsyF,QACR6G,EAAW7G,MAAQtyF,EAAQsyF,OAE3BjtC,EAASrlD,EAAQ8rF,UACjBqN,EAAW9G,YAAcryF,EAAQ8rF,QAE9BqN,CACX,CAEA,MAAMW,GAA8B,qBAATC,KAEPD,IAAsBC,KAAKC,eAC7BF,IAAsBC,KAAKE,aAI7C,SAASC,GAAStgF,KAAY5nB,GAC1B,MAAM,gBAAEokG,EAAe,YAAEM,EAAW,eAAEP,EAAc,OAAEe,EAAM,iBAAEF,GAAqBp9E,GAC7E,qBAAEw9E,GAAyBx9E,EAKjC,MAAO5pB,EAAK+C,EAAOiN,EAASm6F,GAAaC,MAAqBpoG,GACxDukG,EAAc,EAAUv2F,EAAQu2F,aAChCv2F,EAAQu2F,YACR38E,EAAQ28E,YAIR8D,GAHe,EAAUr6F,EAAQw2F,cACjCx2F,EAAQw2F,aACR58E,EAAQ48E,eACCx2F,EAAQq6F,MACjB7uB,EAAS,EAASxrE,EAAQwrE,QAAUxrE,EAAQwrE,OAAS5xD,EAAQ4xD,OAC7DguB,EAAUxC,EAAiBp9E,EACjCu8E,EAAgB3qB,GAChB,IAAK,EAASx7E,IAAgB,KAARA,EAClB,OAAO,IAAI+pG,KAAKC,eAAexuB,EAAQ2uB,GAAWluB,OAAOl5E,GAG7D,IACI+lG,EADAwB,EAAiB,CAAC,EAElBruB,EAAS,KACTz8D,EAAOg8D,EACPl2D,EAAK,KACT,MAAMvlB,EAAO,kBACb,IAAK,IAAI3C,EAAI,EAAGA,EAAIosG,EAAQlsG,OAAQF,IAAK,CA0BrC,GAzBA0rG,EAAexjF,EAAKkkF,EAAQpsG,GAsB5BktG,EACIlE,EAAgB0C,IAAiB,CAAC,EACtC7sB,EAASquB,EAAetqG,GACpB0sC,EAAcuvC,GACd,MACJwrB,GAAc79E,EAAS5pB,EAAK8oG,EAAcvC,EAAaxmG,GACvDyf,EAAO8F,CACX,CAEA,IAAKonB,EAAcuvC,KAAY,EAAS6sB,GACpC,OAAOpC,EAAc7B,GAAe7kG,EAExC,IAAIuM,EAAK,GAAGu8F,MAAiB9oG,IACxBy0F,EAAc0V,KACf59F,EAAK,GAAGA,MAAO4/B,KAAKC,UAAU+9D,MAElC,IAAI3pC,EAAY4mC,EAAqBlnG,IAAIqM,GAKzC,OAJKi0D,IACDA,EAAY,IAAIupC,KAAKC,eAAelB,EAAc,EAAO,CAAC,EAAG7sB,EAAQkuB,IACrE/C,EAAqBjnG,IAAIoM,EAAIi0D,IAEzB6pC,EAAiC7pC,EAAU+pC,cAAcxnG,GAAlDy9D,EAAUyb,OAAOl5E,EACpC,CAEA,MAAMynG,GAA+B,CACjC,gBACA,UACA,MACA,OACA,QACA,MACA,OACA,SACA,SACA,eACA,gBACA,SACA,WACA,YACA,YACA,WACA,YACA,kBACA,YACA,0BAGJ,SAASJ,MAAqBpoG,GAC1B,MAAOihG,EAAMC,EAAM0G,EAAMa,GAAQzoG,EAC3BgO,EAAU,CAAC,EACjB,IACIjN,EADAonG,EAAY,CAAC,EAEjB,GAAI,EAASlH,GAAO,CAGhB,MAAMhnF,EAAUgnF,EAAKn7E,MAAM,kCAC3B,IAAK7L,EACD,MAAMosF,GAAgBJ,GAAeG,2BAIzC,MAAMjvB,EAAWl9D,EAAQ,GACnBA,EAAQ,GAAGpN,OAAOL,WAAW,KACzB,GAAGyN,EAAQ,GAAGpN,SAASoN,EAAQ,GAAGpN,SAClC,GAAGoN,EAAQ,GAAGpN,UAAUoN,EAAQ,GAAGpN,SACvCoN,EAAQ,GAAGpN,OACjB9L,EAAQ,IAAIy8B,KAAK25C,GACjB,IAEIp2E,EAAM8xD,aAIV,CAFA,MAAOv5B,GACH,MAAM+sE,GAAgBJ,GAAeG,0BACzC,CACJ,MACK,GAAI98D,EAAO23D,GAAO,CACnB,GAAIx0D,MAAMw0D,EAAKz3D,WACX,MAAM68D,GAAgBJ,GAAeE,uBAEzCplG,EAAQkgG,CACZ,KACK,KAAI5tC,EAAS4tC,GAId,MAAMoF,GAAgBJ,GAAeC,kBAHrCnlG,EAAQkgG,CAIZ,CAuBA,OAtBI,EAASC,GACTlzF,EAAQhQ,IAAMkjG,EAETx2D,EAAcw2D,IACnB5hG,OAAOkR,KAAK0wF,GAAMniG,SAAQf,IAClBwqG,GAA6Bz9F,SAAS/M,GACtCmqG,EAAUnqG,GAAOkjG,EAAKljG,GAGtBgQ,EAAQhQ,GAAOkjG,EAAKljG,EACxB,IAGJ,EAAS4pG,GACT55F,EAAQwrE,OAASouB,EAEZl9D,EAAck9D,KACnBO,EAAYP,GAEZl9D,EAAc+9D,KACdN,EAAYM,GAET,CAACz6F,EAAQhQ,KAAO,GAAI+C,EAAOiN,EAASm6F,EAC/C,CAEA,SAASO,GAAoB/5F,EAAK6qE,EAAQS,GACtC,MAAMryD,EAAUjZ,EAChB,IAAK,MAAM3Q,KAAOi8E,EAAQ,CACtB,MAAM1vE,EAAK,GAAGivE,MAAWx7E,IACpB4pB,EAAQw9E,qBAAqB5mG,IAAI+L,IAGtCqd,EAAQw9E,qBAAqB3oG,OAAO8N,EACxC,CACJ,CAGA,SAASqC,GAAOgb,KAAY5nB,GACxB,MAAM,cAAEqkG,EAAa,YAAEK,EAAW,eAAEP,EAAc,OAAEe,EAAM,iBAAEF,GAAqBp9E,GAC3E,mBAAEy9E,GAAuBz9E,EAK/B,MAAO5pB,EAAK+C,EAAOiN,EAASm6F,GAAaQ,MAAmB3oG,GACtDukG,EAAc,EAAUv2F,EAAQu2F,aAChCv2F,EAAQu2F,YACR38E,EAAQ28E,YAIR8D,GAHe,EAAUr6F,EAAQw2F,cACjCx2F,EAAQw2F,aACR58E,EAAQ48E,eACCx2F,EAAQq6F,MACjB7uB,EAAS,EAASxrE,EAAQwrE,QAAUxrE,EAAQwrE,OAAS5xD,EAAQ4xD,OAC7DguB,EAAUxC,EAAiBp9E,EACjCu8E,EAAgB3qB,GAChB,IAAK,EAASx7E,IAAgB,KAARA,EAClB,OAAO,IAAI+pG,KAAKE,aAAazuB,EAAQ2uB,GAAWluB,OAAOl5E,GAG3D,IACI+lG,EADA8B,EAAe,CAAC,EAEhB3uB,EAAS,KACTz8D,EAAOg8D,EACPl2D,EAAK,KACT,MAAMvlB,EAAO,gBACb,IAAK,IAAI3C,EAAI,EAAGA,EAAIosG,EAAQlsG,OAAQF,IAAK,CA0BrC,GAzBA0rG,EAAexjF,EAAKkkF,EAAQpsG,GAsB5BwtG,EACIvE,EAAcyC,IAAiB,CAAC,EACpC7sB,EAAS2uB,EAAa5qG,GAClB0sC,EAAcuvC,GACd,MACJwrB,GAAc79E,EAAS5pB,EAAK8oG,EAAcvC,EAAaxmG,GACvDyf,EAAO8F,CACX,CAEA,IAAKonB,EAAcuvC,KAAY,EAAS6sB,GACpC,OAAOpC,EAAc7B,GAAe7kG,EAExC,IAAIuM,EAAK,GAAGu8F,MAAiB9oG,IACxBy0F,EAAc0V,KACf59F,EAAK,GAAGA,MAAO4/B,KAAKC,UAAU+9D,MAElC,IAAI3pC,EAAY6mC,EAAmBnnG,IAAIqM,GAKvC,OAJKi0D,IACDA,EAAY,IAAIupC,KAAKE,aAAanB,EAAc,EAAO,CAAC,EAAG7sB,EAAQkuB,IACnE9C,EAAmBlnG,IAAIoM,EAAIi0D,IAEvB6pC,EAAiC7pC,EAAU+pC,cAAcxnG,GAAlDy9D,EAAUyb,OAAOl5E,EACpC,CAEA,MAAM8nG,GAA6B,CAC/B,gBACA,QACA,WACA,kBACA,eACA,cACA,uBACA,wBACA,wBACA,2BACA,2BACA,iBACA,WACA,cACA,OACA,cACA,eACA,mBACA,oBACA,uBAGJ,SAASF,MAAmB3oG,GACxB,MAAOihG,EAAMC,EAAM0G,EAAMa,GAAQzoG,EAC3BgO,EAAU,CAAC,EACjB,IAAIm6F,EAAY,CAAC,EACjB,IAAK90C,EAAS4tC,GACV,MAAMoF,GAAgBJ,GAAeC,kBAEzC,MAAMnlG,EAAQkgG,EAuBd,OAtBI,EAASC,GACTlzF,EAAQhQ,IAAMkjG,EAETx2D,EAAcw2D,IACnB5hG,OAAOkR,KAAK0wF,GAAMniG,SAAQf,IAClB6qG,GAA2B99F,SAAS/M,GACpCmqG,EAAUnqG,GAAOkjG,EAAKljG,GAGtBgQ,EAAQhQ,GAAOkjG,EAAKljG,EACxB,IAGJ,EAAS4pG,GACT55F,EAAQwrE,OAASouB,EAEZl9D,EAAck9D,KACnBO,EAAYP,GAEZl9D,EAAc+9D,KACdN,EAAYM,GAET,CAACz6F,EAAQhQ,KAAO,GAAI+C,EAAOiN,EAASm6F,EAC/C,CAEA,SAASW,GAAkBn6F,EAAK6qE,EAAQS,GACpC,MAAMryD,EAAUjZ,EAChB,IAAK,MAAM3Q,KAAOi8E,EAAQ,CACtB,MAAM1vE,EAAK,GAAGivE,MAAWx7E,IACpB4pB,EAAQy9E,mBAAmB7mG,IAAI+L,IAGpCqd,EAAQy9E,mBAAmB5oG,OAAO8N,EACtC,CACJ,CAI6C,mBAA9Bi7F,4BACP74D,IAAgB64D,2BAA4B,G;;;;;;AC7gDpD,MAAM,GAAU,QAKhB,SAAS37E,KAUoC,mBAA9B27E,4BACP74D,IAAgB64D,2BAA4B,EAOpD,CAEA,IAAIuD,GAASrH,GAAc9N,iBAC3B,MAAMoV,GAAQ,MAAQD,GAChBE,GAAgB,CAClBC,iBAAkBH,GAClBI,uBAAwBH,KACxBI,wBAAyBJ,KACzBK,iCAAkCL,KAClCM,+BAAgCN,KAChCO,iCAAkCP,KAClCQ,uBAAwBR,MAGvBC,GAAcC,iBACdD,GAAcE,uBACdF,GAAcG,wBACdH,GAAcI,iCACdJ,GAAcK,+BACdL,GAAcM,iCACdN,GAAcO,uBAMnB,IAAI,GAAO3W,EAAkBe,iBAC7B,MAAM,GAAM,MAAQ,GACd6V,GAAiB,CAEnBC,uBAAwB,GAExBxD,iBAAkB,KAElByD,uBAAwB,KACxBC,cAAe,KACfC,6BAA8B,KAE9BC,eAAgB,KAChBC,cAAe,KAEfC,iCAAkC,KAClCC,2BAA4B,KAE5BC,iBAAkB,KAElBC,+BAAgC,KAEhCC,0BAA2B,KAE3BC,6CAA8C,KAE9CC,oCAAqC,KAErC1W,iBAAkB,MAEtB,SAAS2W,GAAgBv6C,KAAShwD,GAC9B,OAAO6zF,EAAmB7jC,EAAM,UAAoF5yD,EACxH,CAEKqsG,GAAeC,uBACfD,GAAevD,iBACfuD,GAAeE,uBACfF,GAAeG,cACfH,GAAeS,iBACfT,GAAeI,6BACfJ,GAAeK,eACfL,GAAeM,cACfN,GAAeO,iCACfP,GAAeQ,2BACfR,GAAeU,+BACfV,GAAeW,0BACfX,GAAeY,6CACfZ,GAAea,oCAdpB,MAiBME,GACS,EAAW,oBACpBC,GAAqC,EAAW,mBAChDC,GAAmC,EAAW,iBAG9CC,GAAuB,EAAW,oBACxC,EAAW,iBACX,MAAMC,GAAkC,EAAW,sBAOnD,SAASC,GAAev+D,GAEpB,IAAK,EAASA,GACV,OAAOA,EAEX,IAAK,MAAMtuC,KAAOsuC,EAEd,GAAKrB,EAAOqB,EAAKtuC,GAIjB,GAAKA,EAAI+M,SAAS,KAOb,CAED,MAAM+/F,EAAU9sG,EAAIyW,MAAM,KACpBonC,EAAYivD,EAAQxvG,OAAS,EACnC,IAAIyvG,EAAaz+D,EACjB,IAAK,IAAIlxC,EAAI,EAAGA,EAAIygD,EAAWzgD,IACrB0vG,EAAQ1vG,KAAM2vG,IAChBA,EAAWD,EAAQ1vG,IAAM,CAAC,GAE9B2vG,EAAaA,EAAWD,EAAQ1vG,IAGpC2vG,EAAWD,EAAQjvD,IAAcvP,EAAItuC,UAC9BsuC,EAAItuC,GAEP,EAAS+sG,EAAWD,EAAQjvD,MAC5BgvD,GAAeE,EAAWD,EAAQjvD,IAE1C,MAvBQ,EAASvP,EAAItuC,KACb6sG,GAAev+D,EAAItuC,IAwB/B,OAAOsuC,CACX,CACA,SAAS0+D,GAAkBxxB,EAAQxrE,GAC/B,MAAM,SAAE+lF,EAAQ,OAAEkX,EAAM,gBAAElG,EAAe,SAAEmG,GAAal9F,EAElDpH,EAAM8jC,EAAcqpD,GACpBA,EACA,EAAQkX,GACJ,CAAC,EACD,CAAE,CAACzxB,GAAS,CAAC,GAoBvB,GAlBI,EAAQyxB,IACRA,EAAOlsG,SAAQosG,IACX,GAAI,WAAYA,GAAU,aAAcA,EAAQ,CAC5C,MAAM,OAAE3xB,EAAM,SAAE4xB,GAAaD,EACzB3xB,GACA5yE,EAAI4yE,GAAU5yE,EAAI4yE,IAAW,CAAC,EAC9B6xB,GAASD,EAAUxkG,EAAI4yE,KAGvB6xB,GAASD,EAAUxkG,EAE3B,MAEI,EAASukG,IAAWE,GAASlhE,KAAK2nB,MAAMq5C,GAASvkG,EACrD,IAIe,MAAnBm+F,GAA2BmG,EAC3B,IAAK,MAAMltG,KAAO4I,EACVqkC,EAAOrkC,EAAK5I,IACZ6sG,GAAejkG,EAAI5I,IAI/B,OAAO4I,CACX,CACA,MAAM0kG,GAAwBnkG,IAAS,EAASA,IAAQ,EAAQA,GAEhE,SAASkkG,GAASE,EAAKC,GAEnB,GAAIF,GAAqBC,IAAQD,GAAqBE,GAClD,MAAMjB,GAAgBd,GAAeM,eAEzC,IAAK,MAAM/rG,KAAOutG,EACVtgE,EAAOsgE,EAAKvtG,KACRstG,GAAqBC,EAAIvtG,KAASstG,GAAqBE,EAAIxtG,IAI3DwtG,EAAIxtG,GAAOutG,EAAIvtG,GAIfqtG,GAASE,EAAIvtG,GAAMwtG,EAAIxtG,IAIvC,CAEA,SAASytG,GAAoBtjG,GACzB,OAAOA,EAASpK,IACpB,CACA,SAAS2tG,GAAoB3kC,EAAQ/4D,EAAS29F,GAE1C,IAAI5X,EAAW,EAAS/lF,EAAQ+lF,UAAY/lF,EAAQ+lF,SAAW,CAAC,EAC5D,iBAAkB4X,IAClB5X,EAAWiX,GAAkBjkC,EAAOyS,OAAOz4E,MAAO,CAC9CgzF,WACAkX,OAAQU,EAAiBC,gBAIjC,MAAMpE,EAAUloG,OAAOkR,KAAKujF,GAQxB,GAPAyT,EAAQlsG,QACRksG,EAAQzoG,SAAQy6E,IACZzS,EAAO8kC,mBAAmBryB,EAAQua,EAASva,GAAQ,IAKnD,EAASxrE,EAAQo2F,iBAAkB,CACnC,MAAMoD,EAAUloG,OAAOkR,KAAKxC,EAAQo2F,iBAChCoD,EAAQlsG,QACRksG,EAAQzoG,SAAQy6E,IACZzS,EAAO+kC,oBAAoBtyB,EAAQxrE,EAAQo2F,gBAAgB5qB,GAAQ,GAG/E,CAEA,GAAI,EAASxrE,EAAQq2F,eAAgB,CACjC,MAAMmD,EAAUloG,OAAOkR,KAAKxC,EAAQq2F,eAChCmD,EAAQlsG,QACRksG,EAAQzoG,SAAQy6E,IACZzS,EAAOglC,kBAAkBvyB,EAAQxrE,EAAQq2F,cAAc7qB,GAAQ,GAG3E,CAER,CACA,SAASv+C,GAAej9B,GACpB,OAAO,SAAY,MAAM,KAAMA,EAAK,EAExC,CAKA,MAAMguG,GAAgB,mBACtB,IAAIC,GAAa,EACjB,SAASC,GAAyB5H,GAC9B,MAAO,CAAE31F,EAAK6qE,EAAQx7E,EAAKD,IAChBumG,EAAQ9qB,EAAQx7E,GAAK,iBAAwBZ,EAAWW,EAEvE,CAEA,MAAMouG,GAAe,KACjB,MAAMhkG,GAAW,WACjB,IAAIy+B,EAAO,KACX,OAAOz+B,IAAay+B,EAAO6kE,GAAoBtjG,GAAU6jG,KACnD,CAAE,CAACA,IAAgBplE,GACnB,IAAI,EAQd,SAASwlE,GAAep+F,EAAU,CAAC,EAAGq+F,GAClC,MAAM,OAAEC,GAAWt+F,EACbu+F,OAAuBnvG,IAAXkvG,EAClB,IAAIE,GAAiB,EAAUx+F,EAAQy+F,gBACjCz+F,EAAQy+F,cAEd,MAAMC,GAAU,SAEhBJ,GAAUE,EACJF,EAAO9yB,OAAOz4E,MACd,EAASiN,EAAQwrE,QACbxrE,EAAQwrE,OACR4oB,IACJuK,GAAkB,SAExBL,GAAUE,EACJF,EAAOnI,eAAepjG,MACtB,EAASiN,EAAQm2F,iBACf,EAAQn2F,EAAQm2F,iBAChBz5D,EAAc18B,EAAQm2F,kBACK,IAA3Bn2F,EAAQm2F,eACNn2F,EAAQm2F,eACRuI,EAAQ3rG,OACZ6rG,GAAY,SAAI5B,GAAkB0B,EAAQ3rG,MAAOiN,IAEjD6+F,GAAmB,SAAIniE,EAAc18B,EAAQo2F,iBACzCp2F,EAAQo2F,gBACR,CAAE,CAACsI,EAAQ3rG,OAAQ,CAAC,IAGxB+rG,GAAiB,SAAIpiE,EAAc18B,EAAQq2F,eACvCr2F,EAAQq2F,cACR,CAAE,CAACqI,EAAQ3rG,OAAQ,CAAC,IAI9B,IAAIgsG,EAAeT,EACbA,EAAO/H,aACP,EAAUv2F,EAAQu2F,eAAgB/R,EAASxkF,EAAQu2F,cAC/Cv2F,EAAQu2F,YAGdyI,EAAgBV,EACdA,EAAO9H,cACP,EAAUx2F,EAAQw2F,gBAAiBhS,EAASxkF,EAAQw2F,eAChDx2F,EAAQw2F,aAGdyI,EAAgBX,EACdA,EAAOY,cACP,EAAUl/F,EAAQk/F,eACdl/F,EAAQk/F,aAGdC,IAAoBn/F,EAAQy2F,eAE5B2I,EAAW,EAAWp/F,EAAQs2F,SAAWt2F,EAAQs2F,QAAU,KAC3D+I,EAAkB,EAAWr/F,EAAQs2F,SACnC4H,GAAyBl+F,EAAQs2F,SACjC,KAEFgJ,EAAmB,EAAWt/F,EAAQ22F,iBACpC32F,EAAQ22F,gBACR,KAEF4I,EAAmBjB,EACjBA,EAAO1H,iBACP,EAAU52F,EAAQ42F,kBACd52F,EAAQ42F,gBAEd4I,IAAqBx/F,EAAQ62F,gBAGjC,MAAM4I,EAAanB,EACbA,EAAOjwF,UACPquB,EAAc18B,EAAQqO,WAClBrO,EAAQqO,UACR,CAAC,EAEX,IAGI6L,EAHAwlF,EAAe1/F,EAAQ0yF,aAAgB4L,GAAUA,EAAO5L,YAI5D,MAAMiN,EAAiB,KACnBpB,GAAaxI,GAAmB,MAChC,MAAMoD,EAAa,CACf/+E,QAAS,GACToxD,OAAQkzB,EAAQ3rG,MAChBojG,eAAgBwI,EAAgB5rG,MAChCgzF,SAAU6Y,EAAU7rG,MACpBsb,UAAWoxF,EACX/M,YAAagN,EACbpJ,QAA6B,OAApB+I,OAA2BjwG,EAAYiwG,EAChD9I,YAAawI,EACbvI,aAAcwI,EACdvI,eAAgB0I,EAChBzI,aAAa,EACbC,gBAAsC,OAArB2I,OAA4BlwG,EAAYkwG,EACzD1I,gBAAiB2I,EACjB1I,gBAAiB2I,EACjBzI,gBAAiB/2F,EAAQ+2F,gBACzBO,OAAQ,CAAEsI,UAAW,QAGrBzG,EAAW/C,gBAAkByI,EAAiB9rG,MAC9ComG,EAAW9C,cAAgByI,EAAe/rG,MAC1ComG,EAAW/B,qBAAuB16D,EAAcxiB,GAC1CA,EAASk9E,0BACThoG,EACN+pG,EAAW9B,mBAAqB36D,EAAcxiB,GACxCA,EAASm9E,wBACTjoG,EAOV,MAAMuR,EAAMu1F,GAAkBiD,GAE9B,OADAoF,GAAaxI,GAAmBp1F,GACzBA,CAAG,EAKd,SAASk/F,IACL,MAAO,CACCnB,EAAQ3rG,MACR4rG,EAAgB5rG,MAChB6rG,EAAU7rG,MACV8rG,EAAiB9rG,MACjB+rG,EAAe/rG,MAG3B,CAZAmnB,EAAWylF,IACXjI,GAAqBx9E,EAAUwkF,EAAQ3rG,MAAO4rG,EAAgB5rG,OAa9D,MAAMy4E,GAAS,SAAS,CACpBt7E,IAAK,IAAMwuG,EAAQ3rG,MACnB5C,IAAKgJ,IACDulG,EAAQ3rG,MAAQoG,EAChB+gB,EAASsxD,OAASkzB,EAAQ3rG,KAAK,IAIjCojG,GAAiB,SAAS,CAC5BjmG,IAAK,IAAMyuG,EAAgB5rG,MAC3B5C,IAAKgJ,IACDwlG,EAAgB5rG,MAAQoG,EACxB+gB,EAASi8E,eAAiBwI,EAAgB5rG,MAC1C2kG,GAAqBx9E,EAAUwkF,EAAQ3rG,MAAOoG,EAAI,IAIpD4sF,GAAW,UAAS,IAAM6Y,EAAU7rG,QAEpCqjG,GAAiC,UAAS,IAAMyI,EAAiB9rG,QAEjEsjG,GAA+B,UAAS,IAAMyI,EAAe/rG,QAEnE,SAAS+sG,IACL,OAAO,EAAWR,GAAoBA,EAAmB,IAC7D,CAEA,SAASS,EAA0BhhG,GAC/BugG,EAAmBvgG,EACnBmb,EAASy8E,gBAAkB53F,CAC/B,CAEA,SAASihG,IACL,OAAOZ,CACX,CAEA,SAASa,EAAkBlhG,GACP,OAAZA,IACAsgG,EAAkBnB,GAAyBn/F,IAE/CqgG,EAAWrgG,EACXmb,EAASo8E,QAAU+I,CACvB,CAKA,MAAMa,EAAe,CAACpzG,EAAIqzG,EAAgBC,EAAUC,EAAiBC,EAAcC,KAG/E,IAAI3nG,EACJ,GAHAinG,IAG+CrI,0BAC3C,IACI5B,GAAkBuI,MACbI,IACDrkF,EAAS+8E,gBAAkBqH,EACrBtI,UACA5mG,GAEVwJ,EAAM9L,EAAGotB,EAOb,CALA,QACI07E,GAAkB,MACb2I,IACDrkF,EAAS+8E,qBAAkB7nG,EAEnC,MAGAwJ,EAAM9L,EAAGotB,GAEb,GAAImrC,EAASzsD,IAAQA,IAAQi8F,GAAc,CACvC,MAAO7kG,EAAKkjG,GAAQiN,IA0BpB,OAAO7B,GAAUW,EACXoB,EAAgB/B,GAChBgC,EAAatwG,EACvB,CACK,GAAIuwG,EAAiB3nG,GACtB,OAAOA,EAIP,MAAM2jG,GAAgBd,GAAeC,uBACzC,EAGJ,SAASvjF,KAAKnmB,GACV,OAAOkuG,GAAatmF,GAAW/mB,QAAQT,MAAM4sC,GAAW,KAAM,CAACplB,KAAY5nB,MAAQ,IAAMwmG,MAAsBxmG,IAAO,aAAauQ,GAAQ1P,QAAQT,MAAMmQ,EAAK4V,EAAG5V,EAAM,IAAIvQ,MAAQhC,GAAOA,IAAKmJ,GAAO,EAASA,IACnN,CAEA,SAASmmF,KAAMttF,GACX,MAAOihG,EAAMC,EAAM0G,GAAQ5nG,EAC3B,GAAI4nG,IAAS,EAASA,GAClB,MAAM2C,GAAgBd,GAAevD,kBAEzC,OAAO//E,EAAM86E,EAAMC,EAAM,EAAO,CAAEuF,iBAAiB,GAAQmB,GAAQ,CAAC,GACxE,CAEA,SAASrkE,KAAKvjC,GACV,OAAOkuG,GAAatmF,GAAW/mB,QAAQT,MAAM8nG,GAAU,KAAM,CAACtgF,KAAY5nB,MAAQ,IAAMooG,MAAqBpoG,IAAO,mBAAmBuQ,GAAQ1P,QAAQT,MAAMmQ,EAAKgzB,EAAGhzB,EAAM,IAAIvQ,MAAQ,IAAM8iG,KAAuB37F,GAAO,EAASA,IACxO,CAEA,SAASlL,KAAK+D,GACV,OAAOkuG,GAAatmF,GAAW/mB,QAAQT,MAAMwM,GAAQ,KAAM,CAACgb,KAAY5nB,MAAQ,IAAM2oG,MAAmB3oG,IAAO,iBAAiBuQ,GAAQ1P,QAAQT,MAAMmQ,EAAKtU,EAAGsU,EAAM,IAAIvQ,MAAQ,IAAM8iG,KAAuB37F,GAAO,EAASA,IAClO,CAEA,SAAS2vB,EAAUh4B,GACf,OAAOA,EAAOW,KAAI0H,GAAO,EAASA,IAAQksD,EAASlsD,IAAQ,EAAUA,GAC/D8zB,GAAe1lB,OAAOpO,IACtBA,GACV,CACA,MAAM65F,EAAe75F,GAAQA,EACvB45F,EAAY,CACdjqE,YACAkqE,cACAjjG,KAAM,SAGV,SAASywG,KAAkBxuG,GACvB,OAAOkuG,GAAatmF,IAChB,IAAIhhB,EACJ,MAAMshB,EAAWN,EACjB,IACIM,EAAS64E,UAAYA,EACrBn6F,EAAM/F,QAAQT,MAAM4sC,GAAW,KAAM,CAAC9kB,KAAaloB,GAIvD,CAFA,QACIkoB,EAAS64E,UAAY,IACzB,CACA,OAAOn6F,CAAG,IACX,IAAM4/F,MAAsBxmG,IAAO,aAEtCuQ,GAAQA,EAAKi6F,OAAyBxqG,KAAOhC,GAAO,CAACi9B,GAAej9B,MAAOmJ,GAAO,EAAQA,IAC9F,CAEA,SAASsnG,KAAezuG,GACpB,OAAOkuG,GAAatmF,GAAW/mB,QAAQT,MAAMwM,GAAQ,KAAM,CAACgb,KAAY5nB,MAAQ,IAAM2oG,MAAmB3oG,IAAO,iBAEhHuQ,GAAQA,EAAKm6F,OAAsB1qG,KAAO,IAAM,KAAImH,GAAO,EAASA,IAAQ,EAAQA,IACxF,CAEA,SAASunG,KAAiB1uG,GACtB,OAAOkuG,GAAatmF,GAAW/mB,QAAQT,MAAM8nG,GAAU,KAAM,CAACtgF,KAAY5nB,MAAQ,IAAMooG,MAAqBpoG,IAAO,mBAEpHuQ,GAAQA,EAAKk6F,OAAwBzqG,KAAO,IAAM,KAAImH,GAAO,EAASA,IAAQ,EAAQA,IAC1F,CACA,SAASwnG,GAAeC,GACpBlB,EAAekB,EACf1mF,EAASw4E,YAAcgN,CAC3B,CAEA,SAASnjB,GAAGvsF,EAAKw7E,GACb,MAAMstB,EAAe,EAASttB,GAAUA,EAASkzB,EAAQ3rG,MACnDwsD,EAAUshD,GAAiB/H,GACjC,OAAkD,OAA3C5+E,EAAS68E,gBAAgBx3C,EAASvvD,EAC7C,CACA,SAAS8wG,GAAgB9wG,GACrB,IAAI+1F,EAAW,KACf,MAAMyT,EAAUtF,GAAwBh6E,EAAUykF,EAAgB5rG,MAAO2rG,EAAQ3rG,OACjF,IAAK,IAAI3F,EAAI,EAAGA,EAAIosG,EAAQlsG,OAAQF,IAAK,CACrC,MAAM2zG,EAAuBnC,EAAU7rG,MAAMymG,EAAQpsG,KAAO,CAAC,EACvD4zG,EAAe9mF,EAAS68E,gBAAgBgK,EAAsB/wG,GACpE,GAAoB,MAAhBgxG,EAAsB,CACtBjb,EAAWib,EACX,KACJ,CACJ,CACA,OAAOjb,CACX,CAEA,SAASkb,GAAGjxG,GACR,MAAM+1F,EAAW+a,GAAgB9wG,GAEjC,OAAmB,MAAZ+1F,EACDA,EACAuY,GACIA,EAAO2C,GAAGjxG,IACV,CAAC,CACf,CAEA,SAAS6wG,GAAiBr1B,GACtB,OAAQozB,EAAU7rG,MAAMy4E,IAAW,CAAC,CACxC,CAEA,SAAS01B,GAAiB11B,EAAQjsB,GAC9Bq/C,EAAU7rG,MAAMy4E,GAAUjsB,EAC1BrlC,EAAS6rE,SAAW6Y,EAAU7rG,KAClC,CAEA,SAAS8qG,GAAmBryB,EAAQjsB,GAChCq/C,EAAU7rG,MAAMy4E,GAAUozB,EAAU7rG,MAAMy4E,IAAW,CAAC,EACtD6xB,GAAS99C,EAASq/C,EAAU7rG,MAAMy4E,IAClCtxD,EAAS6rE,SAAW6Y,EAAU7rG,KAClC,CAEA,SAASouG,GAAkB31B,GACvB,OAAOqzB,EAAiB9rG,MAAMy4E,IAAW,CAAC,CAC9C,CAEA,SAAS41B,GAAkB51B,EAAQS,GAC/B4yB,EAAiB9rG,MAAMy4E,GAAUS,EACjC/xD,EAASk8E,gBAAkByI,EAAiB9rG,MAC5C2nG,GAAoBxgF,EAAUsxD,EAAQS,EAC1C,CAEA,SAAS6xB,GAAoBtyB,EAAQS,GACjC4yB,EAAiB9rG,MAAMy4E,GAAU,EAAOqzB,EAAiB9rG,MAAMy4E,IAAW,CAAC,EAAGS,GAC9E/xD,EAASk8E,gBAAkByI,EAAiB9rG,MAC5C2nG,GAAoBxgF,EAAUsxD,EAAQS,EAC1C,CAEA,SAASo1B,GAAgB71B,GACrB,OAAOszB,EAAe/rG,MAAMy4E,IAAW,CAAC,CAC5C,CAEA,SAAS81B,GAAgB91B,EAAQS,GAC7B6yB,EAAe/rG,MAAMy4E,GAAUS,EAC/B/xD,EAASm8E,cAAgByI,EAAe/rG,MACxC+nG,GAAkB5gF,EAAUsxD,EAAQS,EACxC,CAEA,SAAS8xB,GAAkBvyB,EAAQS,GAC/B6yB,EAAe/rG,MAAMy4E,GAAU,EAAOszB,EAAe/rG,MAAMy4E,IAAW,CAAC,EAAGS,GAC1E/xD,EAASm8E,cAAgByI,EAAe/rG,MACxC+nG,GAAkB5gF,EAAUsxD,EAAQS,EACxC,CAEAgyB,KAEIK,GAAUpa,KACV,SAAMoa,EAAO9yB,QAASryE,IACdqlG,IACAE,EAAQ3rG,MAAQoG,EAChB+gB,EAASsxD,OAASryE,EAClBu+F,GAAqBx9E,EAAUwkF,EAAQ3rG,MAAO4rG,EAAgB5rG,OAClE,KAEJ,SAAMurG,EAAOnI,gBAAiBh9F,IACtBqlG,IACAG,EAAgB5rG,MAAQoG,EACxB+gB,EAASi8E,eAAiBh9F,EAC1Bu+F,GAAqBx9E,EAAUwkF,EAAQ3rG,MAAO4rG,EAAgB5rG,OAClE,KAIR,MAAMwuG,GAAW,CACbhlG,GAAI0hG,GACJzyB,SACA2qB,iBACIsI,oBACA,OAAOD,CACX,EACIC,kBAActlG,GACdqlG,EAAiBrlG,EACbA,GAAOmlG,IACPI,EAAQ3rG,MAAQurG,EAAO9yB,OAAOz4E,MAC9B4rG,EAAgB5rG,MAAQurG,EAAOnI,eAAepjG,MAC9C2kG,GAAqBx9E,EAAUwkF,EAAQ3rG,MAAO4rG,EAAgB5rG,OAEtE,EACIyuG,uBACA,OAAOlwG,OAAOkR,KAAKo8F,EAAU7rG,OAAO6K,MACxC,EACAmoF,WACI13E,gBACA,OAAOoxF,CACX,EACI/M,kBACA,OAAOgN,GAAgB,CAAC,CAC5B,EACI+B,eACA,OAAOlD,CACX,EACIhI,kBACA,OAAOwI,CACX,EACIxI,gBAAYp9F,GACZ4lG,EAAe5lG,EACf+gB,EAASq8E,YAAcwI,CAC3B,EACIvI,mBACA,OAAOwI,CACX,EACIxI,iBAAar9F,GACb6lG,EAAgB7lG,EAChB+gB,EAASs8E,aAAewI,CAC5B,EACIE,mBACA,OAAOD,CACX,EACIC,iBAAa/lG,GACb8lG,EAAgB9lG,CACpB,EACIs9F,qBACA,OAAO0I,CACX,EACI1I,mBAAet9F,GACfgmG,EAAkBhmG,EAClB+gB,EAASu8E,eAAiB0I,CAC9B,EACIvI,sBACA,OAAO2I,CACX,EACI3I,oBAAgBz9F,GAChBomG,EAAmBpmG,EACnB+gB,EAAS08E,gBAAkBz9F,CAC/B,EACI09F,sBACA,OAAO2I,CACX,EACI3I,oBAAgB19F,GAChBqmG,EAAmBrmG,EACnB+gB,EAAS28E,gBAAkB19F,CAC/B,EACAgf,IACA0oF,oBACAK,oBACArD,sBACAiC,4BACAC,4BACAC,oBACAC,oBACA,CAACtD,IAAuBgE,IA8B5B,OA3BIY,GAASnL,gBAAkBA,EAC3BmL,GAASlL,cAAgBA,EACzBkL,GAASjiB,GAAKA,EACdiiB,GAAShlB,GAAKA,GACdglB,GAASN,GAAKA,GACdM,GAAShsE,EAAIA,EACbgsE,GAAStzG,EAAIA,EACbszG,GAASJ,kBAAoBA,GAC7BI,GAASH,kBAAoBA,GAC7BG,GAASzD,oBAAsBA,GAC/ByD,GAASF,gBAAkBA,GAC3BE,GAASD,gBAAkBA,GAC3BC,GAASxD,kBAAoBA,GAC7BwD,GAAS3E,IAAoB58F,EAAQ0hG,mBACrCH,GAAS/E,IAAwBgE,EACjCe,GAAS9E,IAAuBiE,EAChCa,GAAS7E,IAAqB+D,EAW3Bc,EACX,CASA,SAASI,GAAuB3hG,GAC5B,MAAMwrE,EAAS,EAASxrE,EAAQwrE,QAAUxrE,EAAQwrE,OAAS4oB,GACrD+B,EAAiB,EAASn2F,EAAQm2F,iBACpC,EAAQn2F,EAAQm2F,iBAChBz5D,EAAc18B,EAAQm2F,kBACK,IAA3Bn2F,EAAQm2F,eACNn2F,EAAQm2F,eACR3qB,EACA8qB,EAAU,EAAWt2F,EAAQs2F,SAAWt2F,EAAQs2F,aAAUlnG,EAC1DmnG,GAAc,EAAUv2F,EAAQ4hG,yBAClCpd,EAASxkF,EAAQ4hG,yBACd5hG,EAAQ4hG,sBAETpL,GAAe,EAAUx2F,EAAQ6hG,sBACnCrd,EAASxkF,EAAQ6hG,sBACd7hG,EAAQ6hG,mBAET3C,GAAe,EAAUl/F,EAAQk/F,eACjCl/F,EAAQk/F,aAERzI,IAAmBz2F,EAAQ8hG,uBAC3BzzF,EAAYquB,EAAc18B,EAAQqO,WAAarO,EAAQqO,UAAY,CAAC,EACpE0zF,EAAqB/hG,EAAQ+hG,mBAC7BpL,EAAkB,EAAW32F,EAAQ22F,iBACrC32F,EAAQ22F,qBACRvnG,EACAwnG,GAAkB,EAAS52F,EAAQgiG,oBACL,QAA9BhiG,EAAQgiG,kBAERnL,IAAoB72F,EAAQiiG,oBAC5BxD,GAAgB,EAAUz+F,EAAQkiG,OAAQliG,EAAQkiG,KAOxD,IAAInc,EAAW/lF,EAAQ+lF,SACvB,GAAIrpD,EAAc18B,EAAQmiG,gBAAiB,CACvC,MAAMA,EAAiBniG,EAAQmiG,eACzB3I,EAAUloG,OAAOkR,KAAK2/F,GAC5Bpc,EAAWyT,EAAQh9D,QAAO,CAACupD,EAAUva,KACjC,MAAMjsB,EAAUwmC,EAASva,KAAYua,EAASva,GAAU,CAAC,GAEzD,OADA,EAAOjsB,EAAS4iD,EAAe32B,IACxBua,CAAQ,GACfA,GAAY,CAAC,EACrB,CACA,MAAM,OAAEkX,EAAM,OAAEqB,EAAM,mBAAEoD,GAAuB1hG,EACzCo2F,EAAkBp2F,EAAQo2F,gBAC1BC,EAAgBr2F,EAAQq2F,cACxB6G,EAAWl9F,EAAQk9F,SACzB,MAAO,CACH1xB,SACA2qB,iBACApQ,WACAmX,WACA9G,kBACAC,gBACAC,UACAC,cACAC,eACA0I,eACAzI,iBACApoF,YACAqkF,YAAaqP,EACbpL,kBACAC,kBACAC,kBACAE,gBAAiB/2F,EAAQ+2F,gBACzB0H,gBACAxB,SACAqB,SACAoD,qBAER,CAOA,SAASU,GAAcpiG,EAAU,CAAC,EAAGq+F,GACjC,CACI,MAAMkD,EAAWnD,GAAeuD,GAAuB3hG,IAEjDqiG,EAAU,CAEZ9lG,GAAIglG,EAAShlG,GAETivE,aACA,OAAO+1B,EAAS/1B,OAAOz4E,KAC3B,EACIy4E,WAAOryE,GACPooG,EAAS/1B,OAAOz4E,MAAQoG,CAC5B,EAEIg9F,qBACA,OAAOoL,EAASpL,eAAepjG,KACnC,EACIojG,mBAAeh9F,GACfooG,EAASpL,eAAepjG,MAAQoG,CACpC,EAEI4sF,eACA,OAAOwb,EAASxb,SAAShzF,KAC7B,EAEIqjG,sBACA,OAAOmL,EAASnL,gBAAgBrjG,KACpC,EAEIsjG,oBACA,OAAOkL,EAASlL,cAActjG,KAClC,EAEIyuG,uBACA,OAAOD,EAASC,gBACpB,EAEIhxC,gBAGA,MAAO,CACHwiC,cACI,MAAO,EACX,EAER,EACIxiC,cAAUr3D,GAEd,EAEIm9F,cACA,OAAOiL,EAASvB,mBACpB,EACI1J,YAAQv3F,GACRwiG,EAAStB,kBAAkBlhG,EAC/B,EAEI6iG,4BACA,OAAO,EAAUL,EAAShL,cACnBgL,EAAShL,YACVgL,EAAShL,WACnB,EACIqL,0BAAsBzoG,GACtBooG,EAAShL,YAAc,EAAUp9F,IAAQA,EAAMA,CACnD,EAEI0oG,yBACA,OAAO,EAAUN,EAAS/K,eACnB+K,EAAS/K,aACV+K,EAAS/K,YACnB,EACIqL,uBAAmB1oG,GACnBooG,EAAS/K,aAAe,EAAUr9F,IAAQA,EAAMA,CACpD,EAEIkV,gBACA,OAAOkzF,EAASlzF,SACpB,EAEIyzF,6BACA,OAAOP,EAAS9K,cACpB,EACIqL,2BAAuB3oG,GACvBooG,EAAS9K,eAAiBt9F,CAC9B,EAEIw9F,sBACA,OAAO4K,EAASzB,2BACpB,EACInJ,oBAAgB53F,GAChBwiG,EAASxB,0BAA0BhhG,EACvC,EAEImjG,WACA,OAAOX,EAAS9C,aACpB,EACIyD,SAAK/oG,GACLooG,EAAS9C,cAAgBtlG,CAC7B,EAEI6oG,wBACA,OAAOT,EAAS3K,gBAAkB,OAAS,KAC/C,EACIoL,sBAAkB7oG,GAClBooG,EAAS3K,gBAA0B,QAARz9F,CAC/B,EAEI8oG,0BACA,OAAOV,EAAS1K,eACpB,EACIoL,wBAAoB9oG,GACpBooG,EAAS1K,gBAAkB19F,CAC/B,EAEImpG,+BAGA,OAAO,CACX,EACIA,6BAAyBnpG,GAG7B,EAEI4oG,yBACA,OAAOR,EAAS7O,aAAe,CAAC,CACpC,EAEA6P,WAAYhB,EAEZppF,KAAKnmB,GACD,MAAOihG,EAAMC,EAAM0G,GAAQ5nG,EACrBgO,EAAU,CAAC,EACjB,IAAIm6B,EAAO,KACPm4D,EAAQ,KACZ,IAAK,EAASW,GACV,MAAMsJ,GAAgBd,GAAevD,kBAEzC,MAAMloG,EAAMijG,EAiBZ,OAhBI,EAASC,GACTlzF,EAAQwrE,OAAS0nB,EAEZ,EAAQA,GACb/4D,EAAO+4D,EAEFx2D,EAAcw2D,KACnBZ,EAAQY,GAER,EAAQ0G,GACRz/D,EAAOy/D,EAEFl9D,EAAck9D,KACnBtH,EAAQsH,GAGL/mG,QAAQT,MAAMmvG,EAASppF,EAAGopF,EAAU,CACvCvxG,EACCmqC,GAAQm4D,GAAS,CAAC,EACnBtyF,GAER,EACAs/E,MAAMttF,GACF,OAAOa,QAAQT,MAAMmvG,EAASjiB,GAAIiiB,EAAU,IAAIvvG,GACpD,EAEAwwG,MAAMxwG,GACF,MAAOihG,EAAMC,EAAM0G,GAAQ5nG,EACrBgO,EAAU,CAAE8rF,OAAQ,GAC1B,IAAI3xD,EAAO,KACPm4D,EAAQ,KACZ,IAAK,EAASW,GACV,MAAMsJ,GAAgBd,GAAevD,kBAEzC,MAAMloG,EAAMijG,EAuBZ,OAtBI,EAASC,GACTlzF,EAAQwrE,OAAS0nB,EAEZ7tC,EAAS6tC,GACdlzF,EAAQ8rF,OAASoH,EAEZ,EAAQA,GACb/4D,EAAO+4D,EAEFx2D,EAAcw2D,KACnBZ,EAAQY,GAER,EAAS0G,GACT55F,EAAQwrE,OAASouB,EAEZ,EAAQA,GACbz/D,EAAOy/D,EAEFl9D,EAAck9D,KACnBtH,EAAQsH,GAGL/mG,QAAQT,MAAMmvG,EAASppF,EAAGopF,EAAU,CACvCvxG,EACCmqC,GAAQm4D,GAAS,CAAC,EACnBtyF,GAER,EAEAu8E,GAAGvsF,EAAKw7E,GACJ,OAAO+1B,EAAShlB,GAAGvsF,EAAKw7E,EAC5B,EAEAy1B,GAAGjxG,GACC,OAAOuxG,EAASN,GAAGjxG,EACvB,EAEA6wG,iBAAiBr1B,GACb,OAAO+1B,EAASV,iBAAiBr1B,EACrC,EAEA01B,iBAAiB11B,EAAQjsB,GACrBgiD,EAASL,iBAAiB11B,EAAQjsB,EACtC,EAEAs+C,mBAAmBryB,EAAQjsB,GACvBgiD,EAAS1D,mBAAmBryB,EAAQjsB,EACxC,EAEAhqB,KAAKvjC,GACD,OAAOa,QAAQT,MAAMmvG,EAAShsE,EAAGgsE,EAAU,IAAIvvG,GACnD,EAEAmvG,kBAAkB31B,GACd,OAAO+1B,EAASJ,kBAAkB31B,EACtC,EAEA41B,kBAAkB51B,EAAQS,GACtBs1B,EAASH,kBAAkB51B,EAAQS,EACvC,EAEA6xB,oBAAoBtyB,EAAQS,GACxBs1B,EAASzD,oBAAoBtyB,EAAQS,EACzC,EAEAh+E,KAAK+D,GACD,OAAOa,QAAQT,MAAMmvG,EAAStzG,EAAGszG,EAAU,IAAIvvG,GACnD,EAEAqvG,gBAAgB71B,GACZ,OAAO+1B,EAASF,gBAAgB71B,EACpC,EAEA81B,gBAAgB91B,EAAQS,GACpBs1B,EAASD,gBAAgB91B,EAAQS,EACrC,EAEA8xB,kBAAkBvyB,EAAQS,GACtBs1B,EAASxD,kBAAkBvyB,EAAQS,EACvC,EAGAw2B,eAAevQ,EAAQC,GAGnB,OAAQ,CACZ,EAEAuQ,6BAA6B5yG,GACzB,MAAM,iCAAE6yG,GAAqC3iG,EACzC2iG,GACAA,EAAiC7yG,EAAQuyG,EAEjD,GAaJ,OAAOA,CACX,CACJ,CAGA,MAAMO,GAAkB,CACpB/1E,IAAK,CACD98B,KAAM,CAACwX,OAAQjW,SAEnBk6E,OAAQ,CACJz7E,KAAMwX,QAEV3Z,MAAO,CACHmC,KAAMwX,OAEN84C,UAAYlnD,GAAwC,WAARA,GAA4B,WAARA,EAChEuP,QAAS,UAEb4qF,KAAM,CACFvjG,KAAMuB,SAId,SAASuxG,IAET,MAAEthG,GACFiB,GACI,GAAoB,IAAhBA,EAAKlV,QAA4B,YAAZkV,EAAK,GAAkB,CAE5C,MAAM5J,EAAM2I,EAAMmH,QAAUnH,EAAMmH,UAAY,GAE9C,OAAO9P,EAAI4jC,QAAO,CAAC1sB,EAAMrD,IACN,IACRqD,KACC,EAAQrD,EAAQrJ,UAAYqJ,EAAQrJ,SAAW,CAACqJ,KAEzD,GACP,CAGI,OAAOjK,EAAKg6B,QAAO,CAACpuB,EAAKpe,KACrB,MAAM8f,EAAOvO,EAAMvR,GAInB,OAHI8f,IACA1B,EAAIpe,GAAO8f,KAER1B,CAAG,GACX,CAAC,EAEZ,CAEA,SAAS00F,GAAmBj2E,GACxB,OAAO,KACX,CAmDA,MAAMk2E,GAAqC,CAEvC17F,KAAM,SACN/I,MAAO,EAAO,CACV0kG,QAAS,CACLjzG,KAAMwX,OACN4kE,UAAU,GAEd2f,OAAQ,CACJ/7F,KAAM,CAACuD,OAAQiU,QAEf84C,UAAYlnD,GAAQksD,EAASlsD,KAASslC,MAAMtlC,KAEjDypG,IAGHr6F,MAAMjK,EAAOsb,GACT,MAAM,MAAErY,EAAK,MAAEC,GAAUoY,EAEnB05E,EAAOh1F,EAAMg1F,MACf2P,GAAQ,CACJC,SAAU5kG,EAAM1Q,MAChBu1G,gBAAgB,IAExB,MAAO,KACH,MAAM3gG,EAAOlR,OAAOkR,KAAKjB,GAAO/P,QAAOxB,GAAe,MAARA,IACxCgQ,EAAU,CAAC,EACb1B,EAAMktE,SACNxrE,EAAQwrE,OAASltE,EAAMktE,aAENp8E,IAAjBkP,EAAMwtF,SACN9rF,EAAQ8rF,OAAS,EAASxtF,EAAMwtF,SAAWxtF,EAAMwtF,OAASxtF,EAAMwtF,QAEpE,MAAM19E,EAAMy0F,GAAkBjpF,EAASpX,GAEjCY,EAAWkwF,EAAKkJ,IAAsBl+F,EAAM0kG,QAAS50F,EAAKpO,GAC1DojG,EAAgB,EAAO,CAAC,EAAG5hG,GAC3BqrB,EAAM,EAASvuB,EAAMuuB,MAAQ,EAASvuB,EAAMuuB,KAC5CvuB,EAAMuuB,IACNi2E,KACN,OAAO,KAAAjuF,GAAEgY,EAAKu2E,EAAehgG,EAAS,CAE9C,GAGJ,SAASoN,GAAQ1gB,GACb,OAAO,EAAQA,KAAY,EAASA,EAAO,GAC/C,CACA,SAASuzG,GAAgB/kG,EAAOsb,EAAS0pF,EAAUC,GAC/C,MAAM,MAAEhiG,EAAK,MAAEC,GAAUoY,EACzB,MAAO,KACH,MAAM5Z,EAAU,CAAEq6F,MAAM,GACxB,IAAIF,EAAY,CAAC,EACb77F,EAAMktE,SACNxrE,EAAQwrE,OAASltE,EAAMktE,QAEvB,EAASltE,EAAM2tE,QACfjsE,EAAQhQ,IAAMsO,EAAM2tE,OAEf,EAAS3tE,EAAM2tE,UAEhB,EAAS3tE,EAAM2tE,OAAOj8E,OAEtBgQ,EAAQhQ,IAAMsO,EAAM2tE,OAAOj8E,KAG/BmqG,EAAY7oG,OAAOkR,KAAKlE,EAAM2tE,QAAQzvC,QAAO,CAACx8B,EAASwX,IAC5C8rF,EAASvmG,SAASya,GACnB,EAAO,CAAC,EAAGxX,EAAS,CAAE,CAACwX,GAAOlZ,EAAM2tE,OAAOz0D,KAC3CxX,GACP,CAAC,IAER,MAAM4kD,EAAQ2+C,EAAkBjlG,EAAMvL,MAAOiN,EAASm6F,GACtD,IAAI/2F,EAAW,CAACpD,EAAQhQ,KACpB,EAAQ40D,GACRxhD,EAAWwhD,EAAMnzD,KAAI,CAAC4oG,EAAM3tG,KACxB,MAAMojB,EAAOvO,EAAM84F,EAAKtqG,MAClBu3B,EAAOxX,EACPA,EAAK,CAAE,CAACuqF,EAAKtqG,MAAOsqG,EAAKtnG,MAAOrG,QAAOk4D,UACvC,CAACy1C,EAAKtnG,OAIZ,OAHIyd,GAAQ8W,KACRA,EAAK,GAAGt3B,IAAM,GAAGqqG,EAAKtqG,QAAQrD,KAE3B46B,CAAI,IAGV,EAASs9B,KACdxhD,EAAW,CAACwhD,IAEhB,MAAMw+C,EAAgB,EAAO,CAAC,EAAG5hG,GAC3BqrB,EAAM,EAASvuB,EAAMuuB,MAAQ,EAASvuB,EAAMuuB,KAC5CvuB,EAAMuuB,IACNi2E,KACN,OAAO,KAAAjuF,GAAEgY,EAAKu2E,EAAehgG,EAAS,CAE9C,CAmBA,MAAM62F,GAAsC,CAExC5yF,KAAM,SACN/I,MAAO,EAAO,CACVvL,MAAO,CACHhD,KAAMuD,OACN64E,UAAU,GAEdF,OAAQ,CACJl8E,KAAM,CAACwX,OAAQjW,UAEpBsxG,IAGHr6F,MAAMjK,EAAOsb,GACT,MAAM05E,EAAOh1F,EAAMg1F,MACf2P,GAAQ,CAAEC,SAAU,SAAUC,gBAAgB,IAClD,OAAOE,GAAgB/kG,EAAOsb,EAASihF,IAA4B,IAAI7oG,IAEvEshG,EAAKoJ,OAAsB1qG,IAC/B,GAoBEwxG,GAAuC,CAEzCn8F,KAAM,SACN/I,MAAO,EAAO,CACVvL,MAAO,CACHhD,KAAM,CAACuD,OAAQk8B,MACf28C,UAAU,GAEdF,OAAQ,CACJl8E,KAAM,CAACwX,OAAQjW,UAEpBsxG,IAGHr6F,MAAMjK,EAAOsb,GACT,MAAM05E,EAAOh1F,EAAMg1F,MACf2P,GAAQ,CAAEC,SAAU,SAAUC,gBAAgB,IAClD,OAAOE,GAAgB/kG,EAAOsb,EAAS4gF,IAA8B,IAAIxoG,IAEzEshG,EAAKmJ,OAAwBzqG,IACjC,GAGJ,SAASyxG,GAAcnQ,EAAMn5F,GACzB,MAAMupG,EAAepQ,EACrB,GAAkB,gBAAdA,EAAKhsF,KACL,OAAQo8F,EAAaC,cAAcxpG,IAAam5F,EAAKv6B,OAEpD,CACD,MAAMspC,EAAUqB,EAAaC,cAAcxpG,GAC3C,OAAkB,MAAXkoG,EACDA,EAAQE,WACRjP,EAAKv6B,OAAOwpC,UACtB,CACJ,CACA,SAASqB,GAAYtQ,GACjB,MAAMuQ,EAAYn1F,IACd,MAAM,SAAEvU,EAAQ,UAAEkU,EAAS,MAAEtb,GAAU2b,EAEvC,IAAKvU,IAAaA,EAASyW,EACvB,MAAM2rF,GAAgBd,GAAeS,kBAEzC,MAAMqF,EAAWkC,GAAcnQ,EAAMn5F,EAASyW,GAI9C,MAAMkzF,EAAcC,GAAWhxG,GAC/B,MAAO,CACHF,QAAQT,MAAMmvG,EAASppF,EAAGopF,EAAU,IAAIyC,GAAWF,KACnDvC,EACH,EAEC/sF,EAAW,CAACxQ,EAAI0K,KAClB,MAAOye,EAAao0E,GAAYsC,EAASn1F,GACrCw1E,GAAaoP,EAAKv6B,SAAWwoC,IAE7Bv9F,EAAGigG,eAAgB,SAAM1C,EAAS/1B,QAAQ,KACtC98D,EAAQvU,UAAYuU,EAAQvU,SAASsX,cAAc,KAG3DzN,EAAGu+F,WAAahB,EAChBv9F,EAAGmpB,YAAcA,CAAW,EAE1B8tD,EAAcj3E,IACZkgF,GAAalgF,EAAGigG,gBAChBjgG,EAAGigG,gBACHjgG,EAAGigG,mBAAgB70G,SACZ4U,EAAGigG,eAEVjgG,EAAGu+F,aACHv+F,EAAGu+F,gBAAanzG,SACT4U,EAAGu+F,WACd,EAEE14F,EAAS,CAAC7F,GAAMjR,YAClB,GAAIiR,EAAGu+F,WAAY,CACf,MAAMhB,EAAWv9F,EAAGu+F,WACduB,EAAcC,GAAWhxG,GAC/BiR,EAAGmpB,YAAct6B,QAAQT,MAAMmvG,EAASppF,EAAGopF,EAAU,IAC9CyC,GAAWF,IAEtB,GAEEI,EAAex1F,IACjB,MAAOye,GAAe02E,EAASn1F,GAC/B,MAAO,CAAEye,cAAa,EAE1B,MAAO,CACHpa,QAASyB,EACTjB,UAAW0nE,EACXhoE,aAAcpJ,EACdq6F,cAER,CACA,SAASH,GAAWhxG,GAChB,GAAI,EAASA,GACT,MAAO,CAAEwT,KAAMxT,GAEd,GAAI2pC,EAAc3pC,GAAQ,CAC3B,KAAM,SAAUA,GACZ,MAAMwpG,GAAgBd,GAAeK,eAAgB,QAEzD,OAAO/oG,CACX,CAEI,MAAMwpG,GAAgBd,GAAeM,cAE7C,CACA,SAASiI,GAAWjxG,GAChB,MAAM,KAAEwT,EAAI,OAAEilE,EAAM,KAAEx5E,EAAI,OAAEkgG,EAAM,OAAEpG,GAAW/4F,EACzCiN,EAAU,CAAC,EACXsyF,EAAQtgG,GAAQ,CAAC,EAUvB,OATI,EAASw5E,KACTxrE,EAAQwrE,OAASA,GAEjBnmB,EAAS6sC,KACTlyF,EAAQ8rF,OAASoG,GAEjB7sC,EAASymC,KACT9rF,EAAQ8rF,OAASA,GAEd,CAACvlF,EAAM+rF,EAAOtyF,EACzB,CAEA,SAAS5N,GAAM6mB,EAAKq6E,KAAStzF,GACzB,MAAMmkG,EAAgBznE,EAAc18B,EAAQ,IACtCA,EAAQ,GACR,CAAC,EACDokG,IAAyBD,EAAcC,qBACvCC,GAAgB,EAAUF,EAAcE,gBACxCF,EAAcE,cAOhBA,IAEAprF,EAAI3V,UAAW8gG,EAA0C,OAAnBrB,GAAY17F,KAAe07F,IACjE9pF,EAAI3V,UAAU22F,GAAa5yF,KAAM4yF,IACjChhF,EAAI3V,UAAUkgG,GAAen8F,KAAMm8F,KAInCvqF,EAAIwB,UAAU,IAAKmpF,GAAYtQ,GAEvC,CAsXA,SAASgR,GAAYC,EAAShD,EAAUjO,GACpC,MAAO,CACH9gF,eACI,MAAMrY,GAAW,WAEjB,IAAKA,EACD,MAAMoiG,GAAgBd,GAAeS,kBAEzC,MAAMl8F,EAAU3T,KAAKklB,SACrB,GAAIvR,EAAQszF,KAAM,CACd,MAAMkR,EAAcxkG,EAAQszF,KACxBtzF,EAAQi9F,SACRuH,EAAYvH,OAASj9F,EAAQi9F,QAEjCuH,EAAYlG,OAASiD,EACjBl1G,OAASA,KAAKglB,MACdhlB,KAAKo4G,MAAQC,GAAYH,EAASC,IAGlCA,EAAY9C,oBAAqB,EACjCr1G,KAAKo4G,MAAQrC,GAAcoC,GAEnC,MACSxkG,EAAQi9F,OACT5wG,OAASA,KAAKglB,MACdhlB,KAAKo4G,MAAQC,GAAYH,EAASvkG,GAGlC3T,KAAKo4G,MAAQrC,GAAc,CACvBnF,OAAQj9F,EAAQi9F,OAChByE,oBAAoB,EACpBpD,OAAQiD,IAMhBl1G,KAAKo4G,MAAQF,EAEbvkG,EAAQ49F,cACRF,GAAoB6D,EAAUvhG,EAASA,GAE3CukG,EAAQ7B,6BAA6Br2G,KAAKo4G,OAC1CnR,EAAKqR,cAAcxqG,EAAU9N,KAAKo4G,OAElCp4G,KAAK42F,GAAK,IAAIjxF,IAAS3F,KAAKo4G,MAAMtsF,KAAKnmB,GACvC3F,KAAKu4G,IAAM,IAAI5yG,IAAS3F,KAAKo4G,MAAMnlB,MAAMttF,GACzC3F,KAAKw4G,IAAM,IAAI7yG,IAAS3F,KAAKo4G,MAAMjC,MAAMxwG,GACzC3F,KAAKy4G,IAAM,CAAC90G,EAAKw7E,IAAWn/E,KAAKo4G,MAAMloB,GAAGvsF,EAAKw7E,GAC/Cn/E,KAAK04G,GAAK,IAAI/yG,IAAS3F,KAAKo4G,MAAMlvE,KAAKvjC,GACvC3F,KAAK24G,GAAK,IAAIhzG,IAAS3F,KAAKo4G,MAAMx2G,KAAK+D,GACvC3F,KAAK44G,IAAOj1G,GAAQ3D,KAAKo4G,MAAMxD,GAAGjxG,EACtC,EACAse,UAEQ,CAWR,EACAiF,YACI,MAAMpZ,GAAW,WAEjB,IAAKA,EACD,MAAMoiG,GAAgBd,GAAeS,yBAiBlC7vG,KAAK42F,UACL52F,KAAKu4G,WACLv4G,KAAKw4G,WACLx4G,KAAKy4G,WACLz4G,KAAK04G,UACL14G,KAAK24G,UACL34G,KAAK44G,IACZ3R,EAAK4R,iBAAiB/qG,UACf9N,KAAKo4G,KAChB,EAER,CACA,SAASC,GAAYniG,EAAMvC,GACvBuC,EAAKipE,OAASxrE,EAAQwrE,QAAUjpE,EAAKipE,OACrCjpE,EAAK4zF,eAAiBn2F,EAAQm2F,gBAAkB5zF,EAAK4zF,eACrD5zF,EAAK+zF,QAAUt2F,EAAQs2F,SAAW/zF,EAAK+zF,QACvC/zF,EAAKq/F,sBACD5hG,EAAQ4hG,uBAAyBr/F,EAAKs/F,mBAC1Ct/F,EAAKs/F,mBACD7hG,EAAQ6hG,oBAAsBt/F,EAAKs/F,mBACvCt/F,EAAKu/F,uBACD9hG,EAAQ8hG,wBAA0Bv/F,EAAKu/F,uBAC3Cv/F,EAAKo0F,gBAAkB32F,EAAQ22F,iBAAmBp0F,EAAKo0F,gBACvDp0F,EAAKy/F,kBAAoBhiG,EAAQgiG,mBAAqBz/F,EAAKy/F,kBAC3Dz/F,EAAK0/F,oBACDjiG,EAAQiiG,qBAAuB1/F,EAAK0/F,oBACxC1/F,EAAK2/F,KAAOliG,EAAQkiG,MAAQ3/F,EAAK2/F,KACjC3/F,EAAKggG,WAAW5F,IAAsB38F,EAAQ+hG,oBAAsBx/F,EAAKw/F,oBACzE,MAAMhc,EAAWiX,GAAkBz6F,EAAKipE,OAAQ,CAC5Cua,SAAU/lF,EAAQ+lF,SAClBkX,OAAQj9F,EAAQi9F,SASpB,OAPA3rG,OAAOkR,KAAKujF,GAAUh1F,SAAQy6E,GAAUjpE,EAAKs7F,mBAAmBryB,EAAQua,EAASva,MAC7ExrE,EAAQo2F,iBACR9kG,OAAOkR,KAAKxC,EAAQo2F,iBAAiBrlG,SAAQy6E,GAAUjpE,EAAKu7F,oBAAoBtyB,EAAQxrE,EAAQo2F,gBAAgB5qB,MAEhHxrE,EAAQq2F,eACR/kG,OAAOkR,KAAKxC,EAAQq2F,eAAetlG,SAAQy6E,GAAUjpE,EAAKw7F,kBAAkBvyB,EAAQxrE,EAAQq2F,cAAc7qB,MAEvGjpE,CACX,CAWA,MAAM4iG,GACS,EAAW,mBAE1B,SAASC,GAAWplG,EAAU,CAAC,EAAGq+F,GAE9B,MAAMgH,GAA0C,EAAUrlG,EAAQslG,SACxDtlG,EAAQslG,OAGZC,GAAoB,EAAUvlG,EAAQwlG,kBACtCxlG,EAAQwlG,gBAGRC,GAAgDJ,KAC1CrlG,EAAQ0lG,iBAEdC,EAAc,IAAIv1G,KACjBw1G,EAAaC,GAAYC,GAAa9lG,EAASqlG,GAChD7kC,EAAS,EAAkE,IACjF,SAASmjC,EAAcrgG,GACnB,OAAOqiG,EAAYz1G,IAAIoT,IAAc,IACzC,CACA,SAASqhG,EAAcrhG,EAAWnJ,GAC9BwrG,EAAYx1G,IAAImT,EAAWnJ,EAC/B,CACA,SAAS+qG,EAAiB5hG,GACtBqiG,EAAYl3G,OAAO6U,EACvB,CACA,CACI,MAAMgwF,EAAO,CAELhsF,WACA,OAAkC+9F,EAC5B,SACA,aACV,EAEIK,uBACA,OAAOD,CACX,EAEAM,cAAc9sF,KAAQjZ,GAMlBiZ,EAAI+sF,oBAAsBxlC,EAC1BvnD,EAAI1U,QAAQ0U,EAAI+sF,oBAAqB1S,IAEhC+R,GAAgBE,GACjBU,GAAmBhtF,EAAKq6E,EAAKv6B,QAI7B3mE,GAAM6mB,EAAKq6E,KAAStzF,GAGOqlG,GAC3BpsF,EAAIuB,MAAM8pF,GAAYuB,EAAUA,EAAStD,WAAYjP,IAGzD,MAAM4S,EAAajtF,EAAI8B,QACvB9B,EAAI8B,QAAU,KACVu4E,EAAK6S,UACLD,GAAY,CAoBpB,EAEIntC,aACA,OAAO8sC,CACX,EACAM,UACIP,EAAY14G,MAChB,EAEAy4G,cAEAhC,gBAEAgB,gBAEAO,oBAEJ,OAAO5R,CACX,CACJ,CAEA,SAAS2P,GAAQjjG,EAAU,CAAC,GACxB,MAAM7F,GAAW,WACjB,GAAgB,MAAZA,EACA,MAAMoiG,GAAgBd,GAAeE,wBAEzC,IAAKxhG,EAAS0V,MACiB,MAA3B1V,EAASc,WAAWge,MACnB9e,EAASc,WAAWge,IAAI+sF,oBACzB,MAAMzJ,GAAgBd,GAAeG,eAEzC,MAAMtI,EAAO8S,GAAgBjsG,GACvB4+D,EAASstC,GAAkB/S,GAC3BqK,EAAmBF,GAAoBtjG,GACvCvM,EAAQ04G,GAAStmG,EAAS29F,GAG5B,GAAkB,WAAdrK,EAAKhsF,OAAsBtH,EAAQmjG,eAAgB,CACnD,IAAK7P,EAAKoS,iBACN,MAAMnJ,GAAgBd,GAAeI,8BAEzC,OAAO0K,GAAiBpsG,EAAUvM,EAAOmrE,EAAQ/4D,EACrD,CAEJ,GAAc,WAAVpS,EAEA,OADA8vG,GAAoB3kC,EAAQ/4D,EAAS29F,GAC9B5kC,EAEX,GAAc,WAAVnrE,EAAoB,CAEpB,IAAI2zG,EAAWiF,GAAYlT,EAAMn5F,EAAU6F,EAAQmjG,gBAOnD,OANgB,MAAZ5B,IAIAA,EAAWxoC,GAERwoC,CACX,CACA,MAAMmC,EAAepQ,EACrB,IAAIiO,EAAWmC,EAAaC,cAAcxpG,GAC1C,GAAgB,MAAZonG,EAAkB,CAClB,MAAMkF,EAAkB,EAAO,CAAC,EAAGzmG,GAC/B,WAAY29F,IACZ8I,EAAgBxJ,OAASU,EAAiBV,QAE1ClkC,IACA0tC,EAAgBnI,OAASvlC,GAE7BwoC,EAAWnD,GAAeqI,GAC1BC,GAAehD,EAAcvpG,EAAUonG,GACvCmC,EAAaiB,cAAcxqG,EAAUonG,EACzC,CACA,OAAOA,CACX,CAyBA,SAASuE,GAAa9lG,EAAS2mG,EAAYtI,GAEvC,MAAMzwG,GAAQ,UACd,CACI,MAAM0wC,EAAiCqoE,EACjC/4G,EAAMf,KAAI,IAAMu1G,GAAcpiG,KAC9BpS,EAAMf,KAAI,IAAMuxG,GAAep+F,KACrC,GAAW,MAAPs+B,EACA,MAAMi+D,GAAgBd,GAAeS,kBAEzC,MAAO,CAACtuG,EAAO0wC,EACnB,CACJ,CACA,SAAS8nE,GAAgBjsG,GACrB,CACI,MAAMm5F,GAAO,SAAQn5F,EAAS0V,KAExBs1F,GADAhrG,EAASc,WAAWge,IAAI+sF,qBAG9B,IAAK1S,EACD,MAAMiJ,GAAiBpiG,EAAS0V,KAE1B4rF,GAAeQ,2BADfR,GAAeS,kBAGzB,OAAO5I,CACX,CACJ,CAEA,SAASgT,GAAStmG,EAAS29F,GAEvB,OAAOlZ,EAAczkF,GACd,WAAY29F,EACT,QACA,SACH39F,EAAQkjG,SAELljG,EAAQkjG,SADR,OAEd,CACA,SAASmD,GAAkB/S,GAEvB,MAAqB,gBAAdA,EAAKhsF,KACFgsF,EAAKv6B,OACLu6B,EAAKv6B,OAAOwpC,UAE1B,CACA,SAASiE,GAAYlT,EAAMxjG,EAAQ82G,GAAe,GAC9C,IAAIrF,EAAW,KACf,MAAMh/F,EAAOzS,EAAOyS,KACpB,IAAIkK,EAAU3c,EAAOrD,OACrB,MAAkB,MAAXggB,EAAiB,CACpB,MAAMi3F,EAAepQ,EACrB,GAAkB,gBAAdA,EAAKhsF,KACLi6F,EAAWmC,EAAaC,cAAcl3F,OAGT,CACzB,MAAM41F,EAAUqB,EAAaC,cAAcl3F,GAC5B,MAAX41F,IACAd,EAAWc,EACNE,WACDqE,GACArF,IACCA,EAAS3E,MAEV2E,EAAW,MAGvB,CAEJ,GAAgB,MAAZA,EACA,MAEJ,GAAIh/F,IAASkK,EACT,MAEJA,EAAUA,EAAQhgB,MACtB,CACA,OAAO80G,CACX,CACA,SAASmF,GAAepT,EAAMxjG,EAAQyxG,IAG9B,UAAU,KAEF,CAEkB,GAQvBzxG,IACH,UAAY,KAYRwjG,EAAK4R,iBAAiBp1G,EAAO,GAC9BA,EAEX,CACA,SAASy2G,GAAiBpsG,EAAUvM,EAAO2U,EAAMvC,EAAU,CAAC,GAExD,MAAM6mG,EAAqB,UAAVj5G,EACXk5G,GAAY,SAAW,MAC7B,GAAID,GACA1sG,EAASjD,QACPiD,EAASjD,MAAMqa,SAAS+hF,OAAQn5F,EAASjD,MAAMqa,SAAS0rF,OAC1D,MAAMV,GAAgBd,GAAeY,8CAEzC,MAAMmC,GAAiB,EAAUx+F,EAAQy+F,gBACnCz+F,EAAQy+F,cAERC,GAAU,SAEhBmI,GAAYrI,EACNj8F,EAAKipE,OAAOz4E,MACZ,EAASiN,EAAQwrE,QACbxrE,EAAQwrE,OACR4oB,IACJuK,GAAkB,SAExBkI,GAAYrI,EACNj8F,EAAK4zF,eAAepjG,MACpB,EAASiN,EAAQm2F,iBACf,EAAQn2F,EAAQm2F,iBAChBz5D,EAAc18B,EAAQm2F,kBACK,IAA3Bn2F,EAAQm2F,eACNn2F,EAAQm2F,eACRuI,EAAQ3rG,OACZ6rG,GAAY,SAAI5B,GAAkB0B,EAAQ3rG,MAAOiN,IAEjD6+F,GAAmB,SAAIniE,EAAc18B,EAAQo2F,iBAC7Cp2F,EAAQo2F,gBACR,CAAE,CAACsI,EAAQ3rG,OAAQ,CAAC,IAEpB+rG,GAAiB,SAAIpiE,EAAc18B,EAAQq2F,eAC3Cr2F,EAAQq2F,cACR,CAAE,CAACqI,EAAQ3rG,OAAQ,CAAC,IAEpBgsG,EAAe8H,EACftkG,EAAKg0F,aACL,EAAUv2F,EAAQu2F,eAAgB/R,EAASxkF,EAAQu2F,cAC/Cv2F,EAAQu2F,YAGZyI,EAAgB6H,EAChBtkG,EAAKi0F,cACL,EAAUx2F,EAAQw2F,gBAAiBhS,EAASxkF,EAAQw2F,eAChDx2F,EAAQw2F,aAGZyI,EAAgB4H,EAChBtkG,EAAK28F,cACL,EAAUl/F,EAAQk/F,eACdl/F,EAAQk/F,aAGZC,IAAoBn/F,EAAQy2F,eAE5B2I,EAAW,EAAWp/F,EAAQs2F,SAAWt2F,EAAQs2F,QAAU,KAE3DgJ,EAAmB,EAAWt/F,EAAQ22F,iBACtC32F,EAAQ22F,gBACR,KAEA4I,EAAmBsH,EACnBtkG,EAAKq0F,iBACL,EAAU52F,EAAQ42F,kBACd52F,EAAQ42F,gBAEZ4I,IAAqBx/F,EAAQ62F,gBAE7B4I,EAAaoH,EACbtkG,EAAK8L,UACLquB,EAAc18B,EAAQqO,WAClBrO,EAAQqO,UACR,CAAC,EAELqxF,EAAe1/F,EAAQ0yF,aAAgBmU,GAAYtkG,EAAKmwF,YAE9D,SAASmN,IACL,MAAO,CACHnB,EAAQ3rG,MACR4rG,EAAgB5rG,MAChB6rG,EAAU7rG,MACV8rG,EAAiB9rG,MACjB+rG,EAAe/rG,MAEvB,CAEA,MAAMy4E,GAAS,SAAS,CACpBt7E,IAAK,IACM42G,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMy4E,OAAOz4E,MAAQ2rG,EAAQ3rG,MAEpE5C,IAAKgJ,IACG2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAMy4E,OAAOz4E,MAAQoG,GAEnCulG,EAAQ3rG,MAAQoG,CAAG,IAIrBg9F,GAAiB,SAAS,CAC5BjmG,IAAK,IACM42G,EAAU/zG,MACX+zG,EAAU/zG,MAAMojG,eAAepjG,MAC/B4rG,EAAgB5rG,MAE1B5C,IAAKgJ,IACG2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAMojG,eAAepjG,MAAQoG,GAE3CwlG,EAAgB5rG,MAAQoG,CAAG,IAI7B4sF,GAAW,UAAS,IAClB+gB,EAAU/zG,MAEH+zG,EAAU/zG,MAAMgzF,SAAShzF,MAIzB6rG,EAAU7rG,QAGnBqjG,GAAkB,UAAS,IAAMyI,EAAiB9rG,QAClDsjG,GAAgB,UAAS,IAAMyI,EAAe/rG,QACpD,SAAS+sG,IACL,OAAOgH,EAAU/zG,MACX+zG,EAAU/zG,MAAM+sG,4BAChBR,CACV,CACA,SAASS,EAA0BhhG,GAC3B+nG,EAAU/zG,OACV+zG,EAAU/zG,MAAMgtG,0BAA0BhhG,EAElD,CACA,SAASihG,IACL,OAAO8G,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMitG,oBAAsBZ,CACnE,CACA,SAASa,EAAkBlhG,GACnB+nG,EAAU/zG,OACV+zG,EAAU/zG,MAAMktG,kBAAkBlhG,EAE1C,CACA,SAASgoG,EAAaj6G,GAElB,OADA+yG,IACO/yG,GACX,CACA,SAASqrB,KAAKnmB,GACV,OAAO80G,EAAU/zG,MACXg0G,GAAa,IAAMl0G,QAAQT,MAAM00G,EAAU/zG,MAAMolB,EAAG,KAAM,IAAInmB,MAC9D+0G,GAAa,IAAM,IAC7B,CACA,SAASznB,KAAMttF,GACX,OAAO80G,EAAU/zG,MACXF,QAAQT,MAAM00G,EAAU/zG,MAAMusF,GAAI,KAAM,IAAIttF,IAC5C,EACV,CACA,SAASujC,KAAKvjC,GACV,OAAO80G,EAAU/zG,MACXg0G,GAAa,IAAMl0G,QAAQT,MAAM00G,EAAU/zG,MAAMwiC,EAAG,KAAM,IAAIvjC,MAC9D+0G,GAAa,IAAM,IAC7B,CACA,SAAS94G,KAAK+D,GACV,OAAO80G,EAAU/zG,MACXg0G,GAAa,IAAMl0G,QAAQT,MAAM00G,EAAU/zG,MAAM9E,EAAG,KAAM,IAAI+D,MAC9D+0G,GAAa,IAAM,IAC7B,CACA,SAAS9F,EAAGjxG,GACR,OAAO82G,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMkuG,GAAGjxG,GAAO,CAAC,CACxD,CACA,SAASusF,EAAGvsF,EAAKw7E,GACb,QAAOs7B,EAAU/zG,OAAQ+zG,EAAU/zG,MAAMwpF,GAAGvsF,EAAKw7E,EACrD,CACA,SAASq1B,EAAiBr1B,GACtB,OAAOs7B,EAAU/zG,MAAQ+zG,EAAU/zG,MAAM8tG,iBAAiBr1B,GAAU,CAAC,CACzE,CACA,SAAS01B,EAAiB11B,EAAQjsB,GAC1BunD,EAAU/zG,QACV+zG,EAAU/zG,MAAMmuG,iBAAiB11B,EAAQjsB,GACzCq/C,EAAU7rG,MAAMy4E,GAAUjsB,EAElC,CACA,SAASs+C,EAAmBryB,EAAQjsB,GAC5BunD,EAAU/zG,OACV+zG,EAAU/zG,MAAM8qG,mBAAmBryB,EAAQjsB,EAEnD,CACA,SAAS4hD,EAAkB31B,GACvB,OAAOs7B,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMouG,kBAAkB31B,GAAU,CAAC,CAC1E,CACA,SAAS41B,EAAkB51B,EAAQS,GAC3B66B,EAAU/zG,QACV+zG,EAAU/zG,MAAMquG,kBAAkB51B,EAAQS,GAC1C4yB,EAAiB9rG,MAAMy4E,GAAUS,EAEzC,CACA,SAAS6xB,EAAoBtyB,EAAQS,GAC7B66B,EAAU/zG,OACV+zG,EAAU/zG,MAAM+qG,oBAAoBtyB,EAAQS,EAEpD,CACA,SAASo1B,EAAgB71B,GACrB,OAAOs7B,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMsuG,gBAAgB71B,GAAU,CAAC,CACxE,CACA,SAAS81B,EAAgB91B,EAAQS,GACzB66B,EAAU/zG,QACV+zG,EAAU/zG,MAAMuuG,gBAAgB91B,EAAQS,GACxC6yB,EAAe/rG,MAAMy4E,GAAUS,EAEvC,CACA,SAAS8xB,EAAkBvyB,EAAQS,GAC3B66B,EAAU/zG,OACV+zG,EAAU/zG,MAAMgrG,kBAAkBvyB,EAAQS,EAElD,CACA,MAAMx+C,GAAU,CACRlxB,SACA,OAAOuqG,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMwJ,IAAM,CACnD,EACAivE,SACA2qB,iBACApQ,WACAqQ,kBACAC,gBACIoI,oBACA,OAAOqI,EAAU/zG,MAAQ+zG,EAAU/zG,MAAM0rG,cAAgBD,CAC7D,EACIC,kBAActlG,GACV2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAM0rG,cAAgBtlG,EAExC,EACIqoG,uBACA,OAAOsF,EAAU/zG,MACX+zG,EAAU/zG,MAAMyuG,iBAChBlwG,OAAOkR,KAAKo8F,EAAU7rG,MAChC,EACIsb,gBACA,OAAQy4F,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMsb,UAAYoxF,CAC1D,EACI/M,kBACA,OAAQoU,EAAU/zG,MAAQ+zG,EAAU/zG,MAAM2/F,YAAcgN,CAC5D,EACI+B,eACA,QAAOqF,EAAU/zG,OAAQ+zG,EAAU/zG,MAAM0uG,QAC7C,EACIlL,kBACA,OAAOuQ,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMwjG,YAAcwI,CAC3D,EACIxI,gBAAYp9F,GACR2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAMwjG,YAAcp9F,EAEtC,EACIq9F,mBACA,OAAOsQ,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMyjG,aAAewI,CAC5D,EACIxI,iBAAar9F,GACT2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAMwjG,YAAcp9F,EAEtC,EACI+lG,mBACA,OAAO4H,EAAU/zG,MAAQ+zG,EAAU/zG,MAAMmsG,aAAeD,CAC5D,EACIC,iBAAa/lG,GACT2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAMmsG,aAAe/lG,EAEvC,EACIs9F,qBACA,OAAOqQ,EAAU/zG,MAAQ+zG,EAAU/zG,MAAM0jG,eAAiB0I,CAC9D,EACI1I,mBAAet9F,GACX2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAM0jG,eAAiBt9F,EAEzC,EACIy9F,sBACA,OAAOkQ,EAAU/zG,MACX+zG,EAAU/zG,MAAM6jG,gBAChB2I,CACV,EACI3I,oBAAgBz9F,GACZ2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAM6jG,gBAAkBz9F,EAE1C,EACI09F,sBACA,OAAOiQ,EAAU/zG,MACX+zG,EAAU/zG,MAAM8jG,gBAChB2I,CACV,EACI3I,oBAAgB19F,GACZ2tG,EAAU/zG,QACV+zG,EAAU/zG,MAAM8jG,gBAAkB19F,EAE1C,EACAgf,IACA2nF,4BACAC,4BACAC,oBACAC,oBACA3gB,KACA/pD,IACAtnC,IACAgzG,KACA1kB,KACAskB,mBACAK,mBACArD,qBACAsD,oBACAC,oBACAtD,sBACAuD,kBACAC,kBACAvD,qBAEJ,SAASmE,GAAKX,GACVA,EAAS/1B,OAAOz4E,MAAQ2rG,EAAQ3rG,MAChCwuG,EAASpL,eAAepjG,MAAQ4rG,EAAgB5rG,MAChDzB,OAAOkR,KAAKo8F,EAAU7rG,OAAOhC,SAAQy6E,IACjC+1B,EAAS1D,mBAAmBryB,EAAQozB,EAAU7rG,MAAMy4E,GAAQ,IAEhEl6E,OAAOkR,KAAKq8F,EAAiB9rG,OAAOhC,SAAQy6E,IACxC+1B,EAASzD,oBAAoBtyB,EAAQqzB,EAAiB9rG,MAAMy4E,GAAQ,IAExEl6E,OAAOkR,KAAKs8F,EAAe/rG,OAAOhC,SAAQy6E,IACtC+1B,EAASxD,kBAAkBvyB,EAAQszB,EAAe/rG,MAAMy4E,GAAQ,IAEpE+1B,EAAS1K,gBAAkB2I,EAC3B+B,EAAS9K,eAAiB0I,EAC1BoC,EAASrC,aAAeD,EACxBsC,EAAS/K,aAAewI,EACxBuC,EAAShL,YAAcwI,EACvBwC,EAAS3K,gBAAkB2I,CAC/B,CAmBA,OAlBA,UAAc,KACV,GAAsB,MAAlBplG,EAASjD,OAAyC,MAAxBiD,EAASjD,MAAMutG,MACzC,MAAMlI,GAAgBd,GAAea,qCAGzC,MAAMiF,EAAYuF,EAAU/zG,MAAQoH,EAASjD,MAAMutG,MAC9ClC,WACS,WAAV30G,GACA8wG,EAAQ3rG,MAAQwuG,EAAS/1B,OAAOz4E,MAChC4rG,EAAgB5rG,MAAQwuG,EAASpL,eAAepjG,MAChD6rG,EAAU7rG,MAAQwuG,EAASxb,SAAShzF,MACpC8rG,EAAiB9rG,MAAQwuG,EAASnL,gBAAgBrjG,MAClD+rG,EAAe/rG,MAAQwuG,EAASlL,cAActjG,OAEzC8zG,GACL3E,GAAKX,EACT,IAEG9zE,EACX,CACA,MAAMu5E,GAAoB,CACtB,SACA,iBACA,oBAEEC,GAAsB,CAAC,IAAK,KAAM,IAAK,IAAK,MAClD,SAAShB,GAAmBhtF,EAAKsoF,GAC7B,MAAMjO,EAAOhiG,OAAOqT,OAAO,MAC3BqiG,GAAkBj2G,SAAQymB,IACtB,MAAMyvC,EAAO31D,OAAOmmE,yBAAyB8pC,EAAU/pF,GACvD,IAAKyvC,EACD,MAAMs1C,GAAgBd,GAAeS,kBAEzC,MAAM9nG,GAAO,SAAM6yD,EAAKl0D,OAClB,CACE7C,MACI,OAAO+2D,EAAKl0D,MAAMA,KACtB,EAEA5C,IAAIgJ,GACA8tD,EAAKl0D,MAAMA,MAAQoG,CACvB,GAEF,CACEjJ,MACI,OAAO+2D,EAAK/2D,KAAO+2D,EAAK/2D,KAC5B,GAERoB,OAAO+gB,eAAeihF,EAAM97E,EAAMpjB,EAAK,IAE3C6kB,EAAI/d,OAAOiX,iBAAiBsyF,MAAQnR,EACpC2T,GAAoBl2G,SAAQqE,IACxB,MAAM6xD,EAAO31D,OAAOmmE,yBAAyB8pC,EAAUnsG,GACvD,IAAK6xD,IAASA,EAAKl0D,MACf,MAAMwpG,GAAgBd,GAAeS,kBAEzC5qG,OAAO+gB,eAAe4G,EAAI/d,OAAOiX,iBAAkB,IAAI/c,IAAU6xD,EAAK,GAE9E,CAYA,GATAouC,GAAwBwC,IAExBtC,GAAwB5D,IAExB8D,GAAyBvB,IAErBr4E,KAG2C27E,0BAA2B,CACtE,MAAM1nG,EAAS6uC,IACf7uC,EAAOo3G,aAAc,EACrB9T,GAAgBtjG,EAAOq3G,iCAC3B,C,kCCzvFA1sD,EAAQ,EAAU,CAAC2sD,EAAK9oG,KACpB,MAAMxO,EAASs3G,EAAIl+E,WAAak+E,EAChC,IAAK,MAAOp3G,EAAKmJ,KAAQmF,EACrBxO,EAAOE,GAAOmJ,EAElB,OAAOrJ,CAAM,C,sHCTV,SAASu3G,IACZ,OAAOC,IAAYC,4BACvB,CACO,SAASD,IAEZ,MAA6B,qBAAdx3E,WAA+C,qBAAXJ,OAC7CA,OACkB,qBAAX,EAAAmP,EACH,EAAAA,EACA,CAAC,CACf,CACO,MAAM2oE,EAAoC,oBAAVrwG,MCX1BswG,EAAa,wBACbC,EAA2B,sBCDxC,IAAIC,EACAC,EACG,SAASC,IACZ,IAAIxuG,EACJ,YAAkBjK,IAAdu4G,IAGkB,qBAAXj4E,QAA0BA,OAAOtW,aACxCuuF,GAAY,EACZC,EAAOl4E,OAAOtW,aAES,qBAAX,EAAAylB,IAAwD,QAA5BxlC,EAAK,EAAAwlC,EAAOipE,kBAA+B,IAAPzuG,OAAgB,EAASA,EAAG+f,cACxGuuF,GAAY,EACZC,EAAO,EAAA/oE,EAAOipE,WAAW1uF,aAGzBuuF,GAAY,GAXLA,CAcf,CACO,SAASl4E,IACZ,OAAOo4E,IAA2BD,EAAKn4E,MAAQD,KAAKC,KACxD,CCpBO,MAAMs4E,EACT57G,YAAYmuB,EAAQhQ,GAChBje,KAAKyD,OAAS,KACdzD,KAAK27G,YAAc,GACnB37G,KAAK47G,QAAU,GACf57G,KAAKiuB,OAASA,EACdjuB,KAAKie,KAAOA,EACZ,MAAM49F,EAAkB,CAAC,EACzB,GAAI5tF,EAAO6tF,SACP,IAAK,MAAM5rG,KAAM+d,EAAO6tF,SAAU,CAC9B,MAAM14F,EAAO6K,EAAO6tF,SAAS5rG,GAC7B2rG,EAAgB3rG,GAAMkT,EAAKrW,YAC/B,CAEJ,MAAMgvG,EAAsB,mCAAmC9tF,EAAO/d,KACtE,IAAI8rG,EAAkB/2G,OAAOqoB,OAAO,CAAC,EAAGuuF,GACxC,IACI,MAAM5wG,EAAMgxG,aAAaC,QAAQH,GAC3BxmG,EAAOu6B,KAAK2nB,MAAMxsD,GACxBhG,OAAOqoB,OAAO0uF,EAAiBzmG,EAInC,CAFA,MAAO0pB,GAEP,CACAj/B,KAAKm8G,UAAY,CACbC,cACI,OAAOJ,CACX,EACAK,YAAY31G,GACR,IACIu1G,aAAaK,QAAQP,EAAqBjsE,KAAKC,UAAUrpC,GAI7D,CAFA,MAAOu4B,GAEP,CACA+8E,EAAkBt1G,CACtB,EACA08B,MACI,OAAOA,GACX,GAEAnlB,GACAA,EAAKtd,GAAG06G,GAA0B,CAACkB,EAAU71G,KACrC61G,IAAav8G,KAAKiuB,OAAO/d,IACzBlQ,KAAKm8G,UAAUE,YAAY31G,EAC/B,IAGR1G,KAAKw8G,UAAY,IAAI1xG,MAAM,CAAC,EAAG,CAC3BjH,IAAK,CAAC44G,EAAStxF,IACPnrB,KAAKyD,OACEzD,KAAKyD,OAAO9C,GAAGwqB,GAGf,IAAIxlB,KACP3F,KAAK47G,QAAQr7G,KAAK,CACdwI,OAAQoiB,EACRxlB,QACF,IAKlB3F,KAAK08G,cAAgB,IAAI5xG,MAAM,CAAC,EAAG,CAC/BjH,IAAK,CAAC44G,EAAStxF,IACPnrB,KAAKyD,OACEzD,KAAKyD,OAAO0nB,GAEL,OAATA,EACEnrB,KAAKw8G,UAEPv3G,OAAOkR,KAAKnW,KAAKm8G,WAAWzrG,SAASya,GACnC,IAAIxlB,KACP3F,KAAK27G,YAAYp7G,KAAK,CAClBwI,OAAQoiB,EACRxlB,OACAgK,QAAS,SAEN3P,KAAKm8G,UAAUhxF,MAASxlB,IAI5B,IAAIA,IACA,IAAI+J,SAAQC,IACf3P,KAAK27G,YAAYp7G,KAAK,CAClBwI,OAAQoiB,EACRxlB,OACAgK,WACF,KAM1B,CACA+pG,oBAAoBj2G,GAChBzD,KAAKyD,OAASA,EACd,IAAK,MAAM2f,KAAQpjB,KAAK47G,QACpB57G,KAAKyD,OAAO9C,GAAGyiB,EAAKra,WAAWqa,EAAKzd,MAExC,IAAK,MAAMyd,KAAQpjB,KAAK27G,YACpBv4F,EAAKzT,cAAc3P,KAAKyD,OAAO2f,EAAKra,WAAWqa,EAAKzd,MAE5D,ECnGG,SAASg3G,EAAoBC,EAAkBC,GAClD,MAAM52F,EAAa22F,EACbn5G,EAASw3G,IACTh9F,EAAO+8F,IACP8B,EAAc3B,GAAoBl1F,EAAW82F,iBACnD,IAAI9+F,IAASxa,EAAOu5G,uCAA0CF,EAGzD,CACD,MAAMjyG,EAAQiyG,EAAc,IAAIpB,EAASz1F,EAAYhI,GAAQ,KACvD6vB,EAAOrqC,EAAOw5G,yBAA2Bx5G,EAAOw5G,0BAA4B,GAClFnvE,EAAKvtC,KAAK,CACNq8G,iBAAkB32F,EAClB42F,UACAhyG,UAEAA,GACAgyG,EAAQhyG,EAAM6xG,cACtB,MAZIz+F,EAAK7I,KAAKgmG,EAAYwB,EAAkBC,EAahD;;;;;;ACjBA,IAAIK,EAAW,QAEf,SAASC,EAAUx5G,GAGjB,YAFa,IAARA,IAAiBA,EAAM,OAErB,QAAe,OAARA,EAAeA,EAAMu5G,EACrC,CAuDA,SAASE,EAAcnrE,EAAKxxC,GAC1BwE,OAAOkR,KAAK87B,GAAKvtC,SAAQ,SAAUf,GAAO,OAAOlD,EAAGwxC,EAAItuC,GAAMA,EAAM,GACtE,CAEA,SAAS6qC,EAAUyD,GACjB,OAAe,OAARA,GAA+B,kBAARA,CAChC,CAEA,SAASnB,EAAWhkC,GAClB,OAAOA,GAA2B,oBAAbA,EAAIiD,IAC3B,CAMA,SAASstG,EAAS58G,EAAIshB,GACpB,OAAO,WACL,OAAOthB,EAAGshB,EACZ,CACF,CAEA,SAASu7F,EAAkB78G,EAAI++C,EAAM7rC,GAMnC,OALI6rC,EAAKzuC,QAAQtQ,GAAM,IACrBkT,GAAWA,EAAQkN,QACf2+B,EAAKz+B,QAAQtgB,GACb++C,EAAKj/C,KAAKE,IAET,WACL,IAAIM,EAAIy+C,EAAKzuC,QAAQtQ,GACjBM,GAAK,GACPy+C,EAAK7uC,OAAO5P,EAAG,EAEnB,CACF,CAEA,SAASw8G,EAAYxtC,EAAOytC,GAC1BztC,EAAM0tC,SAAWx4G,OAAOqT,OAAO,MAC/By3D,EAAM2tC,WAAaz4G,OAAOqT,OAAO,MACjCy3D,EAAM4tC,gBAAkB14G,OAAOqT,OAAO,MACtCy3D,EAAM6tC,qBAAuB34G,OAAOqT,OAAO,MAC3C,IAAIgC,EAAQy1D,EAAMz1D,MAElBujG,EAAc9tC,EAAOz1D,EAAO,GAAIy1D,EAAM+tC,SAAS5nG,MAAM,GAErD6nG,EAAgBhuC,EAAOz1D,EAAOkjG,EAChC,CAEA,SAASO,EAAiBhuC,EAAOz1D,EAAOkjG,GACtC,IAAIQ,EAAWjuC,EAAMkuC,OAGrBluC,EAAMmuC,QAAU,CAAC,EAEjBnuC,EAAMouC,uBAAyBl5G,OAAOqT,OAAO,MAC7C,IAAI8lG,EAAiBruC,EAAM4tC,gBACvBU,EAAc,CAAC,EACnBjB,EAAagB,GAAgB,SAAU39G,EAAIkD,GAIzC06G,EAAY16G,GAAO05G,EAAQ58G,EAAIsvE,GAC/B9qE,OAAO+gB,eAAe+pD,EAAMmuC,QAASv6G,EAAK,CAGxCE,IAAK,WAAc,OAAOw6G,EAAY16G,IAAQ,EAC9CokB,YAAY,GAEhB,IAEAgoD,EAAMkuC,QAAS,QAAS,CACtB1oG,KAAM+E,IAIJy1D,EAAMuuC,QACRC,EAAiBxuC,GAGfiuC,GACER,GAGFztC,EAAMyuC,aAAY,WAChBR,EAASzoG,KAAO,IAClB,GAGN,CAEA,SAASsoG,EAAe9tC,EAAO0uC,EAAWvkG,EAAMi0C,EAAQqvD,GACtD,IAAIkB,GAAUxkG,EAAKjZ,OACf+tE,EAAYe,EAAM+tC,SAASa,aAAazkG,GAW5C,GARIi0C,EAAOywD,aACL7uC,EAAM6tC,qBAAqB5uC,GAG/Be,EAAM6tC,qBAAqB5uC,GAAa7gB,IAIrCuwD,IAAWlB,EAAK,CACnB,IAAIqB,EAAcC,EAAeL,EAAWvkG,EAAK7H,MAAM,GAAI,IACvD0sG,EAAa7kG,EAAKA,EAAKjZ,OAAS,GACpC8uE,EAAMyuC,aAAY,WAQhBK,EAAYE,GAAc5wD,EAAO7zC,KACnC,GACF,CAEA,IAAI0kG,EAAQ7wD,EAAO5gC,QAAU0xF,EAAiBlvC,EAAOf,EAAW90D,GAEhEi0C,EAAO+wD,iBAAgB,SAAUC,EAAUx7G,GACzC,IAAIy7G,EAAiBpwC,EAAYrrE,EACjC07G,EAAiBtvC,EAAOqvC,EAAgBD,EAAUH,EACpD,IAEA7wD,EAAOmxD,eAAc,SAAUva,EAAQphG,GACrC,IAAID,EAAOqhG,EAAO7uF,KAAOvS,EAAMqrE,EAAYrrE,EACvC+O,EAAUqyF,EAAOryF,SAAWqyF,EAChCwa,EAAexvC,EAAOrsE,EAAMgP,EAASssG,EACvC,IAEA7wD,EAAOqxD,eAAc,SAAUtyG,EAAQvJ,GACrC,IAAIy7G,EAAiBpwC,EAAYrrE,EACjC87G,EAAe1vC,EAAOqvC,EAAgBlyG,EAAQ8xG,EAChD,IAEA7wD,EAAOuxD,cAAa,SAAUnjG,EAAO5Y,GACnCk6G,EAAc9tC,EAAO0uC,EAAWvkG,EAAK1D,OAAO7S,GAAM4Y,EAAOihG,EAC3D,GACF,CAMA,SAASyB,EAAkBlvC,EAAOf,EAAW90D,GAC3C,IAAIylG,EAA4B,KAAd3wC,EAEdgwC,EAAQ,CACVY,SAAUD,EAAc5vC,EAAM6vC,SAAW,SAAUC,EAAOC,EAAUh2B,GAClE,IAAInkF,EAAOo6G,EAAiBF,EAAOC,EAAUh2B,GACzC3wB,EAAUxzD,EAAKwzD,QACfxlD,EAAUhO,EAAKgO,QACfjQ,EAAOiC,EAAKjC,KAUhB,OARKiQ,GAAYA,EAAQuC,OACvBxS,EAAOsrE,EAAYtrE,GAOdqsE,EAAM6vC,SAASl8G,EAAMy1D,EAC9B,EAEA6mD,OAAQL,EAAc5vC,EAAMiwC,OAAS,SAAUH,EAAOC,EAAUh2B,GAC9D,IAAInkF,EAAOo6G,EAAiBF,EAAOC,EAAUh2B,GACzC3wB,EAAUxzD,EAAKwzD,QACfxlD,EAAUhO,EAAKgO,QACfjQ,EAAOiC,EAAKjC,KAEXiQ,GAAYA,EAAQuC,OACvBxS,EAAOsrE,EAAYtrE,GAOrBqsE,EAAMiwC,OAAOt8G,EAAMy1D,EAASxlD,EAC9B,GAgBF,OAXA1O,OAAOqqF,iBAAiB0vB,EAAO,CAC7Bd,QAAS,CACPr6G,IAAK87G,EACD,WAAc,OAAO5vC,EAAMmuC,OAAS,EACpC,WAAc,OAAO+B,EAAiBlwC,EAAOf,EAAY,GAE/D10D,MAAO,CACLzW,IAAK,WAAc,OAAOi7G,EAAe/uC,EAAMz1D,MAAOJ,EAAO,KAI1D8kG,CACT,CAEA,SAASiB,EAAkBlwC,EAAOf,GAChC,IAAKe,EAAMouC,uBAAuBnvC,GAAY,CAC5C,IAAIkxC,EAAe,CAAC,EAChBC,EAAWnxC,EAAU/tE,OACzBgE,OAAOkR,KAAK45D,EAAMmuC,SAASx5G,SAAQ,SAAUhB,GAE3C,GAAIA,EAAK2O,MAAM,EAAG8tG,KAAcnxC,EAAhC,CAGA,IAAIoxC,EAAY18G,EAAK2O,MAAM8tG,GAK3Bl7G,OAAO+gB,eAAek6F,EAAcE,EAAW,CAC7Cv8G,IAAK,WAAc,OAAOksE,EAAMmuC,QAAQx6G,EAAO,EAC/CqkB,YAAY,GAVsC,CAYtD,IACAgoD,EAAMouC,uBAAuBnvC,GAAakxC,CAC5C,CAEA,OAAOnwC,EAAMouC,uBAAuBnvC,EACtC,CAEA,SAASqwC,EAAkBtvC,EAAOrsE,EAAMgP,EAASssG,GAC/C,IAAI9lE,EAAQ62B,EAAM2tC,WAAWh6G,KAAUqsE,EAAM2tC,WAAWh6G,GAAQ,IAChEw1C,EAAM34C,MAAK,SAAiC44D,GAC1CzmD,EAAQxK,KAAK6nE,EAAOivC,EAAM1kG,MAAO6+C,EACnC,GACF,CAEA,SAASomD,EAAgBxvC,EAAOrsE,EAAMgP,EAASssG,GAC7C,IAAI9lE,EAAQ62B,EAAM0tC,SAAS/5G,KAAUqsE,EAAM0tC,SAAS/5G,GAAQ,IAC5Dw1C,EAAM34C,MAAK,SAA+B44D,GACxC,IAAIrzD,EAAM4M,EAAQxK,KAAK6nE,EAAO,CAC5B6vC,SAAUZ,EAAMY,SAChBI,OAAQhB,EAAMgB,OACd9B,QAASc,EAAMd,QACf5jG,MAAO0kG,EAAM1kG,MACb+lG,YAAatwC,EAAMmuC,QACnBO,UAAW1uC,EAAMz1D,OAChB6+C,GAIH,OAHKroB,EAAUhrC,KACbA,EAAM4J,QAAQC,QAAQ7J,IAEpBiqE,EAAMuwC,aACDx6G,EAAIoI,OAAM,SAAUH,GAEzB,MADAgiE,EAAMuwC,aAAalrG,KAAK,aAAcrH,GAChCA,CACR,IAEOjI,CAEX,GACF,CAEA,SAAS25G,EAAgB1vC,EAAOrsE,EAAM68G,EAAWvB,GAC3CjvC,EAAM4tC,gBAAgBj6G,KAM1BqsE,EAAM4tC,gBAAgBj6G,GAAQ,SAAwBqsE,GACpD,OAAOwwC,EACLvB,EAAM1kG,MACN0kG,EAAMd,QACNnuC,EAAMz1D,MACNy1D,EAAMmuC,QAEV,EACF,CAEA,SAASK,EAAkBxuC,IACzB,SAAM,WAAc,OAAOA,EAAMkuC,OAAO1oG,IAAM,IAAG,WAC3C,CAGN,GAAG,CAAEwD,MAAM,EAAMC,MAAO,QAC1B,CAEA,SAAS8lG,EAAgBxkG,EAAOJ,GAC9B,OAAOA,EAAKi2B,QAAO,SAAU71B,EAAO3W,GAAO,OAAO2W,EAAM3W,EAAM,GAAG2W,EACnE,CAEA,SAASylG,EAAkBr8G,EAAMy1D,EAASxlD,GAWxC,OAVI66B,EAAS9qC,IAASA,EAAKA,OACzBiQ,EAAUwlD,EACVA,EAAUz1D,EACVA,EAAOA,EAAKA,MAOP,CAAEA,KAAMA,EAAMy1D,QAASA,EAASxlD,QAASA,EAClD,CAEA,IAAI6sG,EAAsB,gBACtBC,EAAqB,iBACrBC,EAAmB,eACnBC,EAAe,OAEfC,EAAW,EAEf,SAASC,EAAaj0F,EAAKmjD,GACzB4sC,EACE,CACEzsG,GAAI,iBACJ0c,IAAKA,EACL4zB,MAAO,OACPsgE,SAAU,+BACVC,KAAM,mDACNC,YAAa,OACbC,oBAAqB,CAACT,KAExB,SAAUU,GACRA,EAAIC,iBAAiB,CACnBjxG,GAAIuwG,EACJjgE,MAAO,iBACPkiB,MAAO0+C,IAGTF,EAAIC,iBAAiB,CACnBjxG,GAAIwwG,EACJlgE,MAAO,eACPkiB,MAAO0+C,IAGTF,EAAIG,aAAa,CACfnxG,GAAIywG,EACJngE,MAAO,OACP8gE,KAAM,UACNC,sBAAuB,qBAGzBL,EAAIvgH,GAAG6gH,kBAAiB,SAAUroD,GAChC,GAAIA,EAAQvsC,MAAQA,GAAOusC,EAAQsoD,cAAgBd,EACjD,GAAIxnD,EAAQh0D,OAAQ,CAClB,IAAIm9F,EAAQ,GACZof,EAA6Bpf,EAAOvyB,EAAM+tC,SAAS5nG,KAAMijD,EAAQh0D,OAAQ,IACzEg0D,EAAQwoD,UAAYrf,CACtB,MACEnpC,EAAQwoD,UAAY,CAClBC,EAA4B7xC,EAAM+tC,SAAS5nG,KAAM,IAIzD,IAEAgrG,EAAIvgH,GAAGkhH,mBAAkB,SAAU1oD,GACjC,GAAIA,EAAQvsC,MAAQA,GAAOusC,EAAQsoD,cAAgBd,EAAc,CAC/D,IAAImB,EAAa3oD,EAAQ4oD,OACzB9B,EAAiBlwC,EAAO+xC,GACxB3oD,EAAQ7+C,MAAQ0nG,EACdC,EAAelyC,EAAM+tC,SAAUgE,GAChB,SAAfA,EAAwB/xC,EAAMmuC,QAAUnuC,EAAMouC,uBAC9C2D,EAEJ,CACF,IAEAZ,EAAIvgH,GAAGuhH,oBAAmB,SAAU/oD,GAClC,GAAIA,EAAQvsC,MAAQA,GAAOusC,EAAQsoD,cAAgBd,EAAc,CAC/D,IAAImB,EAAa3oD,EAAQ4oD,OACrB7nG,EAAOi/C,EAAQj/C,KACA,SAAf4nG,IACF5nG,EAAO4nG,EAAW1nG,MAAM,KAAKjV,OAAOiW,SAAS5E,OAAQ0D,IAEvD61D,EAAMyuC,aAAY,WAChBrlD,EAAQr1D,IAAIisE,EAAMkuC,OAAO1oG,KAAM2E,EAAMi/C,EAAQ7+C,MAAM5T,MACrD,GACF,CACF,IAEAqpE,EAAM5d,WAAU,SAAUgtD,EAAU7kG,GAClC,IAAI/E,EAAO,CAAC,EAER4pG,EAAShmD,UACX5jD,EAAK4jD,QAAUgmD,EAAShmD,SAG1B5jD,EAAK+E,MAAQA,EAEb4mG,EAAIiB,wBACJjB,EAAIkB,kBAAkBzB,GACtBO,EAAImB,mBAAmB1B,GAEvBO,EAAIoB,iBAAiB,CACnBC,QAAS9B,EACT3uG,MAAO,CACL06C,KAAMrpB,KAAKC,MACXo/E,MAAOrD,EAASz7G,KAChB6R,KAAMA,IAGZ,IAEAw6D,EAAM0yC,gBAAgB,CACpBzhF,OAAQ,SAAU+jE,EAAQzqF,GACxB,IAAI/E,EAAO,CAAC,EACRwvF,EAAO5rC,UACT5jD,EAAK4jD,QAAU4rC,EAAO5rC,SAExB4rC,EAAO2d,IAAM9B,IACb7b,EAAO4d,MAAQx/E,KAAKC,MACpB7tB,EAAK+E,MAAQA,EAEb4mG,EAAIoB,iBAAiB,CACnBC,QAAS7B,EACT5uG,MAAO,CACL06C,KAAMu4C,EAAO4d,MACbH,MAAOzd,EAAOrhG,KACdk/G,QAAS7d,EAAO2d,IAChBG,SAAU,QACVttG,KAAMA,IAGZ,EACAutG,MAAO,SAAU/d,EAAQzqF,GACvB,IAAI/E,EAAO,CAAC,EACRowB,EAAWxC,KAAKC,MAAQ2hE,EAAO4d,MACnCptG,EAAKowB,SAAW,CACdo9E,QAAS,CACPr/G,KAAM,WACNs+B,QAAU2D,EAAW,KACrBq9E,QAAS,kBACTt8G,MAAOi/B,IAGPo/D,EAAO5rC,UACT5jD,EAAK4jD,QAAU4rC,EAAO5rC,SAExB5jD,EAAK+E,MAAQA,EAEb4mG,EAAIoB,iBAAiB,CACnBC,QAAS7B,EACT5uG,MAAO,CACL06C,KAAMrpB,KAAKC,MACXo/E,MAAOzd,EAAOrhG,KACdk/G,QAAS7d,EAAO2d,IAChBG,SAAU,MACVttG,KAAMA,IAGZ,GAEJ,GAEJ,CAGA,IAAI6rG,EAAiB,QACjB6B,EAAa,QACbC,EAAc,SAEdC,EAAiB,CACnB3iE,MAAO,aACP4iE,UAAWF,EACX7hD,gBAAiB4hD,GAMnB,SAASI,EAAqBnpG,GAC5B,OAAOA,GAAiB,SAATA,EAAkBA,EAAKE,MAAM,KAAK/H,OAAO,GAAI,GAAG,GAAK,MACtE,CAMA,SAASuvG,EAA6BzzD,EAAQj0C,GAC5C,MAAO,CACLhK,GAAIgK,GAAQ,OAIZsmC,MAAO6iE,EAAoBnpG,GAC3BopG,KAAMn1D,EAAOywD,WAAa,CAACuE,GAAkB,GAC7CpsG,SAAU9R,OAAOkR,KAAKg4C,EAAOo1D,WAAWn+G,KAAI,SAAU25G,GAAc,OAAO6C,EACvEzzD,EAAOo1D,UAAUxE,GACjB7kG,EAAO6kG,EAAa,IACnB,IAGT,CAQA,SAAS2C,EAA8Bx6G,EAAQinD,EAAQhpD,EAAQ+U,GACzDA,EAAKxJ,SAASvL,IAChB+B,EAAO3G,KAAK,CACV2P,GAAIgK,GAAQ,OACZsmC,MAAOtmC,EAAKspG,SAAS,KAAOtpG,EAAK7H,MAAM,EAAG6H,EAAKjZ,OAAS,GAAKiZ,GAAQ,OACrEopG,KAAMn1D,EAAOywD,WAAa,CAACuE,GAAkB,KAGjDl+G,OAAOkR,KAAKg4C,EAAOo1D,WAAW7+G,SAAQ,SAAUq6G,GAC9C2C,EAA6Bx6G,EAAQinD,EAAOo1D,UAAUxE,GAAa55G,EAAQ+U,EAAO6kG,EAAa,IACjG,GACF,CAMA,SAASiD,EAA8B7zD,EAAQ+vD,EAAShkG,GACtDgkG,EAAmB,SAAThkG,EAAkBgkG,EAAUA,EAAQhkG,GAC9C,IAAIupG,EAAcx+G,OAAOkR,KAAK+nG,GAC1BwF,EAAa,CACfppG,MAAOrV,OAAOkR,KAAKg4C,EAAO7zC,OAAOlV,KAAI,SAAUzB,GAAO,MAAO,CAC3DA,IAAKA,EACLggH,UAAU,EACVj9G,MAAOynD,EAAO7zC,MAAM3W,GAClB,KAGN,GAAI8/G,EAAYxiH,OAAQ,CACtB,IAAI2iH,EAAOC,EAA2B3F,GACtCwF,EAAWxF,QAAUj5G,OAAOkR,KAAKytG,GAAMx+G,KAAI,SAAUzB,GAAO,MAAO,CACjEA,IAAKA,EAAI6/G,SAAS,KAAOH,EAAoB1/G,GAAOA,EACpDggH,UAAU,EACVj9G,MAAOo9G,GAAS,WAAc,OAAOF,EAAKjgH,EAAM,IAC9C,GACN,CAEA,OAAO+/G,CACT,CAEA,SAASG,EAA4B3F,GACnC,IAAIh3G,EAAS,CAAC,EAwBd,OAvBAjC,OAAOkR,KAAK+nG,GAASx5G,SAAQ,SAAUf,GACrC,IAAIuW,EAAOvW,EAAIyW,MAAM,KACrB,GAAIF,EAAKjZ,OAAS,EAAG,CACnB,IAAIwC,EAASyD,EACT68G,EAAU7pG,EAAK/Y,MACnB+Y,EAAKxV,SAAQ,SAAUoL,GAChBrM,EAAOqM,KACVrM,EAAOqM,GAAK,CACVizG,QAAS,CACPr8G,MAAO,CAAC,EACRs7B,QAASlyB,EACTkzG,QAAS,SACTgB,UAAU,KAIhBvgH,EAASA,EAAOqM,GAAGizG,QAAQr8G,KAC7B,IACAjD,EAAOsgH,GAAWD,GAAS,WAAc,OAAO5F,EAAQv6G,EAAM,GAChE,MACEuD,EAAOvD,GAAOmgH,GAAS,WAAc,OAAO5F,EAAQv6G,EAAM,GAE9D,IACOuD,CACT,CAEA,SAAS+6G,EAAgBgC,EAAW/pG,GAClC,IAAIg5D,EAAQh5D,EAAKE,MAAM,KAAKjV,QAAO,SAAUvD,GAAK,OAAOA,CAAG,IAC5D,OAAOsxE,EAAM/iC,QACX,SAAUge,EAAQ4wD,EAAYh+G,GAC5B,IAAIwb,EAAQ4xC,EAAO4wD,GACnB,IAAKxiG,EACH,MAAM,IAAIkhC,MAAO,mBAAsBshE,EAAa,eAAmB7kG,EAAO,MAEhF,OAAOnZ,IAAMmyE,EAAMjyE,OAAS,EAAIsb,EAAQA,EAAMgnG,SAChD,GACS,SAATrpG,EAAkB+pG,EAAYA,EAAU/tG,KAAKqtG,UAEjD,CAEA,SAASO,EAAU7yG,GACjB,IACE,OAAOA,GAGT,CAFE,MAAOguB,GACP,OAAOA,CACT,CACF,CAGA,IAAIilF,EAAS,SAAiBC,EAAWC,GACvCpkH,KAAKokH,QAAUA,EAEfpkH,KAAKujH,UAAYt+G,OAAOqT,OAAO,MAE/BtY,KAAKqkH,WAAaF,EAClB,IAAIG,EAAWH,EAAU7pG,MAGzBta,KAAKsa,OAA6B,oBAAbgqG,EAA0BA,IAAaA,IAAa,CAAC,CAC5E,EAEIC,EAAuB,CAAE3F,WAAY,CAAE52F,cAAc,IAEzDu8F,EAAqB3F,WAAW/6G,IAAM,WACpC,QAAS7D,KAAKqkH,WAAWzF,UAC3B,EAEAsF,EAAOlkF,UAAUwkF,SAAW,SAAmB7gH,EAAKwqD,GAClDnuD,KAAKujH,UAAU5/G,GAAOwqD,CACxB,EAEA+1D,EAAOlkF,UAAUO,YAAc,SAAsB58B,UAC5C3D,KAAKujH,UAAU5/G,EACxB,EAEAugH,EAAOlkF,UAAUykF,SAAW,SAAmB9gH,GAC7C,OAAO3D,KAAKujH,UAAU5/G,EACxB,EAEAugH,EAAOlkF,UAAU0kF,SAAW,SAAmB/gH,GAC7C,OAAOA,KAAO3D,KAAKujH,SACrB,EAEAW,EAAOlkF,UAAUxiB,OAAS,SAAiB2mG,GACzCnkH,KAAKqkH,WAAWzF,WAAauF,EAAUvF,WACnCuF,EAAUjf,UACZllG,KAAKqkH,WAAWnf,QAAUif,EAAUjf,SAElCif,EAAUQ,YACZ3kH,KAAKqkH,WAAWM,UAAYR,EAAUQ,WAEpCR,EAAUjG,UACZl+G,KAAKqkH,WAAWnG,QAAUiG,EAAUjG,QAExC,EAEAgG,EAAOlkF,UAAU0/E,aAAe,SAAuBj/G,GACrD28G,EAAap9G,KAAKujH,UAAW9iH,EAC/B,EAEAyjH,EAAOlkF,UAAUw/E,cAAgB,SAAwB/+G,GACnDT,KAAKqkH,WAAWnG,SAClBd,EAAap9G,KAAKqkH,WAAWnG,QAASz9G,EAE1C,EAEAyjH,EAAOlkF,UAAUs/E,cAAgB,SAAwB7+G,GACnDT,KAAKqkH,WAAWnf,SAClBkY,EAAap9G,KAAKqkH,WAAWnf,QAASzkG,EAE1C,EAEAyjH,EAAOlkF,UAAUk/E,gBAAkB,SAA0Bz+G,GACvDT,KAAKqkH,WAAWM,WAClBvH,EAAap9G,KAAKqkH,WAAWM,UAAWlkH,EAE5C,EAEAwE,OAAOqqF,iBAAkB40B,EAAOlkF,UAAWukF,GAE3C,IAAIK,EAAmB,SAA2BC,GAEhD7kH,KAAKmoB,SAAS,GAAI08F,GAAe,EACnC,EA6EA,SAASrnG,GAAQtD,EAAM4qG,EAAcC,GASnC,GAHAD,EAAatnG,OAAOunG,GAGhBA,EAAUC,QACZ,IAAK,IAAIrhH,KAAOohH,EAAUC,QAAS,CACjC,IAAKF,EAAaL,SAAS9gH,GAOzB,cAEF6Z,GACEtD,EAAK1D,OAAO7S,GACZmhH,EAAaL,SAAS9gH,GACtBohH,EAAUC,QAAQrhH,GAEtB,CAEJ,CAtGAihH,EAAiB5kF,UAAUn8B,IAAM,SAAcqW,GAC7C,OAAOA,EAAKi2B,QAAO,SAAUge,EAAQxqD,GACnC,OAAOwqD,EAAOs2D,SAAS9gH,EACzB,GAAG3D,KAAKkW,KACV,EAEA0uG,EAAiB5kF,UAAU2+E,aAAe,SAAuBzkG,GAC/D,IAAIi0C,EAASnuD,KAAKkW,KAClB,OAAOgE,EAAKi2B,QAAO,SAAU6+B,EAAWrrE,GAEtC,OADAwqD,EAASA,EAAOs2D,SAAS9gH,GAClBqrE,GAAa7gB,EAAOywD,WAAaj7G,EAAM,IAAM,GACtD,GAAG,GACL,EAEAihH,EAAiB5kF,UAAUxiB,OAAS,SAAmBqnG,GACrDrnG,GAAO,GAAIxd,KAAKkW,KAAM2uG,EACxB,EAEAD,EAAiB5kF,UAAU7X,SAAW,SAAmBjO,EAAMiqG,EAAWC,GACtE,IAAIa,EAAWjlH,UACE,IAAZokH,IAAqBA,GAAU,GAMtC,IAAIW,EAAY,IAAIb,EAAOC,EAAWC,GACtC,GAAoB,IAAhBlqG,EAAKjZ,OACPjB,KAAKkW,KAAO6uG,MACP,CACL,IAAI3kH,EAASJ,KAAK6D,IAAIqW,EAAK7H,MAAM,GAAI,IACrCjS,EAAOokH,SAAStqG,EAAKA,EAAKjZ,OAAS,GAAI8jH,EACzC,CAGIZ,EAAUa,SACZ5H,EAAa+G,EAAUa,SAAS,SAAUE,EAAgBvhH,GACxDshH,EAAS98F,SAASjO,EAAK1D,OAAO7S,GAAMuhH,EAAgBd,EACtD,GAEJ,EAEAQ,EAAiB5kF,UAAU4uD,WAAa,SAAqB10E,GAC3D,IAAI9Z,EAASJ,KAAK6D,IAAIqW,EAAK7H,MAAM,GAAI,IACjC1O,EAAMuW,EAAKA,EAAKjZ,OAAS,GACzBsb,EAAQnc,EAAOqkH,SAAS9gH,GAEvB4Y,GAUAA,EAAM6nG,SAIXhkH,EAAOmgC,YAAY58B,EACrB,EAEAihH,EAAiB5kF,UAAUmlF,aAAe,SAAuBjrG,GAC/D,IAAI9Z,EAASJ,KAAK6D,IAAIqW,EAAK7H,MAAM,GAAI,IACjC1O,EAAMuW,EAAKA,EAAKjZ,OAAS,GAE7B,QAAIb,GACKA,EAAOskH,SAAS/gH,EAI3B,EAwEA,SAASyhH,GAAazxG,GACpB,OAAO,IAAI0xG,GAAM1xG,EACnB,CAEA,IAAI0xG,GAAQ,SAAgB1xG,GAC1B,IAAIsxG,EAAWjlH,UACE,IAAZ2T,IAAqBA,EAAU,CAAC,GAOrC,IAAI2xG,EAAU3xG,EAAQ2xG,aAA0B,IAAZA,IAAqBA,EAAU,IACnE,IAAIhH,EAAS3qG,EAAQ2qG,YAAwB,IAAXA,IAAoBA,GAAS,GAC/D,IAAIxX,EAAWnzF,EAAQmzF,SAGvB9mG,KAAKulH,aAAc,EACnBvlH,KAAKy9G,SAAWx4G,OAAOqT,OAAO,MAC9BtY,KAAKwlH,mBAAqB,GAC1BxlH,KAAK09G,WAAaz4G,OAAOqT,OAAO,MAChCtY,KAAK29G,gBAAkB14G,OAAOqT,OAAO,MACrCtY,KAAK89G,SAAW,IAAI8G,EAAiBjxG,GACrC3T,KAAK49G,qBAAuB34G,OAAOqT,OAAO,MAC1CtY,KAAKylH,aAAe,GACpBzlH,KAAKm+G,uBAAyBl5G,OAAOqT,OAAO,MAC5CtY,KAAK0lH,UAAY5e,EAGjB,IAAI/2B,EAAQ/vE,KACRoL,EAAMpL,KACN4/G,EAAWx0G,EAAIw0G,SACfI,EAAS50G,EAAI40G,OACjBhgH,KAAK4/G,SAAW,SAAwBl8G,EAAMy1D,GAC5C,OAAOymD,EAAS13G,KAAK6nE,EAAOrsE,EAAMy1D,EACpC,EACAn5D,KAAKggH,OAAS,SAAsBt8G,EAAMy1D,EAASxlD,GACjD,OAAOqsG,EAAO93G,KAAK6nE,EAAOrsE,EAAMy1D,EAASxlD,EAC3C,EAGA3T,KAAKs+G,OAASA,EAEd,IAAIhkG,EAAQta,KAAK89G,SAAS5nG,KAAKoE,MAK/BujG,EAAc79G,KAAMsa,EAAO,GAAIta,KAAK89G,SAAS5nG,MAI7C6nG,EAAgB/9G,KAAMsa,GAGtBgrG,EAAQ5gH,SAAQ,SAAUupB,GAAU,OAAOA,EAAOg3F,EAAW,GAC/D,EAEIU,GAAqB,CAAErrG,MAAO,CAAE0N,cAAc,IAElDq9F,GAAMrlF,UAAU9R,QAAU,SAAkBtB,EAAKg5F,GAC/Ch5F,EAAI1U,QAAQ0tG,GAAa1I,EAAUl9G,MACnC4sB,EAAI/d,OAAOiX,iBAAiB+/F,OAAS7lH,KAErC,IAAI8lH,OAAiC/iH,IAAnB/C,KAAK0lH,WACnB1lH,KAAK0lH,UAGLI,GACFjF,EAAYj0F,EAAK5sB,KAErB,EAEA2lH,GAAmBrrG,MAAMzW,IAAM,WAC7B,OAAO7D,KAAKi+G,OAAO1oG,IACrB,EAEAowG,GAAmBrrG,MAAMxW,IAAM,SAAU4D,GACnC,CAGN,EAEA29G,GAAMrlF,UAAUggF,OAAS,SAAiBH,EAAOC,EAAUh2B,GACvD,IAAIm7B,EAAWjlH,KAGboL,EAAM20G,EAAiBF,EAAOC,EAAUh2B,GACtCpmF,EAAO0H,EAAI1H,KACXy1D,EAAU/tD,EAAI+tD,QAGhBgmD,GAFY/zG,EAAIuI,QAEL,CAAEjQ,KAAMA,EAAMy1D,QAASA,IAClCjgB,EAAQl5C,KAAK09G,WAAWh6G,GACvBw1C,IAMLl5C,KAAKw+G,aAAY,WACftlE,EAAMx0C,SAAQ,SAAyBgO,GACrCA,EAAQymD,EACV,GACF,IAEAn5D,KAAKylH,aACFpzG,QACA3N,SAAQ,SAAUk6C,GAAO,OAAOA,EAAIugE,EAAU8F,EAAS3qG,MAAQ,IAWpE,EAEA+qG,GAAMrlF,UAAU4/E,SAAW,SAAmBC,EAAOC,GACjD,IAAImF,EAAWjlH,KAGboL,EAAM20G,EAAiBF,EAAOC,GAC5Bp8G,EAAO0H,EAAI1H,KACXy1D,EAAU/tD,EAAI+tD,QAEhB4rC,EAAS,CAAErhG,KAAMA,EAAMy1D,QAASA,GAChCjgB,EAAQl5C,KAAKy9G,SAAS/5G,GAC1B,GAAKw1C,EAAL,CAOA,IACEl5C,KAAKwlH,mBACFnzG,QACAlN,QAAO,SAAUy5C,GAAO,OAAOA,EAAI5d,MAAQ,IAC3Ct8B,SAAQ,SAAUk6C,GAAO,OAAOA,EAAI5d,OAAO+jE,EAAQkgB,EAAS3qG,MAAQ,GAMzE,CALE,MAAO2kB,GACH,CAIN,CAEA,IAAI/3B,EAASgyC,EAAMj4C,OAAS,EACxByO,QAAQq5C,IAAI7P,EAAM9zC,KAAI,SAAUsN,GAAW,OAAOA,EAAQymD,EAAU,KACpEjgB,EAAM,GAAGigB,GAEb,OAAO,IAAIzpD,SAAQ,SAAUC,EAASm/C,GACpC5nD,EAAO6I,MAAK,SAAUjK,GACpB,IACEm/G,EAASO,mBACNrgH,QAAO,SAAUy5C,GAAO,OAAOA,EAAIkkE,KAAO,IAC1Cp+G,SAAQ,SAAUk6C,GAAO,OAAOA,EAAIkkE,MAAM/d,EAAQkgB,EAAS3qG,MAAQ,GAMxE,CALE,MAAO2kB,GACH,CAIN,CACAtvB,EAAQ7J,EACV,IAAG,SAAUmJ,GACX,IACEg2G,EAASO,mBACNrgH,QAAO,SAAUy5C,GAAO,OAAOA,EAAI3vC,KAAO,IAC1CvK,SAAQ,SAAUk6C,GAAO,OAAOA,EAAI3vC,MAAM81F,EAAQkgB,EAAS3qG,MAAOrL,EAAQ,GAM/E,CALE,MAAOgwB,GACH,CAIN,CACA6vB,EAAO7/C,EACT,GACF,GA5CA,CA6CF,EAEAo2G,GAAMrlF,UAAUmyB,UAAY,SAAoB1xD,EAAIkT,GAClD,OAAO2pG,EAAiB78G,EAAIT,KAAKylH,aAAc9xG,EACjD,EAEA0xG,GAAMrlF,UAAUyiF,gBAAkB,SAA0BhiH,EAAIkT,GAC9D,IAAI6rC,EAAqB,oBAAP/+C,EAAoB,CAAEugC,OAAQvgC,GAAOA,EACvD,OAAO68G,EAAiB99D,EAAMx/C,KAAKwlH,mBAAoB7xG,EACzD,EAEA0xG,GAAMrlF,UAAUrnB,MAAQ,SAAkBzL,EAAQ+D,EAAI0C,GAClD,IAAIsxG,EAAWjlH,KAKjB,OAAO,SAAM,WAAc,OAAOkN,EAAO+3G,EAAS3qG,MAAO2qG,EAAS/G,QAAU,GAAGjtG,EAAIhM,OAAOqoB,OAAO,CAAC,EAAG3Z,GACvG,EAEA0xG,GAAMrlF,UAAU+lF,aAAe,SAAuBzrG,GAClD,IAAI2qG,EAAWjlH,KAEjBA,KAAKw+G,aAAY,WACfyG,EAAShH,OAAO1oG,KAAO+E,CACzB,GACF,EAEA+qG,GAAMrlF,UAAUgmF,eAAiB,SAAyB9rG,EAAMiqG,EAAWxwG,QACtD,IAAZA,IAAqBA,EAAU,CAAC,GAEnB,kBAATuG,IAAqBA,EAAO,CAACA,IAOxCla,KAAK89G,SAAS31F,SAASjO,EAAMiqG,GAC7BtG,EAAc79G,KAAMA,KAAKsa,MAAOJ,EAAMla,KAAK89G,SAASj6G,IAAIqW,GAAOvG,EAAQsyG,eAEvElI,EAAgB/9G,KAAMA,KAAKsa,MAC7B,EAEA+qG,GAAMrlF,UAAUkmF,iBAAmB,SAA2BhsG,GAC1D,IAAI+qG,EAAWjlH,KAEG,kBAATka,IAAqBA,EAAO,CAACA,IAMxCla,KAAK89G,SAASlvB,WAAW10E,GACzBla,KAAKw+G,aAAY,WACf,IAAIK,EAAcC,EAAemG,EAAS3qG,MAAOJ,EAAK7H,MAAM,GAAI,WACzDwsG,EAAY3kG,EAAKA,EAAKjZ,OAAS,GACxC,IACAs8G,EAAWv9G,KACb,EAEAqlH,GAAMrlF,UAAUmmF,UAAY,SAAoBjsG,GAO9C,MANoB,kBAATA,IAAqBA,EAAO,CAACA,IAMjCla,KAAK89G,SAASqH,aAAajrG,EACpC,EAEAmrG,GAAMrlF,UAAUomF,UAAY,SAAoB1uC,GAC9C13E,KAAK89G,SAAStgG,OAAOk6D,GACrB6lC,EAAWv9G,MAAM,EACnB,EAEAqlH,GAAMrlF,UAAUw+E,YAAc,SAAsB/9G,GAClD,IAAI4lH,EAAarmH,KAAKulH,YACtBvlH,KAAKulH,aAAc,EACnB9kH,IACAT,KAAKulH,YAAcc,CACrB,EAEAphH,OAAOqqF,iBAAkB+1B,GAAMrlF,UAAW2lF,IAQ3BW,IAAmB,SAAUt3C,EAAWu3C,GACrD,IAAIzgH,EAAM,CAAC,EA0BX,OAtBA0gH,GAAaD,GAAQ7hH,SAAQ,SAAU0G,GACrC,IAAIzH,EAAMyH,EAAIzH,IACVmJ,EAAM1B,EAAI0B,IAEdhH,EAAInC,GAAO,WACT,IAAI2W,EAAQta,KAAK6lH,OAAOvrG,MACpB4jG,EAAUl+G,KAAK6lH,OAAO3H,QAC1B,GAAIlvC,EAAW,CACb,IAAI7gB,EAASs4D,GAAqBzmH,KAAK6lH,OAAQ,WAAY72C,GAC3D,IAAK7gB,EACH,OAEF7zC,EAAQ6zC,EAAO5gC,QAAQjT,MACvB4jG,EAAU/vD,EAAO5gC,QAAQ2wF,OAC3B,CACA,MAAsB,oBAARpxG,EACVA,EAAI5E,KAAKlI,KAAMsa,EAAO4jG,GACtB5jG,EAAMxN,EACZ,EAEAhH,EAAInC,GAAK+iH,MAAO,CAClB,IACO5gH,CACT,IAQmBwgH,IAAmB,SAAUt3C,EAAW21C,GACzD,IAAI7+G,EAAM,CAAC,EA0BX,OAtBA0gH,GAAa7B,GAAWjgH,SAAQ,SAAU0G,GACxC,IAAIzH,EAAMyH,EAAIzH,IACVmJ,EAAM1B,EAAI0B,IAEdhH,EAAInC,GAAO,WACT,IAAIgC,EAAO,GAAIg0B,EAAMlhB,UAAUxX,OAC/B,MAAQ04B,IAAQh0B,EAAMg0B,GAAQlhB,UAAWkhB,GAGzC,IAAIqmF,EAAShgH,KAAK6lH,OAAO7F,OACzB,GAAIhxC,EAAW,CACb,IAAI7gB,EAASs4D,GAAqBzmH,KAAK6lH,OAAQ,eAAgB72C,GAC/D,IAAK7gB,EACH,OAEF6xD,EAAS7xD,EAAO5gC,QAAQyyF,MAC1B,CACA,MAAsB,oBAARlzG,EACVA,EAAI/G,MAAM/F,KAAM,CAACggH,GAAQxpG,OAAO7Q,IAChCq6G,EAAOj6G,MAAM/F,KAAK6lH,OAAQ,CAAC/4G,GAAK0J,OAAO7Q,GAC7C,CACF,IACOG,CACT,IAQiBwgH,IAAmB,SAAUt3C,EAAWkvC,GACvD,IAAIp4G,EAAM,CAAC,EAuBX,OAnBA0gH,GAAatI,GAASx5G,SAAQ,SAAU0G,GACtC,IAAIzH,EAAMyH,EAAIzH,IACVmJ,EAAM1B,EAAI0B,IAGdA,EAAMkiE,EAAYliE,EAClBhH,EAAInC,GAAO,WACT,IAAIqrE,GAAcy3C,GAAqBzmH,KAAK6lH,OAAQ,aAAc72C,GAOlE,OAAOhvE,KAAK6lH,OAAO3H,QAAQpxG,EAC7B,EAEAhH,EAAInC,GAAK+iH,MAAO,CAClB,IACO5gH,CACT,IAQiBwgH,IAAmB,SAAUt3C,EAAWk2B,GACvD,IAAIp/F,EAAM,CAAC,EA0BX,OAtBA0gH,GAAathB,GAASxgG,SAAQ,SAAU0G,GACtC,IAAIzH,EAAMyH,EAAIzH,IACVmJ,EAAM1B,EAAI0B,IAEdhH,EAAInC,GAAO,WACT,IAAIgC,EAAO,GAAIg0B,EAAMlhB,UAAUxX,OAC/B,MAAQ04B,IAAQh0B,EAAMg0B,GAAQlhB,UAAWkhB,GAGzC,IAAIimF,EAAW5/G,KAAK6lH,OAAOjG,SAC3B,GAAI5wC,EAAW,CACb,IAAI7gB,EAASs4D,GAAqBzmH,KAAK6lH,OAAQ,aAAc72C,GAC7D,IAAK7gB,EACH,OAEFyxD,EAAWzxD,EAAO5gC,QAAQqyF,QAC5B,CACA,MAAsB,oBAAR9yG,EACVA,EAAI/G,MAAM/F,KAAM,CAAC4/G,GAAUppG,OAAO7Q,IAClCi6G,EAAS75G,MAAM/F,KAAK6lH,OAAQ,CAAC/4G,GAAK0J,OAAO7Q,GAC/C,CACF,IACOG,CACT,IAqBA,SAAS0gH,GAAcphH,GACrB,OAAKuhH,GAAWvhH,GAGToH,MAAM6hC,QAAQjpC,GACjBA,EAAIA,KAAI,SAAUzB,GAAO,MAAO,CAAGA,IAAKA,EAAKmJ,IAAKnJ,EAAQ,IAC1DsB,OAAOkR,KAAK/Q,GAAKA,KAAI,SAAUzB,GAAO,MAAO,CAAGA,IAAKA,EAAKmJ,IAAK1H,EAAIzB,GAAS,IAJvE,EAKX,CAOA,SAASgjH,GAAYvhH,GACnB,OAAOoH,MAAM6hC,QAAQjpC,IAAQopC,EAASppC,EACxC,CAOA,SAASkhH,GAAoB7lH,GAC3B,OAAO,SAAUuuE,EAAW5pE,GAO1B,MANyB,kBAAd4pE,GACT5pE,EAAM4pE,EACNA,EAAY,IACwC,MAA3CA,EAAUr9B,OAAOq9B,EAAU/tE,OAAS,KAC7C+tE,GAAa,KAERvuE,EAAGuuE,EAAW5pE,EACvB,CACF,CASA,SAASqhH,GAAsB12C,EAAO/lB,EAAQglB,GAC5C,IAAI7gB,EAAS4hB,EAAM6tC,qBAAqB5uC,GAIxC,OAAO7gB,CACT,C,kCC3zCA,SAASy4D,EAAWC,EAAUhxE,EAAOC,EAAKwG,EAAMF,EAAQF,EAAQ4qE,GAC9D,IAAI7pC,EAAU,IAAI95C,KAAK,GAGvB,OAFA85C,EAAQQ,eAAeopC,EAAUhxE,EAAOC,GACxCmnC,EAAQa,YAAYxhC,EAAMF,EAAQF,EAAQ4qE,GACnC7pC,CACT,CAjBAh4E,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBw4D,EAgBlBz4D,EAAOC,QAAUA,EAAQ/xC,O,kCCTzB,SAAS0qG,EAAmB9lH,EAAQilD,EAAMvyC,GACxC,IAAIqzG,EAAMC,EAAOhmH,EAAQ0S,EAAQuzG,SAAUvzG,EAAQwrE,QACnD,OAAO6nC,EAAI9Y,cAAgBiZ,EAAcH,EAAK9gE,GAAQkhE,EAAcJ,EAAK9gE,EAC3E,CAEA,SAASihE,EAAcH,EAAK9gE,GAG1B,IAFA,IAAImhE,EAAYL,EAAI9Y,cAAchoD,GAEzBnlD,EAAIsmH,EAAUpmH,OAAS,EAAGF,GAAK,IAAKA,EAC3C,GAA0B,iBAAtBsmH,EAAUtmH,GAAG2C,KACf,OAAO2jH,EAAUtmH,GAAG2F,KAG1B,CAEA,SAAS0gH,EAAcJ,EAAK9gE,GAC1B,IAAImhE,EAAYL,EAAIpnC,OAAO15B,GAAMtyC,QAAQ,UAAW,IAChD0zG,EAAc,aAAa9xE,KAAK6xE,GACpC,OAAOC,EAAcA,EAAY,GAAGhtD,OAAO,GAAK,EAClD,CAIA,SAAS2sD,EAAOhmH,EAAQimH,EAAU/nC,GAChC,GAAIA,IAAWA,EAAOxpB,KACpB,MAAM,IAAIlY,MAAM,2HAGlB,OAAO,IAAIiwD,KAAKC,eAAexuB,EAAS,CAACA,EAAOxpB,KAAM,cAAW5yD,EAAW,CAC1EmkH,SAAUA,EACVK,aAActmH,GAElB,CA1CAgE,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB24D,EAyClB54D,EAAOC,QAAUA,EAAQ/xC,O,oCC5CzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBo5D,EAElB,IAAIlkD,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIw1E,EAAuB,KACvBC,EAAyB,IACzBC,EAAW,CACbC,SAAU,aACVC,UAAW,QACXC,WAAY,gBACZC,aAAc,0BAGhB,SAASP,EAAgBQ,EAAgB9hE,EAAM+hE,GAC7C,IAAI3yE,EACA4yE,EAaA3rE,EAXJ,GAAuB,KAAnByrE,EACF,OAAO,EAMT,GAFA1yE,EAAQqyE,EAASE,UAAUryE,KAAKwyE,GAE5B1yE,EACF,OAAO,EAOT,GAFAA,EAAQqyE,EAASG,WAAWtyE,KAAKwyE,GAE7B1yE,EAGF,OAFAiH,EAAQtL,SAASqE,EAAM,GAAI,IAEtB6yE,EAAiB5rE,IAIbA,EAAQkrE,EAHRhnC,IASX,GAFAnrC,EAAQqyE,EAASI,aAAavyE,KAAKwyE,GAE/B1yE,EAAO,CACTiH,EAAQtL,SAASqE,EAAM,GAAI,IAC3B,IAAI+G,EAAUpL,SAASqE,EAAM,GAAI,IAEjC,OAAK6yE,EAAiB5rE,EAAOF,IAI7B6rE,EAAiBxxF,KAAK2e,IAAIkH,GAASkrE,EAAuBprE,EAAUqrE,EAC7DnrE,EAAQ,GAAK2rE,EAAiBA,GAJ5BznC,GAKX,CAGA,GAAI2nC,EAA0BJ,GAAiB,CAC7C9hE,EAAO,IAAI/iB,KAAK+iB,GAAQ/iB,KAAKC,OAC7B,IAAI65C,EAAUgrC,EAAY/hE,EAAOmiE,EAAUniE,GACvC2d,EAASykD,EAAWrrC,EAAS+qC,GAC7BO,EAAcN,EAAYpkD,EAAS2kD,EAAUtiE,EAAM2d,EAAQmkD,GAC/D,OAAQO,CACV,CAEA,OAAO9nC,GACT,CAEA,SAAS4nC,EAAUniE,GACjB,OAAO,EAAIyxB,EAAQt7D,SAAS6pC,EAAKvR,cAAeuR,EAAKi3B,WAAYj3B,EAAKk3B,UAAWl3B,EAAKm3B,WAAYn3B,EAAKo3B,aAAcp3B,EAAKq3B,aAAcr3B,EAAKs3B,kBAC/I,CAEA,SAAS8qC,EAAWpiE,EAAM8hE,GACxB,IAAI1f,GAAS,EAAIhlC,EAAOjnD,SAAS6pC,EAAM8hE,GAEnCS,GAAQ,EAAI9wC,EAAQt7D,SAASisF,EAAO,GAAIA,EAAO,GAAK,EAAGA,EAAO,GAAIA,EAAO,GAAK,GAAIA,EAAO,GAAIA,EAAO,GAAI,GAAGn5D,UAC3Gu5E,EAAOxiE,EAAK/W,UACZw5E,EAAOD,EAAO,IAElB,OADAA,GAAQC,GAAQ,EAAIA,EAAO,IAAOA,EAC3BF,EAAQC,CACjB,CAEA,SAASF,EAAUtiE,EAAM2d,EAAQmkD,GAC/B,IAAIY,EAAU1iE,EAAK/W,UAEf05E,EAAWD,EAAU/kD,EAErBilD,EAAKR,EAAW,IAAInlF,KAAK0lF,GAAWb,GAExC,GAAInkD,IAAWilD,EACb,OAAOjlD,EAITglD,GAAYC,EAAKjlD,EAEjB,IAAIklD,EAAKT,EAAW,IAAInlF,KAAK0lF,GAAWb,GAExC,OAAIc,IAAOC,EACFD,EAIFpyF,KAAKqS,IAAI+/E,EAAIC,EACtB,CAEA,SAASZ,EAAiB5rE,EAAOF,GAC/B,OAAQ,IAAME,GAASA,GAAS,KAAkB,MAAXF,GAAmB,GAAKA,GAAWA,GAAW,GACvF,CAEA,IAAI2sE,EAAyB,CAAC,EAE9B,SAASZ,EAA0Ba,GACjC,GAAID,EAAuBC,GAAiB,OAAO,EAEnD,IAKE,OAJA,IAAIvb,KAAKC,oBAAe5qG,EAAW,CACjCmkH,SAAU+B,IAEZD,EAAuBC,IAAkB,GAClC,CAGT,CAFE,MAAOh6G,GACP,OAAO,CACT,CACF,CAEAk/C,EAAOC,QAAUA,EAAQ/xC,O,kCCtIzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAGlB,IAAI86D,EAAY,0EACZ5xC,EAAW4xC,EACf96D,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,kCCAzB,SAAS8sG,EAAejjE,EAAMghE,GAC5B,IAAIF,EAAMlS,EAAkBoS,GAC5B,OAAOF,EAAI9Y,cAAgBkb,EAAYpC,EAAK9gE,GAAQmjE,EAAYrC,EAAK9gE,EACvE,CAZAjhD,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB+6D,EAWlB,IAAIG,EAAY,CACd1zE,KAAM,EACNC,MAAO,EACPC,IAAK,EACLwG,KAAM,EACNF,OAAQ,EACRF,OAAQ,GAGV,SAASktE,EAAYpC,EAAK9gE,GACxB,IAIE,IAHA,IAAImhE,EAAYL,EAAI9Y,cAAchoD,GAC9Boc,EAAS,GAEJvhE,EAAI,EAAGA,EAAIsmH,EAAUpmH,OAAQF,IAAK,CACzC,IAAI27F,EAAM4sB,EAAUjC,EAAUtmH,GAAG2C,MAE7Bg5F,GAAO,IACTp6B,EAAOo6B,GAAOzrD,SAASo2E,EAAUtmH,GAAG2F,MAAO,IAE/C,CAEA,OAAO47D,CAOT,CANE,MAAOrzD,GACP,GAAIA,aAAiBmwE,WACnB,MAAO,CAACqB,KAGV,MAAMxxE,CACR,CACF,CAEA,SAASo6G,EAAYrC,EAAK9gE,GACxB,IAAImhE,EAAYL,EAAIpnC,OAAO15B,GAAMtyC,QAAQ,UAAW,IAChDsmD,EAAS,0CAA0C1kB,KAAK6xE,GAG5D,MAAO,CAACntD,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GAAIA,EAAO,GACxE,CAKA,IAAIqvD,EAAW,CAAC,EAEhB,SAASzU,EAAkBoS,GACzB,IAAKqC,EAASrC,GAAW,CAEvB,IAAIsC,EAAoB,IAAI9b,KAAKC,eAAe,QAAS,CACvD8b,QAAQ,EACRvC,SAAU,mBACVtxE,KAAM,UACNC,MAAO,UACPC,IAAK,UACLwG,KAAM,UACNF,OAAQ,UACRF,OAAQ,YACP0jC,OAAO,IAAIz8C,KAAK,6BACfumF,EAA2C,yBAAtBF,GAAsE,mCAAtBA,EACzED,EAASrC,GAAYwC,EAAqB,IAAIhc,KAAKC,eAAe,QAAS,CACzE8b,QAAQ,EACRvC,SAAUA,EACVtxE,KAAM,UACNC,MAAO,UACPC,IAAK,UACLwG,KAAM,UACNF,OAAQ,UACRF,OAAQ,YACL,IAAIwxD,KAAKC,eAAe,QAAS,CACpCgc,UAAW,MACXzC,SAAUA,EACVtxE,KAAM,UACNC,MAAO,UACPC,IAAK,UACLwG,KAAM,UACNF,OAAQ,UACRF,OAAQ,WAEZ,CAEA,OAAOqtE,EAASrC,EAClB,CAEA/4D,EAAOC,QAAUA,EAAQ/xC,O,oCCjGzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,gBAAkB,EAElB,IAAIkV,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIy1E,EAAyB,IACzBhvC,EAAa,CAEfyC,EAAG,SAAUj1B,EAAM5Q,EAAOsjC,EAAUjlE,GAClC,IAAI4nE,EAAiBquC,EAAkBj2G,EAAQuzG,SAAUvzG,EAAQ2nE,eAAiBp1B,GAElF,GAAuB,IAAnBq1B,EACF,MAAO,IAGT,OAAQjmC,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEAthC,EAAG,SAAUiM,EAAM5Q,EAAOsjC,EAAUjlE,GAClC,IAAI4nE,EAAiBquC,EAAkBj2G,EAAQuzG,SAAUvzG,EAAQ2nE,eAAiBp1B,GAElF,OAAQ5Q,GAEN,IAAK,IACH,OAAOmmC,EAAkCF,GAK3C,IAAK,OACL,IAAK,KAEH,OAAOG,EAAeH,GAKxB,IAAK,QACL,IAAK,MAEL,QACE,OAAOG,EAAeH,EAAgB,KAE5C,EAEArQ,EAAG,SAAUhlB,EAAM5Q,EAAOsjC,EAAUjlE,GAClC,IAAI4nE,EAAiBquC,EAAkBj2G,EAAQuzG,SAAUvzG,EAAQ2nE,eAAiBp1B,GAElF,OAAQ5Q,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,MAAO,MAAQqmC,EAAoBJ,EAAgB,KAGrD,IAAK,OACL,QACE,MAAO,MAAQG,EAAeH,EAAgB,KAEpD,EAEArhC,EAAG,SAAUgM,EAAM5Q,EAAOsjC,EAAUjlE,GAClC,IAAI0nE,EAAe1nE,EAAQ2nE,eAAiBp1B,EAE5C,OAAQ5Q,GAEN,IAAK,IACL,IAAK,KACL,IAAK,MACH,OAAO,EAAIguB,EAAOjnD,SAAS,QAASg/D,EAAc1nE,GAGpD,IAAK,OACL,QACE,OAAO,EAAI2vD,EAAOjnD,SAAS,OAAQg/D,EAAc1nE,GAEvD,GAGF,SAASi2G,EAAkB1C,EAAU7rC,GACnC,IAAIwuC,EAAiB3C,GAAW,EAAIvvC,EAAQt7D,SAAS6qG,EAAU7rC,GAAc,GAAQqsC,EAAyBrsC,EAAaG,oBAE3H,GAAIv0E,OAAOmrC,MAAMy3E,GACf,MAAM,IAAIzqC,WAAW,gCAAkC8nC,GAGzD,OAAO2C,CACT,CAEA,SAAS/yC,EAAgBvkE,EAAQwkE,GAC/B,IAAIC,EAAOzkE,EAAS,EAAI,IAAM,GAC1B0kE,EAASvgD,KAAK2e,IAAI9iC,GAAQmZ,WAE9B,MAAOurD,EAAOh2E,OAAS81E,EACrBE,EAAS,IAAMA,EAGjB,OAAOD,EAAOC,CAChB,CAEA,SAASyE,EAAe7X,EAAQimD,GAC9B,IAAIC,EAAYD,GAAkB,GAC9B9yC,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,EAAQu6B,EAAgBpgD,KAAKw7C,MAAM6J,EAAY,IAAK,GACpD1/B,EAAUy6B,EAAgBpgD,KAAKw7C,MAAM6J,EAAY,IAAK,GAC1D,OAAO/E,EAAOz6B,EAAQwtE,EAAY1tE,CACpC,CAEA,SAASo/B,EAAkC5X,EAAQimD,GACjD,GAAIjmD,EAAS,KAAO,EAAG,CACrB,IAAImT,EAAOnT,EAAS,EAAI,IAAM,IAC9B,OAAOmT,EAAOF,EAAgBpgD,KAAK2e,IAAIwuB,GAAU,GAAI,EACvD,CAEA,OAAO6X,EAAe7X,EAAQimD,EAChC,CAEA,SAASnuC,EAAoB9X,EAAQimD,GACnC,IAAI9yC,EAAOnT,EAAS,EAAI,IAAM,IAC1BkY,EAAYrlD,KAAK2e,IAAIwuB,GACrBtnB,EAAQ7lB,KAAKw7C,MAAM6J,EAAY,IAC/B1/B,EAAU0/B,EAAY,GAE1B,GAAgB,IAAZ1/B,EACF,OAAO26B,EAAO97D,OAAOqhC,GAGvB,IAAIwtE,EAAYD,GAAkB,GAClC,OAAO9yC,EAAO97D,OAAOqhC,GAASwtE,EAAYjzC,EAAgBz6B,EAAS,EACrE,CAEA,IAAIi7B,EAAWoB,EACftqB,EAAA,WAAkBkpB,EAClBnpB,EAAOC,QAAUA,EAAQ/xC,O,oCClKzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBwxB,EAElB,IAAItc,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAI+3E,EAA2B,iCAwT/B,SAASpqC,EAAOhC,EAAW0E,EAAgB2nC,GACzC,IAAIhnC,EAAY/nE,OAAOonE,GACnB3uE,EAAUs2G,GAAgB,CAAC,EAC3BrqG,EAAUqjE,EAAUx3D,MAAMu+F,GAE9B,GAAIpqG,EAAS,CACX,IAAIsmC,GAAO,EAAI0xB,EAAQv7D,SAASuhE,EAAWjqE,GAG3CsvE,EAAYrjE,EAAQuwB,QAAO,SAAUjpC,EAAQouC,GAC3C,GAAiB,MAAbA,EAAM,GACR,OAAOpuC,EAGT,IAAIw1F,EAAMx1F,EAAO6J,QAAQukC,GACrB40E,EAA8C,MAApBhjH,EAAOw1F,EAAM,GACvCytB,EAAWjjH,EAAO0M,QAAQ0hC,EAAO,IAAMqiC,EAAQt7D,QAAQi5B,EAAM,IAAI4Q,EAAM5Q,EAAO,KAAM3hC,GAAW,KAGnG,OAAOu2G,EAA0BC,EAAS/mC,UAAU,EAAGsZ,EAAM,GAAKytB,EAAS/mC,UAAUsZ,EAAM,GAAKytB,CAClG,GAAGlnC,EACL,CAEA,OAAO,EAAI3f,EAAOjnD,SAASuhE,EAAWqF,EAAWtvE,EACnD,CAEAw6C,EAAOC,QAAUA,EAAQ/xC,O,oCC/VzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBg8D,EAElB,IAAI9mD,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAwB9F,SAASm4E,EAAiBlkE,EAAMghE,EAAUjkC,EAAWtvE,GACnD,IAAI02G,GAAkB,EAAI/mD,EAAOjnD,SAAS1I,GAE1C,OADA02G,EAAgBnD,SAAWA,GACpB,EAAIvvC,EAAQt7D,UAAS,EAAIu7D,EAAQv7D,SAAS6pC,EAAMghE,GAAWjkC,EAAWonC,EAC/E,CAEAl8D,EAAOC,QAAUA,EAAQ/xC,O,oCCzCzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBotB,EAElB,IAAIlY,EAAS8T,EAAuB,EAAQ,OAE5C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CA6B9F,SAASupC,EAAkB0rC,EAAUhhE,GACnC,QAAQ,EAAIod,EAAOjnD,SAAS6qG,EAAUhhE,EACxC,CAEAiI,EAAOC,QAAUA,EAAQ/xC,O,mCCvCzB8xC,EAAOC,QAAU,CACfwxB,OAAQ,EAAQ,MAChBwqC,iBAAkB,EAAQ,MAC1B5uC,kBAAmB,EAAQ,MAC3BsG,OAAQ,EAAQ,MAChBwoC,eAAgB,EAAQ,MACxBC,eAAgB,EAAQ,M,oCCP1BtlH,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkB0zB,EAElB,IAAIxe,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CAE9F,IAAIw1E,EAAuB,KACvBC,EAAyB,IACzB8C,EAA4B,EAC5B7C,EAAW,CACb8C,gBAAiB,wBACjB7tC,YAAa,mBACb8tC,UAAW,IAEXC,GAAI,YACJC,IAAK,CAAC,gBACN,gBACA,iBAEAC,KAAM,WACNC,MAAO,CAAC,eACR,eACA,gBAGAC,GAAI,aACJC,IAAK,cACLC,KAAM,uBACNC,IAAK,eACLC,KAAM,wBACNC,GAAI,sBACJC,KAAM,+BACNC,OAAQ,wCAERpE,SAAUrvC,EAAQx7D,SA4CpB,SAASylE,EAAOrX,EAAUw/C,GACxB,GAAIxxG,UAAUxX,OAAS,EACrB,MAAM,IAAIoyD,UAAU,iCAAmC56C,UAAUxX,OAAS,YAG5E,GAAiB,OAAbwpE,EACF,OAAO,IAAItnC,KAAKs9C,KAGlB,IAAI9sE,EAAUs2G,GAAgB,CAAC,EAC3BsB,EAA+C,MAA5B53G,EAAQ43G,iBAA2Bf,GAA4B,EAAIlnD,EAAOjnD,SAAS1I,EAAQ43G,kBAElH,GAAyB,IAArBA,GAA+C,IAArBA,GAA+C,IAArBA,EACtD,MAAM,IAAInsC,WAAW,sCAIvB,GAAI3U,aAAoBtnC,MAA4B,kBAAbsnC,GAAsE,kBAA7CxlE,OAAO+6B,UAAUtU,SAASxjB,KAAKuiE,GAE7F,OAAO,IAAItnC,KAAKsnC,EAASt7B,WACpB,GAAwB,kBAAbs7B,GAAsE,oBAA7CxlE,OAAO+6B,UAAUtU,SAASxjB,KAAKuiE,GACxE,OAAO,IAAItnC,KAAKsnC,GACX,GAA0B,kBAAbA,GAAsE,oBAA7CxlE,OAAO+6B,UAAUtU,SAASxjB,KAAKuiE,GAC1E,OAAO,IAAItnC,KAAKs9C,KAGlB,IAAI+qC,EAAcC,EAAgBhhD,GAC9BihD,EAAkBC,EAAUH,EAAYtlE,KAAMqlE,GAC9C31E,EAAO81E,EAAgB91E,KACvBg2E,EAAiBF,EAAgBE,eACjC1lE,EAAO2lE,EAAUD,EAAgBh2E,GAErC,GAAIxD,MAAM8T,GACR,OAAO,IAAI/iB,KAAKs9C,KAGlB,GAAIv6B,EAAM,CACR,IAEI2d,EAFA+X,EAAY11B,EAAK/W,UACjBqd,EAAO,EAGX,GAAIg/D,EAAYh/D,OACdA,EAAOs/D,EAAUN,EAAYh/D,MAEzBpa,MAAMoa,IACR,OAAO,IAAIrpB,KAAKs9C,KAIpB,GAAI+qC,EAAYtE,UAAYvzG,EAAQuzG,UAGlC,GAFArjD,GAAS,EAAI+T,EAAQv7D,SAASmvG,EAAYtE,UAAYvzG,EAAQuzG,SAAU,IAAI/jF,KAAKy4C,EAAYpvB,IAEzFpa,MAAMyxB,GACR,OAAO,IAAI1gC,KAAKs9C,UAIlB5c,GAAS,EAAI8T,EAAQt7D,SAAS,IAAI8mB,KAAKy4C,EAAYpvB,IACnDqX,GAAS,EAAI8T,EAAQt7D,SAAS,IAAI8mB,KAAKy4C,EAAYpvB,EAAOqX,IAG5D,OAAO,IAAI1gC,KAAKy4C,EAAYpvB,EAAOqX,EACrC,CACE,OAAO,IAAI1gC,KAAKs9C,IAEpB,CAEA,SAASgrC,EAAgBM,GACvB,IAEIC,EAFAR,EAAc,CAAC,EACfjzD,EAAQovD,EAAS8C,gBAAgBj1E,KAAKu2E,GAkB1C,GAfKxzD,GAWHizD,EAAYtlE,KAAOqS,EAAM,GACzByzD,EAAazzD,EAAM,KAXnBA,EAAQovD,EAAS/qC,YAAYpnC,KAAKu2E,GAE9BxzD,GACFizD,EAAYtlE,KAAOqS,EAAM,GACzByzD,EAAazzD,EAAM,KAEnBizD,EAAYtlE,KAAO,KACnB8lE,EAAaD,IAObC,EAAY,CACd,IAAI12E,EAAQqyE,EAAST,SAAS1xE,KAAKw2E,GAE/B12E,GACFk2E,EAAYh/D,KAAOw/D,EAAWp4G,QAAQ0hC,EAAM,GAAI,IAChDk2E,EAAYtE,SAAW5xE,EAAM,GAAG9iC,QAEhCg5G,EAAYh/D,KAAOw/D,CAEvB,CAEA,OAAOR,CACT,CAEA,SAASG,EAAUI,EAAYR,GAC7B,IAEIj2E,EAFA22E,EAAatE,EAASiD,IAAIW,GAC1BW,EAAevE,EAASmD,MAAMS,GAKlC,GAFAj2E,EAAQqyE,EAASkD,KAAKr1E,KAAKu2E,IAAeG,EAAa12E,KAAKu2E,GAExDz2E,EAAO,CACT,IAAI62E,EAAa72E,EAAM,GACvB,MAAO,CACLM,KAAM3E,SAASk7E,EAAY,IAC3BP,eAAgBG,EAAW15G,MAAM85G,EAAWlrH,QAEhD,CAKA,GAFAq0C,EAAQqyE,EAASgD,GAAGn1E,KAAKu2E,IAAeE,EAAWz2E,KAAKu2E,GAEpDz2E,EAAO,CACT,IAAI82E,EAAgB92E,EAAM,GAC1B,MAAO,CACLM,KAAoC,IAA9B3E,SAASm7E,EAAe,IAC9BR,eAAgBG,EAAW15G,MAAM+5G,EAAcnrH,QAEnD,CAGA,MAAO,CACL20C,KAAM,KAEV,CAEA,SAASi2E,EAAUE,EAAYn2E,GAE7B,GAAa,OAATA,EACF,OAAO,KAGT,IAAIN,EACA4Q,EACArQ,EACAikC,EAEJ,GAA0B,IAAtBiyC,EAAW9qH,OAGb,OAFAilD,EAAO,IAAI/iB,KAAK,GAChB+iB,EAAKu3B,eAAe7nC,GACbsQ,EAMT,GAFA5Q,EAAQqyE,EAASoD,GAAGv1E,KAAKu2E,GAErBz2E,EAIF,OAHA4Q,EAAO,IAAI/iB,KAAK,GAChB0S,EAAQ5E,SAASqE,EAAM,GAAI,IAAM,EAE5B+2E,EAAaz2E,EAAMC,IAIxBqQ,EAAKu3B,eAAe7nC,EAAMC,GACnBqQ,GAJE,IAAI/iB,KAAKs9C,KAUpB,GAFAnrC,EAAQqyE,EAASqD,IAAIx1E,KAAKu2E,GAEtBz2E,EAAO,CACT4Q,EAAO,IAAI/iB,KAAK,GAChB,IAAIg3C,EAAYlpC,SAASqE,EAAM,GAAI,IAEnC,OAAKg3E,EAAsB12E,EAAMukC,IAIjCj0B,EAAKu3B,eAAe7nC,EAAM,EAAGukC,GACtBj0B,GAJE,IAAI/iB,KAAKs9C,IAKpB,CAKA,GAFAnrC,EAAQqyE,EAASsD,KAAKz1E,KAAKu2E,GAEvBz2E,EAAO,CACT4Q,EAAO,IAAI/iB,KAAK,GAChB0S,EAAQ5E,SAASqE,EAAM,GAAI,IAAM,EACjC,IAAIQ,EAAM7E,SAASqE,EAAM,GAAI,IAE7B,OAAK+2E,EAAaz2E,EAAMC,EAAOC,IAI/BoQ,EAAKu3B,eAAe7nC,EAAMC,EAAOC,GAC1BoQ,GAJE,IAAI/iB,KAAKs9C,IAKpB,CAKA,GAFAnrC,EAAQqyE,EAASuD,IAAI11E,KAAKu2E,GAEtBz2E,EAGF,OAFAwkC,EAAO7oC,SAASqE,EAAM,GAAI,IAAM,EAE3Bi3E,EAAiB32E,EAAMkkC,GAIrB0yC,EAAiB52E,EAAMkkC,GAHrB,IAAI32C,KAAKs9C,KASpB,GAFAnrC,EAAQqyE,EAASwD,KAAK31E,KAAKu2E,GAEvBz2E,EAAO,CACTwkC,EAAO7oC,SAASqE,EAAM,GAAI,IAAM,EAChC,IAAI+kC,EAAYppC,SAASqE,EAAM,GAAI,IAAM,EAEzC,OAAKi3E,EAAiB32E,EAAMkkC,EAAMO,GAI3BmyC,EAAiB52E,EAAMkkC,EAAMO,GAH3B,IAAIl3C,KAAKs9C,IAIpB,CAGA,OAAO,IACT,CAEA,SAASqrC,EAAUE,GACjB,IAAI12E,EACAiH,EACAF,EAIJ,GAFA/G,EAAQqyE,EAASyD,GAAG51E,KAAKw2E,GAErB12E,EAGF,OAFAiH,EAAQpK,WAAWmD,EAAM,GAAG1hC,QAAQ,IAAK,MAEpC64G,EAAalwE,GAIXA,EAAQ,GAAKkrE,EAHXhnC,IASX,GAFAnrC,EAAQqyE,EAAS0D,KAAK71E,KAAKw2E,GAEvB12E,EAIF,OAHAiH,EAAQtL,SAASqE,EAAM,GAAI,IAC3B+G,EAAUlK,WAAWmD,EAAM,GAAG1hC,QAAQ,IAAK,MAEtC64G,EAAalwE,EAAOF,GAIlBE,EAAQ,GAAKkrE,EAAuBprE,EAAUqrE,EAH5CjnC,IASX,GAFAnrC,EAAQqyE,EAAS2D,OAAO91E,KAAKw2E,GAEzB12E,EAAO,CACTiH,EAAQtL,SAASqE,EAAM,GAAI,IAC3B+G,EAAUpL,SAASqE,EAAM,GAAI,IAC7B,IAAI6G,EAAUhK,WAAWmD,EAAM,GAAG1hC,QAAQ,IAAK,MAE/C,OAAK64G,EAAalwE,EAAOF,EAASF,GAI3BI,EAAQ,GAAKkrE,EAAuBprE,EAAUqrE,EAAmC,IAAVvrE,EAHrEskC,GAIX,CAGA,OAAO,IACT,CAEA,SAAS+rC,EAAiBjzC,EAAaO,EAAMhkC,GAC3CgkC,EAAOA,GAAQ,EACfhkC,EAAMA,GAAO,EACb,IAAIoQ,EAAO,IAAI/iB,KAAK,GACpB+iB,EAAKu3B,eAAelE,EAAa,EAAG,GACpC,IAAImzC,EAAqBxmE,EAAKo0B,aAAe,EACzC1oE,EAAc,EAAPkoE,EAAWhkC,EAAM,EAAI42E,EAEhC,OADAxmE,EAAK85B,WAAW95B,EAAK+zB,aAAeroE,GAC7Bs0C,CACT,CAGA,IAAIymE,EAAgB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC7DC,EAA0B,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAE3E,SAASC,EAAgBj3E,GACvB,OAAOA,EAAO,MAAQ,GAAKA,EAAO,IAAM,GAAKA,EAAO,MAAQ,CAC9D,CAEA,SAASy2E,EAAaz2E,EAAMC,EAAOqQ,GACjC,GAAIrQ,EAAQ,GAAKA,EAAQ,GACvB,OAAO,EAGT,GAAY,MAARqQ,EAAc,CAChB,GAAIA,EAAO,EACT,OAAO,EAGT,IAAI4mE,EAAaD,EAAgBj3E,GAEjC,GAAIk3E,GAAc5mE,EAAO0mE,EAAwB/2E,GAC/C,OAAO,EAGT,IAAKi3E,GAAc5mE,EAAOymE,EAAc92E,GACtC,OAAO,CAEX,CAEA,OAAO,CACT,CAEA,SAASy2E,EAAsB12E,EAAMukC,GACnC,GAAIA,EAAY,EACd,OAAO,EAGT,IAAI2yC,EAAaD,EAAgBj3E,GAEjC,QAAIk3E,GAAc3yC,EAAY,SAIzB2yC,GAAc3yC,EAAY,IAKjC,CAEA,SAASoyC,EAAiB32E,EAAMkkC,EAAMhkC,GACpC,QAAIgkC,EAAO,GAAKA,EAAO,MAIZ,MAAPhkC,KAAgBA,EAAM,GAAKA,EAAM,GAKvC,CAEA,SAAS22E,EAAalwE,EAAOF,EAASF,GACpC,OAAa,MAATI,KAAkBA,EAAQ,GAAKA,GAAS,QAI7B,MAAXF,KAAoBA,EAAU,GAAKA,GAAW,OAInC,MAAXF,KAAoBA,EAAU,GAAKA,GAAW,KAKpD,CAEAgS,EAAOC,QAAUA,EAAQ/xC,O,oCCrczBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBk8D,EAElB,IAAIhnD,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CA0B9F,SAASq4E,EAAe1sC,EAAWspC,EAAUvzG,GAC3C,IAAIuyC,GAAO,EAAIyxB,EAAQt7D,SAASuhE,EAAWjqE,GACvCo5G,GAAqB,EAAIzpD,EAAOjnD,SAAS6qG,EAAUhhE,GAAM,GACzDhd,EAAI,IAAI/F,KAAK+iB,EAAK/W,UAAY49E,GAC9BC,EAAa,IAAI7pF,KAAK,GAG1B,OAFA6pF,EAAW5rC,YAAYl4C,EAAE4vC,iBAAkB5vC,EAAEwwC,cAAexwC,EAAE+wC,cAC9D+yC,EAAWxrC,SAASt4C,EAAEwxC,cAAexxC,EAAE8xC,gBAAiB9xC,EAAE+xC,gBAAiB/xC,EAAEizC,sBACtE6wC,CACT,CAEA7+D,EAAOC,QAAUA,EAAQ/xC,O,oCC7CzBpX,OAAO+gB,eAAeooC,EAAS,aAAc,CAC3C1nD,OAAO,IAET0nD,EAAA,WAAkBm8D,EAElB,IAAIjnD,EAAS8T,EAAuB,EAAQ,OAExCO,EAAUP,EAAuB,EAAQ,OAEzCQ,EAAUR,EAAuB,EAAQ,OAEzCS,EAAUT,EAAuB,EAAQ,OAEzCU,EAAUV,EAAuB,EAAQ,OAE7C,SAASA,EAAuBnlC,GAAO,OAAOA,GAAOA,EAAIolC,WAAaplC,EAAM,CAAE51B,QAAS41B,EAAO,CA0B9F,SAASs4E,EAAerkE,EAAMghE,EAAUvzG,GACtC,GAAoB,kBAATuyC,IAAsBA,EAAKz6B,MAAMmsD,EAAQv7D,SAAU,CAC5D,IAAIguG,GAAkB,EAAI/mD,EAAOjnD,SAAS1I,GAE1C,OADA02G,EAAgBnD,SAAWA,GACpB,EAAIvvC,EAAQt7D,SAAS6pC,EAAMmkE,EACpC,CAEA,IAAInhF,GAAI,EAAIyuC,EAAQt7D,SAAS6pC,EAAMvyC,GAC/Bs5G,GAAM,EAAIn1C,EAAQz7D,SAAS6sB,EAAEyL,cAAezL,EAAEi0C,WAAYj0C,EAAEk0C,UAAWl0C,EAAEm0C,WAAYn0C,EAAEo0C,aAAcp0C,EAAEq0C,aAAcr0C,EAAEs0C,mBAAmBruC,UAC1I49E,GAAqB,EAAIl1C,EAAQx7D,SAAS6qG,EAAU,IAAI/jF,KAAK8pF,IACjE,OAAO,IAAI9pF,KAAK8pF,EAAMF,EACxB,CAEA5+D,EAAOC,QAAUA,EAAQ/xC,O;;;;;;GC/CzB,MAAM6wG,EACJptH,cACEE,KAAKmtH,SAAW,KAChBntH,KAAKotH,QAAU,IAAIrpH,IACnB/D,KAAKqtH,UAAW,EAChBrtH,KAAKstH,eAAYvqH,CACnB,CACAwqH,QAAQjtD,EAAOktD,EAAOtnE,EAAMxiD,GAC1B,MAAM+pH,EAAYD,EAAMvlD,UAAUvkE,GAC5BgqH,EAAWF,EAAM7nF,SACvB8nF,EAAU/oH,SAAQjE,GAAMA,EAAG,CACzB6/D,QACAqtD,QAASH,EAAMG,QACfD,WACAE,YAAal3F,KAAKC,IAAIuvB,EAAOsnE,EAAMr9G,MAAOu9G,MAE9C,CACAG,WACM7tH,KAAKmtH,WAGTntH,KAAKqtH,UAAW,EAChBrtH,KAAKmtH,SAAW,EAAA5hH,EAAA,KAAsB83B,QAAQ,KAC5CrjC,KAAK8tH,UACL9tH,KAAKmtH,SAAW,KACZntH,KAAKqtH,UACPrtH,KAAK6tH,UACP,IAEJ,CACAC,QAAQ5nE,EAAO/iB,KAAKC,OAClB,IAAI2qF,EAAY,EAChB/tH,KAAKotH,QAAQ1oH,SAAQ,CAAC8oH,EAAOltD,KAC3B,IAAKktD,EAAMQ,UAAYR,EAAM1xD,MAAM76D,OACjC,OAEF,MAAM66D,EAAQ0xD,EAAM1xD,MACpB,IAEI14C,EAFAriB,EAAI+6D,EAAM76D,OAAS,EACnBqjE,GAAO,EAEX,KAAOvjE,GAAK,IAAKA,EACfqiB,EAAO04C,EAAM/6D,GACTqiB,EAAK6qG,SACH7qG,EAAK8qG,OAASV,EAAM7nF,WACtB6nF,EAAM7nF,SAAWviB,EAAK8qG,QAExB9qG,EAAK+qG,KAAKjoE,GACVoe,GAAO,IAEPxI,EAAM/6D,GAAK+6D,EAAMA,EAAM76D,OAAS,GAChC66D,EAAM36D,OAGNmjE,IACFhE,EAAMgE,OACNtkE,KAAKutH,QAAQjtD,EAAOktD,EAAOtnE,EAAM,aAE9B4V,EAAM76D,SACTusH,EAAMQ,SAAU,EAChBhuH,KAAKutH,QAAQjtD,EAAOktD,EAAOtnE,EAAM,YACjCsnE,EAAMG,SAAU,GAElBI,GAAajyD,EAAM76D,MAAM,IAE3BjB,KAAKstH,UAAYpnE,EACC,IAAd6nE,IACF/tH,KAAKqtH,UAAW,EAEpB,CACAe,UAAU9tD,GACR,MAAM+tD,EAASruH,KAAKotH,QACpB,IAAII,EAAQa,EAAOxqH,IAAIy8D,GAavB,OAZKktD,IACHA,EAAQ,CACNQ,SAAS,EACTL,SAAS,EACT7xD,MAAO,GACPmM,UAAW,CACTqmD,SAAU,GACVC,SAAU,KAGdF,EAAOvqH,IAAIw8D,EAAOktD,IAEbA,CACT,CACAgB,OAAOluD,EAAOxuD,EAAOb,GACnBjR,KAAKouH,UAAU9tD,GAAO2H,UAAUn2D,GAAOvR,KAAK0Q,EAC9C,CACA7M,IAAIk8D,EAAOxE,GACJA,GAAUA,EAAM76D,QAGrBjB,KAAKouH,UAAU9tD,GAAOxE,MAAMv7D,QAAQu7D,EACtC,CACA33D,IAAIm8D,GACF,OAAOtgE,KAAKouH,UAAU9tD,GAAOxE,MAAM76D,OAAS,CAC9C,CACAkP,MAAMmwD,GACJ,MAAMktD,EAAQxtH,KAAKotH,QAAQvpH,IAAIy8D,GAC1BktD,IAGLA,EAAMQ,SAAU,EAChBR,EAAMr9G,MAAQgzB,KAAKC,MACnBoqF,EAAM7nF,SAAW6nF,EAAM1xD,MAAM3rB,QAAO,CAACs+E,EAAKngH,IAAQooB,KAAKqS,IAAI0lF,EAAKngH,EAAIogH,YAAY,GAChF1uH,KAAK6tH,WACP,CACAG,QAAQ1tD,GACN,IAAKtgE,KAAKqtH,SACR,OAAO,EAET,MAAMG,EAAQxtH,KAAKotH,QAAQvpH,IAAIy8D,GAC/B,SAAKktD,GAAUA,EAAMQ,SAAYR,EAAM1xD,MAAM76D,OAI/C,CACAJ,KAAKy/D,GACH,MAAMktD,EAAQxtH,KAAKotH,QAAQvpH,IAAIy8D,GAC/B,IAAKktD,IAAUA,EAAM1xD,MAAM76D,OACzB,OAEF,MAAM66D,EAAQ0xD,EAAM1xD,MACpB,IAAI/6D,EAAI+6D,EAAM76D,OAAS,EACvB,KAAOF,GAAK,IAAKA,EACf+6D,EAAM/6D,GAAGkxD,SAEXu7D,EAAM1xD,MAAQ,GACd97D,KAAKutH,QAAQjtD,EAAOktD,EAAOrqF,KAAKC,MAAO,WACzC,CACAtkB,OAAOwhD,GACL,OAAOtgE,KAAKotH,QAAQhrH,OAAOk+D,EAC7B,EAEF,IAAIquD,EAAW,IAAIzB,EAEnB,MAAM0B,EAAc,cACdC,EAAgB,CACpBv6D,QAAQnxC,EAAM8F,EAAI6lG,GAChB,OAAOA,EAAS,GAAM7lG,EAAK9F,CAC7B,EACAu/C,MAAMv/C,EAAM8F,EAAI6lG,GACd,MAAMC,GAAK,IAAAtyG,GAAM0G,GAAQyrG,GACnB14F,EAAK64F,EAAGrxE,QAAS,IAAAjhC,GAAMwM,GAAM2lG,GACnC,OAAO14F,GAAMA,EAAGwnB,MACZxnB,EAAG84F,IAAID,EAAID,GAAQG,YACnBhmG,CACN,EACA1W,OAAO4Q,EAAM8F,EAAI6lG,GACf,OAAO3rG,GAAQ8F,EAAK9F,GAAQ2rG,CAC9B,GAEF,MAAMI,EACJpvH,YAAYmiE,EAAKx+D,EAAQ0nB,EAAMlC,GAC7B,MAAMkmG,EAAe1rH,EAAO0nB,GAC5BlC,GAAK,OAAQ,CAACg5C,EAAIh5C,GAAIA,EAAIkmG,EAAcltD,EAAI9+C,OAC5C,MAAMA,GAAO,OAAQ,CAAC8+C,EAAI9+C,KAAMgsG,EAAclmG,IAC9CjpB,KAAKiuH,SAAU,EACfjuH,KAAKovH,IAAMntD,EAAIxhE,IAAMouH,EAAc5sD,EAAIv+D,aAAeyf,GACtDnjB,KAAKqvH,QAAU,EAAApwF,EAAQgjC,EAAIqtD,SAAW,EAAArwF,EAAA,OACtCj/B,KAAKuvH,OAAS74F,KAAKw7C,MAAM/uC,KAAKC,OAAS6+B,EAAIutD,OAAS,IACpDxvH,KAAK0uH,UAAY1uH,KAAKkuH,OAASx3F,KAAKw7C,MAAMjQ,EAAIt8B,UAC9C3lC,KAAKyvH,QAAUxtD,EAAIytD,KACnB1vH,KAAKy8G,QAAUh5G,EACfzD,KAAK2vH,MAAQxkG,EACbnrB,KAAK4vH,MAAQzsG,EACbnjB,KAAK6vH,IAAM5mG,EACXjpB,KAAK8vH,eAAY/sH,CACnB,CACA9C,SACE,OAAOD,KAAKiuH,OACd,CACAzwG,OAAOykD,EAAKh5C,EAAIi9B,GACd,GAAIlmD,KAAKiuH,QAAS,CAChBjuH,KAAKutH,SAAQ,GACb,MAAM4B,EAAenvH,KAAKy8G,QAAQz8G,KAAK2vH,OACjCI,EAAU7pE,EAAOlmD,KAAKuvH,OACtBS,EAAShwH,KAAK0uH,UAAYqB,EAChC/vH,KAAKuvH,OAASrpE,EACdlmD,KAAK0uH,UAAYh4F,KAAKw7C,MAAMx7C,KAAKqS,IAAIinF,EAAQ/tD,EAAIt8B,WACjD3lC,KAAKkuH,QAAU6B,EACf/vH,KAAKyvH,QAAUxtD,EAAIytD,KACnB1vH,KAAK6vH,KAAM,OAAQ,CAAC5tD,EAAIh5C,GAAIA,EAAIkmG,EAAcltD,EAAI9+C,OAClDnjB,KAAK4vH,OAAQ,OAAQ,CAAC3tD,EAAI9+C,KAAMgsG,EAAclmG,GAChD,CACF,CACAgpC,SACMjyD,KAAKiuH,UACPjuH,KAAKmuH,KAAKhrF,KAAKC,OACfpjC,KAAKiuH,SAAU,EACfjuH,KAAKutH,SAAQ,GAEjB,CACAY,KAAKjoE,GACH,MAAM6pE,EAAU7pE,EAAOlmD,KAAKuvH,OACtB5pF,EAAW3lC,KAAK0uH,UAChBvjG,EAAOnrB,KAAK2vH,MACZxsG,EAAOnjB,KAAK4vH,MACZF,EAAO1vH,KAAKyvH,MACZxmG,EAAKjpB,KAAK6vH,IAChB,IAAIf,EAEJ,GADA9uH,KAAKiuH,QAAU9qG,IAAS8F,IAAOymG,GAASK,EAAUpqF,IAC7C3lC,KAAKiuH,QAGR,OAFAjuH,KAAKy8G,QAAQtxF,GAAQlC,OACrBjpB,KAAKutH,SAAQ,GAGXwC,EAAU,EACZ/vH,KAAKy8G,QAAQtxF,GAAQhI,GAGvB2rG,EAAUiB,EAAUpqF,EAAY,EAChCmpF,EAASY,GAAQZ,EAAS,EAAI,EAAIA,EAASA,EAC3CA,EAAS9uH,KAAKqvH,QAAQ34F,KAAKC,IAAI,EAAGD,KAAKqS,IAAI,EAAG+lF,KAC9C9uH,KAAKy8G,QAAQtxF,GAAQnrB,KAAKovH,IAAIjsG,EAAM8F,EAAI6lG,GAC1C,CACAmB,OACE,MAAMrlE,EAAW5qD,KAAK8vH,YAAc9vH,KAAK8vH,UAAY,IACrD,OAAO,IAAIpgH,SAAQ,CAAC5J,EAAKoqH,KACvBtlE,EAASrqD,KAAK,CAACuF,MAAKoqH,OAAK,GAE7B,CACA3C,QAAQzkG,GACN,MAAM/f,EAAS+f,EAAW,MAAQ,MAC5B8hC,EAAW5qD,KAAK8vH,WAAa,GACnC,IAAK,IAAI/uH,EAAI,EAAGA,EAAI6pD,EAAS3pD,OAAQF,IACnC6pD,EAAS7pD,GAAGgI,IAEhB,EAGF,MAAMonH,EAAU,CAAC,IAAK,IAAK,cAAe,SAAU,WAC9CC,EAAS,CAAC,QAAS,cAAe,mBACxC,EAAAlnF,EAAA,IAAa,YAAa,CACxBsmF,WAAOzsH,EACP4iC,SAAU,IACV2pF,OAAQ,eACR7uH,QAAIsC,EACJogB,UAAMpgB,EACN2sH,UAAM3sH,EACNkmB,QAAIlmB,EACJW,UAAMX,IAER,MAAMstH,EAAmBprH,OAAOkR,KAAK,EAAA+yB,EAAA,WACrC,EAAAA,EAAA,SAAkB,YAAa,CAC7BonF,WAAW,EACXC,YAAY,EACZC,YAAcx1G,GAAkB,eAATA,GAAkC,eAATA,GAAkC,OAATA,IAE3E,EAAAkuB,EAAA,IAAa,aAAc,CACzBknF,OAAQ,CACN1sH,KAAM,QACN+sH,WAAYL,GAEdD,QAAS,CACPzsH,KAAM,SACN+sH,WAAYN,KAGhB,EAAAjnF,EAAA,SAAkB,aAAc,CAC9BonF,UAAW,cAEb,EAAApnF,EAAA,IAAa,cAAe,CAC1BjpC,OAAQ,CACNywH,UAAW,CACT/qF,SAAU,MAGdgrF,OAAQ,CACND,UAAW,CACT/qF,SAAU,IAGdirF,KAAM,CACJC,WAAY,CACVT,OAAQ,CACNjtG,KAAM,eAERkhD,QAAS,CACP3gE,KAAM,UACNiiC,SAAU,KAIhBmrF,KAAM,CACJD,WAAY,CACVT,OAAQ,CACNnnG,GAAI,eAENo7C,QAAS,CACP3gE,KAAM,UACN4rH,OAAQ,SACR7uH,GAAIiH,GAAS,EAAJA,OAKjB,MAAMqpH,EACJjxH,YAAYwgE,EAAOzxD,GACjB7O,KAAKgxH,OAAS1wD,EACdtgE,KAAKixH,YAAc,IAAIltH,IACvB/D,KAAKooE,UAAUv5D,EACjB,CACAu5D,UAAUv5D,GACR,KAAK,IAAA9N,GAAS8N,GACZ,OAEF,MAAMqiH,EAAgBlxH,KAAKixH,YAC3BhsH,OAAOC,oBAAoB2J,GAAQnK,SAAQf,IACzC,MAAMs+D,EAAMpzD,EAAOlL,GACnB,KAAK,IAAA5C,GAASkhE,GACZ,OAEF,MAAMn5C,EAAW,CAAC,EAClB,IAAK,MAAMsiB,KAAUilF,EACnBvnG,EAASsiB,GAAU62B,EAAI72B,KAExB,OAAQ62B,EAAIwuD,aAAexuD,EAAIwuD,YAAc,CAAC9sH,IAAMe,SAASymB,IACxDA,IAASxnB,GAAQutH,EAAc/sH,IAAIgnB,IACrC+lG,EAAcptH,IAAIqnB,EAAMrC,EAC1B,GACA,GAEN,CACAqoG,gBAAgB1tH,EAAQgB,GACtB,MAAMizE,EAAajzE,EAAOkP,QACpBA,EAAUy9G,EAAqB3tH,EAAQi0E,GAC7C,IAAK/jE,EACH,MAAO,GAET,MAAMk9G,EAAa7wH,KAAKqxH,kBAAkB19G,EAAS+jE,GAOnD,OANIA,EAAW45C,SACbC,EAAS9tH,EAAOkQ,QAAQ69G,YAAa95C,GAAY3nE,MAAK,KACpDtM,EAAOkQ,QAAU+jE,CAAU,IAC1B,SAGEm5C,CACT,CACAQ,kBAAkB5tH,EAAQgB,GACxB,MAAMysH,EAAgBlxH,KAAKixH,YACrBJ,EAAa,GACb7C,EAAUvqH,EAAO+tH,cAAgB/tH,EAAO+tH,YAAc,CAAC,GACvDv/G,EAAQhN,OAAOkR,KAAK1R,GACpByhD,EAAO/iB,KAAKC,MAClB,IAAIriC,EACJ,IAAKA,EAAIkR,EAAMhR,OAAS,EAAGF,GAAK,IAAKA,EAAG,CACtC,MAAMoqB,EAAOlZ,EAAMlR,GACnB,GAAuB,MAAnBoqB,EAAKwmB,OAAO,GACd,SAEF,GAAa,YAATxmB,EAAoB,CACtB0lG,EAAWtwH,QAAQP,KAAKmxH,gBAAgB1tH,EAAQgB,IAChD,QACF,CACA,MAAMiC,EAAQjC,EAAO0mB,GACrB,IAAIulG,EAAY1C,EAAQ7iG,GACxB,MAAM82C,EAAMivD,EAAcrtH,IAAIsnB,GAC9B,GAAIulG,EAAW,CACb,GAAIzuD,GAAOyuD,EAAUzwH,SAAU,CAC7BywH,EAAUlzG,OAAOykD,EAAKv7D,EAAOw/C,GAC7B,QACF,CACEwqE,EAAUz+D,QAEd,CACKgQ,GAAQA,EAAIt8B,UAIjBqoF,EAAQ7iG,GAAQulG,EAAY,IAAIxB,EAAUjtD,EAAKx+D,EAAQ0nB,EAAMzkB,GAC7DmqH,EAAWtwH,KAAKmwH,IAJdjtH,EAAO0nB,GAAQzkB,CAKnB,CACA,OAAOmqH,CACT,CACArzG,OAAO/Z,EAAQgB,GACb,GAA8B,IAA1BzE,KAAKixH,YAAY7oH,KAEnB,YADAnD,OAAOqoB,OAAO7pB,EAAQgB,GAGxB,MAAMosH,EAAa7wH,KAAKqxH,kBAAkB5tH,EAAQgB,GAClD,OAAIosH,EAAW5vH,QACb0tH,EAASvqH,IAAIpE,KAAKgxH,OAAQH,IACnB,QAFT,CAIF,EAEF,SAASU,EAASV,EAAYJ,GAC5B,MAAMzC,EAAU,GACV73G,EAAOlR,OAAOkR,KAAKs6G,GACzB,IAAK,IAAI1vH,EAAI,EAAGA,EAAIoV,EAAKlV,OAAQF,IAAK,CACpC,MAAM0wH,EAAOZ,EAAW16G,EAAKpV,IACzB0wH,GAAQA,EAAKxxH,UACf+tH,EAAQztH,KAAKkxH,EAAKxB,OAEtB,CACA,OAAOvgH,QAAQq5C,IAAIilE,EACrB,CACA,SAASoD,EAAqB3tH,EAAQi0E,GACpC,IAAKA,EACH,OAEF,IAAI/jE,EAAUlQ,EAAOkQ,QACrB,GAAKA,EAOL,OAHIA,EAAQ29G,UACV7tH,EAAOkQ,QAAUA,EAAU1O,OAAOqoB,OAAO,CAAC,EAAG3Z,EAAS,CAAC29G,SAAS,EAAOE,YAAa,CAAC,KAEhF79G,EANLlQ,EAAOkQ,QAAU+jE,CAOrB,CAEA,SAASg6C,EAAUrxD,EAAOsxD,GACxB,MAAM92D,EAAOwF,GAASA,EAAM1sD,SAAW,CAAC,EAClC8jC,EAAUojB,EAAKpjB,QACf9gB,OAAmB5zB,IAAb83D,EAAKlkC,IAAoBg7F,EAAkB,EACjD5oF,OAAmBhmC,IAAb83D,EAAK9xB,IAAoB4oF,EAAkB,EACvD,MAAO,CACLxhH,MAAOsnC,EAAU1O,EAAMpS,EACvBvmB,IAAKqnC,EAAU9gB,EAAMoS,EAEzB,CACA,SAAS6oF,EAAYC,EAAQC,EAAQH,GACnC,IAAwB,IAApBA,EACF,OAAO,EAET,MAAM13E,EAAIy3E,EAAUG,EAAQF,GACtBx6E,EAAIu6E,EAAUI,EAAQH,GAC5B,MAAO,CACL1zD,IAAK9mB,EAAE/mC,IACPu8B,MAAOsN,EAAE7pC,IACT8tD,OAAQ/mB,EAAEhnC,MACVs8B,KAAMwN,EAAE9pC,MAEZ,CACA,SAAS4hH,EAAOrrH,GACd,IAAIolB,EAAGvgB,EAAGkG,EAAGzQ,EASb,OARI,IAAAD,GAAS2F,IACXolB,EAAIplB,EAAMu3D,IACV1yD,EAAI7E,EAAMimC,MACVl7B,EAAI/K,EAAMw3D,OACVl9D,EAAI0F,EAAM+lC,MAEV3gB,EAAIvgB,EAAIkG,EAAIzQ,EAAI0F,EAEX,CACLu3D,IAAKnyC,EACL6gB,MAAOphC,EACP2yD,OAAQzsD,EACRg7B,KAAMzrC,EACNg5B,UAAoB,IAAVtzB,EAEd,CACA,SAASsrH,EAAwB1xD,EAAO2xD,GACtC,MAAM97G,EAAO,GACP+7G,EAAW5xD,EAAM6xD,uBAAuBF,GAC9C,IAAIlxH,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOm2D,EAASjxH,OAAQF,EAAIg7D,IAAQh7D,EAC9CoV,EAAK5V,KAAK2xH,EAASnxH,GAAGV,OAExB,OAAO8V,CACT,CACA,SAASi8G,EAAW77D,EAAO7vD,EAAO2rH,EAAS1+G,EAAU,CAAC,GACpD,MAAMwC,EAAOogD,EAAMpgD,KACbm8G,EAA8B,WAAjB3+G,EAAQsH,KAC3B,IAAIla,EAAGg7D,EAAMyE,EAAc+xD,EAC3B,GAAc,OAAV7rH,EAAJ,CAGA,IAAK3F,EAAI,EAAGg7D,EAAO5lD,EAAKlV,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAE7C,GADAy/D,GAAgBrqD,EAAKpV,GACjBy/D,IAAiB6xD,EAAS,CAC5B,GAAI1+G,EAAQo1C,IACV,SAEF,KACF,CACAwpE,EAAah8D,EAAM9xD,OAAO+7D,IACtB,OAAe+xD,KAAgBD,GAAyB,IAAV5rH,IAAe,IAAA4S,GAAK5S,MAAW,IAAA4S,GAAKi5G,MACpF7rH,GAAS6rH,EAEb,CACA,OAAO7rH,CAdP,CAeF,CACA,SAAS8rH,EAAyBj9G,GAChC,MAAMY,EAAOlR,OAAOkR,KAAKZ,GACnBk9G,EAAQ,IAAIjmH,MAAM2J,EAAKlV,QAC7B,IAAIF,EAAGg7D,EAAMp4D,EACb,IAAK5C,EAAI,EAAGg7D,EAAO5lD,EAAKlV,OAAQF,EAAIg7D,IAAQh7D,EAC1C4C,EAAMwS,EAAKpV,GACX0xH,EAAM1xH,GAAK,CACTk5C,EAAGt2C,EACHwzC,EAAG5hC,EAAK5R,IAGZ,OAAO8uH,CACT,CACA,SAASC,EAAUryD,EAAO9zB,GACxB,MAAMomF,EAAUtyD,GAASA,EAAM1sD,QAAQg/G,QACvC,OAAOA,QAAwB5vH,IAAZ4vH,QAAwC5vH,IAAfwpC,EAAKgqB,KACnD,CACA,SAASq8D,EAAYC,EAAYC,EAAYvmF,GAC3C,MAAO,GAAGsmF,EAAW3iH,MAAM4iH,EAAW5iH,MAAMq8B,EAAKgqB,OAAShqB,EAAK7oC,MACjE,CACA,SAASqvH,EAAc1yD,GACrB,MAAM,IAAC1pC,EAAG,IAAEoS,EAAG,WAAEiqF,EAAU,WAAEC,GAAc5yD,EAAM0yD,gBACjD,MAAO,CACLp8F,IAAKq8F,EAAar8F,EAAM1vB,OAAOisH,kBAC/BnqF,IAAKkqF,EAAalqF,EAAM9hC,OAAOs7C,kBAEnC,CACA,SAAS4wE,EAAiBC,EAAQC,EAAUC,GAC1C,MAAMC,EAAWH,EAAOC,KAAcD,EAAOC,GAAY,CAAC,GAC1D,OAAOE,EAASD,KAAgBC,EAASD,GAAc,CAAC,EAC1D,CACA,SAASE,EAAoBj9D,EAAOkK,EAAQgzD,EAAU/vH,GACpD,IAAK,MAAM6oC,KAAQk0B,EAAOizD,wBAAwBhwH,GAAM+zC,UAAW,CACjE,MAAM/wC,EAAQ6vD,EAAMhqB,EAAKlsC,OACzB,GAAKozH,GAAY/sH,EAAQ,IAAQ+sH,GAAY/sH,EAAQ,EACnD,OAAO6lC,EAAKlsC,KAEhB,CACA,OAAO,IACT,CACA,SAASszH,EAAajlC,EAAYx0B,GAChC,MAAM,MAACoG,EAAOszD,YAAarnF,GAAQmiD,EAC7B0kC,EAAS9yD,EAAMuzD,UAAYvzD,EAAMuzD,QAAU,CAAC,IAC5C,OAACC,EAAM,OAAErzD,EAAQpgE,MAAOmgE,GAAgBj0B,EACxCwnF,EAAQD,EAAOzuD,KACf2uD,EAAQvzD,EAAO4E,KACf1hE,EAAMivH,EAAYkB,EAAQrzD,EAAQl0B,GAClCwvB,EAAO7B,EAAOj5D,OACpB,IAAIs1D,EACJ,IAAK,IAAIx1D,EAAI,EAAGA,EAAIg7D,IAAQh7D,EAAG,CAC7B,MAAMqiB,EAAO82C,EAAOn5D,IACb,CAACgzH,GAAQ1zH,EAAO,CAAC2zH,GAAQttH,GAAS0c,EACnC6wG,EAAa7wG,EAAKywG,UAAYzwG,EAAKywG,QAAU,CAAC,GACpDt9D,EAAQ09D,EAAWD,GAASb,EAAiBC,EAAQzvH,EAAKtD,GAC1Dk2D,EAAMiK,GAAgB95D,EACtB6vD,EAAM29D,KAAOV,EAAoBj9D,EAAOkK,GAAQ,EAAMl0B,EAAK7oC,MAC3D6yD,EAAM49D,QAAUX,EAAoBj9D,EAAOkK,GAAQ,EAAOl0B,EAAK7oC,KACjE,CACF,CACA,SAAS0wH,EAAgB9zD,EAAO+E,GAC9B,MAAMgvD,EAAS/zD,EAAM+zD,OACrB,OAAOpvH,OAAOkR,KAAKk+G,GAAQlvH,QAAOxB,GAAO0wH,EAAO1wH,GAAK0hE,OAASA,IAAMl5B,OACtE,CACA,SAASmoF,EAAqBl0H,EAAQC,GACpC,OAAO,OAAcD,EACnB,CACEH,QAAQ,EACRikE,aAASnhE,EACTy9D,aAAcngE,EACdA,QACA4a,KAAM,UACNvX,KAAM,WAGZ,CACA,SAAS6wH,EAAkBn0H,EAAQC,EAAOgqE,GACxC,OAAO,OAAcjqE,EAAQ,CAC3BH,QAAQ,EACR4pE,UAAWxpE,EACX65D,YAAQn3D,EACRkI,SAAKlI,EACLsnE,UACAhqE,QACA4a,KAAM,UACNvX,KAAM,QAEV,CACA,SAAS8wH,EAAYjoF,EAAMuvB,GACzB,MAAM0E,EAAej0B,EAAKmiD,WAAWruF,MAC/BglE,EAAO94B,EAAKk0B,QAAUl0B,EAAKk0B,OAAO4E,KACxC,GAAKA,EAAL,CAGAvJ,EAAQA,GAASvvB,EAAKkoF,QACtB,IAAK,MAAMv6D,KAAU4B,EAAO,CAC1B,MAAMs3D,EAASl5D,EAAO25D,QACtB,IAAKT,QAA2BrwH,IAAjBqwH,EAAO/tD,SAAsDtiE,IAA/BqwH,EAAO/tD,GAAM7E,GACxD,cAEK4yD,EAAO/tD,GAAM7E,EACtB,CARA,CASF,CACA,MAAMk0D,EAAsBz5G,GAAkB,UAATA,GAA6B,SAATA,EACnD05G,EAAmB,CAACzhH,EAAQk9D,IAAWA,EAASl9D,EAASjO,OAAOqoB,OAAO,CAAC,EAAGpa,GAC3E0hH,EAAc,CAACC,EAAUtoF,EAAM+zB,IAAUu0D,IAAatoF,EAAKuoF,QAAUvoF,EAAKwoF,UAC3E,CAAC5+G,KAAM67G,EAAwB1xD,GAAO,GAAO77D,OAAQ,MAC1D,MAAMuwH,EACJl1H,YAAYwgE,EAAOE,GACjBxgE,KAAKsgE,MAAQA,EACbtgE,KAAKqsB,KAAOi0C,EAAMhsD,IAClBtU,KAAKK,MAAQmgE,EACbxgE,KAAKi1H,gBAAkB,CAAC,EACxBj1H,KAAK4zH,YAAc5zH,KAAKk1H,UACxBl1H,KAAK6/G,MAAQ7/G,KAAK4zH,YAAYlwH,KAC9B1D,KAAK2T,aAAU5Q,EACf/C,KAAKm1H,UAAW,EAChBn1H,KAAKo1H,WAAQryH,EACb/C,KAAKq1H,iBAActyH,EACnB/C,KAAKs1H,oBAAiBvyH,EACtB/C,KAAKu1H,gBAAaxyH,EAClB/C,KAAKw1H,gBAAazyH,EAClB/C,KAAKy1H,qBAAsB,EAC3Bz1H,KAAK01H,oBAAqB,EAC1B11H,KAAKyoE,cAAW1lE,EAChB/C,KAAK21H,UAAY,GACjB31H,KAAK41H,YACP,CACAA,aACE,MAAMrpF,EAAOvsC,KAAK4zH,YAClB5zH,KAAKooE,YACLpoE,KAAK61H,aACLtpF,EAAKwoF,SAAWrC,EAAUnmF,EAAKk0B,OAAQl0B,GACvCvsC,KAAK81H,aACP,CACAC,YAAYv1D,GACNxgE,KAAKK,QAAUmgE,GACjBg0D,EAAYx0H,KAAK4zH,aAEnB5zH,KAAKK,MAAQmgE,CACf,CACAq1D,aACE,MAAMv1D,EAAQtgE,KAAKsgE,MACb/zB,EAAOvsC,KAAK4zH,YACZ1vD,EAAUlkE,KAAKg2H,aACfC,EAAW,CAAC5wD,EAAMprB,EAAG9C,EAAG5rC,IAAe,MAAT85D,EAAeprB,EAAa,MAATorB,EAAe95D,EAAI4rC,EACpE++E,EAAM3pF,EAAK4pF,SAAU,IAAAzuH,GAAew8D,EAAQiyD,QAAS/B,EAAgB9zD,EAAO,MAC5E81D,EAAM7pF,EAAK8pF,SAAU,IAAA3uH,GAAew8D,EAAQmyD,QAASjC,EAAgB9zD,EAAO,MAC5Eg2D,EAAM/pF,EAAKgqF,SAAU,IAAA7uH,GAAew8D,EAAQqyD,QAASnC,EAAgB9zD,EAAO,MAC5Ek2D,EAAYjqF,EAAKiqF,UACjBC,EAAMlqF,EAAKmqF,QAAUT,EAASO,EAAWN,EAAKE,EAAKE,GACnDK,EAAMpqF,EAAKqqF,QAAUX,EAASO,EAAWJ,EAAKF,EAAKI,GACzD/pF,EAAKslF,OAAS7xH,KAAK62H,cAAcX,GACjC3pF,EAAKulF,OAAS9xH,KAAK62H,cAAcT,GACjC7pF,EAAKuqF,OAAS92H,KAAK62H,cAAcP,GACjC/pF,EAAKunF,OAAS9zH,KAAK62H,cAAcJ,GACjClqF,EAAKk0B,OAASzgE,KAAK62H,cAAcF,EACnC,CACAX,aACE,OAAOh2H,KAAKsgE,MAAM/qD,KAAK+xD,SAAStnE,KAAKK,MACvC,CACA60H,UACE,OAAOl1H,KAAKsgE,MAAMC,eAAevgE,KAAKK,MACxC,CACAw2H,cAAcE,GACZ,OAAO/2H,KAAKsgE,MAAM+zD,OAAO0C,EAC3B,CACAC,eAAe32D,GACb,MAAM9zB,EAAOvsC,KAAK4zH,YAClB,OAAOvzD,IAAU9zB,EAAKunF,OAClBvnF,EAAKk0B,OACLl0B,EAAKunF,MACX,CACAlwF,QACE5jC,KAAK8tH,QAAQ,QACf,CACAmJ,WACE,MAAM1qF,EAAOvsC,KAAK4zH,YACd5zH,KAAKo1H,QACP,IAAA3/F,GAAoBz1B,KAAKo1H,MAAOp1H,MAE9BusC,EAAKwoF,UACPP,EAAYjoF,EAEhB,CACA2qF,aACE,MAAMhzD,EAAUlkE,KAAKg2H,aACfzgH,EAAO2uD,EAAQ3uD,OAAS2uD,EAAQ3uD,KAAO,IACvC6/G,EAAQp1H,KAAKo1H,MACnB,IAAI,IAAAr0H,GAASwU,GACXvV,KAAKo1H,MAAQ5C,EAAyBj9G,QACjC,GAAI6/G,IAAU7/G,EAAM,CACzB,GAAI6/G,EAAO,EACT,IAAA3/F,GAAoB2/F,EAAOp1H,MAC3B,MAAMusC,EAAOvsC,KAAK4zH,YAClBY,EAAYjoF,GACZA,EAAKkoF,QAAU,EACjB,CACIl/G,GAAQtQ,OAAOoF,aAAakL,KAC9B,IAAAvU,GAAkBuU,EAAMvV,MAE1BA,KAAK21H,UAAY,GACjB31H,KAAKo1H,MAAQ7/G,CACf,CACF,CACAugH,cACE,MAAMvpF,EAAOvsC,KAAK4zH,YAClB5zH,KAAKk3H,aACDl3H,KAAKm3H,qBACP5qF,EAAK23B,QAAU,IAAIlkE,KAAKm3H,mBAE5B,CACAC,sBAAsBC,GACpB,MAAM9qF,EAAOvsC,KAAK4zH,YACZ1vD,EAAUlkE,KAAKg2H,aACrB,IAAIsB,GAAe,EACnBt3H,KAAKk3H,aACL,MAAMK,EAAahrF,EAAKwoF,SACxBxoF,EAAKwoF,SAAWrC,EAAUnmF,EAAKk0B,OAAQl0B,GACnCA,EAAKgqB,QAAU2N,EAAQ3N,QACzB+gE,GAAe,EACf9C,EAAYjoF,GACZA,EAAKgqB,MAAQ2N,EAAQ3N,OAEvBv2D,KAAKw3H,gBAAgBH,IACjBC,GAAgBC,IAAehrF,EAAKwoF,WACtCpB,EAAa3zH,KAAMusC,EAAKkoF,QAE5B,CACArsD,YACE,MAAMv5D,EAAS7O,KAAKsgE,MAAMzxD,OACpB4oH,EAAY5oH,EAAO6oH,iBAAiB13H,KAAK6/G,OACzCv/G,EAASuO,EAAO8oH,gBAAgB33H,KAAKg2H,aAAcyB,GAAW,GACpEz3H,KAAK2T,QAAU9E,EAAO+oH,eAAet3H,EAAQN,KAAK63H,cAClD73H,KAAKm1H,SAAWn1H,KAAK2T,QAAQmkH,QAC7B93H,KAAKi1H,gBAAkB,CAAC,CAC1B,CACAx9D,MAAMtnD,EAAOyxC,GACX,MAAOgyE,YAAarnF,EAAM6oF,MAAO7/G,GAAQvV,MACnC,OAAC8zH,EAAM,SAAEiB,GAAYxoF,EACrBwnF,EAAQD,EAAOzuD,KACrB,IAEItkE,EAAGuN,EAAK4rD,EAFRlnB,EAAmB,IAAV7iC,GAAeyxC,IAAUrsC,EAAKtU,QAAgBsrC,EAAKwrF,QAC5D9jH,EAAO9D,EAAQ,GAAKo8B,EAAKkoF,QAAQtkH,EAAQ,GAE7C,IAAsB,IAAlBnQ,KAAKm1H,SACP5oF,EAAKkoF,QAAUl/G,EACfg3B,EAAKwrF,SAAU,EACf79D,EAAS3kD,MACJ,CAEH2kD,GADE,OAAQ3kD,EAAKpF,IACNnQ,KAAKg4H,eAAezrF,EAAMh3B,EAAMpF,EAAOyxC,IACvC,IAAA7gD,GAASwU,EAAKpF,IACdnQ,KAAKi4H,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GAExC5hD,KAAKk4H,mBAAmB3rF,EAAMh3B,EAAMpF,EAAOyxC,GAEtD,MAAMu2E,EAA6B,IAAqB,OAAf7pH,EAAIylH,IAAoB9/G,GAAQ3F,EAAIylH,GAAS9/G,EAAK8/G,GAC3F,IAAKhzH,EAAI,EAAGA,EAAI6gD,IAAS7gD,EACvBwrC,EAAKkoF,QAAQ1zH,EAAIoP,GAAS7B,EAAM4rD,EAAOn5D,GACnCiyC,IACEmlF,MACFnlF,GAAS,GAEX/+B,EAAO3F,GAGXi+B,EAAKwrF,QAAU/kF,CACjB,CACI+hF,GACFpB,EAAa3zH,KAAMk6D,EAEvB,CACAg+D,mBAAmB3rF,EAAMh3B,EAAMpF,EAAOyxC,GACpC,MAAM,OAACkyE,EAAM,OAAErzD,GAAUl0B,EACnBwnF,EAAQD,EAAOzuD,KACf2uD,EAAQvzD,EAAO4E,KACfY,EAAS6tD,EAAOsE,YAChBC,EAAcvE,IAAWrzD,EACzBvG,EAAS,IAAI1tD,MAAMo1C,GACzB,IAAI7gD,EAAGg7D,EAAM17D,EACb,IAAKU,EAAI,EAAGg7D,EAAOna,EAAO7gD,EAAIg7D,IAAQh7D,EACpCV,EAAQU,EAAIoP,EACZ+pD,EAAOn5D,GAAK,CACV,CAACgzH,GAAQsE,GAAevE,EAAOr8D,MAAMwO,EAAO5lE,GAAQA,GACpD,CAAC2zH,GAAQvzD,EAAOhJ,MAAMliD,EAAKlV,GAAQA,IAGvC,OAAO65D,CACT,CACA89D,eAAezrF,EAAMh3B,EAAMpF,EAAOyxC,GAChC,MAAM,OAACiwE,EAAM,OAAEC,GAAUvlF,EACnB2tB,EAAS,IAAI1tD,MAAMo1C,GACzB,IAAI7gD,EAAGg7D,EAAM17D,EAAO+iB,EACpB,IAAKriB,EAAI,EAAGg7D,EAAOna,EAAO7gD,EAAIg7D,IAAQh7D,EACpCV,EAAQU,EAAIoP,EACZiT,EAAO7N,EAAKlV,GACZ65D,EAAOn5D,GAAK,CACVk5C,EAAG43E,EAAOp6D,MAAMr0C,EAAK,GAAI/iB,GACzB82C,EAAG26E,EAAOr6D,MAAMr0C,EAAK,GAAI/iB,IAG7B,OAAO65D,CACT,CACA+9D,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACjC,MAAM,OAACiwE,EAAM,OAAEC,GAAUvlF,GACnB,SAAC+rF,EAAW,IAAG,SAAEC,EAAW,KAAOv4H,KAAKm1H,SACxCj7D,EAAS,IAAI1tD,MAAMo1C,GACzB,IAAI7gD,EAAGg7D,EAAM17D,EAAO+iB,EACpB,IAAKriB,EAAI,EAAGg7D,EAAOna,EAAO7gD,EAAIg7D,IAAQh7D,EACpCV,EAAQU,EAAIoP,EACZiT,EAAO7N,EAAKlV,GACZ65D,EAAOn5D,GAAK,CACVk5C,EAAG43E,EAAOp6D,OAAM,OAAiBr0C,EAAMk1G,GAAWj4H,GAClD82C,EAAG26E,EAAOr6D,OAAM,OAAiBr0C,EAAMm1G,GAAWl4H,IAGtD,OAAO65D,CACT,CACAs+D,UAAUn4H,GACR,OAAOL,KAAK4zH,YAAYa,QAAQp0H,EAClC,CACAo4H,eAAep4H,GACb,OAAOL,KAAK4zH,YAAYr+G,KAAKlV,EAC/B,CACA+xH,WAAW/xD,EAAOnG,EAAQj/C,GACxB,MAAMqlD,EAAQtgE,KAAKsgE,MACb/zB,EAAOvsC,KAAK4zH,YACZltH,EAAQwzD,EAAOmG,EAAMgF,MACrB9O,EAAQ,CACZpgD,KAAM67G,EAAwB1xD,GAAO,GACrC77D,OAAQy1D,EAAO25D,QAAQxzD,EAAMgF,OAE/B,OAAO+sD,EAAW77D,EAAO7vD,EAAO6lC,EAAKlsC,MAAO,CAAC4a,QAC/C,CACAy9G,sBAAsB/5D,EAAO0B,EAAOnG,EAAQ3D,GAC1C,MAAMkhD,EAAcv9C,EAAOmG,EAAMgF,MACjC,IAAI3+D,EAAwB,OAAhB+wG,EAAuBh3B,IAAMg3B,EACzC,MAAMhzG,EAAS8xD,GAAS2D,EAAO25D,QAAQxzD,EAAMgF,MACzC9O,GAAS9xD,IACX8xD,EAAM9xD,OAASA,EACfiC,EAAQ0rH,EAAW77D,EAAOkhD,EAAaz3G,KAAK4zH,YAAYvzH,QAE1Ds+D,EAAMhoC,IAAMD,KAAKC,IAAIgoC,EAAMhoC,IAAKjwB,GAChCi4D,EAAM51B,IAAMrS,KAAKqS,IAAI41B,EAAM51B,IAAKriC,EAClC,CACAiyH,UAAUt4D,EAAOw0D,GACf,MAAMtoF,EAAOvsC,KAAK4zH,YACZa,EAAUloF,EAAKkoF,QACfzhF,EAASzG,EAAKwrF,SAAW13D,IAAU9zB,EAAKunF,OACxC/3D,EAAO04D,EAAQxzH,OACf23H,EAAa54H,KAAKg3H,eAAe32D,GACjC9J,EAAQq+D,EAAYC,EAAUtoF,EAAMvsC,KAAKsgE,OACzC3B,EAAQ,CAAChoC,IAAK1vB,OAAOs7C,kBAAmBxZ,IAAK9hC,OAAOisH,oBACnDv8F,IAAKkiG,EAAU9vF,IAAK+vF,GAAY/F,EAAc6F,GACrD,IAAI73H,EAAGm5D,EACP,SAAS6+D,IACP7+D,EAASu6D,EAAQ1zH,GACjB,MAAMwxH,EAAar4D,EAAO0+D,EAAWvzD,MACrC,QAAQ,OAAenL,EAAOmG,EAAMgF,QAAUwzD,EAAWtG,GAAcuG,EAAWvG,CACpF,CACA,IAAKxxH,EAAI,EAAGA,EAAIg7D,IAAQh7D,EACtB,IAAIg4H,MAGJ/4H,KAAK04H,sBAAsB/5D,EAAO0B,EAAOnG,EAAQ3D,GAC7CvjB,GACF,MAGJ,GAAIA,EACF,IAAKjyC,EAAIg7D,EAAO,EAAGh7D,GAAK,IAAKA,EAC3B,IAAIg4H,IAAJ,CAGA/4H,KAAK04H,sBAAsB/5D,EAAO0B,EAAOnG,EAAQ3D,GACjD,KAFA,CAKJ,OAAOoI,CACT,CACAq6D,mBAAmB34D,GACjB,MAAMnG,EAASl6D,KAAK4zH,YAAYa,QAC1BhwH,EAAS,GACf,IAAI1D,EAAGg7D,EAAMr1D,EACb,IAAK3F,EAAI,EAAGg7D,EAAO7B,EAAOj5D,OAAQF,EAAIg7D,IAAQh7D,EAC5C2F,EAAQwzD,EAAOn5D,GAAGs/D,EAAMgF,OACpB,OAAe3+D,IACjBjC,EAAOlE,KAAKmG,GAGhB,OAAOjC,CACT,CACAw0H,iBACE,OAAO,CACT,CACAC,iBAAiB74H,GACf,MAAMksC,EAAOvsC,KAAK4zH,YACZE,EAASvnF,EAAKunF,OACdrzD,EAASl0B,EAAKk0B,OACdvG,EAASl6D,KAAKw4H,UAAUn4H,GAC9B,MAAO,CACLmgD,MAAOszE,EAAS,GAAKA,EAAOqF,iBAAiBj/D,EAAO45D,EAAOzuD,OAAS,GACpE3+D,MAAO+5D,EAAS,GAAKA,EAAO04D,iBAAiBj/D,EAAOuG,EAAO4E,OAAS,GAExE,CACAyoD,QAAQ7yG,GACN,MAAMsxB,EAAOvsC,KAAK4zH,YAClB5zH,KAAKwd,OAAOvC,GAAQ,WACpBsxB,EAAK6sF,MAAQrH,GAAO,IAAArqH,GAAe1H,KAAK2T,QAAQiwD,KAAMguD,EAAYrlF,EAAKslF,OAAQtlF,EAAKulF,OAAQ9xH,KAAKi5H,mBACnG,CACAz7G,OAAOvC,GAAO,CACdqpD,OACE,MAAMhwD,EAAMtU,KAAKqsB,KACXi0C,EAAQtgE,KAAKsgE,MACb/zB,EAAOvsC,KAAK4zH,YACZlqD,EAAWn9B,EAAKh3B,MAAQ,GACxB8oD,EAAOiC,EAAMqD,UACb1jE,EAAS,GACTkQ,EAAQnQ,KAAKu1H,YAAc,EAC3B3zE,EAAQ5hD,KAAKw1H,YAAe9rD,EAASzoE,OAASkP,EAC9CkpH,EAA0Br5H,KAAK2T,QAAQ0lH,wBAC7C,IAAIt4H,EAIJ,IAHIwrC,EAAK23B,SACP33B,EAAK23B,QAAQI,KAAKhwD,EAAK+pD,EAAMluD,EAAOyxC,GAEjC7gD,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,IAAS7gD,EAAG,CACtC,MAAMspE,EAAUX,EAAS3oE,GACrBspE,EAAQyqD,SAGRzqD,EAAQpqE,QAAUo5H,EACpBp5H,EAAOM,KAAK8pE,GAEZA,EAAQ/F,KAAKhwD,EAAK+pD,GAEtB,CACA,IAAKt9D,EAAI,EAAGA,EAAId,EAAOgB,SAAUF,EAC/Bd,EAAOc,GAAGujE,KAAKhwD,EAAK+pD,EAExB,CACAi7D,SAASj5H,EAAOJ,GACd,MAAMgb,EAAOhb,EAAS,SAAW,UACjC,YAAiB8C,IAAV1C,GAAuBL,KAAK4zH,YAAY1vD,QAC3ClkE,KAAKu5H,6BAA6Bt+G,GAClCjb,KAAKw5H,0BAA0Bn5H,GAAS,EAAG4a,EACjD,CACA48G,WAAWx3H,EAAOJ,EAAQgb,GACxB,MAAMipD,EAAUlkE,KAAKg2H,aACrB,IAAIzoG,EACJ,GAAIltB,GAAS,GAAKA,EAAQL,KAAK4zH,YAAYr+G,KAAKtU,OAAQ,CACtD,MAAMopE,EAAUrqE,KAAK4zH,YAAYr+G,KAAKlV,GACtCktB,EAAU88C,EAAQ5B,WACf4B,EAAQ5B,SAAW8rD,EAAkBv0H,KAAK63H,aAAcx3H,EAAOgqE,IAClE98C,EAAQ2sC,OAASl6D,KAAKw4H,UAAUn4H,GAChCktB,EAAQtiB,IAAMi5D,EAAQ3uD,KAAKlV,GAC3BktB,EAAQltB,MAAQktB,EAAQs8C,UAAYxpE,CACtC,MACEktB,EAAUvtB,KAAKyoE,WACZzoE,KAAKyoE,SAAW6rD,EAAqBt0H,KAAKsgE,MAAMu3D,aAAc73H,KAAKK,QACtEktB,EAAQ22C,QAAUA,EAClB32C,EAAQltB,MAAQktB,EAAQizC,aAAexgE,KAAKK,MAI9C,OAFAktB,EAAQttB,SAAWA,EACnBstB,EAAQtS,KAAOA,EACRsS,CACT,CACAgsG,6BAA6Bt+G,GAC3B,OAAOjb,KAAKy5H,uBAAuBz5H,KAAKm3H,mBAAmBjnH,GAAI+K,EACjE,CACAu+G,0BAA0Bn5H,EAAO4a,GAC/B,OAAOjb,KAAKy5H,uBAAuBz5H,KAAK05H,gBAAgBxpH,GAAI+K,EAAM5a,EACpE,CACAo5H,uBAAuBE,EAAa1+G,EAAO,UAAW5a,GACpD,MAAMJ,EAAkB,WAATgb,EACTjI,EAAQhT,KAAKi1H,gBACb2E,EAAWD,EAAc,IAAM1+G,EAC/B/H,EAASF,EAAM4mH,GACfC,EAAU75H,KAAKy1H,sBAAuB,OAAQp1H,GACpD,GAAI6S,EACF,OAAOyhH,EAAiBzhH,EAAQ2mH,GAElC,MAAMhrH,EAAS7O,KAAKsgE,MAAMzxD,OACpB4oH,EAAY5oH,EAAOirH,wBAAwB95H,KAAK6/G,MAAO8Z,GACvDr3F,EAAWriC,EAAS,CAAC,GAAG05H,SAAoB,QAASA,EAAa,IAAM,CAACA,EAAa,IACtFr5H,EAASuO,EAAO8oH,gBAAgB33H,KAAKg2H,aAAcyB,GACnDvkD,EAAQjuE,OAAOkR,KAAK,EAAA+yB,EAAA,SAAkBywF,IACtCpsG,EAAU,IAAMvtB,KAAK63H,WAAWx3H,EAAOJ,GACvCwE,EAASoK,EAAOkrH,oBAAoBz5H,EAAQ4yE,EAAO3lD,EAAS+U,GAKlE,OAJI79B,EAAO6sH,UACT7sH,EAAO6sH,QAAUuI,EACjB7mH,EAAM4mH,GAAY30H,OAAO+0H,OAAOrF,EAAiBlwH,EAAQo1H,KAEpDp1H,CACT,CACAw1H,mBAAmB55H,EAAOoW,EAAYxW,GACpC,MAAMqgE,EAAQtgE,KAAKsgE,MACbttD,EAAQhT,KAAKi1H,gBACb2E,EAAW,aAAanjH,IACxBvD,EAASF,EAAM4mH,GACrB,GAAI1mH,EACF,OAAOA,EAET,IAAIS,EACJ,IAAgC,IAA5B2sD,EAAM3sD,QAAQ+8G,UAAqB,CACrC,MAAM7hH,EAAS7O,KAAKsgE,MAAMzxD,OACpB4oH,EAAY5oH,EAAOqrH,0BAA0Bl6H,KAAK6/G,MAAOppG,GACzDnW,EAASuO,EAAO8oH,gBAAgB33H,KAAKg2H,aAAcyB,GACzD9jH,EAAU9E,EAAO+oH,eAAet3H,EAAQN,KAAK63H,WAAWx3H,EAAOJ,EAAQwW,GACzE,CACA,MAAMo6G,EAAa,IAAIE,EAAWzwD,EAAO3sD,GAAWA,EAAQk9G,YAI5D,OAHIl9G,GAAWA,EAAQrG,aACrB0F,EAAM4mH,GAAY30H,OAAO+0H,OAAOnJ,IAE3BA,CACT,CACAsJ,iBAAiBxmH,GACf,GAAKA,EAAQ29G,QAGb,OAAOtxH,KAAKs1H,iBAAmBt1H,KAAKs1H,eAAiBrwH,OAAOqoB,OAAO,CAAC,EAAG3Z,GACzE,CACAymH,eAAen/G,EAAMo/G,GACnB,OAAQA,GAAiB3F,EAAmBz5G,IAASjb,KAAKsgE,MAAMg6D,mBAClE,CACAC,kBAAkBpqH,EAAO8K,GACvB,MAAMu/G,EAAYx6H,KAAKw5H,0BAA0BrpH,EAAO8K,GAClDw/G,EAA0Bz6H,KAAKs1H,eAC/B+E,EAAgBr6H,KAAKm6H,iBAAiBK,GACtCJ,EAAiBp6H,KAAKo6H,eAAen/G,EAAMo/G,IAAmBA,IAAkBI,EAEtF,OADAz6H,KAAK06H,oBAAoBL,EAAep/G,EAAMu/G,GACvC,CAACH,gBAAeD,iBACzB,CACAO,cAActwD,EAAShqE,EAAOowH,EAAYx1G,GACpCy5G,EAAmBz5G,GACrBhW,OAAOqoB,OAAO+8C,EAASomD,GAEvBzwH,KAAKi6H,mBAAmB55H,EAAO4a,GAAMuC,OAAO6sD,EAASomD,EAEzD,CACAiK,oBAAoBL,EAAep/G,EAAMy8D,GACnC2iD,IAAkB3F,EAAmBz5G,IACvCjb,KAAKi6H,wBAAmBl3H,EAAWkY,GAAMuC,OAAO68G,EAAe3iD,EAEnE,CACAkjD,UAAUvwD,EAAShqE,EAAO4a,EAAMhb,GAC9BoqE,EAAQpqE,OAASA,EACjB,MAAM0T,EAAU3T,KAAKs5H,SAASj5H,EAAOJ,GACrCD,KAAKi6H,mBAAmB55H,EAAO4a,EAAMhb,GAAQud,OAAO6sD,EAAS,CAC3D12D,SAAW1T,GAAUD,KAAKm6H,iBAAiBxmH,IAAaA,GAE5D,CACAknH,iBAAiBxwD,EAAS7J,EAAcngE,GACtCL,KAAK46H,UAAUvwD,EAAShqE,EAAO,UAAU,EAC3C,CACAy6H,cAAczwD,EAAS7J,EAAcngE,GACnCL,KAAK46H,UAAUvwD,EAAShqE,EAAO,UAAU,EAC3C,CACA06H,2BACE,MAAM1wD,EAAUrqE,KAAK4zH,YAAY1vD,QAC7BmG,GACFrqE,KAAK46H,UAAUvwD,OAAStnE,EAAW,UAAU,EAEjD,CACAi4H,wBACE,MAAM3wD,EAAUrqE,KAAK4zH,YAAY1vD,QAC7BmG,GACFrqE,KAAK46H,UAAUvwD,OAAStnE,EAAW,UAAU,EAEjD,CACAy0H,gBAAgBH,GACd,MAAM9hH,EAAOvV,KAAKo1H,MACZ1rD,EAAW1pE,KAAK4zH,YAAYr+G,KAClC,IAAK,MAAOxM,EAAQ69F,EAAMC,KAAS7mG,KAAK21H,UACtC31H,KAAK+I,GAAQ69F,EAAMC,GAErB7mG,KAAK21H,UAAY,GACjB,MAAMsF,EAAUvxD,EAASzoE,OACnBi6H,EAAU3lH,EAAKtU,OACf2gD,EAAQlrB,KAAKC,IAAIukG,EAASD,GAC5Br5E,GACF5hD,KAAKy3D,MAAM,EAAG7V,GAEZs5E,EAAUD,EACZj7H,KAAKm7H,gBAAgBF,EAASC,EAAUD,EAAS5D,GACxC6D,EAAUD,GACnBj7H,KAAKo7H,gBAAgBF,EAASD,EAAUC,EAE5C,CACAC,gBAAgBhrH,EAAOyxC,EAAOy1E,GAAmB,GAC/C,MAAM9qF,EAAOvsC,KAAK4zH,YACZr+G,EAAOg3B,EAAKh3B,KACZnF,EAAMD,EAAQyxC,EACpB,IAAI7gD,EACJ,MAAMi3B,EAAQpyB,IAEZ,IADAA,EAAI3E,QAAU2gD,EACT7gD,EAAI6E,EAAI3E,OAAS,EAAGF,GAAKqP,EAAKrP,IACjC6E,EAAI7E,GAAK6E,EAAI7E,EAAI6gD,EACnB,EAGF,IADA5pB,EAAKziB,GACAxU,EAAIoP,EAAOpP,EAAIqP,IAAOrP,EACzBwU,EAAKxU,GAAK,IAAIf,KAAK05H,gBAEjB15H,KAAKm1H,UACPn9F,EAAKuU,EAAKkoF,SAEZz0H,KAAKy3D,MAAMtnD,EAAOyxC,GACdy1E,GACFr3H,KAAKq7H,eAAe9lH,EAAMpF,EAAOyxC,EAAO,QAE5C,CACAy5E,eAAehxD,EAASl6D,EAAOyxC,EAAO3mC,GAAO,CAC7CmgH,gBAAgBjrH,EAAOyxC,GACrB,MAAMrV,EAAOvsC,KAAK4zH,YAClB,GAAI5zH,KAAKm1H,SAAU,CACjB,MAAMmG,EAAU/uF,EAAKkoF,QAAQ9jH,OAAOR,EAAOyxC,GACvCrV,EAAKwoF,UACPP,EAAYjoF,EAAM+uF,EAEtB,CACA/uF,EAAKh3B,KAAK5E,OAAOR,EAAOyxC,EAC1B,CACA25E,MAAM51H,GACJ,GAAI3F,KAAKm1H,SACPn1H,KAAK21H,UAAUp1H,KAAKoF,OACf,CACL,MAAOoD,EAAQ69F,EAAMC,GAAQlhG,EAC7B3F,KAAK+I,GAAQ69F,EAAMC,EACrB,CACA7mG,KAAKsgE,MAAMk7D,aAAaj7H,KAAK,CAACP,KAAKK,SAAUsF,GAC/C,CACA81H,cACE,MAAM75E,EAAQnpC,UAAUxX,OACxBjB,KAAKu7H,MAAM,CAAC,kBAAmBv7H,KAAKg2H,aAAazgH,KAAKtU,OAAS2gD,EAAOA,GACxE,CACA85E,aACE17H,KAAKu7H,MAAM,CAAC,kBAAmBv7H,KAAK4zH,YAAYr+G,KAAKtU,OAAS,EAAG,GACnE,CACA06H,eACE37H,KAAKu7H,MAAM,CAAC,kBAAmB,EAAG,GACpC,CACAK,cAAczrH,EAAOyxC,GACfA,GACF5hD,KAAKu7H,MAAM,CAAC,kBAAmBprH,EAAOyxC,IAExC,MAAMi6E,EAAWpjH,UAAUxX,OAAS,EAChC46H,GACF77H,KAAKu7H,MAAM,CAAC,kBAAmBprH,EAAO0rH,GAE1C,CACAC,iBACE97H,KAAKu7H,MAAM,CAAC,kBAAmB,EAAG9iH,UAAUxX,QAC9C,EAMF,SAAS86H,EAAkB17D,EAAO38D,GAChC,IAAK28D,EAAM27D,OAAOC,KAAM,CACtB,MAAMC,EAAe77D,EAAMqzD,wBAAwBhwH,GACnD,IAAIe,EAAS,GACb,IAAK,IAAI1D,EAAI,EAAGg7D,EAAOmgE,EAAaj7H,OAAQF,EAAIg7D,EAAMh7D,IACpD0D,EAASA,EAAO+R,OAAO0lH,EAAan7H,GAAG2tF,WAAWsqC,mBAAmB34D,IAEvEA,EAAM27D,OAAOC,MAAO,IAAAl4G,GAAatf,EAAO8M,MAAK,CAACC,EAAGC,IAAMD,EAAIC,IAC7D,CACA,OAAO4uD,EAAM27D,OAAOC,IACtB,CACA,SAASE,EAAqB5vF,GAC5B,MAAM8zB,EAAQ9zB,EAAKunF,OACbrvH,EAASs3H,EAAkB17D,EAAO9zB,EAAK7oC,MAC7C,IACI3C,EAAGg7D,EAAMqgE,EAAMnoH,EADf0iB,EAAM0pC,EAAMg8D,QAEhB,MAAMC,EAAmB,KACV,QAATF,IAA4B,QAAVA,KAGlB,OAAQnoH,KACV0iB,EAAMD,KAAKC,IAAIA,EAAKD,KAAK2e,IAAI+mF,EAAOnoH,IAAS0iB,IAE/C1iB,EAAOmoH,EAAI,EAEb,IAAKr7H,EAAI,EAAGg7D,EAAOt3D,EAAOxD,OAAQF,EAAIg7D,IAAQh7D,EAC5Cq7H,EAAO/7D,EAAMk8D,iBAAiB93H,EAAO1D,IACrCu7H,IAGF,IADAroH,OAAOlR,EACFhC,EAAI,EAAGg7D,EAAOsE,EAAMm8D,MAAMv7H,OAAQF,EAAIg7D,IAAQh7D,EACjDq7H,EAAO/7D,EAAMo8D,gBAAgB17H,GAC7Bu7H,IAEF,OAAO3lG,CACT,CACA,SAAS+lG,EAAyBr8H,EAAOs8H,EAAOhpH,EAASipH,GACvD,MAAMC,EAAYlpH,EAAQmpH,aAC1B,IAAI10H,EAAM20H,EAQV,OAPI,OAAcF,IAChBz0H,EAAOu0H,EAAMhmG,IAAMhjB,EAAQqpH,mBAC3BD,EAAQppH,EAAQspH,gBAEhB70H,EAAOy0H,EAAYD,EACnBG,EAAQ,GAEH,CACLG,MAAO90H,EAAOw0H,EACdG,QACA5sH,MAAOwsH,EAAMQ,OAAO98H,GAAU+H,EAAO,EAEzC,CACA,SAASg1H,EAA0B/8H,EAAOs8H,EAAOhpH,EAASipH,GACxD,MAAMO,EAASR,EAAMQ,OACff,EAAOe,EAAO98H,GACpB,IAAI4T,EAAO5T,EAAQ,EAAI88H,EAAO98H,EAAQ,GAAK,KACvCgJ,EAAOhJ,EAAQ88H,EAAOl8H,OAAS,EAAIk8H,EAAO98H,EAAQ,GAAK,KAC3D,MAAMg9H,EAAU1pH,EAAQqpH,mBACX,OAAT/oH,IACFA,EAAOmoH,GAAiB,OAAT/yH,EAAgBszH,EAAMvsH,IAAMusH,EAAMxsH,MAAQ9G,EAAO+yH,IAErD,OAAT/yH,IACFA,EAAO+yH,EAAOA,EAAOnoH,GAEvB,MAAM9D,EAAQisH,GAAQA,EAAO1lG,KAAKC,IAAI1iB,EAAM5K,IAAS,EAAIg0H,EACnDj1H,EAAOsuB,KAAK2e,IAAIhsC,EAAO4K,GAAQ,EAAIopH,EACzC,MAAO,CACLH,MAAO90H,EAAOw0H,EACdG,MAAOppH,EAAQspH,cACf9sH,QAEJ,CACA,SAASmtH,EAAcpkF,EAAO91B,EAAMq9C,EAAQ1/D,GAC1C,MAAMw8H,EAAa98D,EAAOhJ,MAAMve,EAAM,GAAIn4C,GACpCy8H,EAAW/8D,EAAOhJ,MAAMve,EAAM,GAAIn4C,GAClC41B,EAAMD,KAAKC,IAAI4mG,EAAYC,GAC3Bz0F,EAAMrS,KAAKqS,IAAIw0F,EAAYC,GACjC,IAAIC,EAAW9mG,EACX+mG,EAAS30F,EACTrS,KAAK2e,IAAI1e,GAAOD,KAAK2e,IAAItM,KAC3B00F,EAAW10F,EACX20F,EAAS/mG,GAEXvT,EAAKq9C,EAAO4E,MAAQq4D,EACpBt6G,EAAK2/F,QAAU,CACb0a,WACAC,SACAvtH,MAAOotH,EACPntH,IAAKotH,EACL7mG,MACAoS,MAEJ,CACA,SAAS2uE,EAAWx+D,EAAO91B,EAAMq9C,EAAQ1/D,GAMvC,OALI,OAAQm4C,GACVokF,EAAcpkF,EAAO91B,EAAMq9C,EAAQ1/D,GAEnCqiB,EAAKq9C,EAAO4E,MAAQ5E,EAAOhJ,MAAMve,EAAOn4C,GAEnCqiB,CACT,CACA,SAASu6G,EAAsBpxF,EAAMh3B,EAAMpF,EAAOyxC,GAChD,MAAMkyE,EAASvnF,EAAKunF,OACdrzD,EAASl0B,EAAKk0B,OACdwF,EAAS6tD,EAAOsE,YAChBC,EAAcvE,IAAWrzD,EACzBvG,EAAS,GACf,IAAIn5D,EAAGg7D,EAAM34C,EAAM81B,EACnB,IAAKn4C,EAAIoP,EAAO4rD,EAAO5rD,EAAQyxC,EAAO7gD,EAAIg7D,IAAQh7D,EAChDm4C,EAAQ3jC,EAAKxU,GACbqiB,EAAO,CAAC,EACRA,EAAK0wG,EAAOzuD,MAAQgzD,GAAevE,EAAOr8D,MAAMwO,EAAOllE,GAAIA,GAC3Dm5D,EAAO35D,KAAKm3G,EAAWx+D,EAAO91B,EAAMq9C,EAAQ1/D,IAE9C,OAAOm5D,CACT,CACA,SAAS0jE,EAAW9sB,GAClB,OAAOA,QAA8B/tG,IAApB+tG,EAAO2sB,eAA4C16H,IAAlB+tG,EAAO4sB,MAC3D,CACA,SAASG,EAAQz1H,EAAMq4D,EAAQq9D,GAC7B,OAAa,IAAT11H,GACK,IAAAkR,GAAKlR,IAENq4D,EAAOs9D,eAAiB,GAAK,IAAMt9D,EAAO9pC,KAAOmnG,EAAa,GAAK,EAC7E,CACA,SAASE,EAAYvN,GACnB,IAAIh5E,EAAStnC,EAAOC,EAAK6tD,EAAKC,EAiB9B,OAhBIuyD,EAAW/wD,YACbjoB,EAAUg5E,EAAWhoG,KAAOgoG,EAAWx2E,EACvC9pC,EAAQ,OACRC,EAAM,UAENqnC,EAAUg5E,EAAWhoG,KAAOgoG,EAAWt5E,EACvChnC,EAAQ,SACRC,EAAM,OAEJqnC,GACFwmB,EAAM,MACNC,EAAS,UAETD,EAAM,QACNC,EAAS,OAEJ,CAAC/tD,QAAOC,MAAKqnC,UAASwmB,MAAKC,SACpC,CACA,SAAS+/D,EAAiBxN,EAAY98G,EAAS4iD,EAAOl2D,GACpD,IAAI69H,EAAOvqH,EAAQwqH,cACnB,MAAMr4H,EAAM,CAAC,EACb,IAAKo4H,EAEH,YADAzN,EAAW0N,cAAgBr4H,GAG7B,IAAa,IAATo4H,EAEF,YADAzN,EAAW0N,cAAgB,CAAClgE,KAAK,EAAMtxB,OAAO,EAAMuxB,QAAQ,EAAMzxB,MAAM,IAG1E,MAAM,MAACt8B,EAAK,IAAEC,EAAG,QAAEqnC,EAAO,IAAEwmB,EAAG,OAAEC,GAAU8/D,EAAYvN,GAC1C,WAATyN,GAAqB3nE,IACvBk6D,EAAW2N,oBAAqB,GAC3B7nE,EAAM29D,MAAQ,KAAO7zH,EACxB69H,EAAOjgE,GACG1H,EAAM49D,SAAW,KAAO9zH,EAClC69H,EAAOhgE,GAEPp4D,EAAIu4H,EAAUngE,EAAQ/tD,EAAOC,EAAKqnC,KAAY,EAC9CymF,EAAOjgE,IAGXn4D,EAAIu4H,EAAUH,EAAM/tH,EAAOC,EAAKqnC,KAAY,EAC5Cg5E,EAAW0N,cAAgBr4H,CAC7B,CACA,SAASu4H,EAAUH,EAAM1sH,EAAGC,EAAGgmC,GAO7B,OANIA,GACFymF,EAAOI,EAAKJ,EAAM1sH,EAAGC,GACrBysH,EAAOK,EAASL,EAAMzsH,EAAGD,IAEzB0sH,EAAOK,EAASL,EAAM1sH,EAAGC,GAEpBysH,CACT,CACA,SAASI,EAAKE,EAAMC,EAAIC,GACtB,OAAOF,IAASC,EAAKC,EAAKF,IAASE,EAAKD,EAAKD,CAC/C,CACA,SAASD,EAAS72H,EAAGyI,EAAOC,GAC1B,MAAa,UAAN1I,EAAgByI,EAAc,QAANzI,EAAc0I,EAAM1I,CACrD,CACA,SAASi3H,EAAiBlO,GAAY,cAACmO,GAAgB7B,GACrDtM,EAAWmO,cAAkC,SAAlBA,EACb,IAAV7B,EAAc,IAAO,EACrB6B,CACN,CAlMA5J,EAAkBxiE,SAAW,CAAC,EAC9BwiE,EAAkBh1F,UAAUm3F,mBAAqB,KACjDnC,EAAkBh1F,UAAU05F,gBAAkB,KAiM9C,MAAMmF,UAAsB7J,EAC1BkD,mBAAmB3rF,EAAMh3B,EAAMpF,EAAOyxC,GACpC,OAAO+7E,EAAsBpxF,EAAMh3B,EAAMpF,EAAOyxC,EAClD,CACAo2E,eAAezrF,EAAMh3B,EAAMpF,EAAOyxC,GAChC,OAAO+7E,EAAsBpxF,EAAMh3B,EAAMpF,EAAOyxC,EAClD,CACAq2E,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACjC,MAAM,OAACkyE,EAAM,OAAErzD,GAAUl0B,GACnB,SAAC+rF,EAAW,IAAG,SAAEC,EAAW,KAAOv4H,KAAKm1H,SACxC2J,EAA2B,MAAhBhL,EAAOzuD,KAAeizD,EAAWC,EAC5CwG,EAA2B,MAAhBt+D,EAAO4E,KAAeizD,EAAWC,EAC5Cr+D,EAAS,GACf,IAAIn5D,EAAGg7D,EAAM34C,EAAM6uB,EACnB,IAAKlxC,EAAIoP,EAAO4rD,EAAO5rD,EAAQyxC,EAAO7gD,EAAIg7D,IAAQh7D,EAChDkxC,EAAM18B,EAAKxU,GACXqiB,EAAO,CAAC,EACRA,EAAK0wG,EAAOzuD,MAAQyuD,EAAOr8D,OAAM,OAAiBxlB,EAAK6sF,GAAW/9H,GAClEm5D,EAAO35D,KAAKm3G,GAAW,OAAiBzlE,EAAK8sF,GAAW37G,EAAMq9C,EAAQ1/D,IAExE,OAAOm5D,CACT,CACAw+D,sBAAsB/5D,EAAO0B,EAAOnG,EAAQ3D,GAC1CyoE,MAAMtG,sBAAsB/5D,EAAO0B,EAAOnG,EAAQ3D,GAClD,MAAMu6C,EAAS52C,EAAO6oD,QAClBjS,GAAUzwC,IAAUrgE,KAAK4zH,YAAYnzD,SACvC9B,EAAMhoC,IAAMD,KAAKC,IAAIgoC,EAAMhoC,IAAKm6E,EAAOn6E,KACvCgoC,EAAM51B,IAAMrS,KAAKqS,IAAI41B,EAAM51B,IAAK+nE,EAAO/nE,KAE3C,CACAkwF,iBACE,OAAO,CACT,CACAC,iBAAiB74H,GACf,MAAMksC,EAAOvsC,KAAK4zH,aACZ,OAACE,EAAM,OAAErzD,GAAUl0B,EACnB2tB,EAASl6D,KAAKw4H,UAAUn4H,GACxBywG,EAAS52C,EAAO6oD,QAChBr8G,EAAQk3H,EAAW9sB,GACrB,IAAMA,EAAO3gG,MAAQ,KAAO2gG,EAAO1gG,IAAM,IACzC,GAAKqwD,EAAO04D,iBAAiBj/D,EAAOuG,EAAO4E,OAC/C,MAAO,CACL7kB,MAAO,GAAKszE,EAAOqF,iBAAiBj/D,EAAO45D,EAAOzuD,OAClD3+D,QAEJ,CACAkvH,aACE51H,KAAKy1H,qBAAsB,EAC3BuJ,MAAMpJ,aACN,MAAMrpF,EAAOvsC,KAAK4zH,YAClBrnF,EAAKgqB,MAAQv2D,KAAKg2H,aAAaz/D,KACjC,CACA/4C,OAAOvC,GACL,MAAMsxB,EAAOvsC,KAAK4zH,YAClB5zH,KAAKq7H,eAAe9uF,EAAKh3B,KAAM,EAAGg3B,EAAKh3B,KAAKtU,OAAQga,EACtD,CACAogH,eAAe4D,EAAM9uH,EAAOyxC,EAAO3mC,GACjC,MAAM2oB,EAAiB,UAAT3oB,GACR,MAAC5a,EAAOuzH,aAAa,OAACnzD,IAAWzgE,KACjCyoB,EAAOg4C,EAAOI,eACdnB,EAAae,EAAOs9D,eACpBpB,EAAQ38H,KAAKk/H,aACb,cAAC7E,EAAa,eAAED,GAAkBp6H,KAAKu6H,kBAAkBpqH,EAAO8K,GACtE,IAAK,IAAIla,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,EAAO7gD,IAAK,CAC1C,MAAMm5D,EAASl6D,KAAKw4H,UAAUz3H,GACxBo+H,EAAUv7F,IAAS,OAAcs2B,EAAOuG,EAAO4E,OAAS,CAAC58C,OAAM22G,KAAM32G,GAAQzoB,KAAKq/H,yBAAyBt+H,GAC3Gu+H,EAAUt/H,KAAKu/H,yBAAyBx+H,EAAG47H,GAC3CpmE,GAAS2D,EAAO25D,SAAW,CAAC,GAAGpzD,EAAO4E,MACtCorD,EAAa,CACjB/wD,aACAj3C,KAAM02G,EAAQ12G,KACd21G,oBAAqB7nE,GAASqnE,EAAW1jE,EAAO6oD,UAAa1iH,IAAUk2D,EAAM29D,MAAQ7zH,IAAUk2D,EAAM49D,QACrGl6E,EAAGylB,EAAay/D,EAAQC,KAAOE,EAAQ/6D,OACvCptB,EAAGuoB,EAAa4/D,EAAQ/6D,OAAS46D,EAAQC,KACzCljE,OAAQwD,EAAa4/D,EAAQl3H,KAAOsuB,KAAK2e,IAAI8pF,EAAQ/2H,MACrD4zD,MAAO0D,EAAahpC,KAAK2e,IAAI8pF,EAAQ/2H,MAAQk3H,EAAQl3H,MAEnDgyH,IACF3J,EAAW98G,QAAU0mH,GAAiBr6H,KAAKw5H,0BAA0Bz4H,EAAGk+H,EAAKl+H,GAAGd,OAAS,SAAWgb,IAEtG,MAAMtH,EAAU88G,EAAW98G,SAAWsrH,EAAKl+H,GAAG4S,QAC9CsqH,EAAiBxN,EAAY98G,EAAS4iD,EAAOl2D,GAC7Cs+H,EAAiBlO,EAAY98G,EAASgpH,EAAMI,OAC5C/8H,KAAK26H,cAAcsE,EAAKl+H,GAAIA,EAAG0vH,EAAYx1G,EAC7C,CACF,CACAukH,WAAWt+H,EAAM2oE,GACf,MAAM,OAACiqD,GAAU9zH,KAAK4zH,YAChB1B,EAAW4B,EAAOJ,wBAAwB1zH,KAAK6/G,OAClD16G,QAAOonC,GAAQA,EAAKmiD,WAAW/6E,QAAQ8rH,UACpC9M,EAAUmB,EAAOngH,QAAQg/G,QACzBS,EAAS,GACTsM,EAAYnzF,IAChB,MAAM2tB,EAAS3tB,EAAKmiD,WAAW8pC,UAAU3uD,GACnC/8D,EAAMotD,GAAUA,EAAO3tB,EAAKk0B,OAAO4E,MACzC,IAAI,OAAcv4D,IAAQslC,MAAMtlC,GAC9B,OAAO,CACT,EAEF,IAAK,MAAMy/B,KAAQ2lF,EACjB,SAAkBnvH,IAAd8mE,IAA2B61D,EAASnzF,QAGxB,IAAZomF,IAAqD,IAAhCS,EAAOriH,QAAQw7B,EAAKgqB,aAClCxzD,IAAZ4vH,QAAwC5vH,IAAfwpC,EAAKgqB,QAC3B68D,EAAO7yH,KAAKgsC,EAAKgqB,OAEfhqB,EAAKlsC,QAAUa,GACjB,MAMJ,OAHKkyH,EAAOnyH,QACVmyH,EAAO7yH,UAAKwC,GAEPqwH,CACT,CACAuM,eAAet/H,GACb,OAAOL,KAAKw/H,gBAAWz8H,EAAW1C,GAAOY,MAC3C,CACA2+H,eAAep/D,EAAcxlD,EAAM6uD,GACjC,MAAMupD,EAASpzH,KAAKw/H,WAAWh/D,EAAcqJ,GACvCxpE,OAAkB0C,IAATiY,EACXo4G,EAAOriH,QAAQiK,IACd,EACL,OAAmB,IAAX3a,EACJ+yH,EAAOnyH,OAAS,EAChBZ,CACN,CACA6+H,YACE,MAAMrkE,EAAO76D,KAAK2T,QACZ44B,EAAOvsC,KAAK4zH,YACZE,EAASvnF,EAAKunF,OACdqJ,EAAS,GACf,IAAIp8H,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOxvB,EAAKh3B,KAAKtU,OAAQF,EAAIg7D,IAAQh7D,EAC/Co8H,EAAO58H,KAAKuzH,EAAOyI,iBAAiBv8H,KAAKw4H,UAAUz3H,GAAG+yH,EAAOzuD,MAAOtkE,IAEtE,MAAM+7H,EAAejiE,EAAKiiE,aACpBnmG,EAAMmmG,GAAgBX,EAAqB5vF,GACjD,MAAO,CACL5V,MACAwmG,SACAhtH,MAAO2jH,EAAO+L,YACdzvH,IAAK0jH,EAAOgM,UACZlD,WAAY58H,KAAK2/H,iBACjBt/D,MAAOyzD,EACP2L,QAAS5kE,EAAK4kE,QACd1C,MAAOD,EAAe,EAAIjiE,EAAKmiE,mBAAqBniE,EAAKoiE,cAE7D,CACAoC,yBAAyBh/H,GACvB,MAAOuzH,aAAa,OAACnzD,EAAM,SAAEs0D,GAAWphH,SAAU8U,KAAMs3G,EAAS,aAAEC,IAAiBhgI,KAC9E89H,EAAaiC,GAAa,EAC1B7lE,EAASl6D,KAAKw4H,UAAUn4H,GACxBywG,EAAS52C,EAAO6oD,QAChBkd,EAAWrC,EAAW9sB,GAC5B,IAGIsuB,EAAMh3H,EAHN1B,EAAQwzD,EAAOuG,EAAO4E,MACtBl1D,EAAQ,EACRlP,EAAS8zH,EAAW/0H,KAAKoyH,WAAW3xD,EAAQvG,EAAQ66D,GAAYruH,EAEhEzF,IAAWyF,IACbyJ,EAAQlP,EAASyF,EACjBzF,EAASyF,GAEPu5H,IACFv5H,EAAQoqG,EAAO2sB,SACfx8H,EAAS6vG,EAAO4sB,OAAS5sB,EAAO2sB,SAClB,IAAV/2H,IAAe,IAAA4S,GAAK5S,MAAW,IAAA4S,GAAKw3F,EAAO4sB,UAC7CvtH,EAAQ,GAEVA,GAASzJ,GAEX,MAAM62H,GAAc,OAAcwC,IAAeE,EAAuB9vH,EAAZ4vH,EAC5D,IAAIt3G,EAAOg4C,EAAO87D,iBAAiBgB,GAOnC,GALE6B,EADEp/H,KAAKsgE,MAAMqJ,kBAAkBtpE,GACxBogE,EAAO87D,iBAAiBpsH,EAAQlP,GAEhCwnB,EAETrgB,EAAOg3H,EAAO32G,EACViO,KAAK2e,IAAIjtC,GAAQ43H,EAAc,CACjC53H,EAAOy1H,EAAQz1H,EAAMq4D,EAAQq9D,GAAckC,EACvCt5H,IAAUo3H,IACZr1G,GAAQrgB,EAAO,GAEjB,MAAM83H,EAAaz/D,EAAO0/D,mBAAmB,GACvCC,EAAW3/D,EAAO0/D,mBAAmB,GACrCxpG,EAAMD,KAAKC,IAAIupG,EAAYE,GAC3Br3F,EAAMrS,KAAKqS,IAAIm3F,EAAYE,GACjC33G,EAAOiO,KAAKqS,IAAIrS,KAAKC,IAAIlO,EAAMsgB,GAAMpS,GACrCyoG,EAAO32G,EAAOrgB,CAChB,CACA,GAAIqgB,IAASg4C,EAAO87D,iBAAiBuB,GAAa,CAChD,MAAMuC,GAAW,IAAA/mH,GAAKlR,GAAQq4D,EAAO6/D,qBAAqBxC,GAAc,EACxEr1G,GAAQ43G,EACRj4H,GAAQi4H,CACV,CACA,MAAO,CACLj4H,OACAqgB,OACA22G,OACA76D,OAAQ66D,EAAOh3H,EAAO,EAE1B,CACAm3H,yBAAyBl/H,EAAOs8H,GAC9B,MAAMt8D,EAAQs8D,EAAMt8D,MACd1sD,EAAU3T,KAAK2T,QACf+rH,EAAW/rH,EAAQ+rH,SACnBa,GAAkB,IAAA74H,GAAeiM,EAAQ4sH,gBAAiB7uH,KAChE,IAAI6yD,EAAQn8D,EACZ,GAAIu0H,EAAM8C,QAAS,CACjB,MAAM7C,EAAa8C,EAAW1/H,KAAK2/H,eAAet/H,GAASs8H,EAAMC,WAC3Dj+D,EAAiC,SAAzBhrD,EAAQmpH,aAClBM,EAA0B/8H,EAAOs8H,EAAOhpH,EAASipH,GACjDF,EAAyBr8H,EAAOs8H,EAAOhpH,EAASipH,GAC9C4D,EAAaxgI,KAAK4/H,eAAe5/H,KAAKK,MAAOL,KAAK4zH,YAAYr9D,MAAOmpE,EAAWr/H,OAAQ0C,GAC9FwhE,EAAS5F,EAAMxuD,MAASwuD,EAAMu+D,MAAQsD,EAAe7hE,EAAMu+D,MAAQ,EACnE90H,EAAOsuB,KAAKC,IAAI4pG,EAAiB5hE,EAAMu+D,MAAQv+D,EAAMo+D,MACvD,MACEx4D,EAASlE,EAAMk8D,iBAAiBv8H,KAAKw4H,UAAUn4H,GAAOggE,EAAMgF,MAAOhlE,GACnE+H,EAAOsuB,KAAKC,IAAI4pG,EAAiB5D,EAAMhmG,IAAMgmG,EAAMI,OAErD,MAAO,CACLt0G,KAAM87C,EAASn8D,EAAO,EACtBg3H,KAAM76D,EAASn8D,EAAO,EACtBm8D,SACAn8D,OAEJ,CACAk8D,OACE,MAAM/3B,EAAOvsC,KAAK4zH,YACZnzD,EAASl0B,EAAKk0B,OACdwD,EAAQ13B,EAAKh3B,KACbwmD,EAAOkI,EAAMhjE,OACnB,IAAIF,EAAI,EACR,KAAOA,EAAIg7D,IAAQh7D,EACsB,OAAnCf,KAAKw4H,UAAUz3H,GAAG0/D,EAAO4E,OAC3BpB,EAAMljE,GAAGujE,KAAKtkE,KAAKqsB,KAGzB,EAEFwyG,EAAc3uH,GAAK,MACnB2uH,EAAcrsE,SAAW,CACvB2kE,oBAAoB,EACpBuC,gBAAiB,MACjBsD,mBAAoB,GACpBC,cAAe,GACfwC,SAAS,EACT5O,WAAY,CACVV,QAAS,CACPzsH,KAAM,SACN+sH,WAAY,CAAC,IAAK,IAAK,OAAQ,QAAS,aAI9CoO,EAAc/wB,UAAY,CACxBumB,OAAQ,CACNoM,QAAS,CACP/8H,KAAM,WACNmgE,QAAQ,EACR68D,KAAM,CACJ78D,QAAQ,IAGZ88D,QAAS,CACPj9H,KAAM,SACNk9H,aAAa,KAKnB,MAAMC,UAAyB7L,EAC7BY,aACE51H,KAAKy1H,qBAAsB,EAC3BuJ,MAAMpJ,YACR,CACAsC,mBAAmB3rF,EAAMh3B,EAAMpF,EAAOyxC,GACpC,MAAMsY,EAAS8kE,MAAM9G,mBAAmB3rF,EAAMh3B,EAAMpF,EAAOyxC,GAC3D,IAAK,IAAI7gD,EAAI,EAAGA,EAAIm5D,EAAOj5D,OAAQF,IACjCm5D,EAAOn5D,GAAGgiH,QAAU/iH,KAAKw5H,0BAA0Bz4H,EAAIoP,GAAOkvD,OAEhE,OAAOnF,CACT,CACA89D,eAAezrF,EAAMh3B,EAAMpF,EAAOyxC,GAChC,MAAMsY,EAAS8kE,MAAMhH,eAAezrF,EAAMh3B,EAAMpF,EAAOyxC,GACvD,IAAK,IAAI7gD,EAAI,EAAGA,EAAIm5D,EAAOj5D,OAAQF,IAAK,CACtC,MAAMqiB,EAAO7N,EAAKpF,EAAQpP,GAC1Bm5D,EAAOn5D,GAAGgiH,SAAU,IAAAr7G,GAAe0b,EAAK,GAAIpjB,KAAKw5H,0BAA0Bz4H,EAAIoP,GAAOkvD,OACxF,CACA,OAAOnF,CACT,CACA+9D,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACjC,MAAMsY,EAAS8kE,MAAM/G,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACxD,IAAK,IAAI7gD,EAAI,EAAGA,EAAIm5D,EAAOj5D,OAAQF,IAAK,CACtC,MAAMqiB,EAAO7N,EAAKpF,EAAQpP,GAC1Bm5D,EAAOn5D,GAAGgiH,SAAU,IAAAr7G,GAAe0b,GAAQA,EAAK7X,IAAM6X,EAAK7X,EAAGvL,KAAKw5H,0BAA0Bz4H,EAAIoP,GAAOkvD,OAC1G,CACA,OAAOnF,CACT,CACA++D,iBACE,MAAM1jH,EAAOvV,KAAK4zH,YAAYr+G,KAC9B,IAAIwzB,EAAM,EACV,IAAK,IAAIhoC,EAAIwU,EAAKtU,OAAS,EAAGF,GAAK,IAAKA,EACtCgoC,EAAMrS,KAAKqS,IAAIA,EAAKxzB,EAAKxU,GAAGqH,KAAKpI,KAAKw5H,0BAA0Bz4H,IAAM,GAExE,OAAOgoC,EAAM,GAAKA,CACpB,CACAmwF,iBAAiB74H,GACf,MAAMksC,EAAOvsC,KAAK4zH,aACZ,OAAC/B,EAAM,OAAEC,GAAUvlF,EACnB2tB,EAASl6D,KAAKw4H,UAAUn4H,GACxB45C,EAAI43E,EAAOsH,iBAAiBj/D,EAAOjgB,GACnC9C,EAAI26E,EAAOqH,iBAAiBj/D,EAAO/iB,GACnC5rC,EAAI2uD,EAAO6oD,QACjB,MAAO,CACLviE,MAAOjU,EAAKiU,MACZ95C,MAAO,IAAMuzC,EAAI,KAAO9C,GAAK5rC,EAAI,KAAOA,EAAI,IAAM,IAEtD,CACAiS,OAAOvC,GACL,MAAMmqD,EAASplE,KAAK4zH,YAAYr+G,KAChCvV,KAAKq7H,eAAej2D,EAAQ,EAAGA,EAAOnkE,OAAQga,EAChD,CACAogH,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,GACnC,MAAM2oB,EAAiB,UAAT3oB,GACR,OAAC64G,EAAM,OAAErzD,GAAUzgE,KAAK4zH,aACxB,cAACyG,EAAa,eAAED,GAAkBp6H,KAAKu6H,kBAAkBpqH,EAAO8K,GAChE84G,EAAQD,EAAOzuD,KACf2uD,EAAQvzD,EAAO4E,KACrB,IAAK,IAAItkE,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,EAAO7gD,IAAK,CAC1C,MAAM47D,EAAQyI,EAAOrkE,GACfm5D,GAAUt2B,GAAS5jC,KAAKw4H,UAAUz3H,GAClC0vH,EAAa,CAAC,EACdqQ,EAASrQ,EAAWsD,GAASnwF,EAAQkwF,EAAOqM,mBAAmB,IAAOrM,EAAOyI,iBAAiBriE,EAAO65D,IACrGgN,EAAStQ,EAAWuD,GAASpwF,EAAQ68B,EAAOI,eAAiBJ,EAAO87D,iBAAiBriE,EAAO85D,IAClGvD,EAAW7mD,KAAOx3B,MAAM0uF,IAAW1uF,MAAM2uF,GACrC3G,IACF3J,EAAW98G,QAAU0mH,GAAiBr6H,KAAKw5H,0BAA0Bz4H,EAAG47D,EAAM18D,OAAS,SAAWgb,GAC9F2oB,IACF6sF,EAAW98G,QAAQ0rD,OAAS,IAGhCr/D,KAAK26H,cAAch+D,EAAO57D,EAAG0vH,EAAYx1G,EAC3C,CACF,CACAu+G,0BAA0Bn5H,EAAO4a,GAC/B,MAAMi/C,EAASl6D,KAAKw4H,UAAUn4H,GAC9B,IAAIoE,EAASu6H,MAAMxF,0BAA0Bn5H,EAAO4a,GAChDxW,EAAO6sH,UACT7sH,EAASQ,OAAOqoB,OAAO,CAAC,EAAG7oB,EAAQ,CAAC6sH,SAAS,KAE/C,MAAMjyD,EAAS56D,EAAO46D,OAKtB,MAJa,WAATpkD,IACFxW,EAAO46D,OAAS,GAElB56D,EAAO46D,SAAU,IAAA33D,GAAewyD,GAAUA,EAAO6oD,QAAS1jD,GACnD56D,CACT,EAiCF,SAASu8H,EAAkBh9D,EAAUi9D,EAAeC,GAClD,IAAIC,EAAS,EACTC,EAAS,EACTC,EAAU,EACVC,EAAU,EACd,GAAIL,EAAgB,EAAAplD,EAAK,CACvB,MAAM7c,EAAagF,EACb/E,EAAWD,EAAaiiE,EACxBM,EAAS7qG,KAAK8mC,IAAIwB,GAClBwiE,EAAS9qG,KAAK+mC,IAAIuB,GAClByiE,EAAO/qG,KAAK8mC,IAAIyB,GAChByiE,EAAOhrG,KAAK+mC,IAAIwB,GAChB0iE,EAAU,CAAC5iE,EAAOvtD,EAAGC,KAAM,OAAcstD,EAAOC,EAAYC,GAAU,GAAQ,EAAIvoC,KAAKqS,IAAIv3B,EAAGA,EAAI0vH,EAAQzvH,EAAGA,EAAIyvH,GACjHU,EAAU,CAAC7iE,EAAOvtD,EAAGC,KAAM,OAAcstD,EAAOC,EAAYC,GAAU,IAAS,EAAIvoC,KAAKC,IAAInlB,EAAGA,EAAI0vH,EAAQzvH,EAAGA,EAAIyvH,GAClHW,EAAOF,EAAQ,EAAGJ,EAAQE,GAC1BK,EAAOH,EAAQ,EAAA7mD,EAAS0mD,EAAQE,GAChCK,EAAOH,EAAQ,EAAAxyD,EAAImyD,EAAQE,GAC3BO,EAAOJ,EAAQ,EAAAxyD,EAAK,EAAA0L,EAAS0mD,EAAQE,GAC3CP,GAAUU,EAAOE,GAAQ,EACzBX,GAAUU,EAAOE,GAAQ,EACzBX,IAAYQ,EAAOE,GAAQ,EAC3BT,IAAYQ,EAAOE,GAAQ,CAC7B,CACA,MAAO,CAACb,SAAQC,SAAQC,UAASC,UACnC,CAvDAT,EAAiB3wH,GAAK,SACtB2wH,EAAiBruE,SAAW,CAC1B2kE,oBAAoB,EACpBuC,gBAAiB,QACjB7I,WAAY,CACVV,QAAS,CACPzsH,KAAM,SACN+sH,WAAY,CAAC,IAAK,IAAK,cAAe,aAI5CoQ,EAAiB/yB,UAAY,CAC3BumB,OAAQ,CACNp6E,EAAG,CACDv2C,KAAM,UAERyzC,EAAG,CACDzzC,KAAM,WAGV4hH,QAAS,CACPtC,QAAS,CACPyK,UAAW,CACTjL,QACE,MAAO,EACT,MA+BR,MAAMyf,UAA2BjN,EAC/Bl1H,YAAYwgE,EAAOE,GACjBw+D,MAAM1+D,EAAOE,GACbxgE,KAAKy1H,qBAAsB,EAC3Bz1H,KAAKk/D,iBAAcn8D,EACnB/C,KAAKm/D,iBAAcp8D,EACnB/C,KAAKqhI,aAAUt+H,EACf/C,KAAKshI,aAAUv+H,CACjB,CACA8yH,aAAc,CACdp+D,MAAMtnD,EAAOyxC,GACX,MAAMrsC,EAAOvV,KAAKg2H,aAAazgH,KACzBg3B,EAAOvsC,KAAK4zH,YAClB,IAAsB,IAAlB5zH,KAAKm1H,SACP5oF,EAAKkoF,QAAUl/G,MACV,CACL,IAKIxU,EAAGg7D,EALH7uD,EAAUnM,IAAOwU,EAAKxU,GAC1B,IAAI,IAAAA,GAASwU,EAAKpF,IAAS,CACzB,MAAM,IAACxM,EAAM,SAAW3D,KAAKm1H,SAC7BjoH,EAAUnM,KAAO,OAAiBwU,EAAKxU,GAAI4C,EAC7C,CAEA,IAAK5C,EAAIoP,EAAO4rD,EAAO5rD,EAAQyxC,EAAO7gD,EAAIg7D,IAAQh7D,EAChDwrC,EAAKkoF,QAAQ1zH,GAAKmM,EAAOnM,EAE7B,CACF,CACAmhI,eACE,OAAO,IAAAp2G,GAAU9rB,KAAK2T,QAAQqwD,SAAW,GAC3C,CACAm+D,oBACE,OAAO,IAAAr2G,GAAU9rB,KAAK2T,QAAQstH,cAChC,CACAmB,sBACE,IAAIzrG,EAAM,EAAAklD,EACN9yC,GAAO,EAAA8yC,EACX,IAAK,IAAI96E,EAAI,EAAGA,EAAIf,KAAKsgE,MAAM/qD,KAAK+xD,SAASrmE,SAAUF,EACrD,GAAIf,KAAKsgE,MAAMmJ,iBAAiB1oE,GAAI,CAClC,MAAM2tF,EAAa1uF,KAAKsgE,MAAMC,eAAex/D,GAAG2tF,WAC1C1qB,EAAW0qB,EAAWwzC,eACtBjB,EAAgBvyC,EAAWyzC,oBACjCxrG,EAAMD,KAAKC,IAAIA,EAAKqtC,GACpBj7B,EAAMrS,KAAKqS,IAAIA,EAAKi7B,EAAWi9D,EACjC,CAEF,MAAO,CACLj9D,SAAUrtC,EACVsqG,cAAel4F,EAAMpS,EAEzB,CACAnZ,OAAOvC,GACL,MAAMqlD,EAAQtgE,KAAKsgE,OACb,UAACqD,GAAarD,EACd/zB,EAAOvsC,KAAK4zH,YACZyO,EAAO91F,EAAKh3B,KACZ+sH,EAAUtiI,KAAKuiI,oBAAsBviI,KAAKwiI,aAAaH,GAAQriI,KAAK2T,QAAQ2uH,QAC5EG,EAAU/rG,KAAKqS,KAAKrS,KAAKC,IAAIgtC,EAAU3H,MAAO2H,EAAUzH,QAAUomE,GAAW,EAAG,GAChFpB,EAASxqG,KAAKC,KAAI,OAAa32B,KAAK2T,QAAQutH,OAAQuB,GAAU,GAC9DC,EAAc1iI,KAAK2iI,eAAe3iI,KAAKK,QACvC,cAAC4gI,EAAa,SAAEj9D,GAAYhkE,KAAKoiI,uBACjC,OAACjB,EAAM,OAAEC,EAAM,QAAEC,EAAO,QAAEC,GAAWN,EAAkBh9D,EAAUi9D,EAAeC,GAChF0B,GAAYj/D,EAAU3H,MAAQsmE,GAAWnB,EACzC0B,GAAal/D,EAAUzH,OAASomE,GAAWlB,EAC3C0B,EAAYpsG,KAAKqS,IAAIrS,KAAKC,IAAIisG,EAAUC,GAAa,EAAG,GACxD1jE,GAAc,OAAYn/D,KAAK2T,QAAQ0rD,OAAQyjE,GAC/C5jE,EAAcxoC,KAAKqS,IAAIo2B,EAAc+hE,EAAQ,GAC7C6B,GAAgB5jE,EAAcD,GAAel/D,KAAKgjI,gCACxDhjI,KAAKqhI,QAAUA,EAAUliE,EACzBn/D,KAAKshI,QAAUA,EAAUniE,EACzB5yB,EAAK02F,MAAQjjI,KAAKkjI,iBAClBljI,KAAKm/D,YAAcA,EAAc4jE,EAAe/iI,KAAKmjI,qBAAqBnjI,KAAKK,OAC/EL,KAAKk/D,YAAcxoC,KAAKqS,IAAI/oC,KAAKm/D,YAAc4jE,EAAeL,EAAa,GAC3E1iI,KAAKq7H,eAAegH,EAAM,EAAGA,EAAKphI,OAAQga,EAC5C,CACAmoH,eAAeriI,EAAG6iC,GAChB,MAAMi3B,EAAO76D,KAAK2T,QACZ44B,EAAOvsC,KAAK4zH,YACZqN,EAAgBjhI,KAAKmiI,oBAC3B,OAAKv+F,GAASi3B,EAAK61D,UAAU2S,gBAAmBrjI,KAAKsgE,MAAMqJ,kBAAkB5oE,IAA0B,OAApBwrC,EAAKkoF,QAAQ1zH,IAAewrC,EAAKh3B,KAAKxU,GAAG+zH,OACnH,EAEF90H,KAAKsjI,uBAAuB/2F,EAAKkoF,QAAQ1zH,GAAKkgI,EAAgB,EAAAplD,EACvE,CACAw/C,eAAegH,EAAMlyH,EAAOyxC,EAAO3mC,GACjC,MAAM2oB,EAAiB,UAAT3oB,EACRqlD,EAAQtgE,KAAKsgE,MACbqD,EAAYrD,EAAMqD,UAClB9I,EAAOyF,EAAM3sD,QACb4vH,EAAgB1oE,EAAK61D,UACrB8S,GAAW7/D,EAAUl3B,KAAOk3B,EAAUh3B,OAAS,EAC/C82F,GAAW9/D,EAAU1F,IAAM0F,EAAUzF,QAAU,EAC/CwlE,EAAe9/F,GAAS2/F,EAAcG,aACtCxkE,EAAcwkE,EAAe,EAAI1jI,KAAKk/D,YACtCC,EAAcukE,EAAe,EAAI1jI,KAAKm/D,aACtC,cAACk7D,EAAa,eAAED,GAAkBp6H,KAAKu6H,kBAAkBpqH,EAAO8K,GACtE,IACIla,EADAi+D,EAAah/D,KAAKkiI,eAEtB,IAAKnhI,EAAI,EAAGA,EAAIoP,IAASpP,EACvBi+D,GAAch/D,KAAKojI,eAAeriI,EAAG6iC,GAEvC,IAAK7iC,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,IAAS7gD,EAAG,CACtC,MAAMkgI,EAAgBjhI,KAAKojI,eAAeriI,EAAG6iC,GACvCk7B,EAAMujE,EAAKthI,GACX0vH,EAAa,CACjBx2E,EAAGupF,EAAUxjI,KAAKqhI,QAClBlqF,EAAGssF,EAAUzjI,KAAKshI,QAClBtiE,aACAC,SAAUD,EAAaiiE,EACvBA,gBACA9hE,cACAD,eAEEk7D,IACF3J,EAAW98G,QAAU0mH,GAAiBr6H,KAAKw5H,0BAA0Bz4H,EAAG+9D,EAAI7+D,OAAS,SAAWgb,IAElG+jD,GAAciiE,EACdjhI,KAAK26H,cAAc77D,EAAK/9D,EAAG0vH,EAAYx1G,EACzC,CACF,CACAioH,iBACE,MAAM32F,EAAOvsC,KAAK4zH,YACZ+P,EAAWp3F,EAAKh3B,KACtB,IACIxU,EADAkiI,EAAQ,EAEZ,IAAKliI,EAAI,EAAGA,EAAI4iI,EAAS1iI,OAAQF,IAAK,CACpC,MAAM2F,EAAQ6lC,EAAKkoF,QAAQ1zH,GACb,OAAV2F,GAAmB0rC,MAAM1rC,KAAU1G,KAAKsgE,MAAMqJ,kBAAkB5oE,IAAO4iI,EAAS5iI,GAAG+zH,SACrFmO,GAASvsG,KAAK2e,IAAI3uC,GAEtB,CACA,OAAOu8H,CACT,CACAK,uBAAuB58H,GACrB,MAAMu8H,EAAQjjI,KAAK4zH,YAAYqP,MAC/B,OAAIA,EAAQ,IAAM7wF,MAAM1rC,GACf,EAAAm1E,GAAOnlD,KAAK2e,IAAI3uC,GAASu8H,GAE3B,CACT,CACA/J,iBAAiB74H,GACf,MAAMksC,EAAOvsC,KAAK4zH,YACZtzD,EAAQtgE,KAAKsgE,MACb2F,EAAS3F,EAAM/qD,KAAK0wD,QAAU,GAC9Bv/D,GAAQ,OAAa6lC,EAAKkoF,QAAQp0H,GAAQigE,EAAM3sD,QAAQwrE,QAC9D,MAAO,CACL3+B,MAAOylB,EAAO5lE,IAAU,GACxBqG,QAEJ,CACA67H,kBAAkBF,GAChB,IAAIt5F,EAAM,EACV,MAAMu3B,EAAQtgE,KAAKsgE,MACnB,IAAIv/D,EAAGg7D,EAAMxvB,EAAMmiD,EAAY/6E,EAC/B,IAAK0uH,EACH,IAAKthI,EAAI,EAAGg7D,EAAOuE,EAAM/qD,KAAK+xD,SAASrmE,OAAQF,EAAIg7D,IAAQh7D,EACzD,GAAIu/D,EAAMmJ,iBAAiB1oE,GAAI,CAC7BwrC,EAAO+zB,EAAMC,eAAex/D,GAC5BshI,EAAO91F,EAAKh3B,KACZm5E,EAAaniD,EAAKmiD,WAClB,KACF,CAGJ,IAAK2zC,EACH,OAAO,EAET,IAAKthI,EAAI,EAAGg7D,EAAOsmE,EAAKphI,OAAQF,EAAIg7D,IAAQh7D,EAC1C4S,EAAU+6E,EAAW8qC,0BAA0Bz4H,GACnB,UAAxB4S,EAAQiwH,cACV76F,EAAMrS,KAAKqS,IAAIA,EAAKp1B,EAAQksD,aAAe,EAAGlsD,EAAQkwH,kBAAoB,IAG9E,OAAO96F,CACT,CACAy5F,aAAaH,GACX,IAAIt5F,EAAM,EACV,IAAK,IAAIhoC,EAAI,EAAGg7D,EAAOsmE,EAAKphI,OAAQF,EAAIg7D,IAAQh7D,EAAG,CACjD,MAAM4S,EAAU3T,KAAKw5H,0BAA0Bz4H,GAC/CgoC,EAAMrS,KAAKqS,IAAIA,EAAKp1B,EAAQkwD,QAAU,EAAGlwD,EAAQmwH,aAAe,EAClE,CACA,OAAO/6F,CACT,CACAo6F,qBAAqB3iE,GACnB,IAAIujE,EAAmB,EACvB,IAAK,IAAIhjI,EAAI,EAAGA,EAAIy/D,IAAgBz/D,EAC9Bf,KAAKsgE,MAAMmJ,iBAAiB1oE,KAC9BgjI,GAAoB/jI,KAAK2iI,eAAe5hI,IAG5C,OAAOgjI,CACT,CACApB,eAAeniE,GACb,OAAO9pC,KAAKqS,KAAI,IAAArhC,GAAe1H,KAAKsgE,MAAM/qD,KAAK+xD,SAAS9G,GAAcwH,OAAQ,GAAI,EACpF,CACAg7D,gCACE,OAAOhjI,KAAKmjI,qBAAqBnjI,KAAKsgE,MAAM/qD,KAAK+xD,SAASrmE,SAAW,CACvE,EAEFghI,EAAmB/xH,GAAK,WACxB+xH,EAAmBzvE,SAAW,CAC5B2kE,oBAAoB,EACpBuC,gBAAiB,MACjBhJ,UAAW,CACT2S,eAAe,EACfK,cAAc,GAEhB7S,WAAY,CACVV,QAAS,CACPzsH,KAAM,SACN+sH,WAAY,CAAC,gBAAiB,WAAY,cAAe,cAAe,aAAc,IAAK,IAAK,SAAU,cAAe,aAG7HyQ,OAAQ,MACRl9D,SAAU,EACVi9D,cAAe,IACf5hE,OAAQ,OACRijE,QAAS,EACT9L,UAAW,KAEbyL,EAAmB+B,YAAc,CAC/BxT,YAAcx1G,GAAkB,YAATA,EACvBu1G,WAAav1G,GAAkB,YAATA,GAExBinH,EAAmBn0B,UAAY,CAC7Bm2B,YAAa,EACb3e,QAAS,CACP4e,OAAQ,CACNj+D,OAAQ,CACNk+D,eAAe7jE,GACb,MAAM/qD,EAAO+qD,EAAM/qD,KACnB,GAAIA,EAAK0wD,OAAOhlE,QAAUsU,EAAK+xD,SAASrmE,OAAQ,CAC9C,MAAOglE,QAAQ,WAACm+D,IAAe9jE,EAAM4jE,OAAOvwH,QAC5C,OAAO4B,EAAK0wD,OAAO7gE,KAAI,CAACo7C,EAAOz/C,KAC7B,MAAMwrC,EAAO+zB,EAAMC,eAAe,GAC5BxsC,EAAQwY,EAAKmiD,WAAW4qC,SAASv4H,GACvC,MAAO,CACLs8B,KAAMmjB,EACNihB,UAAW1tC,EAAMstC,gBACjBM,YAAa5tC,EAAMutC,YACnBM,UAAW7tC,EAAM8rC,YACjBukE,WAAYA,EACZtP,QAASx0D,EAAMqJ,kBAAkB5oE,GACjCV,MAAOU,EACR,GAEL,CACA,MAAO,EACT,GAEFy1F,QAAQv3D,EAAGolG,EAAYH,GACrBA,EAAO5jE,MAAMgkE,qBAAqBD,EAAWhkI,OAC7C6jI,EAAO5jE,MAAM9iD,QACf,GAEFwlG,QAAS,CACPyK,UAAW,CACTjL,QACE,MAAO,EACT,EACAhiE,MAAM+jF,GACJ,IAAIC,EAAYD,EAAY/jF,MAC5B,MAAM95C,EAAQ,KAAO69H,EAAYE,eAOjC,OANI,OAAQD,IACVA,EAAYA,EAAUnyH,QACtBmyH,EAAU,IAAM99H,GAEhB89H,GAAa99H,EAER89H,CACT,MAMR,MAAME,WAAuB1P,EAC3BY,aACE51H,KAAKy1H,qBAAsB,EAC3Bz1H,KAAK01H,oBAAqB,EAC1BsJ,MAAMpJ,YACR,CACAp4G,OAAOvC,GACL,MAAMsxB,EAAOvsC,KAAK4zH,aACX1vD,QAAS7J,EAAM9kD,KAAM6vD,EAAS,GAAE,SAAEu/D,GAAYp4F,EAC/Cq4F,EAAqB5kI,KAAKsgE,MAAMg6D,oBACtC,IAAI,MAACnqH,EAAK,MAAEyxC,IAAS,OAAiCrV,EAAM64B,EAAQw/D,GACpE5kI,KAAKu1H,WAAaplH,EAClBnQ,KAAKw1H,WAAa5zE,GACd,OAAoBrV,KACtBp8B,EAAQ,EACRyxC,EAAQwjB,EAAOnkE,QAEjBo5D,EAAK22D,OAAShxH,KAAKsgE,MACnBjG,EAAKwqE,cAAgB7kI,KAAKK,MAC1Bg6D,EAAKyqE,aAAeH,EAASG,WAC7BzqE,EAAK+K,OAASA,EACd,MAAMzxD,EAAU3T,KAAKu5H,6BAA6Bt+G,GAC7Cjb,KAAK2T,QAAQoxH,WAChBpxH,EAAQksD,YAAc,GAExBlsD,EAAQyqD,QAAUp+D,KAAK2T,QAAQyqD,QAC/Bp+D,KAAK26H,cAActgE,OAAMt3D,EAAW,CAClCiiI,UAAWJ,EACXjxH,WACCsH,GACHjb,KAAKq7H,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,EAC5C,CACAogH,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,GACnC,MAAM2oB,EAAiB,UAAT3oB,GACR,OAAC64G,EAAM,OAAErzD,EAAM,SAAEs0D,EAAQ,SAAE4P,GAAY3kI,KAAK4zH,aAC5C,cAACyG,EAAa,eAAED,GAAkBp6H,KAAKu6H,kBAAkBpqH,EAAO8K,GAChE84G,EAAQD,EAAOzuD,KACf2uD,EAAQvzD,EAAO4E,MACf,SAAC4/D,EAAQ,QAAE7mE,GAAWp+D,KAAK2T,QAC3BuxH,GAAe,OAASD,GAAYA,EAAWh+H,OAAOs7C,kBACtD4iF,EAAenlI,KAAKsgE,MAAMg6D,qBAAuB12F,GAAkB,SAAT3oB,EAChE,IAAImqH,EAAaj1H,EAAQ,GAAKnQ,KAAKw4H,UAAUroH,EAAQ,GACrD,IAAK,IAAIpP,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,IAAS7gD,EAAG,CAC1C,MAAM47D,EAAQyI,EAAOrkE,GACfm5D,EAASl6D,KAAKw4H,UAAUz3H,GACxB0vH,EAAa0U,EAAexoE,EAAQ,CAAC,EACrC0oE,GAAW,OAAcnrE,EAAO85D,IAChC8M,EAASrQ,EAAWsD,GAASD,EAAOyI,iBAAiBriE,EAAO65D,GAAQhzH,GACpEggI,EAAStQ,EAAWuD,GAASpwF,GAASyhG,EAAW5kE,EAAOI,eAAiBJ,EAAO87D,iBAAiBxH,EAAW/0H,KAAKoyH,WAAW3xD,EAAQvG,EAAQ66D,GAAY76D,EAAO85D,GAAQjzH,GAC7K0vH,EAAW7mD,KAAOx3B,MAAM0uF,IAAW1uF,MAAM2uF,IAAWsE,EACpD5U,EAAW5vH,KAAOE,EAAI,GAAM21B,KAAK2e,IAAI6kB,EAAO65D,GAASqR,EAAWrR,IAAWmR,EACvE9mE,IACFqyD,EAAWv2D,OAASA,EACpBu2D,EAAWxlH,IAAM05H,EAASpvH,KAAKxU,IAE7Bq5H,IACF3J,EAAW98G,QAAU0mH,GAAiBr6H,KAAKw5H,0BAA0Bz4H,EAAG47D,EAAM18D,OAAS,SAAWgb,IAE/FkqH,GACHnlI,KAAK26H,cAAch+D,EAAO57D,EAAG0vH,EAAYx1G,GAE3CmqH,EAAalrE,CACf,CACF,CACA++D,iBACE,MAAM1sF,EAAOvsC,KAAK4zH,YACZ1vD,EAAU33B,EAAK23B,QACfohE,EAASphE,EAAQvwD,SAAWuwD,EAAQvwD,QAAQksD,aAAe,EAC3DtqD,EAAOg3B,EAAKh3B,MAAQ,GAC1B,IAAKA,EAAKtU,OACR,OAAOqkI,EAET,MAAMC,EAAahwH,EAAK,GAAGnN,KAAKpI,KAAKw5H,0BAA0B,IACzDgM,EAAYjwH,EAAKA,EAAKtU,OAAS,GAAGmH,KAAKpI,KAAKw5H,0BAA0BjkH,EAAKtU,OAAS,IAC1F,OAAOy1B,KAAKqS,IAAIu8F,EAAQC,EAAYC,GAAa,CACnD,CACAlhE,OACE,MAAM/3B,EAAOvsC,KAAK4zH,YAClBrnF,EAAK23B,QAAQuhE,oBAAoBzlI,KAAKsgE,MAAMqD,UAAWp3B,EAAKunF,OAAOzuD,MACnE25D,MAAM16D,MACR,EAEFogE,GAAex0H,GAAK,OACpBw0H,GAAelyE,SAAW,CACxB2kE,mBAAoB,OACpBuC,gBAAiB,QACjBqL,UAAU,EACVE,UAAU,GAEZP,GAAe52B,UAAY,CACzBumB,OAAQ,CACNoM,QAAS,CACP/8H,KAAM,YAERi9H,QAAS,CACPj9H,KAAM,YAKZ,MAAMgiI,WAA4B1Q,EAChCl1H,YAAYwgE,EAAOE,GACjBw+D,MAAM1+D,EAAOE,GACbxgE,KAAKk/D,iBAAcn8D,EACnB/C,KAAKm/D,iBAAcp8D,CACrB,CACAm2H,iBAAiB74H,GACf,MAAMksC,EAAOvsC,KAAK4zH,YACZtzD,EAAQtgE,KAAKsgE,MACb2F,EAAS3F,EAAM/qD,KAAK0wD,QAAU,GAC9Bv/D,GAAQ,OAAa6lC,EAAKkoF,QAAQp0H,GAAOkL,EAAG+0D,EAAM3sD,QAAQwrE,QAChE,MAAO,CACL3+B,MAAOylB,EAAO5lE,IAAU,GACxBqG,QAEJ,CACAuxH,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACjC,OAAO,SAAiC5hD,KAAjC,CAAuCusC,EAAMh3B,EAAMpF,EAAOyxC,EACnE,CACApkC,OAAOvC,GACL,MAAMonH,EAAOriI,KAAK4zH,YAAYr+G,KAC9BvV,KAAK2lI,gBACL3lI,KAAKq7H,eAAegH,EAAM,EAAGA,EAAKphI,OAAQga,EAC5C,CACA09G,YACE,MAAMpsF,EAAOvsC,KAAK4zH,YACZj1D,EAAQ,CAAChoC,IAAK1vB,OAAOs7C,kBAAmBxZ,IAAK9hC,OAAOisH,mBAY1D,OAXA3mF,EAAKh3B,KAAK7Q,SAAQ,CAAC2lE,EAAShqE,KAC1B,MAAM65D,EAASl6D,KAAKw4H,UAAUn4H,GAAOkL,GAChC6mC,MAAM8nB,IAAWl6D,KAAKsgE,MAAMqJ,kBAAkBtpE,KAC7C65D,EAASyE,EAAMhoC,MACjBgoC,EAAMhoC,IAAMujC,GAEVA,EAASyE,EAAM51B,MACjB41B,EAAM51B,IAAMmxB,GAEhB,IAEKyE,CACT,CACAgnE,gBACE,MAAMrlE,EAAQtgE,KAAKsgE,MACbqD,EAAYrD,EAAMqD,UAClB9I,EAAOyF,EAAM3sD,QACbiyH,EAAUlvG,KAAKC,IAAIgtC,EAAUh3B,MAAQg3B,EAAUl3B,KAAMk3B,EAAUzF,OAASyF,EAAU1F,KAClFkB,EAAczoC,KAAKqS,IAAI68F,EAAU,EAAG,GACpC1mE,EAAcxoC,KAAKqS,IAAI8xB,EAAKgrE,iBAAoB1mE,EAAc,IAAQtE,EAAqB,iBAAI,EAAG,GAClGkoE,GAAgB5jE,EAAcD,GAAeoB,EAAMwlE,yBACzD9lI,KAAKm/D,YAAcA,EAAe4jE,EAAe/iI,KAAKK,MACtDL,KAAKk/D,YAAcl/D,KAAKm/D,YAAc4jE,CACxC,CACA1H,eAAegH,EAAMlyH,EAAOyxC,EAAO3mC,GACjC,MAAM2oB,EAAiB,UAAT3oB,EACRqlD,EAAQtgE,KAAKsgE,MACbzF,EAAOyF,EAAM3sD,QACb4vH,EAAgB1oE,EAAK61D,UACrBrwD,EAAQrgE,KAAK4zH,YAAYkD,OACzB0M,EAAUnjE,EAAMK,QAChB+iE,EAAUpjE,EAAMM,QAChBolE,EAAoB1lE,EAAM2lE,cAAc,GAAK,GAAM,EAAA52D,EACzD,IACIruE,EADAg+D,EAAQgnE,EAEZ,MAAME,EAAe,IAAMjmI,KAAKkmI,uBAChC,IAAKnlI,EAAI,EAAGA,EAAIoP,IAASpP,EACvBg+D,GAAS/+D,KAAKmmI,cAAcplI,EAAGka,EAAMgrH,GAEvC,IAAKllI,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,EAAO7gD,IAAK,CACtC,MAAM+9D,EAAMujE,EAAKthI,GACjB,IAAIi+D,EAAaD,EACbE,EAAWF,EAAQ/+D,KAAKmmI,cAAcplI,EAAGka,EAAMgrH,GAC/C9mE,EAAcmB,EAAMqJ,kBAAkB5oE,GAAKs/D,EAAM+lE,8BAA8BpmI,KAAKw4H,UAAUz3H,GAAGwK,GAAK,EAC1GwzD,EAAQE,EACJr7B,IACE2/F,EAAcG,eAChBvkE,EAAc,GAEZokE,EAAcF,gBAChBrkE,EAAaC,EAAW8mE,IAG5B,MAAMtV,EAAa,CACjBx2E,EAAGupF,EACHrsF,EAAGssF,EACHvkE,YAAa,EACbC,cACAH,aACAC,WACAtrD,QAAS3T,KAAKw5H,0BAA0Bz4H,EAAG+9D,EAAI7+D,OAAS,SAAWgb,IAErEjb,KAAK26H,cAAc77D,EAAK/9D,EAAG0vH,EAAYx1G,EACzC,CACF,CACAirH,uBACE,MAAM35F,EAAOvsC,KAAK4zH,YAClB,IAAIhyE,EAAQ,EAMZ,OALArV,EAAKh3B,KAAK7Q,SAAQ,CAAC2lE,EAAShqE,MACrB+xC,MAAMpyC,KAAKw4H,UAAUn4H,GAAOkL,IAAMvL,KAAKsgE,MAAMqJ,kBAAkBtpE,IAClEuhD,GACF,IAEKA,CACT,CACAukF,cAAc9lI,EAAO4a,EAAMgrH,GACzB,OAAOjmI,KAAKsgE,MAAMqJ,kBAAkBtpE,IAChC,IAAAyrB,GAAU9rB,KAAKw5H,0BAA0Bn5H,EAAO4a,GAAM8jD,OAASknE,GAC/D,CACN,EAEFP,GAAoBx1H,GAAK,YACzBw1H,GAAoBlzE,SAAW,CAC7BknE,gBAAiB,MACjBhJ,UAAW,CACT2S,eAAe,EACfK,cAAc,GAEhB7S,WAAY,CACVV,QAAS,CACPzsH,KAAM,SACN+sH,WAAY,CAAC,IAAK,IAAK,aAAc,WAAY,cAAe,iBAGpE+F,UAAW,IACXx3D,WAAY,GAEd0mE,GAAoB53B,UAAY,CAC9Bm2B,YAAa,EACb3e,QAAS,CACP4e,OAAQ,CACNj+D,OAAQ,CACNk+D,eAAe7jE,GACb,MAAM/qD,EAAO+qD,EAAM/qD,KACnB,GAAIA,EAAK0wD,OAAOhlE,QAAUsU,EAAK+xD,SAASrmE,OAAQ,CAC9C,MAAOglE,QAAQ,WAACm+D,IAAe9jE,EAAM4jE,OAAOvwH,QAC5C,OAAO4B,EAAK0wD,OAAO7gE,KAAI,CAACo7C,EAAOz/C,KAC7B,MAAMwrC,EAAO+zB,EAAMC,eAAe,GAC5BxsC,EAAQwY,EAAKmiD,WAAW4qC,SAASv4H,GACvC,MAAO,CACLs8B,KAAMmjB,EACNihB,UAAW1tC,EAAMstC,gBACjBM,YAAa5tC,EAAMutC,YACnBM,UAAW7tC,EAAM8rC,YACjBukE,WAAYA,EACZtP,QAASx0D,EAAMqJ,kBAAkB5oE,GACjCV,MAAOU,EACR,GAEL,CACA,MAAO,EACT,GAEFy1F,QAAQv3D,EAAGolG,EAAYH,GACrBA,EAAO5jE,MAAMgkE,qBAAqBD,EAAWhkI,OAC7C6jI,EAAO5jE,MAAM9iD,QACf,GAEFwlG,QAAS,CACPyK,UAAW,CACTjL,QACE,MAAO,EACT,EACAhiE,MAAMjzB,GACJ,OAAOA,EAAQ+yC,MAAM/qD,KAAK0wD,OAAO14C,EAAQs8C,WAAa,KAAOt8C,EAAQk3G,cACvE,KAINpQ,OAAQ,CACN9oH,EAAG,CACD7H,KAAM,eACN2iI,WAAY,CACVrkG,SAAS,GAEX4+F,aAAa,EACbF,KAAM,CACJ4F,UAAU,GAEZC,YAAa,CACXvkG,SAAS,GAEXg9B,WAAY,KAKlB,MAAMwnE,WAAsBvE,GAE5BuE,GAAct2H,GAAK,MACnBs2H,GAAch0E,SAAW,CACvB0uE,OAAQ,EACRl9D,SAAU,EACVi9D,cAAe,IACf5hE,OAAQ,QAGV,MAAMonE,WAAwBzR,EAC5BkE,iBAAiB74H,GACf,MAAMogE,EAASzgE,KAAK4zH,YAAYnzD,OAC1BvG,EAASl6D,KAAKw4H,UAAUn4H,GAC9B,MAAO,CACLmgD,MAAOigB,EAAO23D,YAAY/3H,GAC1BqG,MAAO,GAAK+5D,EAAO04D,iBAAiBj/D,EAAOuG,EAAO4E,OAEtD,CACA4yD,gBAAgB1rF,EAAMh3B,EAAMpF,EAAOyxC,GACjC,OAAO,SAAiC5hD,KAAjC,CAAuCusC,EAAMh3B,EAAMpF,EAAOyxC,EACnE,CACApkC,OAAOvC,GACL,MAAMsxB,EAAOvsC,KAAK4zH,YACZv5D,EAAO9tB,EAAK23B,QACZkB,EAAS74B,EAAKh3B,MAAQ,GACtB0wD,EAAS15B,EAAKunF,OAAOsE,YAE3B,GADA/9D,EAAK+K,OAASA,EACD,WAATnqD,EAAmB,CACrB,MAAMtH,EAAU3T,KAAKu5H,6BAA6Bt+G,GAC7Cjb,KAAK2T,QAAQoxH,WAChBpxH,EAAQksD,YAAc,GAExB,MAAM4wD,EAAa,CACjBhB,OAAO,EACPiX,UAAWzgE,EAAOhlE,SAAWmkE,EAAOnkE,OACpC0S,WAEF3T,KAAK26H,cAActgE,OAAMt3D,EAAW0tH,EAAYx1G,EAClD,CACAjb,KAAKq7H,eAAej2D,EAAQ,EAAGA,EAAOnkE,OAAQga,EAChD,CACAogH,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,GACnC,MAAMolD,EAAQrgE,KAAK4zH,YAAYkD,OACzBlzF,EAAiB,UAAT3oB,EACd,IAAK,IAAIla,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,EAAO7gD,IAAK,CAC1C,MAAM47D,EAAQyI,EAAOrkE,GACf4S,EAAU3T,KAAKw5H,0BAA0Bz4H,EAAG47D,EAAM18D,OAAS,SAAWgb,GACtE0rH,EAAgBtmE,EAAMumE,yBAAyB7lI,EAAGf,KAAKw4H,UAAUz3H,GAAGwK,GACpE0uC,EAAIrW,EAAQy8B,EAAMK,QAAUimE,EAAc1sF,EAC1C9C,EAAIvT,EAAQy8B,EAAMM,QAAUgmE,EAAcxvF,EAC1Cs5E,EAAa,CACjBx2E,IACA9C,IACA4nB,MAAO4nE,EAAc5nE,MACrB6K,KAAMx3B,MAAM6H,IAAM7H,MAAM+E,GACxBxjC,WAEF3T,KAAK26H,cAAch+D,EAAO57D,EAAG0vH,EAAYx1G,EAC3C,CACF,EAEFwrH,GAAgBv2H,GAAK,QACrBu2H,GAAgBj0E,SAAW,CACzB2kE,mBAAoB,OACpBuC,gBAAiB,QACjBlD,UAAW,IACXuO,UAAU,EACVr7D,SAAU,CACRrP,KAAM,CACJqH,KAAM,WAIZ+kE,GAAgB34B,UAAY,CAC1Bm2B,YAAa,EACb5P,OAAQ,CACN9oH,EAAG,CACD7H,KAAM,kBAKZ,MAAMgqC,GACJ5tC,cACEE,KAAKi6C,OAAIl3C,EACT/C,KAAKm3C,OAAIp0C,EACT/C,KAAKC,QAAS,EACdD,KAAK2T,aAAU5Q,EACf/C,KAAKwxH,iBAAczuH,CACrB,CACA8jI,gBAAgBC,GACd,MAAM,EAAC7sF,EAAC,EAAE9C,GAAKn3C,KAAKymE,SAAS,CAAC,IAAK,KAAMqgE,GACzC,MAAO,CAAC7sF,IAAG9C,IACb,CACA4vF,WACE,OAAO,OAAS/mI,KAAKi6C,KAAM,OAASj6C,KAAKm3C,EAC3C,CACAsvB,SAASx0D,EAAO+0H,GACd,MAAMxZ,EAAQxtH,KAAKwxH,YACnB,IAAKwV,IAAUxZ,EACb,OAAOxtH,KAET,MAAMuM,EAAM,CAAC,EAIb,OAHA0F,EAAMvN,SAAQymB,IACZ5e,EAAI4e,GAAQqiG,EAAMriG,IAASqiG,EAAMriG,GAAMlrB,SAAWutH,EAAMriG,GAAM0kG,IAAM7vH,KAAKmrB,EAAK,IAEzE5e,CACT,EAEFmhC,GAAQ8kB,SAAW,CAAC,EACpB9kB,GAAQu5F,mBAAgBlkI,EAExB,MAAM21E,GAAa,CACjBj0E,OAAOiC,GACL,OAAO,OAAQA,GAASA,EAAQ,GAAKA,CACvC,EACAwgI,QAAQC,EAAW9mI,EAAOm8H,GACxB,GAAkB,IAAd2K,EACF,MAAO,IAET,MAAMhoD,EAASn/E,KAAKsgE,MAAM3sD,QAAQwrE,OAClC,IAAIioD,EACA39E,EAAQ09E,EACZ,GAAI3K,EAAMv7H,OAAS,EAAG,CACpB,MAAMomI,EAAU3wG,KAAKqS,IAAIrS,KAAK2e,IAAImnF,EAAM,GAAG91H,OAAQgwB,KAAK2e,IAAImnF,EAAMA,EAAMv7H,OAAS,GAAGyF,SAChF2gI,EAAU,MAAQA,EAAU,QAC9BD,EAAW,cAEb39E,EAAQ69E,GAAeH,EAAW3K,EACpC,CACA,MAAM+K,GAAW,OAAM7wG,KAAK2e,IAAIoU,IAC1B+9E,EAAa9wG,KAAKqS,IAAIrS,KAAKC,KAAK,EAAID,KAAKw7C,MAAMq1D,GAAW,IAAK,GAC/D5zH,EAAU,CAACyzH,WAAUK,sBAAuBD,EAAYE,sBAAuBF,GAErF,OADAviI,OAAOqoB,OAAO3Z,EAAS3T,KAAK2T,QAAQ6oH,MAAM58C,SACnC,OAAaunD,EAAWhoD,EAAQxrE,EACzC,EACAg0H,YAAYR,EAAW9mI,EAAOm8H,GAC5B,GAAkB,IAAd2K,EACF,MAAO,IAET,MAAMnX,EAASmX,EAAazwG,KAAK2lD,IAAI,GAAI3lD,KAAKw7C,OAAM,OAAMi1D,KAC1D,OAAe,IAAXnX,GAA2B,IAAXA,GAA2B,IAAXA,EAC3Bt3C,GAAWwuD,QAAQh/H,KAAKlI,KAAMmnI,EAAW9mI,EAAOm8H,GAElD,EACT,GAEF,SAAS8K,GAAeH,EAAW3K,GACjC,IAAI/yE,EAAQ+yE,EAAMv7H,OAAS,EAAIu7H,EAAM,GAAG91H,MAAQ81H,EAAM,GAAG91H,MAAQ81H,EAAM,GAAG91H,MAAQ81H,EAAM,GAAG91H,MAI3F,OAHIgwB,KAAK2e,IAAIoU,IAAU,GAAK09E,IAAczwG,KAAKw7C,MAAMi1D,KACnD19E,EAAQ09E,EAAYzwG,KAAKw7C,MAAMi1D,IAE1B19E,CACT,CACA,IAAIm+E,GAAQ,CAAClvD,eAqEb,SAASmvD,GAASxnE,EAAOm8D,GACvB,MAAMsL,EAAWznE,EAAM1sD,QAAQ6oH,MACzBuL,EAAaD,EAASE,eAAiBC,GAAkB5nE,GACzD6nE,EAAeJ,EAASK,MAAMC,QAAUC,GAAgB7L,GAAS,GACjE8L,EAAkBJ,EAAajnI,OAC/BsnI,EAAQL,EAAa,GACrBhnI,EAAOgnI,EAAaI,EAAkB,GACtCE,EAAW,GACjB,GAAIF,EAAkBP,EAEpB,OADAU,GAAWjM,EAAOgM,EAAUN,EAAcI,EAAkBP,GACrDS,EAET,MAAMlG,EAAUoG,GAAiBR,EAAc1L,EAAOuL,GACtD,GAAIO,EAAkB,EAAG,CACvB,IAAIvnI,EAAGg7D,EACP,MAAM4sE,EAAkBL,EAAkB,EAAI5xG,KAAKqvB,OAAO7kD,EAAOqnI,IAAUD,EAAkB,IAAM,KAEnG,IADA1+D,GAAK4yD,EAAOgM,EAAUlG,GAAS,OAAcqG,GAAmB,EAAIJ,EAAQI,EAAiBJ,GACxFxnI,EAAI,EAAGg7D,EAAOusE,EAAkB,EAAGvnI,EAAIg7D,EAAMh7D,IAChD6oE,GAAK4yD,EAAOgM,EAAUlG,EAAS4F,EAAannI,GAAImnI,EAAannI,EAAI,IAGnE,OADA6oE,GAAK4yD,EAAOgM,EAAUlG,EAASphI,GAAM,OAAcynI,GAAmBnM,EAAMv7H,OAASC,EAAOynI,GACrFH,CACT,CAEA,OADA5+D,GAAK4yD,EAAOgM,EAAUlG,GACfkG,CACT,CACA,SAASP,GAAkB5nE,GACzB,MAAMwD,EAASxD,EAAM1sD,QAAQkwD,OACvB+kE,EAAavoE,EAAMwoE,YACnBC,EAAWzoE,EAAMg8D,QAAUuM,GAAc/kE,EAAS,EAAI,GACtDklE,EAAW1oE,EAAM2oE,WAAaJ,EACpC,OAAOlyG,KAAKw7C,MAAMx7C,KAAKC,IAAImyG,EAAUC,GACvC,CACA,SAASL,GAAiBR,EAAc1L,EAAOuL,GAC7C,MAAMkB,EAAmBC,GAAehB,GAClC5F,EAAU9F,EAAMv7H,OAAS8mI,EAC/B,IAAKkB,EACH,OAAOvyG,KAAKqS,IAAIu5F,EAAS,GAE3B,MAAM6G,GAAU,OAAWF,GAC3B,IAAK,IAAIloI,EAAI,EAAGg7D,EAAOotE,EAAQloI,OAAS,EAAGF,EAAIg7D,EAAMh7D,IAAK,CACxD,MAAM+tH,EAASqa,EAAQpoI,GACvB,GAAI+tH,EAASwT,EACX,OAAOxT,CAEX,CACA,OAAOp4F,KAAKqS,IAAIu5F,EAAS,EAC3B,CACA,SAAS+F,GAAgB7L,GACvB,MAAMt1H,EAAS,GACf,IAAInG,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOygE,EAAMv7H,OAAQF,EAAIg7D,EAAMh7D,IACrCy7H,EAAMz7H,GAAGonI,OACXjhI,EAAO3G,KAAKQ,GAGhB,OAAOmG,CACT,CACA,SAASuhI,GAAWjM,EAAOgM,EAAUN,EAAc5F,GACjD,IAEIvhI,EAFA6gD,EAAQ,EACRv4C,EAAO6+H,EAAa,GAGxB,IADA5F,EAAU5rG,KAAK8hB,KAAK8pF,GACfvhI,EAAI,EAAGA,EAAIy7H,EAAMv7H,OAAQF,IACxBA,IAAMsI,IACRm/H,EAASjoI,KAAKi8H,EAAMz7H,IACpB6gD,IACAv4C,EAAO6+H,EAAatmF,EAAQ0gF,GAGlC,CACA,SAAS14D,GAAK4yD,EAAOgM,EAAUlG,EAAS8G,EAAYC,GAClD,MAAMl5H,GAAQ,IAAAzI,GAAe0hI,EAAY,GACnCh5H,EAAMsmB,KAAKC,KAAI,IAAAjvB,GAAe2hI,EAAU7M,EAAMv7H,QAASu7H,EAAMv7H,QACnE,IACIA,EAAQF,EAAGsI,EADXu4C,EAAQ,EAEZ0gF,EAAU5rG,KAAK8hB,KAAK8pF,GAChB+G,IACFpoI,EAASooI,EAAWD,EACpB9G,EAAUrhI,EAASy1B,KAAKw7C,MAAMjxE,EAASqhI,IAEzCj5H,EAAO8G,EACP,MAAO9G,EAAO,EACZu4C,IACAv4C,EAAOqtB,KAAKqvB,MAAM51C,EAAQyxC,EAAQ0gF,GAEpC,IAAKvhI,EAAI21B,KAAKqS,IAAI54B,EAAO,GAAIpP,EAAIqP,EAAKrP,IAChCA,IAAMsI,IACRm/H,EAASjoI,KAAKi8H,EAAMz7H,IACpB6gD,IACAv4C,EAAOqtB,KAAKqvB,MAAM51C,EAAQyxC,EAAQ0gF,GAGxC,CACA,SAAS4G,GAAetjI,GACtB,MAAM+zB,EAAM/zB,EAAI3E,OAChB,IAAIF,EAAG6Q,EACP,GAAI+nB,EAAM,EACR,OAAO,EAET,IAAK/nB,EAAOhM,EAAI,GAAI7E,EAAI,EAAGA,EAAI44B,IAAO54B,EACpC,GAAI6E,EAAI7E,GAAK6E,EAAI7E,EAAI,KAAO6Q,EAC1B,OAAO,EAGX,OAAOA,CACT,CA7KA,EAAAs3B,EAAA,IAAa,QAAS,CACpBlH,SAAS,EACT6hC,QAAQ,EACRpsB,SAAS,EACTmpF,aAAa,EACb0I,OAAQ,QACRC,MAAO,EACP7I,KAAM,CACJ1+F,SAAS,EACT4/B,UAAW,EACX4nE,YAAY,EACZC,iBAAiB,EACjBC,WAAW,EACXd,WAAY,EACZe,UAAW,CAACt9G,EAAM1Y,IAAYA,EAAQiuD,UACtCgoE,UAAW,CAACv9G,EAAM1Y,IAAYA,EAAQ+uD,MACtCmB,QAAQ,EACRgmE,WAAY,GACZC,iBAAkB,EAClBjqE,YAAa,GAEf2iD,MAAO,CACLxgF,SAAS,EACT3E,KAAM,GACNyiC,QAAS,CACP7B,IAAK,EACLC,OAAQ,IAGZs+D,MAAO,CACLuN,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRnnE,gBAAiB,EACjBF,gBAAiB,GACjB9C,QAAS,EACT99B,SAAS,EACT6lG,UAAU,EACVqC,gBAAiB,EACjBC,YAAa,EACbxhI,SAAUi/H,GAAMlvD,WAAWj0E,OAC3B2lI,MAAO,CAAC,EACRjC,MAAO,CAAC,EACR7qE,MAAO,SACP+sE,WAAY,OACZC,mBAAmB,EACnBC,cAAe,4BACfC,gBAAiB,KAGrB,EAAAthG,EAAA,MAAe,cAAe,QAAS,GAAI,SAC3C,EAAAA,EAAA,MAAe,aAAc,QAAS,GAAI,eAC1C,EAAAA,EAAA,MAAe,aAAc,cAAe,GAAI,eAChD,EAAAA,EAAA,MAAe,cAAe,QAAS,GAAI,SAC3C,EAAAA,EAAA,SAAkB,QAAS,CACzBonF,WAAW,EACXE,YAAcx1G,IAAUA,EAAK7I,WAAW,YAAc6I,EAAK7I,WAAW,UAAqB,aAAT6I,GAAgC,WAATA,EACzGu1G,WAAav1G,GAAkB,eAATA,GAAkC,mBAATA,IAEjD,EAAAkuB,EAAA,SAAkB,SAAU,CAC1BonF,UAAW,UAEb,EAAApnF,EAAA,SAAkB,cAAe,CAC/BsnF,YAAcx1G,GAAkB,oBAATA,GAAuC,aAATA,EACrDu1G,WAAav1G,GAAkB,oBAATA,IA+GxB,MAAMyvH,GAAgBntE,GAAoB,SAAVA,EAAmB,QAAoB,UAAVA,EAAoB,OAASA,EACpFotE,GAAiB,CAACrqE,EAAO69D,EAAMr6D,IAAoB,QAATq6D,GAA2B,SAATA,EAAkB79D,EAAM69D,GAAQr6D,EAASxD,EAAM69D,GAAQr6D,EACzH,SAAS8mE,GAAO/kI,EAAKglI,GACnB,MAAM1jI,EAAS,GACT2jI,EAAYjlI,EAAI3E,OAAS2pI,EACzBjxG,EAAM/zB,EAAI3E,OAChB,IAAIF,EAAI,EACR,KAAOA,EAAI44B,EAAK54B,GAAK8pI,EACnB3jI,EAAO3G,KAAKqF,EAAI8wB,KAAKw7C,MAAMnxE,KAE7B,OAAOmG,CACT,CACA,SAAS4jI,GAAoBzqE,EAAOhgE,EAAO0qI,GACzC,MAAM9pI,EAASo/D,EAAMm8D,MAAMv7H,OACrB+pI,EAAat0G,KAAKC,IAAIt2B,EAAOY,EAAS,GACtCkP,EAAQkwD,EAAMw/D,YACdzvH,EAAMiwD,EAAMy/D,UACZmL,EAAU,KAChB,IACIpnE,EADAqnE,EAAY7qE,EAAMo8D,gBAAgBuO,GAEtC,KAAID,IAEAlnE,EADa,IAAX5iE,EACOy1B,KAAKqS,IAAImiG,EAAY/6H,EAAOC,EAAM86H,GACxB,IAAV7qI,GACCggE,EAAMo8D,gBAAgB,GAAKyO,GAAa,GAExCA,EAAY7qE,EAAMo8D,gBAAgBuO,EAAa,IAAM,EAEjEE,GAAaF,EAAa3qI,EAAQwjE,GAAUA,EACxCqnE,EAAY/6H,EAAQ86H,GAAWC,EAAY96H,EAAM66H,IAIvD,OAAOC,CACT,CACA,SAASC,GAAeC,EAAQnqI,IAC9B,OAAKmqI,GAASp4H,IACZ,MAAMq4H,EAAKr4H,EAAMq4H,GACXC,EAAQD,EAAGpqI,OAAS,EAC1B,IAAIF,EACJ,GAAIuqI,EAAQrqI,EAAQ,CAClB,IAAKF,EAAI,EAAGA,EAAIuqI,IAASvqI,SAChBiS,EAAMuC,KAAK81H,EAAGtqI,IAEvBsqI,EAAG16H,OAAO,EAAG26H,EACf,IAEJ,CACA,SAASC,GAAkB53H,GACzB,OAAOA,EAAQ+1H,UAAY/1H,EAAQi1H,WAAa,CAClD,CACA,SAAS4C,GAAe73H,EAAS2P,GAC/B,IAAK3P,EAAQquB,QACX,OAAO,EAET,MAAM65B,GAAO,OAAOloD,EAAQkoD,KAAMv4C,GAC5Bw8C,GAAU,OAAUnsD,EAAQmsD,SAC5BnE,GAAQ,OAAQhoD,EAAQ0pB,MAAQ1pB,EAAQ0pB,KAAKp8B,OAAS,EAC5D,OAAQ06D,EAAQE,EAAKM,WAAc2D,EAAQ5D,MAC7C,CACA,SAASuvE,GAAmBrrI,EAAQigE,GAClC,OAAO,OAAcjgE,EAAQ,CAC3BigE,QACA38D,KAAM,SAEV,CACA,SAASgoI,GAAkBtrI,EAAQC,EAAO8tH,GACxC,OAAO,OAAc/tH,EAAQ,CAC3B+tH,OACA9tH,QACAqD,KAAM,QAEV,CACA,SAASioI,GAAWruE,EAAO+4B,EAAU5+C,GACnC,IAAIlrC,GAAM,OAAmB+wD,GAI7B,OAHK7lB,GAAwB,UAAb4+C,IAA2B5+C,GAAwB,UAAb4+C,KACpD9pF,EAAMk+H,GAAal+H,IAEdA,CACT,CACA,SAASq/H,GAAUvrE,EAAOwD,EAAQwyB,EAAU/4B,GAC1C,MAAM,IAACW,EAAG,KAAExxB,EAAI,OAAEyxB,EAAM,MAAEvxB,EAAK,MAAE2zB,GAASD,GACpC,UAACsD,EAAS,OAAE0wD,GAAU/zD,EAC5B,IACIsiE,EAAUiJ,EAAQC,EADlB9nE,EAAW,EAEf,MAAM9H,EAASgC,EAASD,EAClBjC,EAAQrvB,EAAQF,EACtB,GAAI4zB,EAAM09D,eAAgB,CAExB,GADA8N,GAAS,OAAevuE,EAAO7wB,EAAME,IACjC,IAAA5rC,GAASs1F,GAAW,CACtB,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvBD,EAASzX,EAAO0X,GAAgBxP,iBAAiB71H,GAASw1D,EAAS2H,CACrE,MACEioE,EADsB,WAAbz1C,GACC1yB,EAAUzF,OAASyF,EAAU1F,KAAO,EAAI/B,EAAS2H,EAElD6mE,GAAerqE,EAAOg2B,EAAUxyB,GAE3C++D,EAAWj2F,EAAQF,CACrB,KAAO,CACL,IAAI,IAAA1rC,GAASs1F,GAAW,CACtB,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvBF,EAASxX,EAAO0X,GAAgBxP,iBAAiB71H,GAASs1D,EAAQ6H,CACpE,MACEgoE,EADsB,WAAbx1C,GACC1yB,EAAUl3B,KAAOk3B,EAAUh3B,OAAS,EAAIqvB,EAAQ6H,EAEjD6mE,GAAerqE,EAAOg2B,EAAUxyB,GAE3CioE,GAAS,OAAexuE,EAAOY,EAAQD,GACvC+F,EAAwB,SAAbqyB,GAAuB,EAAAvb,EAAU,EAAAA,CAC9C,CACA,MAAO,CAAC+wD,SAAQC,SAAQlJ,WAAU5+D,WACpC,CACA,MAAMgoE,WAAct+F,GAClB5tC,YAAYmiE,GACV+8D,QACAh/H,KAAKkQ,GAAK+xD,EAAI/xD,GACdlQ,KAAK0D,KAAOu+D,EAAIv+D,KAChB1D,KAAK2T,aAAU5Q,EACf/C,KAAKsU,IAAM2tD,EAAI3tD,IACftU,KAAKsgE,MAAQ2B,EAAI3B,MACjBtgE,KAAKi+D,SAAMl7D,EACX/C,KAAKk+D,YAASn7D,EACd/C,KAAKysC,UAAO1pC,EACZ/C,KAAK2sC,WAAQ5pC,EACb/C,KAAKg8D,WAAQj5D,EACb/C,KAAKk8D,YAASn5D,EACd/C,KAAKisI,SAAW,CACdx/F,KAAM,EACNE,MAAO,EACPsxB,IAAK,EACLC,OAAQ,GAEVl+D,KAAK4iI,cAAW7/H,EAChB/C,KAAK6iI,eAAY9/H,EACjB/C,KAAKksI,gBAAanpI,EAClB/C,KAAKmsI,mBAAgBppI,EACrB/C,KAAKosI,iBAAcrpI,EACnB/C,KAAKqsI,kBAAetpI,EACpB/C,KAAKqlE,UAAOtiE,EACZ/C,KAAKssI,mBAAgBvpI,EACrB/C,KAAK22B,SAAM5zB,EACX/C,KAAK+oC,SAAMhmC,EACX/C,KAAKusI,YAASxpI,EACd/C,KAAKw8H,MAAQ,GACbx8H,KAAKwsI,eAAiB,KACtBxsI,KAAKysI,YAAc,KACnBzsI,KAAK0sI,YAAc,KACnB1sI,KAAKq8H,QAAU,EACfr8H,KAAKgpI,WAAa,EAClBhpI,KAAK2sI,kBAAoB,CAAC,EAC1B3sI,KAAK6/H,iBAAc98H,EACnB/C,KAAK8/H,eAAY/8H,EACjB/C,KAAK4sI,gBAAiB,EACtB5sI,KAAK6sI,cAAW9pI,EAChB/C,KAAK8sI,cAAW/pI,EAChB/C,KAAK+sI,mBAAgBhqI,EACrB/C,KAAKgtI,mBAAgBjqI,EACrB/C,KAAKitI,aAAe,EACpBjtI,KAAKktI,aAAe,EACpBltI,KAAKg8H,OAAS,CAAC,EACfh8H,KAAKmtI,mBAAoB,EACzBntI,KAAKyoE,cAAW1lE,CAClB,CACA8zE,KAAKljE,GACH3T,KAAK2T,QAAUA,EAAQy5H,WAAWptI,KAAK63H,cACvC73H,KAAKqlE,KAAO1xD,EAAQ0xD,KACpBrlE,KAAK8sI,SAAW9sI,KAAKy3D,MAAM9jD,EAAQgjB,KACnC32B,KAAK6sI,SAAW7sI,KAAKy3D,MAAM9jD,EAAQo1B,KACnC/oC,KAAKgtI,cAAgBhtI,KAAKy3D,MAAM9jD,EAAQ05H,cACxCrtI,KAAK+sI,cAAgB/sI,KAAKy3D,MAAM9jD,EAAQ25H,aAC1C,CACA71E,MAAMxsD,EAAK5K,GACT,OAAO4K,CACT,CACA8nH,gBACE,IAAI,SAAC+Z,EAAQ,SAAED,EAAQ,cAAEG,EAAa,cAAED,GAAiB/sI,KAKzD,OAJA8sI,GAAW,OAAgBA,EAAU7lI,OAAOs7C,mBAC5CsqF,GAAW,OAAgBA,EAAU5lI,OAAOisH,mBAC5C8Z,GAAgB,OAAgBA,EAAe/lI,OAAOs7C,mBACtDwqF,GAAgB,OAAgBA,EAAe9lI,OAAOisH,mBAC/C,CACLv8F,KAAK,OAAgBm2G,EAAUE,GAC/BjkG,KAAK,OAAgB8jG,EAAUE,GAC/B/Z,YAAY,OAAe8Z,GAC3B7Z,YAAY,OAAe4Z,GAE/B,CACAlU,UAAU9D,GACR,IACIl2D,GADA,IAAChoC,EAAG,IAAEoS,EAAG,WAAEiqF,EAAU,WAAEC,GAAcjzH,KAAK+yH,gBAE9C,GAAIC,GAAcC,EAChB,MAAO,CAACt8F,MAAKoS,OAEf,MAAMwkG,EAAQvtI,KAAK0zH,0BACnB,IAAK,IAAI3yH,EAAI,EAAGg7D,EAAOwxE,EAAMtsI,OAAQF,EAAIg7D,IAAQh7D,EAC/C49D,EAAQ4uE,EAAMxsI,GAAG2tF,WAAWiqC,UAAU34H,KAAM60H,GACvC7B,IACHr8F,EAAMD,KAAKC,IAAIA,EAAKgoC,EAAMhoC,MAEvBs8F,IACHlqF,EAAMrS,KAAKqS,IAAIA,EAAK41B,EAAM51B,MAK9B,OAFApS,EAAMs8F,GAAct8F,EAAMoS,EAAMA,EAAMpS,EACtCoS,EAAMiqF,GAAcr8F,EAAMoS,EAAMpS,EAAMoS,EAC/B,CACLpS,KAAK,OAAgBA,GAAK,OAAgBoS,EAAKpS,IAC/CoS,KAAK,OAAgBA,GAAK,OAAgBpS,EAAKoS,IAEnD,CACAykG,aACE,MAAO,CACL/gG,KAAMzsC,KAAKosI,aAAe,EAC1BnuE,IAAKj+D,KAAKksI,YAAc,EACxBv/F,MAAO3sC,KAAKqsI,cAAgB,EAC5BnuE,OAAQl+D,KAAKmsI,eAAiB,EAElC,CACAsB,WACE,OAAOztI,KAAKw8H,KACd,CACApE,YACE,MAAM7iH,EAAOvV,KAAKsgE,MAAM/qD,KACxB,OAAOvV,KAAK2T,QAAQsyD,SAAWjmE,KAAK+9H,eAAiBxoH,EAAKm4H,QAAUn4H,EAAKo4H,UAAYp4H,EAAK0wD,QAAU,EACtG,CACA2nE,eACE5tI,KAAKg8H,OAAS,CAAC,EACfh8H,KAAKmtI,mBAAoB,CAC3B,CACAvmH,gBACE,OAAS5mB,KAAK2T,QAAQiT,aAAc,CAAC5mB,MACvC,CACAwd,OAAOolH,EAAUC,EAAWgL,GAC1B,MAAM,YAACjN,EAAW,MAAE2I,EAAO/M,MAAOsL,GAAY9nI,KAAK2T,QAC7Cm6H,EAAahG,EAASgG,WAC5B9tI,KAAK4mB,eACL5mB,KAAK4iI,SAAWA,EAChB5iI,KAAK6iI,UAAYA,EACjB7iI,KAAKisI,SAAW4B,EAAU5oI,OAAOqoB,OAAO,CACtCmf,KAAM,EACNE,MAAO,EACPsxB,IAAK,EACLC,OAAQ,GACP2vE,GACH7tI,KAAKw8H,MAAQ,KACbx8H,KAAK0sI,YAAc,KACnB1sI,KAAKwsI,eAAiB,KACtBxsI,KAAKysI,YAAc,KACnBzsI,KAAK+tI,sBACL/tI,KAAKguI,gBACLhuI,KAAKiuI,qBACLjuI,KAAKgpI,WAAahpI,KAAK+9H,eACnB/9H,KAAKg8D,MAAQ6xE,EAAQphG,KAAOohG,EAAQlhG,MACpC3sC,KAAKk8D,OAAS2xE,EAAQ5vE,IAAM4vE,EAAQ3vE,OACnCl+D,KAAKmtI,oBACRntI,KAAKkuI,mBACLluI,KAAKmuI,sBACLnuI,KAAKouI,kBACLpuI,KAAKusI,QAAS,OAAUvsI,KAAMupI,EAAO3I,GACrC5gI,KAAKmtI,mBAAoB,GAE3BntI,KAAKquI,mBACLruI,KAAKw8H,MAAQx8H,KAAKsuI,cAAgB,GAClCtuI,KAAKuuI,kBACL,MAAMC,EAAkBV,EAAa9tI,KAAKw8H,MAAMv7H,OAChDjB,KAAKyuI,sBAAsBD,EAAkB7D,GAAO3qI,KAAKw8H,MAAOsR,GAAc9tI,KAAKw8H,OACnFx8H,KAAKooE,YACLpoE,KAAK0uI,+BACL1uI,KAAK2uI,yBACL3uI,KAAK4uI,8BACD9G,EAAS9lG,UAAY8lG,EAASD,UAAgC,SAApBC,EAASlvH,UACrD5Y,KAAKw8H,MAAQqL,GAAS7nI,KAAMA,KAAKw8H,OACjCx8H,KAAK0sI,YAAc,KACnB1sI,KAAK6uI,iBAEHL,GACFxuI,KAAKyuI,sBAAsBzuI,KAAKw8H,OAElCx8H,KAAK8uI,YACL9uI,KAAK+uI,MACL/uI,KAAKgvI,WACLhvI,KAAK+pE,aACP,CACA3B,YACE,IACI83D,EAAYE,EADZ6O,EAAgBjvI,KAAK2T,QAAQ8jC,QAE7Bz3C,KAAK+9H,gBACPmC,EAAalgI,KAAKysC,KAClB2zF,EAAWpgI,KAAK2sC,QAEhBuzF,EAAalgI,KAAKi+D,IAClBmiE,EAAWpgI,KAAKk+D,OAChB+wE,GAAiBA,GAEnBjvI,KAAK6/H,YAAcK,EACnBlgI,KAAK8/H,UAAYM,EACjBpgI,KAAK4sI,eAAiBqC,EACtBjvI,KAAKq8H,QAAU+D,EAAWF,EAC1BlgI,KAAKkvI,eAAiBlvI,KAAK2T,QAAQw7H,aACrC,CACAplE,eACE,OAAS/pE,KAAK2T,QAAQo2D,YAAa,CAAC/pE,MACtC,CACA+tI,uBACE,OAAS/tI,KAAK2T,QAAQo6H,oBAAqB,CAAC/tI,MAC9C,CACAguI,gBACMhuI,KAAK+9H,gBACP/9H,KAAKg8D,MAAQh8D,KAAK4iI,SAClB5iI,KAAKysC,KAAO,EACZzsC,KAAK2sC,MAAQ3sC,KAAKg8D,QAElBh8D,KAAKk8D,OAASl8D,KAAK6iI,UACnB7iI,KAAKi+D,IAAM,EACXj+D,KAAKk+D,OAASl+D,KAAKk8D,QAErBl8D,KAAKosI,YAAc,EACnBpsI,KAAKksI,WAAa,EAClBlsI,KAAKqsI,aAAe,EACpBrsI,KAAKmsI,cAAgB,CACvB,CACA8B,sBACE,OAASjuI,KAAK2T,QAAQs6H,mBAAoB,CAACjuI,MAC7C,CACAovI,WAAWp0H,GACThb,KAAKsgE,MAAM+uE,cAAcr0H,EAAMhb,KAAK63H,eACpC,OAAS73H,KAAK2T,QAAQqH,GAAO,CAAChb,MAChC,CACAkuI,mBACEluI,KAAKovI,WAAW,mBAClB,CACAjB,sBAAuB,CACvBC,kBACEpuI,KAAKovI,WAAW,kBAClB,CACAf,mBACEruI,KAAKovI,WAAW,mBAClB,CACAd,aACE,MAAO,EACT,CACAC,kBACEvuI,KAAKovI,WAAW,kBAClB,CACAE,+BACE,OAAStvI,KAAK2T,QAAQ27H,4BAA6B,CAACtvI,MACtD,CACAuvI,mBAAmB/S,GACjB,MAAMsL,EAAW9nI,KAAK2T,QAAQ6oH,MAC9B,IAAIz7H,EAAGg7D,EAAMoyD,EACb,IAAKptH,EAAI,EAAGg7D,EAAOygE,EAAMv7H,OAAQF,EAAIg7D,EAAMh7D,IACzCotH,EAAOqO,EAAMz7H,GACbotH,EAAK3tE,OAAQ,OAASsnF,EAASn/H,SAAU,CAACwlH,EAAKznH,MAAO3F,EAAGy7H,GAAQx8H,KAErE,CACAwvI,8BACE,OAASxvI,KAAK2T,QAAQ67H,2BAA4B,CAACxvI,MACrD,CACA0uI,gCACE,OAAS1uI,KAAK2T,QAAQ+6H,6BAA8B,CAAC1uI,MACvD,CACA2uI,yBACE,MAAMh7H,EAAU3T,KAAK2T,QACfm0H,EAAWn0H,EAAQ6oH,MACnBiT,EAAWzvI,KAAKw8H,MAAMv7H,OACtB8oI,EAAcjC,EAASiC,aAAe,EACtCC,EAAclC,EAASkC,YAC7B,IACIL,EAAW9G,EAAW6M,EADtBpD,EAAgBvC,EAEpB,IAAK/pI,KAAK2vI,eAAiB7H,EAAS9lG,SAAW+nG,GAAeC,GAAeyF,GAAY,IAAMzvI,KAAK+9H,eAElG,YADA/9H,KAAKssI,cAAgBvC,GAGvB,MAAM6F,EAAa5vI,KAAK6vI,iBAClBC,EAAgBF,EAAWG,OAAO/zE,MAClCg0E,EAAiBJ,EAAWK,QAAQ/zE,OACpC0mE,GAAW,OAAY5iI,KAAKsgE,MAAMtE,MAAQ8zE,EAAe,EAAG9vI,KAAK4iI,UACvE+G,EAAYh2H,EAAQkwD,OAAS7jE,KAAK4iI,SAAW6M,EAAW7M,GAAY6M,EAAW,GAC3EK,EAAgB,EAAInG,IACtBA,EAAY/G,GAAY6M,GAAY97H,EAAQkwD,OAAS,GAAM,IAC3Dg/D,EAAY7iI,KAAK6iI,UAAY0I,GAAkB53H,EAAQ+sH,MACvDoH,EAAShoE,QAAU0rE,GAAe73H,EAAQ6uG,MAAOxiH,KAAKsgE,MAAM3sD,QAAQkoD,MACpE6zE,EAAmBh5G,KAAKwmC,KAAK4yE,EAAgBA,EAAgBE,EAAiBA,GAC9E1D,GAAgB,OAAU51G,KAAKC,IAC7BD,KAAKw5G,MAAK,QAAaN,EAAWK,QAAQ/zE,OAAS,GAAKytE,GAAY,EAAG,IACvEjzG,KAAKw5G,MAAK,OAAYrN,EAAY6M,GAAmB,EAAG,IAAMh5G,KAAKw5G,MAAK,OAAYF,EAAiBN,GAAmB,EAAG,MAE7HpD,EAAgB51G,KAAKqS,IAAIghG,EAAarzG,KAAKC,IAAIqzG,EAAasC,KAE9DtsI,KAAKssI,cAAgBA,CACvB,CACAsC,+BACE,OAAS5uI,KAAK2T,QAAQi7H,4BAA6B,CAAC5uI,MACtD,CACA6uI,gBAAiB,CACjBC,aACE,OAAS9uI,KAAK2T,QAAQm7H,UAAW,CAAC9uI,MACpC,CACA+uI,MACE,MAAMnJ,EAAU,CACd5pE,MAAO,EACPE,OAAQ,IAEJ,MAACoE,EAAO3sD,SAAU6oH,MAAOsL,EAAUtlB,MAAO2tB,EAAWzP,KAAM0P,IAAapwI,KACxEgiC,EAAUhiC,KAAK2vI,aACf5R,EAAe/9H,KAAK+9H,eAC1B,GAAI/7F,EAAS,CACX,MAAMquG,EAAc7E,GAAe2E,EAAW7vE,EAAM3sD,QAAQkoD,MAQ5D,GAPIkiE,GACF6H,EAAQ5pE,MAAQh8D,KAAK4iI,SACrBgD,EAAQ1pE,OAASqvE,GAAkB6E,GAAYC,IAE/CzK,EAAQ1pE,OAASl8D,KAAK6iI,UACtB+C,EAAQ5pE,MAAQuvE,GAAkB6E,GAAYC,GAE5CvI,EAAS9lG,SAAWhiC,KAAKw8H,MAAMv7H,OAAQ,CACzC,MAAM,MAACsnI,EAAK,KAAErnI,EAAI,OAAE6uI,EAAM,QAAEE,GAAWjwI,KAAK6vI,iBACtCS,EAAiC,EAAnBxI,EAAShoE,QACvBywE,GAAe,IAAAzkH,GAAU9rB,KAAKssI,eAC9B9uE,EAAM9mC,KAAK8mC,IAAI+yE,GACf9yE,EAAM/mC,KAAK+mC,IAAI8yE,GACrB,GAAIxS,EAAc,CAChB,MAAMyS,EAAc1I,EAASmC,OAAS,EAAIxsE,EAAMsyE,EAAO/zE,MAAQwB,EAAMyyE,EAAQ/zE,OAC7E0pE,EAAQ1pE,OAASxlC,KAAKC,IAAI32B,KAAK6iI,UAAW+C,EAAQ1pE,OAASs0E,EAAcF,EAC3E,KAAO,CACL,MAAMG,EAAa3I,EAASmC,OAAS,EAAIzsE,EAAMuyE,EAAO/zE,MAAQyB,EAAMwyE,EAAQ/zE,OAC5E0pE,EAAQ5pE,MAAQtlC,KAAKC,IAAI32B,KAAK4iI,SAAUgD,EAAQ5pE,MAAQy0E,EAAaH,EACvE,CACAtwI,KAAK0wI,kBAAkBnI,EAAOrnI,EAAMu8D,EAAKD,EAC3C,CACF,CACAx9D,KAAK2wI,iBACD5S,GACF/9H,KAAKg8D,MAAQh8D,KAAKq8H,QAAU/7D,EAAMtE,MAAQh8D,KAAKisI,SAASx/F,KAAOzsC,KAAKisI,SAASt/F,MAC7E3sC,KAAKk8D,OAAS0pE,EAAQ1pE,SAEtBl8D,KAAKg8D,MAAQ4pE,EAAQ5pE,MACrBh8D,KAAKk8D,OAASl8D,KAAKq8H,QAAU/7D,EAAMpE,OAASl8D,KAAKisI,SAAShuE,IAAMj+D,KAAKisI,SAAS/tE,OAElF,CACAwyE,kBAAkBnI,EAAOrnI,EAAMu8D,EAAKD,GAClC,MAAOg/D,OAAO,MAACl/D,EAAK,QAAEwC,GAAQ,SAAEu2B,GAAYr2F,KAAK2T,QAC3Ci9H,EAAmC,IAAvB5wI,KAAKssI,cACjBuE,EAAgC,QAAbx6C,GAAoC,MAAdr2F,KAAKqlE,KACpD,GAAIrlE,KAAK+9H,eAAgB,CACvB,MAAM+S,EAAa9wI,KAAKy8H,gBAAgB,GAAKz8H,KAAKysC,KAC5CskG,EAAc/wI,KAAK2sC,MAAQ3sC,KAAKy8H,gBAAgBz8H,KAAKw8H,MAAMv7H,OAAS,GAC1E,IAAImrI,EAAc,EACdC,EAAe,EACfuE,EACEC,GACFzE,EAAc5uE,EAAM+qE,EAAMvsE,MAC1BqwE,EAAe5uE,EAAMv8D,EAAKg7D,SAE1BkwE,EAAc3uE,EAAM8qE,EAAMrsE,OAC1BmwE,EAAe7uE,EAAMt8D,EAAK86D,OAET,UAAVsB,EACT+uE,EAAenrI,EAAK86D,MACD,QAAVsB,EACT8uE,EAAc7D,EAAMvsE,MACD,UAAVsB,IACT8uE,EAAc7D,EAAMvsE,MAAQ,EAC5BqwE,EAAenrI,EAAK86D,MAAQ,GAE9Bh8D,KAAKosI,YAAc11G,KAAKqS,KAAKqjG,EAAc0E,EAAahxE,GAAW9/D,KAAKg8D,OAASh8D,KAAKg8D,MAAQ80E,GAAa,GAC3G9wI,KAAKqsI,aAAe31G,KAAKqS,KAAKsjG,EAAe0E,EAAcjxE,GAAW9/D,KAAKg8D,OAASh8D,KAAKg8D,MAAQ+0E,GAAc,EACjH,KAAO,CACL,IAAI7E,EAAahrI,EAAKg7D,OAAS,EAC3BiwE,EAAgB5D,EAAMrsE,OAAS,EACrB,UAAVoB,GACF4uE,EAAa,EACbC,EAAgB5D,EAAMrsE,QACH,QAAVoB,IACT4uE,EAAahrI,EAAKg7D,OAClBiwE,EAAgB,GAElBnsI,KAAKksI,WAAaA,EAAapsE,EAC/B9/D,KAAKmsI,cAAgBA,EAAgBrsE,CACvC,CACF,CACA6wE,iBACM3wI,KAAKisI,WACPjsI,KAAKisI,SAASx/F,KAAO/V,KAAKqS,IAAI/oC,KAAKosI,YAAapsI,KAAKisI,SAASx/F,MAC9DzsC,KAAKisI,SAAShuE,IAAMvnC,KAAKqS,IAAI/oC,KAAKksI,WAAYlsI,KAAKisI,SAAShuE,KAC5Dj+D,KAAKisI,SAASt/F,MAAQjW,KAAKqS,IAAI/oC,KAAKqsI,aAAcrsI,KAAKisI,SAASt/F,OAChE3sC,KAAKisI,SAAS/tE,OAASxnC,KAAKqS,IAAI/oC,KAAKmsI,cAAensI,KAAKisI,SAAS/tE,QAEtE,CACA8wE,YACE,OAAShvI,KAAK2T,QAAQq7H,SAAU,CAAChvI,MACnC,CACA+9H,eACE,MAAM,KAAC14D,EAAI,SAAEgxB,GAAYr2F,KAAK2T,QAC9B,MAAoB,QAAb0iF,GAAmC,WAAbA,GAAkC,MAAThxB,CACxD,CACA2rE,aACE,OAAOhxI,KAAK2T,QAAQs9H,QACtB,CACAxC,sBAAsBjS,GAGpB,IAAIz7H,EAAGg7D,EACP,IAHA/7D,KAAKsvI,8BACLtvI,KAAKuvI,mBAAmB/S,GAEnBz7H,EAAI,EAAGg7D,EAAOygE,EAAMv7H,OAAQF,EAAIg7D,EAAMh7D,KACrC,OAAcy7H,EAAMz7H,GAAGy/C,SACzBg8E,EAAM7rH,OAAO5P,EAAG,GAChBg7D,IACAh7D,KAGJf,KAAKwvI,4BACP,CACAK,iBACE,IAAID,EAAa5vI,KAAK0sI,YACtB,IAAKkD,EAAY,CACf,MAAM9B,EAAa9tI,KAAK2T,QAAQ6oH,MAAMsR,WACtC,IAAItR,EAAQx8H,KAAKw8H,MACbsR,EAAatR,EAAMv7H,SACrBu7H,EAAQmO,GAAOnO,EAAOsR,IAExB9tI,KAAK0sI,YAAckD,EAAa5vI,KAAKkxI,mBAAmB1U,EAAOA,EAAMv7H,OACvE,CACA,OAAO2uI,CACT,CACAsB,mBAAmB1U,EAAOv7H,GACxB,MAAM,IAACqT,EAAKq4H,kBAAmBvB,GAAUprI,KACnCmxI,EAAS,GACTC,EAAU,GAChB,IAEIrwI,EAAGs2B,EAAGkwC,EAAM/mB,EAAO6wF,EAAUC,EAAYt+H,EAAOmpD,EAAYH,EAAOE,EAAQq1E,EAF3EC,EAAkB,EAClBC,EAAmB,EAEvB,IAAK1wI,EAAI,EAAGA,EAAIE,IAAUF,EAAG,CAO3B,GANAy/C,EAAQg8E,EAAMz7H,GAAGy/C,MACjB6wF,EAAWrxI,KAAK0xI,wBAAwB3wI,GACxCuT,EAAIunD,KAAOy1E,EAAaD,EAASz+F,OACjC5/B,EAAQo4H,EAAOkG,GAAclG,EAAOkG,IAAe,CAAC/7H,KAAM,CAAC,EAAG81H,GAAI,IAClElvE,EAAak1E,EAASl1E,WACtBH,EAAQE,EAAS,GACZ,OAAc1b,KAAW,OAAQA,IAG/B,IAAI,OAAQA,GACjB,IAAKnpB,EAAI,EAAGkwC,EAAO/mB,EAAMv/C,OAAQo2B,EAAIkwC,IAAQlwC,EAC3Ck6G,EAAc/wF,EAAMnpB,IACf,OAAck6G,KAAiB,OAAQA,KAC1Cv1E,GAAQ,OAAa1nD,EAAKtB,EAAMuC,KAAMvC,EAAMq4H,GAAIrvE,EAAOu1E,GACvDr1E,GAAUC,QAPdH,GAAQ,OAAa1nD,EAAKtB,EAAMuC,KAAMvC,EAAMq4H,GAAIrvE,EAAOxb,GACvD0b,EAASC,EAUXg1E,EAAO5wI,KAAKy7D,GACZo1E,EAAQ7wI,KAAK27D,GACbs1E,EAAkB96G,KAAKqS,IAAIizB,EAAOw1E,GAClCC,EAAmB/6G,KAAKqS,IAAImzB,EAAQu1E,EACtC,CACAtG,GAAeC,EAAQnqI,GACvB,MAAM8uI,EAASoB,EAAOpgI,QAAQygI,GACxBvB,EAAUmB,EAAQrgI,QAAQ0gI,GAC1BE,EAAWC,IAAQ,CAAE51E,MAAOm1E,EAAOS,IAAQ,EAAG11E,OAAQk1E,EAAQQ,IAAQ,IAC5E,MAAO,CACLrJ,MAAOoJ,EAAQ,GACfzwI,KAAMywI,EAAQ1wI,EAAS,GACvB8uI,OAAQ4B,EAAQ5B,GAChBE,QAAS0B,EAAQ1B,GACjBkB,SACAC,UAEJ,CACAjY,iBAAiBzyH,GACf,OAAOA,CACT,CACA61H,iBAAiB71H,EAAOrG,GACtB,OAAOogF,GACT,CACAoxD,iBAAiBjxE,GAAQ,CACzB67D,gBAAgBp8H,GACd,MAAMm8H,EAAQx8H,KAAKw8H,MACnB,OAAIn8H,EAAQ,GAAKA,EAAQm8H,EAAMv7H,OAAS,EAC/B,KAEFjB,KAAKu8H,iBAAiBC,EAAMn8H,GAAOqG,MAC5C,CACAy5H,mBAAmB2R,GACb9xI,KAAK4sI,iBACPkF,EAAU,EAAIA,GAEhB,MAAMlxE,EAAQ5gE,KAAK6/H,YAAciS,EAAU9xI,KAAKq8H,QAChD,OAAO,OAAYr8H,KAAKkvI,gBAAiB,OAAYlvI,KAAKsgE,MAAOM,EAAO,GAAKA,EAC/E,CACAmxE,mBAAmBnxE,GACjB,MAAMkxE,GAAWlxE,EAAQ5gE,KAAK6/H,aAAe7/H,KAAKq8H,QAClD,OAAOr8H,KAAK4sI,eAAiB,EAAIkF,EAAUA,CAC7C,CACAjxE,eACE,OAAO7gE,KAAKu8H,iBAAiBv8H,KAAKgyI,eACpC,CACAA,eACE,MAAM,IAACr7G,EAAG,IAAEoS,GAAO/oC,KACnB,OAAO22B,EAAM,GAAKoS,EAAM,EAAIA,EAC1BpS,EAAM,GAAKoS,EAAM,EAAIpS,EACrB,CACJ,CACAkhG,WAAWx3H,GACT,MAAMm8H,EAAQx8H,KAAKw8H,OAAS,GAC5B,GAAIn8H,GAAS,GAAKA,EAAQm8H,EAAMv7H,OAAQ,CACtC,MAAMktH,EAAOqO,EAAMn8H,GACnB,OAAO8tH,EAAK1lD,WACb0lD,EAAK1lD,SAAWijE,GAAkB1rI,KAAK63H,aAAcx3H,EAAO8tH,GAC7D,CACA,OAAOnuH,KAAKyoE,WACZzoE,KAAKyoE,SAAWgjE,GAAmBzrI,KAAKsgE,MAAMu3D,aAAc73H,MAC9D,CACA6oI,YACE,MAAMoJ,EAAcjyI,KAAK2T,QAAQ6oH,MAC3B0V,GAAM,IAAApmH,GAAU9rB,KAAKssI,eACrB9uE,EAAM9mC,KAAK2e,IAAI3e,KAAK8mC,IAAI00E,IACxBz0E,EAAM/mC,KAAK2e,IAAI3e,KAAK+mC,IAAIy0E,IACxBtC,EAAa5vI,KAAK6vI,iBAClB/vE,EAAUmyE,EAAY/H,iBAAmB,EACzCvoI,EAAIiuI,EAAaA,EAAWG,OAAO/zE,MAAQ8D,EAAU,EACrDt3C,EAAIonH,EAAaA,EAAWK,QAAQ/zE,OAAS4D,EAAU,EAC7D,OAAO9/D,KAAK+9H,eACRv1G,EAAIg1C,EAAM77D,EAAI87D,EAAM97D,EAAI67D,EAAMh1C,EAAIi1C,EAClCj1C,EAAIi1C,EAAM97D,EAAI67D,EAAMh1C,EAAIg1C,EAAM77D,EAAI87D,CACxC,CACAkyE,aACE,MAAM3tG,EAAUhiC,KAAK2T,QAAQquB,QAC7B,MAAgB,SAAZA,IACOA,EAEJhiC,KAAK0zH,0BAA0BzyH,OAAS,CACjD,CACAkxI,sBAAsBxuE,GACpB,MAAM0B,EAAOrlE,KAAKqlE,KACZ/E,EAAQtgE,KAAKsgE,MACb3sD,EAAU3T,KAAK2T,SACf,KAAC+sH,EAAI,SAAErqC,GAAY1iF,EACnBkwD,EAAS68D,EAAK78D,OACdk6D,EAAe/9H,KAAK+9H,eACpBvB,EAAQx8H,KAAKw8H,MACb4V,EAAc5V,EAAMv7H,QAAU4iE,EAAS,EAAI,GAC3CwuE,EAAK9G,GAAkB7K,GACvB5kE,EAAQ,GACRw2E,EAAa5R,EAAK0M,WAAWptI,KAAK63H,cAClC0a,EAAYD,EAAW9I,WAAa8I,EAAWzyE,YAAc,EAC7D2yE,EAAgBD,EAAY,EAC5BE,EAAmB,SAAS7xE,GAChC,OAAO,OAAYN,EAAOM,EAAO2xE,EACnC,EACA,IAAIG,EAAa3xI,EAAGmqI,EAAWyH,EAC3BC,EAAKC,EAAKC,EAAKC,EAAKz0E,EAAIC,EAAIy0E,EAAIC,EACpC,GAAiB,QAAb58C,EACFq8C,EAAcD,EAAiBzyI,KAAKk+D,QACpC20E,EAAM7yI,KAAKk+D,OAASm0E,EACpBU,EAAML,EAAcF,EACpBj0E,EAAKk0E,EAAiB9uE,EAAU1F,KAAOu0E,EACvCS,EAAKtvE,EAAUzF,YACV,GAAiB,WAAbm4B,EACTq8C,EAAcD,EAAiBzyI,KAAKi+D,KACpCM,EAAKoF,EAAU1F,IACfg1E,EAAKR,EAAiB9uE,EAAUzF,QAAUs0E,EAC1CK,EAAMH,EAAcF,EACpBO,EAAM/yI,KAAKi+D,IAAMo0E,OACZ,GAAiB,SAAbh8C,EACTq8C,EAAcD,EAAiBzyI,KAAK2sC,OACpCimG,EAAM5yI,KAAK2sC,MAAQ0lG,EACnBS,EAAMJ,EAAcF,EACpBl0E,EAAKm0E,EAAiB9uE,EAAUl3B,MAAQ+lG,EACxCQ,EAAKrvE,EAAUh3B,WACV,GAAiB,UAAb0pD,EACTq8C,EAAcD,EAAiBzyI,KAAKysC,MACpC6xB,EAAKqF,EAAUl3B,KACfumG,EAAKP,EAAiB9uE,EAAUh3B,OAAS6lG,EACzCI,EAAMF,EAAcF,EACpBM,EAAM9yI,KAAKysC,KAAO4lG,OACb,GAAa,MAAThtE,EAAc,CACvB,GAAiB,WAAbgxB,EACFq8C,EAAcD,GAAkB9uE,EAAU1F,IAAM0F,EAAUzF,QAAU,EAAI,SACnE,IAAI,IAAAn9D,GAASs1F,GAAW,CAC7B,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvB2G,EAAcD,EAAiBzyI,KAAKsgE,MAAM+zD,OAAO0X,GAAgBxP,iBAAiB71H,GACpF,CACA63D,EAAKoF,EAAU1F,IACfg1E,EAAKtvE,EAAUzF,OACf20E,EAAMH,EAAcF,EACpBO,EAAMF,EAAMR,CACd,MAAO,GAAa,MAAThtE,EAAc,CACvB,GAAiB,WAAbgxB,EACFq8C,EAAcD,GAAkB9uE,EAAUl3B,KAAOk3B,EAAUh3B,OAAS,QAC/D,IAAI,IAAA5rC,GAASs1F,GAAW,CAC7B,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvB2G,EAAcD,EAAiBzyI,KAAKsgE,MAAM+zD,OAAO0X,GAAgBxP,iBAAiB71H,GACpF,CACAksI,EAAMF,EAAcF,EACpBM,EAAMF,EAAMP,EACZ/zE,EAAKqF,EAAUl3B,KACfumG,EAAKrvE,EAAUh3B,KACjB,CACA,MAAMumG,GAAQ,IAAAxrI,GAAeiM,EAAQ6oH,MAAMwL,cAAeoK,GACpDe,EAAOz8G,KAAKqS,IAAI,EAAGrS,KAAK8hB,KAAK45F,EAAcc,IACjD,IAAKnyI,EAAI,EAAGA,EAAIqxI,EAAarxI,GAAKoyI,EAAM,CACtC,MAAMC,EAAc1S,EAAK0M,WAAWptI,KAAK63H,WAAW92H,IAC9C6gE,EAAYwxE,EAAYxxE,UACxByxE,EAAYD,EAAY1wE,MACxBmnE,EAAauJ,EAAYvJ,YAAc,GACvCC,EAAmBsJ,EAAYtJ,iBAC/BH,EAAYyJ,EAAYzJ,UACxBC,EAAYwJ,EAAYxJ,UACxB0J,EAAiBF,EAAYE,gBAAkB,GAC/CC,EAAuBH,EAAYG,qBACzCrI,EAAYJ,GAAoB9qI,KAAMe,EAAG8iE,QACvB9gE,IAAdmoI,IAGJyH,GAAmB,OAAYryE,EAAO4qE,EAAWtpE,GAC7Cm8D,EACF6U,EAAME,EAAMx0E,EAAK00E,EAAKL,EAEtBE,EAAME,EAAMx0E,EAAK00E,EAAKN,EAExB72E,EAAMv7D,KAAK,CACTqyI,MACAC,MACAC,MACAC,MACAz0E,KACAC,KACAy0E,KACAC,KACAj3E,MAAO4F,EACPc,MAAO2wE,EACPxJ,aACAC,mBACAH,YACAC,YACA0J,iBACAC,yBAEJ,CAGA,OAFAvzI,KAAKitI,aAAemF,EACpBpyI,KAAKktI,aAAewF,EACb52E,CACT,CACA03E,mBAAmB7vE,GACjB,MAAM0B,EAAOrlE,KAAKqlE,KACZ1xD,EAAU3T,KAAK2T,SACf,SAAC0iF,EAAUmmC,MAAOyV,GAAet+H,EACjCoqH,EAAe/9H,KAAK+9H,eACpBvB,EAAQx8H,KAAKw8H,OACb,MAACl/D,EAAK,WAAE+sE,EAAU,QAAEvqE,EAAO,OAAEmqE,GAAUgI,EACvCI,EAAK9G,GAAkB53H,EAAQ+sH,MAC/B+S,EAAiBpB,EAAKvyE,EACtB4zE,EAAkBzJ,GAAUnqE,EAAU2zE,EACtCzvE,IAAY,IAAAl4C,GAAU9rB,KAAKssI,eAC3BxwE,EAAQ,GACd,IAAI/6D,EAAGg7D,EAAMoyD,EAAM3tE,EAAOvG,EAAG9C,EAAGsrB,EAAW7B,EAAO/E,EAAMM,EAAYw3E,EAAWC,EAC3E7wE,EAAe,SACnB,GAAiB,QAAbszB,EACFl/C,EAAIn3C,KAAKk+D,OAASw1E,EAClBjxE,EAAYziE,KAAK6zI,+BACZ,GAAiB,WAAbx9C,EACTl/C,EAAIn3C,KAAKi+D,IAAMy1E,EACfjxE,EAAYziE,KAAK6zI,+BACZ,GAAiB,SAAbx9C,EAAqB,CAC9B,MAAM9pF,EAAMvM,KAAK8zI,wBAAwBzB,GACzC5vE,EAAYl2D,EAAIk2D,UAChBxoB,EAAI1tC,EAAI0tC,CACV,MAAO,GAAiB,UAAbo8C,EAAsB,CAC/B,MAAM9pF,EAAMvM,KAAK8zI,wBAAwBzB,GACzC5vE,EAAYl2D,EAAIk2D,UAChBxoB,EAAI1tC,EAAI0tC,CACV,MAAO,GAAa,MAATorB,EAAc,CACvB,GAAiB,WAAbgxB,EACFl/C,GAAMwsB,EAAU1F,IAAM0F,EAAUzF,QAAU,EAAKu1E,OAC1C,IAAI,IAAA1yI,GAASs1F,GAAW,CAC7B,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvB50F,EAAIn3C,KAAKsgE,MAAM+zD,OAAO0X,GAAgBxP,iBAAiB71H,GAAS+sI,CAClE,CACAhxE,EAAYziE,KAAK6zI,yBACnB,MAAO,GAAa,MAATxuE,EAAc,CACvB,GAAiB,WAAbgxB,EACFp8C,GAAM0pB,EAAUl3B,KAAOk3B,EAAUh3B,OAAS,EAAK8mG,OAC1C,IAAI,IAAA1yI,GAASs1F,GAAW,CAC7B,MAAM01C,EAAiB9mI,OAAOkR,KAAKkgF,GAAU,GACvC3vF,EAAQ2vF,EAAS01C,GACvB9xF,EAAIj6C,KAAKsgE,MAAM+zD,OAAO0X,GAAgBxP,iBAAiB71H,EACzD,CACA+7D,EAAYziE,KAAK8zI,wBAAwBzB,GAAI5vE,SAC/C,CACa,MAAT4C,IACY,UAAV/H,EACFyF,EAAe,MACI,QAAVzF,IACTyF,EAAe,WAGnB,MAAM6sE,EAAa5vI,KAAK6vI,iBACxB,IAAK9uI,EAAI,EAAGg7D,EAAOygE,EAAMv7H,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAC9CotH,EAAOqO,EAAMz7H,GACby/C,EAAQ2tE,EAAK3tE,MACb,MAAM4yF,EAAcnB,EAAY7E,WAAWptI,KAAK63H,WAAW92H,IAC3D6/D,EAAQ5gE,KAAKy8H,gBAAgB17H,GAAKkxI,EAAY9H,YAC9CtuE,EAAO77D,KAAK0xI,wBAAwB3wI,GACpCo7D,EAAaN,EAAKM,WAClBw3E,GAAY,OAAQnzF,GAASA,EAAMv/C,OAAS,EAC5C,MAAM8yI,EAAYJ,EAAY,EACxBjxE,EAAQ0wE,EAAY1wE,MACpBC,EAAcywE,EAAYxwE,gBAC1BC,EAAcuwE,EAAYtwE,gBAChC,IAoCIkxE,EApCAC,EAAgBxxE,EAqCpB,GApCIs7D,GACF9jF,EAAI2mB,EACc,UAAd6B,IAEAwxE,EADElzI,IAAMg7D,EAAO,EACE/7D,KAAK2T,QAAQ8jC,QAAoB,OAAV,QACzB,IAAN12C,EACQf,KAAK2T,QAAQ8jC,QAAmB,QAAT,OAExB,UAKhBm8F,EAFa,QAAbv9C,EACiB,SAAfg0C,GAAsC,IAAbrmE,GACb2vE,EAAYx3E,EAAaA,EAAa,EAC5B,WAAfkuE,GACKuF,EAAWK,QAAQ/zE,OAAS,EAAI63E,EAAY53E,EAAaA,GAEzDyzE,EAAWK,QAAQ/zE,OAASC,EAAa,EAGtC,SAAfkuE,GAAsC,IAAbrmE,EACd7H,EAAa,EACF,WAAfkuE,EACIuF,EAAWK,QAAQ/zE,OAAS,EAAI63E,EAAY53E,EAE5CyzE,EAAWK,QAAQ/zE,OAASy3E,EAAYx3E,EAGrD8tE,IACF2J,IAAe,KAGjBz8F,EAAIypB,EACJgzE,GAAc,EAAID,GAAax3E,EAAa,GAG1Ci3E,EAAY9I,kBAAmB,CACjC,MAAM4J,GAAe,OAAUd,EAAY5I,iBACrCtuE,EAAS0zE,EAAWwB,QAAQrwI,GAC5Bi7D,EAAQ4zE,EAAWuB,OAAOpwI,GAChC,IAAIk9D,EAAM9mB,EAAIy8F,EAAaM,EAAaj2E,IACpCxxB,EAAOwN,EAAIi6F,EAAaznG,KAC5B,OAAQs2B,GACR,IAAK,SACH9E,GAAO/B,EAAS,EAChB,MACF,IAAK,SACH+B,GAAO/B,EACP,MAEF,OAAQuG,GACR,IAAK,SACHh2B,GAAQuvB,EAAQ,EAChB,MACF,IAAK,QACHvvB,GAAQuvB,EACR,MAEFg4E,EAAW,CACTvnG,OACAwxB,MACAjC,MAAOA,EAAQk4E,EAAal4E,MAC5BE,OAAQA,EAASg4E,EAAah4E,OAC9BwG,MAAO0wE,EAAY7I,cAEvB,CACAzuE,EAAMv7D,KAAK,CACTyjE,WACAxjB,QACAqb,OACA6G,QACAC,cACAE,cACA+wE,aACAnxE,UAAWwxE,EACXlxE,eACAoxE,YAAa,CAACl6F,EAAG9C,GACjB68F,YAEJ,CACA,OAAOl4E,CACT,CACA+3E,0BACE,MAAM,SAACx9C,EAAQ,MAAEmmC,GAASx8H,KAAK2T,QACzBqwD,IAAY,IAAAl4C,GAAU9rB,KAAKssI,eACjC,GAAItoE,EACF,MAAoB,QAAbqyB,EAAqB,OAAS,QAEvC,IAAI/4B,EAAQ,SAQZ,MAPoB,UAAhBk/D,EAAMl/D,MACRA,EAAQ,OACiB,QAAhBk/D,EAAMl/D,MACfA,EAAQ,QACiB,UAAhBk/D,EAAMl/D,QACfA,EAAQ,SAEHA,CACT,CACAw2E,wBAAwBzB,GACtB,MAAM,SAACh8C,EAAUmmC,OAAO,WAAC6N,EAAU,OAAEJ,EAAM,QAAEnqE,IAAY9/D,KAAK2T,QACxDi8H,EAAa5vI,KAAK6vI,iBAClB4D,EAAiBpB,EAAKvyE,EACtBiwE,EAASH,EAAWG,OAAO/zE,MACjC,IAAIyG,EACAxoB,EAoDJ,MAnDiB,SAAbo8C,EACE4zC,GACFhwF,EAAIj6C,KAAK2sC,MAAQmzB,EACE,SAAfuqE,EACF5nE,EAAY,OACY,WAAf4nE,GACT5nE,EAAY,SACZxoB,GAAM81F,EAAS,IAEfttE,EAAY,QACZxoB,GAAK81F,KAGP91F,EAAIj6C,KAAK2sC,MAAQ8mG,EACE,SAAfpJ,EACF5nE,EAAY,QACY,WAAf4nE,GACT5nE,EAAY,SACZxoB,GAAM81F,EAAS,IAEfttE,EAAY,OACZxoB,EAAIj6C,KAAKysC,OAGS,UAAb4pD,EACL4zC,GACFhwF,EAAIj6C,KAAKysC,KAAOqzB,EACG,SAAfuqE,EACF5nE,EAAY,QACY,WAAf4nE,GACT5nE,EAAY,SACZxoB,GAAM81F,EAAS,IAEfttE,EAAY,OACZxoB,GAAK81F,KAGP91F,EAAIj6C,KAAKysC,KAAOgnG,EACG,SAAfpJ,EACF5nE,EAAY,OACY,WAAf4nE,GACT5nE,EAAY,SACZxoB,GAAK81F,EAAS,IAEdttE,EAAY,QACZxoB,EAAIj6C,KAAK2sC,QAIb81B,EAAY,QAEP,CAACA,YAAWxoB,IACrB,CACAm6F,oBACE,GAAIp0I,KAAK2T,QAAQ6oH,MAAMyN,OACrB,OAEF,MAAM3pE,EAAQtgE,KAAKsgE,MACb+1B,EAAWr2F,KAAK2T,QAAQ0iF,SAC9B,MAAiB,SAAbA,GAAoC,UAAbA,EAClB,CAACp4B,IAAK,EAAGxxB,KAAMzsC,KAAKysC,KAAMyxB,OAAQoC,EAAMpE,OAAQvvB,MAAO3sC,KAAK2sC,OAClD,QAAb0pD,GAAmC,WAAbA,EACnB,CAACp4B,IAAKj+D,KAAKi+D,IAAKxxB,KAAM,EAAGyxB,OAAQl+D,KAAKk+D,OAAQvxB,MAAO2zB,EAAMtE,YADlE,CAGJ,CACAq4E,iBACE,MAAM,IAAC//H,EAAKX,SAAS,gBAAC0tD,GAAgB,KAAE50B,EAAI,IAAEwxB,EAAG,MAAEjC,EAAK,OAAEE,GAAUl8D,KAChEqhE,IACF/sD,EAAIkwD,OACJlwD,EAAImtD,UAAYJ,EAChB/sD,EAAIggI,SAAS7nG,EAAMwxB,EAAKjC,EAAOE,GAC/B5nD,EAAIqwD,UAER,CACA27D,qBAAqB55H,GACnB,MAAMg6H,EAAO1gI,KAAK2T,QAAQ+sH,KAC1B,IAAK1gI,KAAK2vI,eAAiBjP,EAAK1+F,QAC9B,OAAO,EAET,MAAMw6F,EAAQx8H,KAAKw8H,MACbn8H,EAAQm8H,EAAM3wG,WAAUC,GAAKA,EAAEplB,QAAUA,IAC/C,GAAIrG,GAAS,EAAG,CACd,MAAMw6D,EAAO6lE,EAAK0M,WAAWptI,KAAK63H,WAAWx3H,IAC7C,OAAOw6D,EAAK+G,SACd,CACA,OAAO,CACT,CACA2yE,SAAS5wE,GACP,MAAM+8D,EAAO1gI,KAAK2T,QAAQ+sH,KACpBpsH,EAAMtU,KAAKsU,IACXwnD,EAAQ97D,KAAKwsI,iBAAmBxsI,KAAKwsI,eAAiBxsI,KAAKmyI,sBAAsBxuE,IACvF,IAAI5iE,EAAGg7D,EACP,MAAMy4E,EAAW,CAAC9uE,EAAI+uE,EAAI1gH,KACnBA,EAAMioC,OAAUjoC,EAAM2uC,QAG3BpuD,EAAIkwD,OACJlwD,EAAIstD,UAAY7tC,EAAMioC,MACtB1nD,EAAIqtD,YAAc5tC,EAAM2uC,MACxBpuD,EAAIogI,YAAY3gH,EAAM81G,YAAc,IACpCv1H,EAAIqgI,eAAiB5gH,EAAM+1G,iBAC3Bx1H,EAAIitD,YACJjtD,EAAI2sD,OAAOyE,EAAGzrB,EAAGyrB,EAAGvuB,GACpB7iC,EAAIsgI,OAAOH,EAAGx6F,EAAGw6F,EAAGt9F,GACpB7iC,EAAIwtD,SACJxtD,EAAIqwD,UAAS,EAEf,GAAI+7D,EAAK1+F,QACP,IAAKjhC,EAAI,EAAGg7D,EAAOD,EAAM76D,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAC9C,MAAMqiB,EAAO04C,EAAM/6D,GACf2/H,EAAK+I,iBACP+K,EACE,CAACv6F,EAAG72B,EAAKk7C,GAAInnB,EAAG/zB,EAAKm7C,IACrB,CAACtkB,EAAG72B,EAAK4vH,GAAI77F,EAAG/zB,EAAK6vH,IACrB7vH,GAGAs9G,EAAKgJ,WACP8K,EACE,CAACv6F,EAAG72B,EAAKwvH,IAAKz7F,EAAG/zB,EAAKyvH,KACtB,CAAC54F,EAAG72B,EAAK0vH,IAAK37F,EAAG/zB,EAAK2vH,KACtB,CACErwE,MAAOt/C,EAAKwmH,UACZ5tE,MAAO54C,EAAKumH,UACZE,WAAYzmH,EAAKkwH,eACjBxJ,iBAAkB1mH,EAAKmwH,sBAI/B,CAEJ,CACA/J,aACE,MAAM,MAAClpE,EAAK,IAAEhsD,EAAKX,SAAS,KAAC+sH,IAAS1gI,KAChCsyI,EAAa5R,EAAK0M,WAAWptI,KAAK63H,cAClC0a,EAAY7R,EAAK8I,WAAa8I,EAAWzyE,YAAc,EAC7D,IAAK0yE,EACH,OAEF,MAAMsC,EAAgBnU,EAAK0M,WAAWptI,KAAK63H,WAAW,IAAIj2D,UACpD8wE,EAAc1yI,KAAKktI,aACzB,IAAI5uE,EAAI00E,EAAIz0E,EAAI00E,EACZjzI,KAAK+9H,gBACPz/D,GAAK,OAAYgC,EAAOtgE,KAAKysC,KAAM8lG,GAAaA,EAAY,EAC5DS,GAAK,OAAY1yE,EAAOtgE,KAAK2sC,MAAOkoG,GAAiBA,EAAgB,EACrEt2E,EAAK00E,EAAKP,IAEVn0E,GAAK,OAAY+B,EAAOtgE,KAAKi+D,IAAKs0E,GAAaA,EAAY,EAC3DU,GAAK,OAAY3yE,EAAOtgE,KAAKk+D,OAAQ22E,GAAiBA,EAAgB,EACtEv2E,EAAK00E,EAAKN,GAEZp+H,EAAIkwD,OACJlwD,EAAIstD,UAAY0wE,EAAWzyE,YAC3BvrD,EAAIqtD,YAAc2wE,EAAWhxE,YAC7BhtD,EAAIitD,YACJjtD,EAAI2sD,OAAO3C,EAAIC,GACfjqD,EAAIsgI,OAAO5B,EAAIC,GACf3+H,EAAIwtD,SACJxtD,EAAIqwD,SACN,CACAmwE,WAAWnxE,GACT,MAAMsuE,EAAcjyI,KAAK2T,QAAQ6oH,MACjC,IAAKyV,EAAYjwG,QACf,OAEF,MAAM1tB,EAAMtU,KAAKsU,IACX+pD,EAAOr+D,KAAKo0I,oBACd/1E,IACF,OAAS/pD,EAAK+pD,GAEhB,MAAMvC,EAAQ97D,KAAKysI,cAAgBzsI,KAAKysI,YAAczsI,KAAKwzI,mBAAmB7vE,IAC9E,IAAI5iE,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOD,EAAM76D,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAC9C,MAAMqiB,EAAO04C,EAAM/6D,GACbswI,EAAWjuH,EAAKy4C,KAChBrb,EAAQp9B,EAAKo9B,MACfp9B,EAAK4wH,WACP1/H,EAAImtD,UAAYr+C,EAAK4wH,SAAStxE,MAC9BpuD,EAAIggI,SAASlxH,EAAK4wH,SAASvnG,KAAMrpB,EAAK4wH,SAAS/1E,IAAK76C,EAAK4wH,SAASh4E,MAAO54C,EAAK4wH,SAAS93E,SAEzF,IAAI/kB,EAAI/zB,EAAKwwH,YACb,OAAWt/H,EAAKksC,EAAO,EAAGrJ,EAAGk6F,EAAUjuH,EACzC,CACIi7C,IACF,OAAW/pD,EAEf,CACAygI,YACE,MAAM,IAACzgI,EAAKX,SAAS,SAAC0iF,EAAQ,MAAEmsB,EAAK,QAAE/qE,IAAYz3C,KACnD,IAAKwiH,EAAMxgF,QACT,OAEF,MAAM65B,GAAO,OAAO2mD,EAAM3mD,MACpBiE,GAAU,OAAU0iD,EAAM1iD,SAC1BxC,EAAQklD,EAAMllD,MACpB,IAAIuG,EAAShI,EAAKM,WAAa,EACd,WAAbk6B,GAAsC,WAAbA,IAAyB,IAAAt1F,GAASs1F,IAC7DxyB,GAAU/D,EAAQ5B,QACd,OAAQskD,EAAMnlF,QAChBwmC,GAAUhI,EAAKM,YAAcqmD,EAAMnlF,KAAKp8B,OAAS,KAGnD4iE,GAAU/D,EAAQ7B,IAEpB,MAAM,OAAC4tE,EAAM,OAAEC,EAAM,SAAElJ,EAAQ,SAAE5+D,GAAY4nE,GAAU5rI,KAAM6jE,EAAQwyB,EAAU/4B,IAC/E,OAAWhpD,EAAKkuG,EAAMnlF,KAAM,EAAG,EAAGw+B,EAAM,CACtC6G,MAAO8/C,EAAM9/C,MACbkgE,WACA5+D,WACAvB,UAAWkpE,GAAWruE,EAAO+4B,EAAU5+C,GACvCsrB,aAAc,SACdoxE,YAAa,CAACtI,EAAQC,IAE1B,CACAxnE,KAAKX,GACE3jE,KAAK2vI,eAGV3vI,KAAKq0I,iBACLr0I,KAAKu0I,SAAS5wE,GACd3jE,KAAKwpI,aACLxpI,KAAK+0I,YACL/0I,KAAK80I,WAAWnxE,GAClB,CACAqxE,UACE,MAAMn6E,EAAO76D,KAAK2T,QACZshI,EAAKp6E,EAAK2hE,OAAS3hE,EAAK2hE,MAAMtiF,GAAK,EACnCg7F,GAAK,IAAAxtI,GAAemzD,EAAK6lE,MAAQ7lE,EAAK6lE,KAAKxmF,GAAI,GACrD,OAAKl6C,KAAK2vI,cAAgB3vI,KAAKskE,OAAS0nE,GAAMhsG,UAAUskC,KAQjD,CAAC,CACNpqB,EAAGg7F,EACH5wE,KAAOX,IACL3jE,KAAKq0I,iBACLr0I,KAAKu0I,SAAS5wE,GACd3jE,KAAK+0I,WAAW,GAEjB,CACD76F,EAAGg7F,EAAK,EACR5wE,KAAM,KACJtkE,KAAKwpI,YAAY,GAElB,CACDtvF,EAAG+6F,EACH3wE,KAAOX,IACL3jE,KAAK80I,WAAWnxE,EAAU,IAtBrB,CAAC,CACNzpB,EAAG+6F,EACH3wE,KAAOX,IACL3jE,KAAKskE,KAAKX,EAAU,GAsB5B,CACA+vD,wBAAwBhwH,GACtB,MAAM6pI,EAAQvtI,KAAKsgE,MAAM60E,+BACnBC,EAASp1I,KAAKqlE,KAAO,SACrBn+D,EAAS,GACf,IAAInG,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOwxE,EAAMtsI,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAC9C,MAAMwrC,EAAOghG,EAAMxsI,GACfwrC,EAAK6oG,KAAYp1I,KAAKkQ,IAAQxM,GAAQ6oC,EAAK7oC,OAASA,GACtDwD,EAAO3G,KAAKgsC,EAEhB,CACA,OAAOrlC,CACT,CACAwqI,wBAAwBrxI,GACtB,MAAMw6D,EAAO76D,KAAK2T,QAAQ6oH,MAAM4Q,WAAWptI,KAAK63H,WAAWx3H,IAC3D,OAAO,OAAOw6D,EAAKgB,KACrB,CACAw5E,aACE,MAAMC,EAAWt1I,KAAK0xI,wBAAwB,GAAGv1E,WACjD,OAAQn8D,KAAK+9H,eAAiB/9H,KAAKg8D,MAAQh8D,KAAKk8D,QAAUo5E,CAC5D,EAGF,MAAMC,GACJz1I,YAAY4D,EAAMnC,EAAO8mE,GACvBroE,KAAK0D,KAAOA,EACZ1D,KAAKuB,MAAQA,EACbvB,KAAKqoE,SAAWA,EAChBroE,KAAK87D,MAAQ72D,OAAOqT,OAAO,KAC7B,CACAk9H,UAAU9xI,GACR,OAAOuB,OAAO+6B,UAAUuxC,cAAcrpE,KAAKlI,KAAK0D,KAAKs8B,UAAWt8B,EAAKs8B,UACvE,CACA7X,SAAS/E,GACP,MAAM/a,EAAQpD,OAAO0C,eAAeyb,GACpC,IAAIqyH,EACAC,GAAkBrtI,KACpBotI,EAAcz1I,KAAKmoB,SAAS9f,IAE9B,MAAMyzD,EAAQ97D,KAAK87D,MACb5rD,EAAKkT,EAAKlT,GACV3O,EAAQvB,KAAKuB,MAAQ,IAAM2O,EACjC,IAAKA,EACH,MAAM,IAAIutC,MAAM,2BAA6Br6B,GAE/C,OAAIlT,KAAM4rD,IAGVA,EAAM5rD,GAAMkT,EACZuyH,GAAiBvyH,EAAM7hB,EAAOk0I,GAC1Bz1I,KAAKqoE,UACP,EAAAn/B,EAAA,SAAkB9lB,EAAKlT,GAAIkT,EAAK0qF,YALzBvsG,CAQX,CACAsC,IAAIqM,GACF,OAAOlQ,KAAK87D,MAAM5rD,EACpB,CACA0+E,WAAWxrE,GACT,MAAM04C,EAAQ97D,KAAK87D,MACb5rD,EAAKkT,EAAKlT,GACV3O,EAAQvB,KAAKuB,MACf2O,KAAM4rD,UACDA,EAAM5rD,GAEX3O,GAAS2O,KAAM,EAAAg5B,EAAS3nC,YACnB,EAAA2nC,EAAS3nC,GAAO2O,GACnBlQ,KAAKqoE,iBACA,IAAUn4D,GAGvB,EAEF,SAASylI,GAAiBvyH,EAAM7hB,EAAOk0I,GACrC,MAAMG,GAAe,OAAM3wI,OAAOqT,OAAO,MAAO,CAC9Cm9H,EAAc,EAAAvsG,EAAA,IAAausG,GAAe,CAAC,EAC3C,EAAAvsG,EAAA,IAAa3nC,GACb6hB,EAAKovC,WAEP,EAAAtpB,EAAA,IAAa3nC,EAAOq0I,GAChBxyH,EAAK6jH,eACP4O,GAAct0I,EAAO6hB,EAAK6jH,eAExB7jH,EAAK4gH,aACP,EAAA96F,EAAA,SAAkB3nC,EAAO6hB,EAAK4gH,YAElC,CACA,SAAS6R,GAAct0I,EAAOu0I,GAC5B7wI,OAAOkR,KAAK2/H,GAAQpxI,SAAQwyE,IAC1B,MAAM6+D,EAAgB7+D,EAAS98D,MAAM,KAC/B47H,EAAaD,EAAc50I,MAC3B80I,EAAc,CAAC10I,GAAOiV,OAAOu/H,GAAet0G,KAAK,KACjD82B,EAAQu9E,EAAO5+D,GAAU98D,MAAM,KAC/B87H,EAAa39E,EAAMp3D,MACnBg1I,EAAc59E,EAAM92B,KAAK,KAC/B,EAAAyH,EAAA,MAAe+sG,EAAaD,EAAYG,EAAaD,EAAW,GAEpE,CACA,SAASR,GAAkBrtI,GACzB,MAAO,OAAQA,GAAS,aAAcA,CACxC,CAEA,MAAM+tI,GACJt2I,cACEE,KAAKq2I,YAAc,IAAId,GAAcvgB,EAAmB,YAAY,GACpEh1H,KAAK0pE,SAAW,IAAI6rE,GAAc7nG,GAAS,YAC3C1tC,KAAKslH,QAAU,IAAIiwB,GAActwI,OAAQ,WACzCjF,KAAKq0H,OAAS,IAAIkhB,GAAcvJ,GAAO,UACvChsI,KAAKs2I,iBAAmB,CAACt2I,KAAKq2I,YAAar2I,KAAKq0H,OAAQr0H,KAAK0pE,SAC/D,CACAtlE,OAAOuB,GACL3F,KAAKu2I,MAAM,WAAY5wI,EACzB,CACAmZ,UAAUnZ,GACR3F,KAAKu2I,MAAM,aAAc5wI,EAC3B,CACA6wI,kBAAkB7wI,GAChB3F,KAAKu2I,MAAM,WAAY5wI,EAAM3F,KAAKq2I,YACpC,CACAvgB,eAAenwH,GACb3F,KAAKu2I,MAAM,WAAY5wI,EAAM3F,KAAK0pE,SACpC,CACA+sE,cAAc9wI,GACZ3F,KAAKu2I,MAAM,WAAY5wI,EAAM3F,KAAKslH,QACpC,CACAoxB,aAAa/wI,GACX3F,KAAKu2I,MAAM,WAAY5wI,EAAM3F,KAAKq0H,OACpC,CACAsiB,cAAczmI,GACZ,OAAOlQ,KAAK42I,KAAK1mI,EAAIlQ,KAAKq2I,YAAa,aACzC,CACAQ,WAAW3mI,GACT,OAAOlQ,KAAK42I,KAAK1mI,EAAIlQ,KAAK0pE,SAAU,UACtC,CACAotE,UAAU5mI,GACR,OAAOlQ,KAAK42I,KAAK1mI,EAAIlQ,KAAKslH,QAAS,SACrC,CACAyxB,SAAS7mI,GACP,OAAOlQ,KAAK42I,KAAK1mI,EAAIlQ,KAAKq0H,OAAQ,QACpC,CACA2iB,qBAAqBrxI,GACnB3F,KAAKu2I,MAAM,aAAc5wI,EAAM3F,KAAKq2I,YACtC,CACAY,kBAAkBtxI,GAChB3F,KAAKu2I,MAAM,aAAc5wI,EAAM3F,KAAK0pE,SACtC,CACAwtE,iBAAiBvxI,GACf3F,KAAKu2I,MAAM,aAAc5wI,EAAM3F,KAAKslH,QACtC,CACA6xB,gBAAgBxxI,GACd3F,KAAKu2I,MAAM,aAAc5wI,EAAM3F,KAAKq0H,OACtC,CACAkiB,MAAMxtI,EAAQpD,EAAMyxI,GAClB,IAAIzxI,GAAMjB,SAAQqd,IAChB,MAAMs1H,EAAMD,GAAiBp3I,KAAKs3I,oBAAoBv1H,GAClDq1H,GAAiBC,EAAI7B,UAAUzzH,IAASs1H,IAAQr3I,KAAKslH,SAAWvjG,EAAI7R,GACtElQ,KAAKu3I,MAAMxuI,EAAQsuI,EAAKt1H,IAExB,OAAKA,GAAKqB,IACR,MAAMo0H,EAAUJ,GAAiBp3I,KAAKs3I,oBAAoBl0H,GAC1DpjB,KAAKu3I,MAAMxuI,EAAQyuI,EAASp0H,EAAK,GAErC,GAEJ,CACAm0H,MAAMxuI,EAAQia,EAAU/L,GACtB,MAAMwgI,GAAc,OAAY1uI,IAChC,OAASkO,EAAU,SAAWwgI,GAAc,GAAIxgI,GAChD+L,EAASja,GAAQkO,IACjB,OAASA,EAAU,QAAUwgI,GAAc,GAAIxgI,EACjD,CACAqgI,oBAAoB5zI,GAClB,IAAK,IAAI3C,EAAI,EAAGA,EAAIf,KAAKs2I,iBAAiBr1I,OAAQF,IAAK,CACrD,MAAMs2I,EAAMr3I,KAAKs2I,iBAAiBv1I,GAClC,GAAIs2I,EAAI7B,UAAU9xI,GAChB,OAAO2zI,CAEX,CACA,OAAOr3I,KAAKslH,OACd,CACAsxB,KAAK1mI,EAAIknI,EAAe1zI,GACtB,MAAM0f,EAAOg0H,EAAcvzI,IAAIqM,GAC/B,QAAanN,IAATqgB,EACF,MAAM,IAAIq6B,MAAM,IAAMvtC,EAAK,yBAA2BxM,EAAO,KAE/D,OAAO0f,CACT,EAEF,IAAIJ,GAAW,IAAIozH,GAEnB,MAAMsB,WAA0B1iB,EAC9Bx3G,OAAOvC,GACL,MAAMsxB,EAAOvsC,KAAK4zH,aACXr+G,KAAM6vD,EAAS,IAAM74B,EACtBq4F,EAAqB5kI,KAAKsgE,MAAMg6D,oBACtC,IAAI,MAACnqH,EAAK,MAAEyxC,IAAS,OAAiCrV,EAAM64B,EAAQw/D,GAOpE,GANA5kI,KAAKu1H,WAAaplH,EAClBnQ,KAAKw1H,WAAa5zE,GACd,OAAoBrV,KACtBp8B,EAAQ,EACRyxC,EAAQwjB,EAAOnkE,QAEbjB,KAAK2T,QAAQoxH,SAAU,CACzB,MAAO7gE,QAAS7J,EAAI,SAAEsqE,GAAYp4F,EAClC8tB,EAAK22D,OAAShxH,KAAKsgE,MACnBjG,EAAKwqE,cAAgB7kI,KAAKK,MAC1Bg6D,EAAKyqE,aAAeH,EAASG,WAC7BzqE,EAAK+K,OAASA,EACd,MAAMzxD,EAAU3T,KAAKu5H,6BAA6Bt+G,GAClDtH,EAAQyqD,QAAUp+D,KAAK2T,QAAQyqD,QAC/Bp+D,KAAK26H,cAActgE,OAAMt3D,EAAW,CAClCiiI,UAAWJ,EACXjxH,WACCsH,EACL,CACAjb,KAAKq7H,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,EAC5C,CACA66G,cACE,MAAM,SAACiP,GAAY/kI,KAAK2T,SACnB3T,KAAKm3H,oBAAsB4N,IAC9B/kI,KAAKm3H,mBAAqBn0G,GAAS6zH,WAAW,SAEhD7X,MAAMlJ,aACR,CACAuF,eAAej2D,EAAQj1D,EAAOyxC,EAAO3mC,GACnC,MAAM2oB,EAAiB,UAAT3oB,GACR,OAAC64G,EAAM,OAAErzD,EAAM,SAAEs0D,EAAQ,SAAE4P,GAAY3kI,KAAK4zH,YAC5C4G,EAAYx6H,KAAKw5H,0BAA0BrpH,EAAO8K,GAClDo/G,EAAgBr6H,KAAKm6H,iBAAiBK,GACtCJ,EAAiBp6H,KAAKo6H,eAAen/G,EAAMo/G,GAC3CtG,EAAQD,EAAOzuD,KACf2uD,EAAQvzD,EAAO4E,MACf,SAAC4/D,EAAQ,QAAE7mE,GAAWp+D,KAAK2T,QAC3BuxH,GAAe,OAASD,GAAYA,EAAWh+H,OAAOs7C,kBACtD4iF,EAAenlI,KAAKsgE,MAAMg6D,qBAAuB12F,GAAkB,SAAT3oB,EAChE,IAAImqH,EAAaj1H,EAAQ,GAAKnQ,KAAKw4H,UAAUroH,EAAQ,GACrD,IAAK,IAAIpP,EAAIoP,EAAOpP,EAAIoP,EAAQyxC,IAAS7gD,EAAG,CAC1C,MAAM47D,EAAQyI,EAAOrkE,GACfm5D,EAASl6D,KAAKw4H,UAAUz3H,GACxB0vH,EAAa0U,EAAexoE,EAAQ,CAAC,EACrC0oE,GAAW,OAAcnrE,EAAO85D,IAChC8M,EAASrQ,EAAWsD,GAASD,EAAOyI,iBAAiBriE,EAAO65D,GAAQhzH,GACpEggI,EAAStQ,EAAWuD,GAASpwF,GAASyhG,EAAW5kE,EAAOI,eAAiBJ,EAAO87D,iBAAiBxH,EAAW/0H,KAAKoyH,WAAW3xD,EAAQvG,EAAQ66D,GAAY76D,EAAO85D,GAAQjzH,GAC7K0vH,EAAW7mD,KAAOx3B,MAAM0uF,IAAW1uF,MAAM2uF,IAAWsE,EACpD5U,EAAW5vH,KAAOE,EAAI,GAAM21B,KAAK2e,IAAI6kB,EAAO65D,GAASqR,EAAWrR,IAAWmR,EACvE9mE,IACFqyD,EAAWv2D,OAASA,EACpBu2D,EAAWxlH,IAAM05H,EAASpvH,KAAKxU,IAE7Bq5H,IACF3J,EAAW98G,QAAU0mH,GAAiBr6H,KAAKw5H,0BAA0Bz4H,EAAG47D,EAAM18D,OAAS,SAAWgb,IAE/FkqH,GACHnlI,KAAK26H,cAAch+D,EAAO57D,EAAG0vH,EAAYx1G,GAE3CmqH,EAAalrE,CACf,CACAl6D,KAAK06H,oBAAoBL,EAAep/G,EAAMu/G,EAChD,CACAvB,iBACE,MAAM1sF,EAAOvsC,KAAK4zH,YACZr+G,EAAOg3B,EAAKh3B,MAAQ,GAC1B,IAAKvV,KAAK2T,QAAQoxH,SAAU,CAC1B,IAAIh8F,EAAM,EACV,IAAK,IAAIhoC,EAAIwU,EAAKtU,OAAS,EAAGF,GAAK,IAAKA,EACtCgoC,EAAMrS,KAAKqS,IAAIA,EAAKxzB,EAAKxU,GAAGqH,KAAKpI,KAAKw5H,0BAA0Bz4H,IAAM,GAExE,OAAOgoC,EAAM,GAAKA,CACpB,CACA,MAAMm7B,EAAU33B,EAAK23B,QACfohE,EAASphE,EAAQvwD,SAAWuwD,EAAQvwD,QAAQksD,aAAe,EACjE,IAAKtqD,EAAKtU,OACR,OAAOqkI,EAET,MAAMC,EAAahwH,EAAK,GAAGnN,KAAKpI,KAAKw5H,0BAA0B,IACzDgM,EAAYjwH,EAAKA,EAAKtU,OAAS,GAAGmH,KAAKpI,KAAKw5H,0BAA0BjkH,EAAKtU,OAAS,IAC1F,OAAOy1B,KAAKqS,IAAIu8F,EAAQC,EAAYC,GAAa,CACnD,EAEFkS,GAAkBxnI,GAAK,UACvBwnI,GAAkBllF,SAAW,CAC3B2kE,oBAAoB,EACpBuC,gBAAiB,QACjBqL,UAAU,EACVrjE,MAAM,GAERg2E,GAAkB5pC,UAAY,CAC5B6pC,YAAa,CACX18H,KAAM,SAERqqG,QAAS,CACPtC,QAAS,CACPyK,UAAW,CACTjL,QACE,MAAO,EACT,EACAhiE,MAAMp9B,GACJ,MAAO,IAAMA,EAAKo9B,MAAQ,KAAOp9B,EAAKqhH,eAAiB,GACzD,KAINpQ,OAAQ,CACNp6E,EAAG,CACDv2C,KAAM,UAERyzC,EAAG,CACDzzC,KAAM,YAiBZ,SAASsgH,KACP,MAAM,IAAIvmE,MAAM,kFAClB,CACA,MAAMm6F,GACJ93I,YAAY6T,GACV3T,KAAK2T,QAAUA,GAAW,CAAC,CAC7B,CACAkjE,KAAKghE,GAAe,CACpB3xD,UACE,OAAO89B,IACT,CACAvsD,MAAM/wD,EAAOk5E,GACX,OAAOokC,IACT,CACApkC,OAAOhE,EAAWgE,GAChB,OAAOokC,IACT,CACA5/G,IAAIw3E,EAAWgF,EAAQ3H,GACrB,OAAO+qC,IACT,CACApyG,KAAKJ,EAAGC,EAAGwnE,GACT,OAAO+qC,IACT,CACA8zB,QAAQl8D,EAAW3C,EAAM8+D,GACvB,OAAO/zB,IACT,CACAg0B,MAAMp8D,EAAW3C,GACf,OAAO+qC,IACT,EAEF4zB,GAAYvvE,SAAW,SAAS/nB,GAC9Br7C,OAAOqoB,OAAOsqH,GAAY53G,UAAWsgB,EACvC,EACA,IAAI23F,GAAW,CACbruD,MAAOguD,IAGT,SAASM,GAAaC,EAAS9yE,EAAM3+D,EAAO0xI,GAC1C,MAAM,WAAC1pD,EAAU,KAAEn5E,EAAI,QAAEwiH,GAAWogB,EAC9BrkB,EAASplC,EAAWklC,YAAYE,OACtC,GAAIA,GAAUzuD,IAASyuD,EAAOzuD,MAAiB,MAATA,GAAgB0yD,GAAWxiH,EAAKtU,OAAQ,CAC5E,MAAMo3I,EAAevkB,EAAO8Y,eAAiB,IAAgB,IAC7D,IAAKwL,EACH,OAAOC,EAAa9iI,EAAM8vD,EAAM3+D,GAC3B,GAAIgoF,EAAW4mC,eAAgB,CACpC,MAAM39G,EAAKpC,EAAK,GACVopD,EAA+B,oBAAhBhnD,EAAG2gI,UAA2B3gI,EAAG2gI,SAASjzE,GAC/D,GAAI1G,EAAO,CACT,MAAMxuD,EAAQkoI,EAAa9iI,EAAM8vD,EAAM3+D,EAAQi4D,GACzCvuD,EAAMioI,EAAa9iI,EAAM8vD,EAAM3+D,EAAQi4D,GAC7C,MAAO,CAAC45E,GAAIpoI,EAAMooI,GAAIC,GAAIpoI,EAAIooI,GAChC,CACF,CACF,CACA,MAAO,CAACD,GAAI,EAAGC,GAAIjjI,EAAKtU,OAAS,EACnC,CACA,SAASw3I,GAAyBn4E,EAAO+E,EAAMgxB,EAAU3jF,EAAS0lI,GAChE,MAAMlmB,EAAW5xD,EAAM60E,+BACjBzuI,EAAQ2vF,EAAShxB,GACvB,IAAK,IAAItkE,EAAI,EAAGg7D,EAAOm2D,EAASjxH,OAAQF,EAAIg7D,IAAQh7D,EAAG,CACrD,MAAM,MAACV,EAAK,KAAEkV,GAAQ28G,EAASnxH,IACzB,GAACw3I,EAAE,GAAEC,GAAMN,GAAahmB,EAASnxH,GAAIskE,EAAM3+D,EAAO0xI,GACxD,IAAK,IAAI/gH,EAAIkhH,EAAIlhH,GAAKmhH,IAAMnhH,EAAG,CAC7B,MAAMgzC,EAAU90D,EAAK8hB,GAChBgzC,EAAQT,MACXl3D,EAAQ23D,EAAShqE,EAAOg3B,EAE5B,CACF,CACF,CACA,SAASqhH,GAAyBrzE,GAChC,MAAMszE,GAA8B,IAAvBtzE,EAAKt0D,QAAQ,KACpB6nI,GAA8B,IAAvBvzE,EAAKt0D,QAAQ,KAC1B,OAAO,SAAS8nI,EAAKC,GACnB,MAAMC,EAASJ,EAAOjiH,KAAK2e,IAAIwjG,EAAI5+F,EAAI6+F,EAAI7+F,GAAK,EAC1C++F,EAASJ,EAAOliH,KAAK2e,IAAIwjG,EAAI1hG,EAAI2hG,EAAI3hG,GAAK,EAChD,OAAOzgB,KAAKwmC,KAAKxmC,KAAK2lD,IAAI08D,EAAQ,GAAKriH,KAAK2lD,IAAI28D,EAAQ,GAC1D,CACF,CACA,SAASC,GAAkB34E,EAAO+1B,EAAUhxB,EAAMyhE,EAAkBoS,GAClE,MAAMp9E,EAAQ,GACd,IAAKo9E,IAAqB54E,EAAM64E,cAAc9iD,GAC5C,OAAOv6B,EAET,MAAMs9E,EAAiB,SAAS/uE,EAAS7J,EAAcngE,IAChD64I,IAAqB,OAAe7uE,EAAS/J,EAAMqD,UAAW,KAG/D0G,EAAQgvE,QAAQhjD,EAASp8C,EAAGo8C,EAASl/C,EAAG2vF,IAC1ChrE,EAAMv7D,KAAK,CAAC8pE,UAAS7J,eAAcngE,SAEvC,EAEA,OADAo4I,GAAyBn4E,EAAO+E,EAAMgxB,EAAU+iD,GAAgB,GACzDt9E,CACT,CACA,SAASw9E,GAAsBh5E,EAAO+1B,EAAUhxB,EAAMyhE,GACpD,IAAIhrE,EAAQ,GACZ,SAASs9E,EAAe/uE,EAAS7J,EAAcngE,GAC7C,MAAM,WAAC2+D,EAAU,SAAEC,GAAYoL,EAAQ5D,SAAS,CAAC,aAAc,YAAaqgE,IACtE,MAAC/nE,IAAS,QAAkBsL,EAAS,CAACpwB,EAAGo8C,EAASp8C,EAAG9C,EAAGk/C,EAASl/C,KACnE,OAAc4nB,EAAOC,EAAYC,IACnCnD,EAAMv7D,KAAK,CAAC8pE,UAAS7J,eAAcngE,SAEvC,CAEA,OADAo4I,GAAyBn4E,EAAO+E,EAAMgxB,EAAU+iD,GACzCt9E,CACT,CACA,SAASy9E,GAAyBj5E,EAAO+1B,EAAUhxB,EAAM+yE,EAAWtR,EAAkBoS,GACpF,IAAIp9E,EAAQ,GACZ,MAAM09E,EAAiBd,GAAyBrzE,GAChD,IAAIhvB,EAAcpvC,OAAOs7C,kBACzB,SAAS62F,EAAe/uE,EAAS7J,EAAcngE,GAC7C,MAAMg5I,EAAUhvE,EAAQgvE,QAAQhjD,EAASp8C,EAAGo8C,EAASl/C,EAAG2vF,GACxD,GAAIsR,IAAciB,EAChB,OAEF,MAAM90E,EAAS8F,EAAQovE,eAAe3S,GAChC4S,IAAgBR,GAAoB54E,EAAM64E,cAAc50E,GAC9D,IAAKm1E,IAAgBL,EACnB,OAEF,MAAM/iG,EAAWkjG,EAAenjD,EAAU9xB,GACtCjuB,EAAWD,GACbylB,EAAQ,CAAC,CAACuO,UAAS7J,eAAcngE,UACjCg2C,EAAcC,GACLA,IAAaD,GACtBylB,EAAMv7D,KAAK,CAAC8pE,UAAS7J,eAAcngE,SAEvC,CAEA,OADAo4I,GAAyBn4E,EAAO+E,EAAMgxB,EAAU+iD,GACzCt9E,CACT,CACA,SAAS69E,GAAgBr5E,EAAO+1B,EAAUhxB,EAAM+yE,EAAWtR,EAAkBoS,GAC3E,OAAKA,GAAqB54E,EAAM64E,cAAc9iD,GAG9B,MAAThxB,GAAiB+yE,EAEpBmB,GAAyBj5E,EAAO+1B,EAAUhxB,EAAM+yE,EAAWtR,EAAkBoS,GAD7EI,GAAsBh5E,EAAO+1B,EAAUhxB,EAAMyhE,GAHxC,EAKX,CACA,SAAS8S,GAAat5E,EAAO+1B,EAAUhxB,EAAM+yE,EAAWtR,GACtD,MAAMhrE,EAAQ,GACR+9E,EAAuB,MAATx0E,EAAe,WAAa,WAChD,IAAIy0E,GAAiB,EAOrB,OANArB,GAAyBn4E,EAAO+E,EAAMgxB,GAAU,CAAChsB,EAAS7J,EAAcngE,KAClEgqE,EAAQwvE,GAAaxjD,EAAShxB,GAAOyhE,KACvChrE,EAAMv7D,KAAK,CAAC8pE,UAAS7J,eAAcngE,UACnCy5I,EAAiBA,GAAkBzvE,EAAQgvE,QAAQhjD,EAASp8C,EAAGo8C,EAASl/C,EAAG2vF,GAC7E,IAEEsR,IAAc0B,EACT,GAEFh+E,CACT,CACA,IAAIi+E,GAAc,CAChBtB,4BACAuB,MAAO,CACL35I,MAAMigE,EAAOrhC,EAAGtrB,EAASmzH,GACvB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GAClC+E,EAAO1xD,EAAQ0xD,MAAQ,IACvB6zE,EAAmBvlI,EAAQulI,mBAAoB,EAC/Cp9E,EAAQnoD,EAAQykI,UAClBa,GAAkB34E,EAAO+1B,EAAUhxB,EAAMyhE,EAAkBoS,GAC3DS,GAAgBr5E,EAAO+1B,EAAUhxB,GAAM,EAAOyhE,EAAkBoS,GAC9DxvE,EAAW,GACjB,OAAK5N,EAAM76D,QAGXq/D,EAAM60E,+BAA+BzwI,SAAS6nC,IAC5C,MAAMlsC,EAAQy7D,EAAM,GAAGz7D,MACjBgqE,EAAU99B,EAAKh3B,KAAKlV,GACtBgqE,IAAYA,EAAQT,MACtBF,EAASnpE,KAAK,CAAC8pE,UAAS7J,aAAcj0B,EAAKlsC,MAAOA,SACpD,IAEKqpE,GATE,EAUX,EACAxF,QAAQ5D,EAAOrhC,EAAGtrB,EAASmzH,GACzB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GAClC+E,EAAO1xD,EAAQ0xD,MAAQ,KACvB6zE,EAAmBvlI,EAAQulI,mBAAoB,EACrD,IAAIp9E,EAAQnoD,EAAQykI,UAChBa,GAAkB34E,EAAO+1B,EAAUhxB,EAAMyhE,EAAkBoS,GAC7DS,GAAgBr5E,EAAO+1B,EAAUhxB,GAAM,EAAOyhE,EAAkBoS,GAClE,GAAIp9E,EAAM76D,OAAS,EAAG,CACpB,MAAMu/D,EAAe1E,EAAM,GAAG0E,aACxBjrD,EAAO+qD,EAAMC,eAAeC,GAAcjrD,KAChDumD,EAAQ,GACR,IAAK,IAAI/6D,EAAI,EAAGA,EAAIwU,EAAKtU,SAAUF,EACjC+6D,EAAMv7D,KAAK,CAAC8pE,QAAS90D,EAAKxU,GAAIy/D,eAAcngE,MAAOU,GAEvD,CACA,OAAO+6D,CACT,EACAa,MAAM2D,EAAOrhC,EAAGtrB,EAASmzH,GACvB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GAClC+E,EAAO1xD,EAAQ0xD,MAAQ,KACvB6zE,EAAmBvlI,EAAQulI,mBAAoB,EACrD,OAAOD,GAAkB34E,EAAO+1B,EAAUhxB,EAAMyhE,EAAkBoS,EACpE,EACAe,QAAQ35E,EAAOrhC,EAAGtrB,EAASmzH,GACzB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GAClC+E,EAAO1xD,EAAQ0xD,MAAQ,KACvB6zE,EAAmBvlI,EAAQulI,mBAAoB,EACrD,OAAOS,GAAgBr5E,EAAO+1B,EAAUhxB,EAAM1xD,EAAQykI,UAAWtR,EAAkBoS,EACrF,EACAj/F,EAAEqmB,EAAOrhC,EAAGtrB,EAASmzH,GACnB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GACxC,OAAOs5E,GAAat5E,EAAO+1B,EAAU,IAAK1iF,EAAQykI,UAAWtR,EAC/D,EACA3vF,EAAEmpB,EAAOrhC,EAAGtrB,EAASmzH,GACnB,MAAMzwC,GAAW,OAAoBp3D,EAAGqhC,GACxC,OAAOs5E,GAAat5E,EAAO+1B,EAAU,IAAK1iF,EAAQykI,UAAWtR,EAC/D,IAIJ,MAAMoT,GAAmB,CAAC,OAAQ,MAAO,QAAS,UAClD,SAASC,GAAiB9yD,EAAOgP,GAC/B,OAAOhP,EAAMliF,QAAOuC,GAAKA,EAAEg1F,MAAQrG,GACrC,CACA,SAAS+jD,GAA4B/yD,EAAOhiB,GAC1C,OAAOgiB,EAAMliF,QAAOuC,IAA0C,IAArCwyI,GAAiBnpI,QAAQrJ,EAAEg1F,MAAeh1F,EAAE2yI,IAAIh1E,OAASA,GACpF,CACA,SAASi1E,GAAajzD,EAAO5vC,GAC3B,OAAO4vC,EAAM91E,MAAK,CAACC,EAAGC,KACpB,MAAM8oI,EAAK9iG,EAAUhmC,EAAID,EACnBitH,EAAKhnF,EAAUjmC,EAAIC,EACzB,OAAO8oI,EAAGvyE,SAAWy2D,EAAGz2D,OACtBuyE,EAAGl6I,MAAQo+H,EAAGp+H,MACdk6I,EAAGvyE,OAASy2D,EAAGz2D,MAAM,GAE3B,CACA,SAASwyE,GAAUC,GACjB,MAAMC,EAAc,GACpB,IAAI35I,EAAGg7D,EAAMs+E,EAAK39C,EAAKnmC,EAAOokF,EAC9B,IAAK55I,EAAI,EAAGg7D,GAAQ0+E,GAAS,IAAIx5I,OAAQF,EAAIg7D,IAAQh7D,EACnDs5I,EAAMI,EAAM15I,KACVs1F,SAAUqG,EAAK/oF,SAAU4iD,QAAOokF,cAAc,IAAMN,GACtDK,EAAYn6I,KAAK,CACfF,MAAOU,EACPs5I,MACA39C,MACAh9B,WAAY26E,EAAItc,eAChB/1D,OAAQqyE,EAAIryE,OACZzR,MAAOA,GAAUmmC,EAAMnmC,EACvBokF,gBAGJ,OAAOD,CACT,CACA,SAASE,GAAYC,GACnB,MAAMznB,EAAS,CAAC,EAChB,IAAK,MAAMrrH,KAAQ8yI,EAAS,CAC1B,MAAM,MAACtkF,EAAK,IAAEmmC,EAAG,YAAEi+C,GAAe5yI,EAClC,IAAKwuD,IAAU2jF,GAAiBxpI,SAASgsF,GACvC,SAEF,MAAMo+C,EAAS1nB,EAAO78D,KAAW68D,EAAO78D,GAAS,CAAC3U,MAAO,EAAGm5F,OAAQ,EAAG/yE,OAAQ,EAAG5/D,KAAM,IACxF0yI,EAAOl5F,QACPk5F,EAAO9yE,QAAU2yE,CACnB,CACA,OAAOvnB,CACT,CACA,SAAS4nB,GAAcH,EAASlqF,GAC9B,MAAMyiE,EAASwnB,GAAYC,IACrB,aAACI,EAAY,cAAEC,GAAiBvqF,EACtC,IAAI5vD,EAAGg7D,EAAMqL,EACb,IAAKrmE,EAAI,EAAGg7D,EAAO8+E,EAAQ55I,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAChDqmE,EAASyzE,EAAQ95I,GACjB,MAAM,SAACkwI,GAAY7pE,EAAOizE,IACpB9jF,EAAQ68D,EAAOhsD,EAAO7Q,OACtBu4D,EAASv4D,GAAS6Q,EAAOuzE,YAAcpkF,EAAMyR,OAC/CZ,EAAO1H,YACT0H,EAAOpL,MAAQ8yD,EAASA,EAASmsB,EAAehK,GAAYtgF,EAAOwqF,eACnE/zE,EAAOlL,OAASg/E,IAEhB9zE,EAAOpL,MAAQi/E,EACf7zE,EAAOlL,OAAS4yD,EAASA,EAASosB,EAAgBjK,GAAYtgF,EAAOyqF,gBAEzE,CACA,OAAOhoB,CACT,CACA,SAASioB,GAAiBZ,GACxB,MAAMC,EAAcF,GAAUC,GACxBxJ,EAAWqJ,GAAaI,EAAYv1I,QAAO4C,GAAQA,EAAKsyI,IAAIpJ,YAAW,GACvExkG,EAAO6tG,GAAaH,GAAiBO,EAAa,SAAS,GAC3D/tG,EAAQ2tG,GAAaH,GAAiBO,EAAa,UACnDz8E,EAAMq8E,GAAaH,GAAiBO,EAAa,QAAQ,GACzDx8E,EAASo8E,GAAaH,GAAiBO,EAAa,WACpDY,EAAmBlB,GAA4BM,EAAa,KAC5Da,EAAiBnB,GAA4BM,EAAa,KAChE,MAAO,CACLzJ,WACAuK,WAAY/uG,EAAKj2B,OAAOynD,GACxBw9E,eAAgB9uG,EAAMn2B,OAAO+kI,GAAgB/kI,OAAO0nD,GAAQ1nD,OAAO8kI,GACnE33E,UAAWw2E,GAAiBO,EAAa,aACzCgB,SAAUjvG,EAAKj2B,OAAOm2B,GAAOn2B,OAAO+kI,GACpC77E,WAAYzB,EAAIznD,OAAO0nD,GAAQ1nD,OAAO8kI,GAE1C,CACA,SAASK,GAAeC,EAAYj4E,EAAWnyD,EAAGC,GAChD,OAAOilB,KAAKqS,IAAI6yG,EAAWpqI,GAAImyD,EAAUnyD,IAAMklB,KAAKqS,IAAI6yG,EAAWnqI,GAAIkyD,EAAUlyD,GACnF,CACA,SAASoqI,GAAiBD,EAAYE,GACpCF,EAAW39E,IAAMvnC,KAAKqS,IAAI6yG,EAAW39E,IAAK69E,EAAW79E,KACrD29E,EAAWnvG,KAAO/V,KAAKqS,IAAI6yG,EAAWnvG,KAAMqvG,EAAWrvG,MACvDmvG,EAAW19E,OAASxnC,KAAKqS,IAAI6yG,EAAW19E,OAAQ49E,EAAW59E,QAC3D09E,EAAWjvG,MAAQjW,KAAKqS,IAAI6yG,EAAWjvG,MAAOmvG,EAAWnvG,MAC3D,CACA,SAASovG,GAAWp4E,EAAWhT,EAAQyW,EAAQgsD,GAC7C,MAAM,IAAC12B,EAAG,IAAE29C,GAAOjzE,EACbw0E,EAAaj4E,EAAUi4E,WAC7B,KAAK,IAAA76I,GAAS27F,GAAM,CACdt1B,EAAOh/D,OACTu7D,EAAU+4B,IAAQt1B,EAAOh/D,MAE3B,MAAMmuD,EAAQ68D,EAAOhsD,EAAO7Q,QAAU,CAACnuD,KAAM,EAAGw5C,MAAO,GACvD2U,EAAMnuD,KAAOsuB,KAAKqS,IAAIwtB,EAAMnuD,KAAMg/D,EAAO1H,WAAa26E,EAAIn+E,OAASm+E,EAAIr+E,OACvEoL,EAAOh/D,KAAOmuD,EAAMnuD,KAAOmuD,EAAM3U,MACjC+hB,EAAU+4B,IAAQt1B,EAAOh/D,IAC3B,CACIiyI,EAAI7M,YACNqO,GAAiBD,EAAYvB,EAAI7M,cAEnC,MAAMwO,EAAWtlH,KAAKqS,IAAI,EAAG4nB,EAAOsrF,WAAaN,GAAeC,EAAYj4E,EAAW,OAAQ,UACzFu4E,EAAYxlH,KAAKqS,IAAI,EAAG4nB,EAAOwrF,YAAcR,GAAeC,EAAYj4E,EAAW,MAAO,WAC1Fy4E,EAAeJ,IAAar4E,EAAUhiE,EACtC06I,EAAgBH,IAAcv4E,EAAUn7C,EAG9C,OAFAm7C,EAAUhiE,EAAIq6I,EACdr4E,EAAUn7C,EAAI0zH,EACP90E,EAAO1H,WACV,CAAC48E,KAAMF,EAAcr1E,MAAOs1E,GAC5B,CAACC,KAAMD,EAAet1E,MAAOq1E,EACnC,CACA,SAASG,GAAiB54E,GACxB,MAAMi4E,EAAaj4E,EAAUi4E,WAC7B,SAASY,EAAU9/C,GACjB,MAAM3H,EAASr+D,KAAKqS,IAAI6yG,EAAWl/C,GAAO/4B,EAAU+4B,GAAM,GAE1D,OADA/4B,EAAU+4B,IAAQ3H,EACXA,CACT,CACApxB,EAAUxsB,GAAKqlG,EAAU,OACzB74E,EAAU1pB,GAAKuiG,EAAU,QACzBA,EAAU,SACVA,EAAU,SACZ,CACA,SAASC,GAAW/8E,EAAYiE,GAC9B,MAAMi4E,EAAaj4E,EAAUi4E,WAC7B,SAASc,EAAmBC,GAC1B,MAAM71E,EAAS,CAACr6B,KAAM,EAAGwxB,IAAK,EAAGtxB,MAAO,EAAGuxB,OAAQ,GAInD,OAHAy+E,EAAUj4I,SAASg4F,IACjB51B,EAAO41B,GAAOhmE,KAAKqS,IAAI46B,EAAU+4B,GAAMk/C,EAAWl/C,GAAK,IAElD51B,CACT,CACA,OACI41E,EADGh9E,EACgB,CAAC,OAAQ,SACT,CAAC,MAAO,UACjC,CACA,SAASk9E,GAASnC,EAAO92E,EAAWhT,EAAQyiE,GAC1C,MAAMypB,EAAa,GACnB,IAAI97I,EAAGg7D,EAAMqL,EAAQizE,EAAKyC,EAAOC,EACjC,IAAKh8I,EAAI,EAAGg7D,EAAO0+E,EAAMx5I,OAAQ67I,EAAQ,EAAG/7I,EAAIg7D,IAAQh7D,EAAG,CACzDqmE,EAASqzE,EAAM15I,GACfs5I,EAAMjzE,EAAOizE,IACbA,EAAI78H,OACF4pD,EAAOpL,OAAS2H,EAAUhiE,EAC1BylE,EAAOlL,QAAUyH,EAAUn7C,EAC3Bi0H,GAAWr1E,EAAO1H,WAAYiE,IAEhC,MAAM,KAAC24E,EAAI,MAAEv1E,GAASg1E,GAAWp4E,EAAWhT,EAAQyW,EAAQgsD,GAC5D0pB,GAASR,GAAQO,EAAW57I,OAC5B87I,EAAUA,GAAWh2E,EAChBszE,EAAIpJ,UACP4L,EAAWt8I,KAAK6mE,EAEpB,CACA,OAAO01E,GAASF,GAASC,EAAYl5E,EAAWhT,EAAQyiE,IAAW2pB,CACrE,CACA,SAASC,GAAW3C,EAAK5tG,EAAMwxB,EAAKjC,EAAOE,GACzCm+E,EAAIp8E,IAAMA,EACVo8E,EAAI5tG,KAAOA,EACX4tG,EAAI1tG,MAAQF,EAAOuvB,EACnBq+E,EAAIn8E,OAASD,EAAM/B,EACnBm+E,EAAIr+E,MAAQA,EACZq+E,EAAIn+E,OAASA,CACf,CACA,SAAS+gF,GAAWxC,EAAO92E,EAAWhT,EAAQyiE,GAC5C,MAAM8pB,EAAcvsF,EAAOmP,QAC3B,IAAI,EAAC7lB,EAAC,EAAE9C,GAAKwsB,EACb,IAAK,MAAMyD,KAAUqzE,EAAO,CAC1B,MAAMJ,EAAMjzE,EAAOizE,IACb9jF,EAAQ68D,EAAOhsD,EAAO7Q,QAAU,CAAC3U,MAAO,EAAGm5F,OAAQ,EAAG/yE,OAAQ,GAC9DA,EAAUZ,EAAOuzE,YAAcpkF,EAAMyR,QAAW,EACtD,GAAIZ,EAAO1H,WAAY,CACrB,MAAM1D,EAAQ2H,EAAUhiE,EAAIqmE,EACtB9L,EAAS3F,EAAMnuD,MAAQiyI,EAAIn+E,QAC7B,OAAQ3F,EAAMpmD,SAChBgnC,EAAIof,EAAMpmD,OAERkqI,EAAIpJ,SACN+L,GAAW3C,EAAK6C,EAAYzwG,KAAM0K,EAAGwZ,EAAOsrF,WAAaiB,EAAYvwG,MAAQuwG,EAAYzwG,KAAMyvB,GAE/F8gF,GAAW3C,EAAK12E,EAAUl3B,KAAO8pB,EAAMwkF,OAAQ5jG,EAAG6kB,EAAOE,GAE3D3F,EAAMpmD,MAAQgnC,EACdof,EAAMwkF,QAAU/+E,EAChB7kB,EAAIkjG,EAAIn8E,MACV,KAAO,CACL,MAAMhC,EAASyH,EAAUn7C,EAAIw/C,EACvBhM,EAAQzF,EAAMnuD,MAAQiyI,EAAIr+E,OAC5B,OAAQzF,EAAMpmD,SAChB8pC,EAAIsc,EAAMpmD,OAERkqI,EAAIpJ,SACN+L,GAAW3C,EAAKpgG,EAAGijG,EAAYj/E,IAAKjC,EAAOrL,EAAOwrF,YAAce,EAAYh/E,OAASg/E,EAAYj/E,KAEjG++E,GAAW3C,EAAKpgG,EAAG0pB,EAAU1F,IAAM1H,EAAMwkF,OAAQ/+E,EAAOE,GAE1D3F,EAAMpmD,MAAQ8pC,EACdsc,EAAMwkF,QAAU7+E,EAChBjiB,EAAIogG,EAAI1tG,KACV,CACF,CACAg3B,EAAU1pB,EAAIA,EACd0pB,EAAUxsB,EAAIA,CAChB,CACA,EAAAjO,EAAA,IAAa,SAAU,CACrBi0G,aAAa,EACbr9E,QAAS,CACP7B,IAAK,EACLtxB,MAAO,EACPuxB,OAAQ,EACRzxB,KAAM,KAGV,IAAIouG,GAAU,CACZuC,OAAO98E,EAAOl9C,GACPk9C,EAAMm6E,QACTn6E,EAAMm6E,MAAQ,IAEhBr3H,EAAK6tH,SAAW7tH,EAAK6tH,WAAY,EACjC7tH,EAAKizE,SAAWjzE,EAAKizE,UAAY,MACjCjzE,EAAK4kD,OAAS5kD,EAAK4kD,QAAU,EAC7B5kD,EAAK4xH,QAAU5xH,EAAK4xH,SAAW,WAC7B,MAAO,CAAC,CACN96F,EAAG,EACHoqB,KAAKX,GACHvgD,EAAKkhD,KAAKX,EACZ,GAEJ,EACArD,EAAMm6E,MAAMl6I,KAAK6iB,EACnB,EACAi6H,UAAU/8E,EAAOg9E,GACf,MAAMj9I,EAAQigE,EAAMm6E,MAAQn6E,EAAMm6E,MAAM1pI,QAAQusI,IAAe,GAChD,IAAXj9I,GACFigE,EAAMm6E,MAAM9pI,OAAOtQ,EAAO,EAE9B,EACA+nE,UAAU9H,EAAOl9C,EAAMzP,GACrByP,EAAK6tH,SAAWt9H,EAAQs9H,SACxB7tH,EAAKizE,SAAW1iF,EAAQ0iF,SACxBjzE,EAAK4kD,OAASr0D,EAAQq0D,MACxB,EACAxqD,OAAO8iD,EAAOtE,EAAOE,EAAQqhF,GAC3B,IAAKj9E,EACH,OAEF,MAAMR,GAAU,OAAUQ,EAAM3sD,QAAQyzD,OAAOtH,SACzCq7E,EAAiBzkH,KAAKqS,IAAIizB,EAAQ8D,EAAQ9D,MAAO,GACjDo/E,EAAkB1kH,KAAKqS,IAAImzB,EAAS4D,EAAQ5D,OAAQ,GACpDu+E,EAAQY,GAAiB/6E,EAAMm6E,OAC/B+C,EAAgB/C,EAAMiB,SACtB+B,EAAkBhD,EAAM/6E,YAC9B,OAAKY,EAAMm6E,OAAOJ,IACgB,oBAArBA,EAAIzM,cACbyM,EAAIzM,cACN,IAEF,MAAM8P,EAA0BF,EAAcrtG,QAAO,CAAC8yF,EAAOl7H,IAC3DA,EAAKsyI,IAAI1mI,UAAwC,IAA7B5L,EAAKsyI,IAAI1mI,QAAQquB,QAAoBihG,EAAQA,EAAQ,GAAG,IAAM,EAC9EtyE,EAAS1rD,OAAO+0H,OAAO,CAC3BiiB,WAAYjgF,EACZmgF,YAAajgF,EACb4D,UACAq7E,iBACAC,kBACAH,aAAcE,EAAiB,EAAIuC,EACnCxC,cAAeE,EAAkB,IAE7BQ,EAAa32I,OAAOqoB,OAAO,CAAC,EAAGwyC,GACrC+7E,GAAiBD,GAAY,OAAU2B,IACvC,MAAM55E,EAAY1+D,OAAOqoB,OAAO,CAC9BsuH,aACAj6I,EAAGw5I,EACH3yH,EAAG4yH,EACHnhG,EAAG6lB,EAAQrzB,KACX0K,EAAG2oB,EAAQ7B,KACV6B,GACGszD,EAAS4nB,GAAcwC,EAAchnI,OAAOinI,GAAkB9sF,GACpEisF,GAASnC,EAAMxJ,SAAUttE,EAAWhT,EAAQyiE,GAC5CwpB,GAASY,EAAe75E,EAAWhT,EAAQyiE,GACvCwpB,GAASa,EAAiB95E,EAAWhT,EAAQyiE,IAC/CwpB,GAASY,EAAe75E,EAAWhT,EAAQyiE,GAE7CmpB,GAAiB54E,GACjBs5E,GAAWxC,EAAMe,WAAY73E,EAAWhT,EAAQyiE,GAChDzvD,EAAU1pB,GAAK0pB,EAAUhiE,EACzBgiE,EAAUxsB,GAAKwsB,EAAUn7C,EACzBy0H,GAAWxC,EAAMgB,eAAgB93E,EAAWhT,EAAQyiE,GACpD9yD,EAAMqD,UAAY,CAChBl3B,KAAMk3B,EAAUl3B,KAChBwxB,IAAK0F,EAAU1F,IACftxB,MAAOg3B,EAAUl3B,KAAOk3B,EAAUhiE,EAClCu8D,OAAQyF,EAAU1F,IAAM0F,EAAUn7C,EAClC0zC,OAAQyH,EAAUn7C,EAClBwzC,MAAO2H,EAAUhiE,IAEnB,OAAK84I,EAAM92E,WAAYyD,IACrB,MAAMizE,EAAMjzE,EAAOizE,IACnBp1I,OAAOqoB,OAAO+sH,EAAK/5E,EAAMqD,WACzB02E,EAAI78H,OAAOmmD,EAAUhiE,EAAGgiE,EAAUn7C,EAAG,CAACikB,KAAM,EAAGwxB,IAAK,EAAGtxB,MAAO,EAAGuxB,OAAQ,GAAG,GAEhF,GAGF,MAAMy/E,GACJC,eAAeC,EAAQ5Z,GAAc,CACrC6Z,eAAevwH,GACb,OAAO,CACT,CACAuW,iBAAiBw8B,EAAO58D,EAAMmwD,GAAW,CACzC9vB,oBAAoBu8B,EAAO58D,EAAMmwD,GAAW,CAC5CkqF,sBACE,OAAO,CACT,CACAC,eAAe3zE,EAASrO,EAAOE,EAAQ+nE,GAGrC,OAFAjoE,EAAQtlC,KAAKqS,IAAI,EAAGizB,GAASqO,EAAQrO,OACrCE,EAASA,GAAUmO,EAAQnO,OACpB,CACLF,QACAE,OAAQxlC,KAAKqS,IAAI,EAAGk7F,EAAcvtG,KAAKw7C,MAAMlW,EAAQioE,GAAe/nE,GAExE,CACA+hF,WAAWJ,GACT,OAAO,CACT,CACAK,aAAarvI,GACb,EAGF,MAAMsvI,WAAsBR,GAC1BC,eAAex6H,GACb,OAAOA,GAAQA,EAAKy0G,YAAcz0G,EAAKy0G,WAAW,OAAS,IAC7D,CACAqmB,aAAarvI,GACXA,EAAO8E,QAAQ+8G,WAAY,CAC7B,EAGF,MAAMxoD,GAAc,WACdk2E,GAAc,CAClBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAERC,GAAgBp4I,GAAmB,OAAVA,GAA4B,KAAVA,EACjD,SAASq4I,GAAWlB,EAAQ5Z,GAC1B,MAAMlwG,EAAQ8pH,EAAO9pH,MACfirH,EAAenB,EAAOoB,aAAa,UACnCC,EAAcrB,EAAOoB,aAAa,SAcxC,GAbApB,EAAO31E,IAAe,CACpBylD,QAAS,CACPzxD,OAAQ8iF,EACRhjF,MAAOkjF,EACPnrH,MAAO,CACLiO,QAASjO,EAAMiO,QACfk6B,OAAQnoC,EAAMmoC,OACdF,MAAOjoC,EAAMioC,SAInBjoC,EAAMiO,QAAUjO,EAAMiO,SAAW,QACjCjO,EAAMorH,UAAYprH,EAAMorH,WAAa,aACjCL,GAAcI,GAAc,CAC9B,MAAME,GAAe,QAAavB,EAAQ,cACrB96I,IAAjBq8I,IACFvB,EAAO7hF,MAAQojF,EAEnB,CACA,GAAIN,GAAcE,GAChB,GAA4B,KAAxBnB,EAAO9pH,MAAMmoC,OACf2hF,EAAO3hF,OAAS2hF,EAAO7hF,OAASioE,GAAe,OAC1C,CACL,MAAMob,GAAgB,QAAaxB,EAAQ,eACrB96I,IAAlBs8I,IACFxB,EAAO3hF,OAASmjF,EAEpB,CAEF,OAAOxB,CACT,CACA,MAAMyB,KAAuB,MAA+B,CAACC,SAAS,GACtE,SAASC,GAAYvkH,EAAMv3B,EAAMmwD,GAC/B54B,EAAK6I,iBAAiBpgC,EAAMmwD,EAAUyrF,GACxC,CACA,SAASG,GAAen/E,EAAO58D,EAAMmwD,GACnCyM,EAAMu9E,OAAO95G,oBAAoBrgC,EAAMmwD,EAAUyrF,GACnD,CACA,SAASI,GAAgB5tI,EAAOwuD,GAC9B,MAAM58D,EAAO06I,GAAYtsI,EAAMpO,OAASoO,EAAMpO,MACxC,EAACu2C,EAAC,EAAE9C,IAAK,OAAoBrlC,EAAOwuD,GAC1C,MAAO,CACL58D,OACA48D,QACAq/E,OAAQ7tI,EACRmoC,OAASl3C,IAANk3C,EAAkBA,EAAI,KACzB9C,OAASp0C,IAANo0C,EAAkBA,EAAI,KAE7B,CACA,SAASyoG,GAAiBC,EAAUhC,GAClC,IAAK,MAAM5iH,KAAQ4kH,EACjB,GAAI5kH,IAAS4iH,GAAU5iH,EAAK4rC,SAASg3E,GACnC,OAAO,CAGb,CACA,SAASiC,GAAqBx/E,EAAO58D,EAAMmwD,GACzC,MAAMgqF,EAASv9E,EAAMu9E,OACfkC,EAAW,IAAIC,kBAAiB9vG,IACpC,IAAI7rC,GAAU,EACd,IAAK,MAAM60C,KAAShJ,EAClB7rC,EAAUA,GAAWu7I,GAAiB1mG,EAAM+mG,WAAYpC,GACxDx5I,EAAUA,IAAYu7I,GAAiB1mG,EAAMgnG,aAAcrC,GAEzDx5I,GACFwvD,GACF,IAGF,OADAksF,EAASI,QAAQhgH,SAAU,CAACigH,WAAW,EAAMC,SAAS,IAC/CN,CACT,CACA,SAASO,GAAqBhgF,EAAO58D,EAAMmwD,GACzC,MAAMgqF,EAASv9E,EAAMu9E,OACfkC,EAAW,IAAIC,kBAAiB9vG,IACpC,IAAI7rC,GAAU,EACd,IAAK,MAAM60C,KAAShJ,EAClB7rC,EAAUA,GAAWu7I,GAAiB1mG,EAAMgnG,aAAcrC,GAC1Dx5I,EAAUA,IAAYu7I,GAAiB1mG,EAAM+mG,WAAYpC,GAEvDx5I,GACFwvD,GACF,IAGF,OADAksF,EAASI,QAAQhgH,SAAU,CAACigH,WAAW,EAAMC,SAAS,IAC/CN,CACT,CACA,MAAMQ,GAAqB,IAAIx8I,IAC/B,IAAIy8I,GAAsB,EAC1B,SAASC,KACP,MAAMC,EAAMr9G,OAAOg4B,iBACfqlF,IAAQF,KAGZA,GAAsBE,EACtBH,GAAmB77I,SAAQ,CAACisH,EAAQrwD,KAC9BA,EAAMqgF,0BAA4BD,GACpC/vB,GACF,IAEJ,CACA,SAASiwB,GAA8BtgF,EAAOqwD,GACvC4vB,GAAmBn4I,MACtBi7B,OAAOS,iBAAiB,SAAU28G,IAEpCF,GAAmBz8I,IAAIw8D,EAAOqwD,EAChC,CACA,SAASkwB,GAAgCvgF,GACvCigF,GAAmBn+I,OAAOk+D,GACrBigF,GAAmBn4I,MACtBi7B,OAAOU,oBAAoB,SAAU08G,GAEzC,CACA,SAASK,GAAqBxgF,EAAO58D,EAAMmwD,GACzC,MAAMgqF,EAASv9E,EAAMu9E,OACfpsH,EAAYosH,IAAU,QAAeA,GAC3C,IAAKpsH,EACH,OAEF,MAAMk/F,GAAS,SAAU,CAAC30D,EAAOE,KAC/B,MAAMv6D,EAAI8vB,EAAUsvH,YACpBltF,EAASmI,EAAOE,GACZv6D,EAAI8vB,EAAUsvH,aAChBltF,GACF,GACCxwB,QACG08G,EAAW,IAAIiB,gBAAe9wG,IAClC,MAAMgJ,EAAQhJ,EAAQ,GAChB8rB,EAAQ9iB,EAAM+nG,YAAYjlF,MAC1BE,EAAShjB,EAAM+nG,YAAY/kF,OACnB,IAAVF,GAA0B,IAAXE,GAGnBy0D,EAAO30D,EAAOE,EAAO,IAIvB,OAFA6jF,EAASI,QAAQ1uH,GACjBmvH,GAA8BtgF,EAAOqwD,GAC9BovB,CACT,CACA,SAASmB,GAAgB5gF,EAAO58D,EAAMq8I,GAChCA,GACFA,EAASoB,aAEE,WAATz9I,GACFm9I,GAAgCvgF,EAEpC,CACA,SAAS8gF,GAAqB9gF,EAAO58D,EAAMmwD,GACzC,MAAMgqF,EAASv9E,EAAMu9E,OACfhzI,GAAQ,SAAWiH,IACL,OAAdwuD,EAAMhsD,KACRu/C,EAAS6rF,GAAgB5tI,EAAOwuD,GAClC,GACCA,GAAQ36D,IACT,MAAMmM,EAAQnM,EAAK,GACnB,MAAO,CAACmM,EAAOA,EAAMuvH,QAASvvH,EAAMwvH,QAAQ,IAG9C,OADAke,GAAY3B,EAAQn6I,EAAMmH,GACnBA,CACT,CACA,MAAMw2I,WAAoB1D,GACxBC,eAAeC,EAAQ5Z,GACrB,MAAM12G,EAAUswH,GAAUA,EAAOhmB,YAAcgmB,EAAOhmB,WAAW,MACjE,OAAItqG,GAAWA,EAAQswH,SAAWA,GAChCkB,GAAWlB,EAAQ5Z,GACZ12G,GAEF,IACT,CACAuwH,eAAevwH,GACb,MAAMswH,EAAStwH,EAAQswH,OACvB,IAAKA,EAAO31E,IACV,OAAO,EAET,MAAMylD,EAAUkwB,EAAO31E,IAAaylD,QACpC,CAAC,SAAU,SAASjpH,SAASymB,IAC3B,MAAMzkB,EAAQinH,EAAQxiG,IAClB,OAAczkB,GAChBm3I,EAAOn8G,gBAAgBvW,GAEvB0yH,EAAOl9G,aAAaxV,EAAMzkB,EAC5B,IAEF,MAAMqtB,EAAQ45F,EAAQ55F,OAAS,CAAC,EAMhC,OALA9uB,OAAOkR,KAAK4d,GAAOrvB,SAASf,IAC1Bk6I,EAAO9pH,MAAMpwB,GAAOowB,EAAMpwB,EAAI,IAEhCk6I,EAAO7hF,MAAQ6hF,EAAO7hF,aACf6hF,EAAO31E,KACP,CACT,CACApkC,iBAAiBw8B,EAAO58D,EAAMmwD,GAC5B7zD,KAAK+jC,oBAAoBu8B,EAAO58D,GAChC,MAAM49I,EAAUhhF,EAAMihF,WAAajhF,EAAMihF,SAAW,CAAC,GAC/ClsF,EAAW,CACfmsF,OAAQ1B,GACR2B,OAAQnB,GACR3vB,OAAQmwB,IAEJpuI,EAAU2iD,EAAS3xD,IAAS09I,GAClCE,EAAQ59I,GAAQgP,EAAQ4tD,EAAO58D,EAAMmwD,EACvC,CACA9vB,oBAAoBu8B,EAAO58D,GACzB,MAAM49I,EAAUhhF,EAAMihF,WAAajhF,EAAMihF,SAAW,CAAC,GAC/C12I,EAAQy2I,EAAQ59I,GACtB,IAAKmH,EACH,OAEF,MAAMwqD,EAAW,CACfmsF,OAAQN,GACRO,OAAQP,GACRvwB,OAAQuwB,IAEJxuI,EAAU2iD,EAAS3xD,IAAS+7I,GAClC/sI,EAAQ4tD,EAAO58D,EAAMmH,GACrBy2I,EAAQ59I,QAAQX,CAClB,CACAg7I,sBACE,OAAO16G,OAAOg4B,gBAChB,CACA2iF,eAAeH,EAAQ7hF,EAAOE,EAAQ+nE,GACpC,OAAO,QAAe4Z,EAAQ7hF,EAAOE,EAAQ+nE,EAC/C,CACAga,WAAWJ,GACT,MAAMpsH,GAAY,QAAeosH,GACjC,SAAUpsH,IAAaA,EAAUiwH,YACnC,EAGF,SAASC,GAAgB9D,GACvB,QAAK,WAAiD,qBAApB+D,iBAAmC/D,aAAkB+D,gBAC9EzD,GAEFkD,EACT,CAEA,MAAMQ,GACJ/hJ,cACEE,KAAK8hJ,MAAQ,EACf,CACAC,OAAOzhF,EAAOriD,EAAMtY,EAAMR,GACX,eAAT8Y,IACFje,KAAK8hJ,MAAQ9hJ,KAAKgiJ,mBAAmB1hF,GAAO,GAC5CtgE,KAAKutH,QAAQvtH,KAAK8hJ,MAAOxhF,EAAO,YAElC,MAAM0jE,EAAc7+H,EAASnF,KAAKiiJ,aAAa3hF,GAAOn7D,OAAOA,GAAUnF,KAAKiiJ,aAAa3hF,GACnFp5D,EAASlH,KAAKutH,QAAQyW,EAAa1jE,EAAOriD,EAAMtY,GAKtD,MAJa,iBAATsY,IACFje,KAAKutH,QAAQyW,EAAa1jE,EAAO,QACjCtgE,KAAKutH,QAAQvtH,KAAK8hJ,MAAOxhF,EAAO,cAE3Bp5D,CACT,CACAqmH,QAAQyW,EAAa1jE,EAAOriD,EAAMtY,GAChCA,EAAOA,GAAQ,CAAC,EAChB,IAAK,MAAMsgB,KAAc+9G,EAAa,CACpC,MAAM/1G,EAAShI,EAAWgI,OACpBllB,EAASklB,EAAOhQ,GAChB0yC,EAAS,CAAC2P,EAAO36D,EAAMsgB,EAAWtS,SACxC,IAAyC,KAArC,OAAS5K,EAAQ4nD,EAAQ1iC,IAAqBtoB,EAAKu8I,WACrD,OAAO,CAEX,CACA,OAAO,CACT,CACAC,cACO,OAAcniJ,KAAKg8H,UACtBh8H,KAAKoiJ,UAAYpiJ,KAAKg8H,OACtBh8H,KAAKg8H,YAASj5H,EAElB,CACAk/I,aAAa3hF,GACX,GAAItgE,KAAKg8H,OACP,OAAOh8H,KAAKg8H,OAEd,MAAMgI,EAAchkI,KAAKg8H,OAASh8H,KAAKgiJ,mBAAmB1hF,GAE1D,OADAtgE,KAAKqiJ,oBAAoB/hF,GAClB0jE,CACT,CACAge,mBAAmB1hF,EAAOvX,GACxB,MAAMl6C,EAASyxD,GAASA,EAAMzxD,OACxB8E,GAAU,IAAAjM,GAAemH,EAAO8E,SAAW9E,EAAO8E,QAAQ2xG,QAAS,CAAC,GACpEA,EAAUg9B,GAAWzzI,GAC3B,OAAmB,IAAZ8E,GAAsBo1C,EAAWw5F,GAAkBjiF,EAAOglD,EAAS3xG,EAASo1C,GAAhD,EACrC,CACAs5F,oBAAoB/hF,GAClB,MAAMkiF,EAAsBxiJ,KAAKoiJ,WAAa,GACxCpe,EAAchkI,KAAKg8H,OACnBpqH,EAAO,CAACJ,EAAGC,IAAMD,EAAErM,QAAO80C,IAAMxoC,EAAE2E,MAAK+gC,GAAK8C,EAAEhsB,OAAO/d,KAAOinC,EAAElpB,OAAO/d,OAC3ElQ,KAAKutH,QAAQ37G,EAAK4wI,EAAqBxe,GAAc1jE,EAAO,QAC5DtgE,KAAKutH,QAAQ37G,EAAKoyH,EAAawe,GAAsBliF,EAAO,QAC9D,EAEF,SAASgiF,GAAWzzI,GAClB,MAAM4zI,EAAW,CAAC,EACZn9B,EAAU,GACVnvG,EAAOlR,OAAOkR,KAAK6M,GAASsiG,QAAQxpD,OAC1C,IAAK,IAAI/6D,EAAI,EAAGA,EAAIoV,EAAKlV,OAAQF,IAC/BukH,EAAQ/kH,KAAKyiB,GAAS8zH,UAAU3gI,EAAKpV,KAEvC,MAAMi+G,EAAQnwG,EAAOy2G,SAAW,GAChC,IAAK,IAAIvkH,EAAI,EAAGA,EAAIi+G,EAAM/9G,OAAQF,IAAK,CACrC,MAAMktB,EAAS+wF,EAAMj+G,IACY,IAA7BukH,EAAQv0G,QAAQkd,KAClBq3F,EAAQ/kH,KAAK0tB,GACbw0H,EAASx0H,EAAO/d,KAAM,EAE1B,CACA,MAAO,CAACo1G,UAASm9B,WACnB,CACA,SAASC,GAAQ/uI,EAASo1C,GACxB,OAAKA,IAAmB,IAAZp1C,GAGI,IAAZA,EACK,CAAC,EAEHA,EALE,IAMX,CACA,SAAS4uI,GAAkBjiF,GAAO,QAACglD,EAAO,SAAEm9B,GAAW9uI,EAASo1C,GAC9D,MAAM7hD,EAAS,GACTqmB,EAAU+yC,EAAMu3D,aACtB,IAAK,MAAM5pG,KAAUq3F,EAAS,CAC5B,MAAMp1G,EAAK+d,EAAO/d,GACZ2qD,EAAO6nF,GAAQ/uI,EAAQzD,GAAK64C,GACrB,OAAT8R,GAGJ3zD,EAAO3G,KAAK,CACV0tB,SACAta,QAASgvI,GAAWriF,EAAMzxD,OAAQ,CAACof,SAAQ+wF,MAAOyjC,EAASvyI,IAAM2qD,EAAMttC,IAE3E,CACA,OAAOrmB,CACT,CACA,SAASy7I,GAAW9zI,GAAQ,OAACof,EAAM,MAAE+wF,GAAQnkD,EAAMttC,GACjD,MAAMpX,EAAOtH,EAAO+zI,gBAAgB30H,GAC9B3tB,EAASuO,EAAO8oH,gBAAgB98D,EAAM1kD,GAI5C,OAHI6oG,GAAS/wF,EAAOukC,UAClBlyD,EAAOC,KAAK0tB,EAAOukC,UAEd3jD,EAAO+oH,eAAet3H,EAAQitB,EAAS,CAAC,IAAK,CAClDs1H,YAAY,EACZC,WAAW,EACXC,SAAS,GAEb,CAEA,SAASC,GAAat/I,EAAMiQ,GAC1B,MAAMsvI,EAAkB,EAAA/5G,EAAA,SAAkBxlC,IAAS,CAAC,EAC9Cw/I,GAAkBvvI,EAAQ2zD,UAAY,CAAC,GAAG5jE,IAAS,CAAC,EAC1D,OAAOw/I,EAAe1sB,WAAa7iH,EAAQ6iH,WAAaysB,EAAgBzsB,WAAa,GACvF,CACA,SAAS2sB,GAA0BjzI,EAAIsmH,GACrC,IAAInxD,EAAOn1D,EAMX,MALW,YAAPA,EACFm1D,EAAOmxD,EACS,YAAPtmH,IACTm1D,EAAqB,MAAdmxD,EAAoB,IAAM,KAE5BnxD,CACT,CACA,SAAS+9E,GAA0B/9E,EAAMmxD,GACvC,OAAOnxD,IAASmxD,EAAY,UAAY,SAC1C,CACA,SAAS6sB,GAAiBhtD,GACxB,MAAiB,QAAbA,GAAmC,WAAbA,EACjB,IAEQ,SAAbA,GAAoC,UAAbA,EAClB,SADT,CAGF,CACA,SAASitD,GAAcpzI,EAAIqzI,GACzB,MAAW,MAAPrzI,GAAqB,MAAPA,EACTA,EAEFqzI,EAAal+E,MAAQg+E,GAAiBE,EAAaltD,WAAanmF,EAAGyhC,OAAO,GAAG99B,aACtF,CACA,SAAS2vI,GAAiB30I,EAAQ8E,GAChC,MAAM8vI,EAAgB,IAAU50I,EAAOnL,OAAS,CAAC2wH,OAAQ,CAAC,GACpDqvB,EAAe/vI,EAAQ0gH,QAAU,CAAC,EAClCsvB,EAAiBX,GAAan0I,EAAOnL,KAAMiQ,GAC3CiwI,EAAW3+I,OAAOqT,OAAO,MACzB+7G,EAASpvH,OAAOqT,OAAO,MA+B7B,OA9BArT,OAAOkR,KAAKutI,GAAch/I,SAAQwL,IAChC,MAAM2zI,EAAYH,EAAaxzI,GAC/B,KAAK,IAAAnP,GAAS8iJ,GACZ,OAAO70I,QAAQC,MAAM,0CAA0CiB,KAEjE,GAAI2zI,EAAUC,OACZ,OAAO90I,QAAQ8rD,KAAK,kDAAkD5qD,KAExE,MAAMm1D,EAAOi+E,GAAcpzI,EAAI2zI,GACzBE,EAAYX,GAA0B/9E,EAAMs+E,GAC5CK,EAAsBP,EAAcpvB,QAAU,CAAC,EACrDuvB,EAASv+E,GAAQu+E,EAASv+E,IAASn1D,EACnCmkH,EAAOnkH,IAAM,QAAQjL,OAAOqT,OAAO,MAAO,CAAC,CAAC+sD,QAAOw+E,EAAWG,EAAoB3+E,GAAO2+E,EAAoBD,IAAY,IAE3Hl1I,EAAO0G,KAAK+xD,SAAS5iE,SAAQw/D,IAC3B,MAAMxgE,EAAOwgE,EAAQxgE,MAAQmL,EAAOnL,KAC9B8yH,EAAYtyD,EAAQsyD,WAAawsB,GAAat/I,EAAMiQ,GACpDsvI,EAAkB,IAAUv/I,IAAS,CAAC,EACtCsgJ,EAAsBf,EAAgB5uB,QAAU,CAAC,EACvDpvH,OAAOkR,KAAK6tI,GAAqBt/I,SAAQu/I,IACvC,MAAM5+E,EAAO89E,GAA0Bc,EAAWztB,GAC5CtmH,EAAKg0D,EAAQmB,EAAO,WAAau+E,EAASv+E,IAASA,EACzDgvD,EAAOnkH,GAAMmkH,EAAOnkH,IAAOjL,OAAOqT,OAAO,OACzC,QAAQ+7G,EAAOnkH,GAAK,CAAC,CAACm1D,QAAOq+E,EAAaxzI,GAAK8zI,EAAoBC,IAAY,GAC/E,IAEJh/I,OAAOkR,KAAKk+G,GAAQ3vH,SAAQf,IAC1B,MAAM08D,EAAQg0D,EAAO1wH,IACrB,QAAQ08D,EAAO,CAAC,EAAAn3B,EAAA,OAAgBm3B,EAAM38D,MAAO,EAAAwlC,EAAA,OAAgB,IAExDmrF,CACT,CACA,SAAS6vB,GAAYr1I,GACnB,MAAM8E,EAAU9E,EAAO8E,UAAY9E,EAAO8E,QAAU,CAAC,GACrDA,EAAQ2xG,SAAU,IAAA59G,GAAeiM,EAAQ2xG,QAAS,CAAC,GACnD3xG,EAAQ0gH,OAASmvB,GAAiB30I,EAAQ8E,EAC5C,CACA,SAASwwI,GAAS5uI,GAIhB,OAHAA,EAAOA,GAAQ,CAAC,EAChBA,EAAK+xD,SAAW/xD,EAAK+xD,UAAY,GACjC/xD,EAAK0wD,OAAS1wD,EAAK0wD,QAAU,GACtB1wD,CACT,CACA,SAAS6uI,GAAWv1I,GAIlB,OAHAA,EAASA,GAAU,CAAC,EACpBA,EAAO0G,KAAO4uI,GAASt1I,EAAO0G,MAC9B2uI,GAAYr1I,GACLA,CACT,CACA,MAAMw1I,GAAW,IAAItgJ,IACfugJ,GAAa,IAAI5iJ,IACvB,SAAS6iJ,GAAW3qB,EAAU51B,GAC5B,IAAI7tF,EAAOkuI,GAASxgJ,IAAI+1H,GAMxB,OALKzjH,IACHA,EAAO6tF,IACPqgD,GAASvgJ,IAAI81H,EAAUzjH,GACvBmuI,GAAWlgJ,IAAI+R,IAEVA,CACT,CACA,MAAMquI,GAAa,CAAC1gJ,EAAKmuC,EAAKtuC,KAC5B,MAAMk3D,GAAO,OAAiB5oB,EAAKtuC,QACtBZ,IAAT83D,GACF/2D,EAAIM,IAAIy2D,EACV,EAEF,MAAM4pF,GACJ3kJ,YAAY+O,GACV7O,KAAKqjE,QAAU+gF,GAAWv1I,GAC1B7O,KAAK0kJ,YAAc,IAAI3gJ,IACvB/D,KAAK2kJ,eAAiB,IAAI5gJ,GAC5B,CACI6gJ,eACF,OAAO5kJ,KAAKqjE,QAAQuhF,QACtB,CACIlhJ,WACF,OAAO1D,KAAKqjE,QAAQ3/D,IACtB,CACIA,SAAKA,GACP1D,KAAKqjE,QAAQ3/D,KAAOA,CACtB,CACI6R,WACF,OAAOvV,KAAKqjE,QAAQ9tD,IACtB,CACIA,SAAKA,GACPvV,KAAKqjE,QAAQ9tD,KAAO4uI,GAAS5uI,EAC/B,CACI5B,cACF,OAAO3T,KAAKqjE,QAAQ1vD,OACtB,CACIA,YAAQA,GACV3T,KAAKqjE,QAAQ1vD,QAAUA,CACzB,CACI2xG,cACF,OAAOtlH,KAAKqjE,QAAQiiD,OACtB,CACA9nG,SACE,MAAM3O,EAAS7O,KAAKqjE,QACpBrjE,KAAK6kJ,aACLX,GAAYr1I,EACd,CACAg2I,aACE7kJ,KAAK0kJ,YAAYl8I,QACjBxI,KAAK2kJ,eAAen8I,OACtB,CACAkvH,iBAAiBotB,GACf,OAAOP,GAAWO,GAChB,IAAM,CAAC,CACL,YAAYA,IACZ,MAEN,CACA5qB,0BAA0B4qB,EAAaruI,GACrC,OAAO8tI,GAAW,GAAGO,gBAA0BruI,KAC7C,IAAM,CACJ,CACE,YAAYquI,iBAA2BruI,IACvC,eAAeA,KAEjB,CACE,YAAYquI,IACZ,MAGR,CACAhrB,wBAAwBgrB,EAAanrB,GACnC,OAAO4qB,GAAW,GAAGO,KAAenrB,KAClC,IAAM,CAAC,CACL,YAAYmrB,cAAwBnrB,IACpC,YAAYmrB,IACZ,YAAYnrB,IACZ,MAEN,CACAipB,gBAAgB30H,GACd,MAAM/d,EAAK+d,EAAO/d,GACZxM,EAAO1D,KAAK0D,KAClB,OAAO6gJ,GAAW,GAAG7gJ,YAAewM,KAClC,IAAM,CAAC,CACL,WAAWA,OACR+d,EAAO82H,wBAA0B,MAE1C,CACAC,cAAcC,EAAWC,GACvB,MAAMR,EAAc1kJ,KAAK0kJ,YACzB,IAAI1xI,EAAQ0xI,EAAY7gJ,IAAIohJ,GAK5B,OAJKjyI,IAASkyI,IACZlyI,EAAQ,IAAIjP,IACZ2gJ,EAAY5gJ,IAAImhJ,EAAWjyI,IAEtBA,CACT,CACA2kH,gBAAgBstB,EAAWE,EAAUD,GACnC,MAAM,QAACvxI,EAAO,KAAEjQ,GAAQ1D,KAClBgT,EAAQhT,KAAKglJ,cAAcC,EAAWC,GACtChyI,EAASF,EAAMnP,IAAIshJ,GACzB,GAAIjyI,EACF,OAAOA,EAET,MAAM5S,EAAS,IAAIoB,IACnByjJ,EAASzgJ,SAAQyR,IACX8uI,IACF3kJ,EAAO8D,IAAI6gJ,GACX9uI,EAAKzR,SAAQf,GAAO6gJ,GAAWlkJ,EAAQ2kJ,EAAWthJ,MAEpDwS,EAAKzR,SAAQf,GAAO6gJ,GAAWlkJ,EAAQqT,EAAShQ,KAChDwS,EAAKzR,SAAQf,GAAO6gJ,GAAWlkJ,EAAQ,IAAUoD,IAAS,CAAC,EAAGC,KAC9DwS,EAAKzR,SAAQf,GAAO6gJ,GAAWlkJ,EAAQ,EAAA4oC,EAAUvlC,KACjDwS,EAAKzR,SAAQf,GAAO6gJ,GAAWlkJ,EAAQ,KAAaqD,IAAK,IAE3D,MAAM0jF,EAAQ76E,MAAM2W,KAAK7iB,GAOzB,OANqB,IAAjB+mF,EAAMpmF,QACRomF,EAAM9mF,KAAK0E,OAAOqT,OAAO,OAEvBgsI,GAAWngJ,IAAIghJ,IACjBnyI,EAAMlP,IAAIqhJ,EAAU99D,GAEfA,CACT,CACA+9D,oBACE,MAAM,QAACzxI,EAAO,KAAEjQ,GAAQ1D,KACxB,MAAO,CACL2T,EACA,IAAUjQ,IAAS,CAAC,EACpB,EAAAwlC,EAAA,SAAkBxlC,IAAS,CAAC,EAC5B,CAACA,QACD,EAAAwlC,EACA,KAEJ,CACA6wF,oBAAoBz5H,EAAQ4yE,EAAO3lD,EAAS+U,EAAW,CAAC,KACtD,MAAMp7B,EAAS,CAACoqH,SAAS,IACnB,SAACnoB,EAAQ,YAAEk8C,GAAeC,GAAYtlJ,KAAK2kJ,eAAgBrkJ,EAAQgiC,GACzE,IAAI3uB,EAAUw1F,EACd,GAAIo8C,GAAYp8C,EAAUj2B,GAAQ,CAChChsE,EAAOoqH,SAAU,EACjB/jG,GAAU,QAAWA,GAAWA,IAAYA,EAC5C,MAAMi4H,EAAcxlJ,KAAK43H,eAAet3H,EAAQitB,EAAS83H,GACzD1xI,GAAU,QAAew1F,EAAU57E,EAASi4H,EAC9C,CACA,IAAK,MAAMr6H,KAAQ+nD,EACjBhsE,EAAOikB,GAAQxX,EAAQwX,GAEzB,OAAOjkB,CACT,CACA0wH,eAAet3H,EAAQitB,EAAS+U,EAAW,CAAC,IAAKmjH,GAC/C,MAAM,SAACt8C,GAAYm8C,GAAYtlJ,KAAK2kJ,eAAgBrkJ,EAAQgiC,GAC5D,OAAO,IAAAvhC,GAASwsB,IACZ,QAAe47E,EAAU57E,OAASxqB,EAAW0iJ,GAC7Ct8C,CACN,EAEF,SAASm8C,GAAYI,EAAeplJ,EAAQgiC,GAC1C,IAAItvB,EAAQ0yI,EAAc7hJ,IAAIvD,GACzB0S,IACHA,EAAQ,IAAIjP,IACZ2hJ,EAAc5hJ,IAAIxD,EAAQ0S,IAE5B,MAAM4mH,EAAWt3F,EAASb,OAC1B,IAAIvuB,EAASF,EAAMnP,IAAI+1H,GACvB,IAAK1mH,EAAQ,CACX,MAAMi2F,GAAW,QAAgB7oG,EAAQgiC,GACzCpvB,EAAS,CACPi2F,WACAk8C,YAAa/iH,EAASn9B,QAAO2K,IAAMA,EAAE+D,cAAcnD,SAAS,YAE9DsC,EAAMlP,IAAI81H,EAAU1mH,EACtB,CACA,OAAOA,CACT,CACA,MAAMyyI,GAAcj/I,IAAS,IAAA3F,GAAS2F,IACjCzB,OAAOC,oBAAoBwB,GAAOypC,QAAO,CAACs+E,EAAK9qH,IAAQ8qH,IAAO,QAAW/nH,EAAM/C,MAAO,GAC3F,SAAS4hJ,GAAY16I,EAAOqoE,GAC1B,MAAM,aAAC0yE,EAAY,YAAEC,IAAe,QAAah7I,GACjD,IAAK,MAAMsgB,KAAQ+nD,EAAO,CACxB,MAAM2vE,EAAa+C,EAAaz6H,GAC1B23H,EAAY+C,EAAY16H,GACxBzkB,GAASo8I,GAAaD,IAAeh4I,EAAMsgB,GACjD,GAAK03H,KAAe,QAAWn8I,IAAUi/I,GAAYj/I,KAC/Co8I,IAAa,OAAQp8I,GACzB,OAAO,CAEX,CACA,OAAO,CACT,CAEA,IAAIqnB,GAAU,QAEd,MAAM+3H,GAAkB,CAAC,MAAO,SAAU,OAAQ,QAAS,aAC3D,SAASC,GAAqB1vD,EAAUhxB,GACtC,MAAoB,QAAbgxB,GAAmC,WAAbA,IAAiE,IAAvCyvD,GAAgB/0I,QAAQslF,IAA6B,MAAThxB,CACrG,CACA,SAAS2gF,GAAcC,EAAInvH,GACzB,OAAO,SAAStlB,EAAGC,GACjB,OAAOD,EAAEy0I,KAAQx0I,EAAEw0I,GACfz0I,EAAEslB,GAAMrlB,EAAEqlB,GACVtlB,EAAEy0I,GAAMx0I,EAAEw0I,EAChB,CACF,CACA,SAASC,GAAqB34H,GAC5B,MAAM+yC,EAAQ/yC,EAAQ+yC,MAChB+vD,EAAmB/vD,EAAM3sD,QAAQ+8G,UACvCpwD,EAAM+uE,cAAc,gBACpB,OAAShf,GAAoBA,EAAiB81B,WAAY,CAAC54H,GAAU+yC,EACvE,CACA,SAAS8lF,GAAoB74H,GAC3B,MAAM+yC,EAAQ/yC,EAAQ+yC,MAChB+vD,EAAmB/vD,EAAM3sD,QAAQ+8G,WACvC,OAASL,GAAoBA,EAAiBg2B,WAAY,CAAC94H,GAAU+yC,EACvE,CACA,SAASgmF,GAAUljI,GASjB,OARI,WAAqC,kBAATA,EAC9BA,EAAO+c,SAASomH,eAAenjI,GACtBA,GAAQA,EAAKniB,SACtBmiB,EAAOA,EAAK,IAEVA,GAAQA,EAAKy6H,SACfz6H,EAAOA,EAAKy6H,QAEPz6H,CACT,CACA,MAAMojI,GAAY,CAAC,EACbC,GAAY9iJ,IAChB,MAAMk6I,EAASyI,GAAU3iJ,GACzB,OAAOsB,OAAOR,OAAO+hJ,IAAWrhJ,QAAQsX,GAAMA,EAAEohI,SAAWA,IAAQ18I,KAAK,EAE1E,SAASulJ,GAAgBz0G,EAAK9hC,EAAO6nB,GACnC,MAAM7hB,EAAOlR,OAAOkR,KAAK87B,GACzB,IAAK,MAAMtuC,KAAOwS,EAAM,CACtB,MAAMwwI,GAAUhjJ,EAChB,GAAIgjJ,GAAUx2I,EAAO,CACnB,MAAMzJ,EAAQurC,EAAItuC,UACXsuC,EAAItuC,IACPq0B,EAAO,GAAK2uH,EAASx2I,KACvB8hC,EAAI00G,EAAS3uH,GAAQtxB,EAEzB,CACF,CACF,CACA,SAASkgJ,GAAmB3nH,EAAG4nH,EAAWC,EAAaC,GACrD,OAAKD,GAA0B,aAAX7nH,EAAEv7B,KAGlBqjJ,EACKF,EAEF5nH,EALE,IAMX,CACA,MAAM+nH,GACJlnJ,YAAYsjB,EAAM6jI,GAChB,MAAMp4I,EAAS7O,KAAK6O,OAAS,IAAI41I,GAAOwC,GAClCC,EAAgBZ,GAAUljI,GAC1B+jI,EAAgBV,GAASS,GAC/B,GAAIC,EACF,MAAM,IAAI1pG,MACR,4CAA+C0pG,EAAcj3I,GAA7D,kDACgDi3I,EAActJ,OAAO3tI,GAAK,oBAG9E,MAAMyD,EAAU9E,EAAO+oH,eAAe/oH,EAAOu2I,oBAAqBplJ,KAAK63H,cACvE73H,KAAK4kJ,SAAW,IAAK/1I,EAAO+1I,UAAYjD,GAAgBuF,IACxDlnJ,KAAK4kJ,SAAS1G,aAAarvI,GAC3B,MAAM0e,EAAUvtB,KAAK4kJ,SAAShH,eAAesJ,EAAevzI,EAAQswH,aAC9D4Z,EAAStwH,GAAWA,EAAQswH,OAC5B3hF,EAAS2hF,GAAUA,EAAO3hF,OAC1BF,EAAQ6hF,GAAUA,EAAO7hF,MAC/Bh8D,KAAKkQ,IAAK,UACVlQ,KAAKsU,IAAMiZ,EACXvtB,KAAK69I,OAASA,EACd79I,KAAKg8D,MAAQA,EACbh8D,KAAKk8D,OAASA,EACdl8D,KAAK8pF,SAAWn2E,EAChB3T,KAAKonJ,aAAepnJ,KAAKikI,YACzBjkI,KAAKg1I,QAAU,GACfh1I,KAAKqnJ,UAAY,GACjBrnJ,KAAK6zH,aAAU9wH,EACf/C,KAAKy6I,MAAQ,GACbz6I,KAAK2gJ,6BAA0B59I,EAC/B/C,KAAK2jE,eAAY5gE,EACjB/C,KAAKiuH,QAAU,GACfjuH,KAAKsnJ,gBAAavkJ,EAClB/C,KAAKwzD,WAAa,CAAC,EACnBxzD,KAAKunJ,0BAAuBxkJ,EAC5B/C,KAAKwnJ,gBAAkB,GACvBxnJ,KAAKq0H,OAAS,CAAC,EACfr0H,KAAKynJ,SAAW,IAAI5F,GACpB7hJ,KAAKuhJ,SAAW,CAAC,EACjBvhJ,KAAK0nJ,eAAiB,CAAC,EACvB1nJ,KAAK2kC,UAAW,EAChB3kC,KAAKs6H,yBAAsBv3H,EAC3B/C,KAAKyoE,cAAW1lE,EAChB/C,KAAK2nJ,WAAY,SAAS1sI,GAAQjb,KAAKwd,OAAOvC,IAAOtH,EAAQi0I,aAAe,GAC5E5nJ,KAAKw7H,aAAe,GACpBgrB,GAAUxmJ,KAAKkQ,IAAMlQ,KAChButB,GAAYswH,GAIjBlvB,EAASH,OAAOxuH,KAAM,WAAYkmJ,IAClCv3B,EAASH,OAAOxuH,KAAM,WAAYomJ,IAClCpmJ,KAAK6nJ,cACD7nJ,KAAK2kC,UACP3kC,KAAKwd,UAPLxO,QAAQC,MAAM,oEASlB,CACIg1H,kBACF,MAAOtwH,SAAS,YAACswH,EAAW,oBAAE6jB,GAAoB,MAAE9rF,EAAK,OAAEE,EAAM,aAAEkrF,GAAgBpnJ,KACnF,OAAK,OAAcikI,GAGf6jB,GAAuBV,EAClBA,EAEFlrF,EAASF,EAAQE,EAAS,KALxB+nE,CAMX,CACI1uH,WACF,OAAOvV,KAAK6O,OAAO0G,IACrB,CACIA,SAAKA,GACPvV,KAAK6O,OAAO0G,KAAOA,CACrB,CACI5B,cACF,OAAO3T,KAAK8pF,QACd,CACIn2E,YAAQA,GACV3T,KAAK6O,OAAO8E,QAAUA,CACxB,CACAk0I,cASE,OARA7nJ,KAAKqvI,cAAc,cACfrvI,KAAK2T,QAAQo0I,WACf/nJ,KAAK2wH,UAEL,QAAY3wH,KAAMA,KAAK2T,QAAQ0nD,kBAEjCr7D,KAAKgoJ,aACLhoJ,KAAKqvI,cAAc,aACZrvI,IACT,CACAwI,QAEE,OADA,QAAYxI,KAAK69I,OAAQ79I,KAAKsU,KACvBtU,IACT,CACAa,OAEE,OADA8tH,EAAS9tH,KAAKb,MACPA,IACT,CACA2wH,OAAO30D,EAAOE,GACPyyD,EAASX,QAAQhuH,MAGpBA,KAAKioJ,kBAAoB,CAACjsF,QAAOE,UAFjCl8D,KAAKkoJ,QAAQlsF,EAAOE,EAIxB,CACAgsF,QAAQlsF,EAAOE,GACb,MAAMvoD,EAAU3T,KAAK2T,QACfkqI,EAAS79I,KAAK69I,OACd5Z,EAActwH,EAAQm0I,qBAAuB9nJ,KAAKikI,YAClDkkB,EAAUnoJ,KAAK4kJ,SAAS5G,eAAeH,EAAQ7hF,EAAOE,EAAQ+nE,GAC9DmkB,EAAWz0I,EAAQ0nD,kBAAoBr7D,KAAK4kJ,SAAS7G,sBACrD9iI,EAAOjb,KAAKg8D,MAAQ,SAAW,SACrCh8D,KAAKg8D,MAAQmsF,EAAQnsF,MACrBh8D,KAAKk8D,OAASisF,EAAQjsF,OACtBl8D,KAAKonJ,aAAepnJ,KAAKikI,aACpB,QAAYjkI,KAAMooJ,GAAU,KAGjCpoJ,KAAKqvI,cAAc,SAAU,CAACjnI,KAAM+/I,KACpC,OAASx0I,EAAQ00I,SAAU,CAACroJ,KAAMmoJ,GAAUnoJ,MACxCA,KAAK2kC,UACH3kC,KAAK2nJ,UAAU1sI,IACjBjb,KAAKqV,SAGX,CACAizI,sBACE,MAAM30I,EAAU3T,KAAK2T,QACf40I,EAAgB50I,EAAQ0gH,QAAU,CAAC,GACzC,OAAKk0B,GAAe,CAACC,EAAapT,KAChCoT,EAAYt4I,GAAKklI,CAAM,GAE3B,CACAqT,sBACE,MAAM90I,EAAU3T,KAAK2T,QACf+0I,EAAY/0I,EAAQ0gH,OACpBA,EAASr0H,KAAKq0H,OACdnyG,EAAUjd,OAAOkR,KAAKk+G,GAAQlkF,QAAO,CAAC8B,EAAK/hC,KAC/C+hC,EAAI/hC,IAAM,EACH+hC,IACN,CAAC,GACJ,IAAI6pB,EAAQ,GACR4sF,IACF5sF,EAAQA,EAAMtlD,OACZvR,OAAOkR,KAAKuyI,GAAWtjJ,KAAK8K,IAC1B,MAAMqzI,EAAemF,EAAUx4I,GACzBm1D,EAAOi+E,GAAcpzI,EAAIqzI,GACzBoF,EAAoB,MAATtjF,EACX04D,EAAwB,MAAT14D,EACrB,MAAO,CACL1xD,QAAS4vI,EACTqF,UAAWD,EAAW,YAAc5qB,EAAe,SAAW,OAC9D8qB,MAAOF,EAAW,eAAiB5qB,EAAe,WAAa,SAChE,OAIP,OAAKjiE,GAAQ14C,IACX,MAAMmgI,EAAengI,EAAKzP,QACpBzD,EAAKqzI,EAAarzI,GAClBm1D,EAAOi+E,GAAcpzI,EAAIqzI,GACzBuF,GAAY,IAAAphJ,GAAe67I,EAAa7/I,KAAM0f,EAAKylI,YAC3B9lJ,IAA1BwgJ,EAAaltD,UAA0B0vD,GAAqBxC,EAAaltD,SAAUhxB,KAAU0gF,GAAqB3iI,EAAKwlI,aACzHrF,EAAaltD,SAAWjzE,EAAKwlI,WAE/B1mI,EAAQhS,IAAM,EACd,IAAImwD,EAAQ,KACZ,GAAInwD,KAAMmkH,GAAUA,EAAOnkH,GAAIxM,OAASolJ,EACtCzoF,EAAQg0D,EAAOnkH,OACV,CACL,MAAM64I,EAAa/lI,GAAS+zH,SAAS+R,GACrCzoF,EAAQ,IAAI0oF,EAAW,CACrB74I,KACAxM,KAAMolJ,EACNx0I,IAAKtU,KAAKsU,IACVgsD,MAAOtgE,OAETq0H,EAAOh0D,EAAMnwD,IAAMmwD,CACrB,CACAA,EAAMwW,KAAK0sE,EAAc5vI,EAAQ,KAEnC,OAAKuO,GAAS,CAAC8mI,EAAY94I,KACpB84I,UACI30B,EAAOnkH,EAChB,KAEF,OAAKmkH,GAASh0D,IACZw6E,GAAQzyE,UAAUpoE,KAAMqgE,EAAOA,EAAM1sD,SACrCknI,GAAQuC,OAAOp9I,KAAMqgE,EAAM,GAE/B,CACA4oF,kBACE,MAAM/2B,EAAWlyH,KAAKqnJ,UAChBnsB,EAAUl7H,KAAKuV,KAAK+xD,SAASrmE,OAC7Bg6H,EAAU/I,EAASjxH,OAEzB,GADAixH,EAAS3gH,MAAK,CAACC,EAAGC,IAAMD,EAAEnR,MAAQoR,EAAEpR,QAChC46H,EAAUC,EAAS,CACrB,IAAK,IAAIn6H,EAAIm6H,EAASn6H,EAAIk6H,IAAWl6H,EACnCf,KAAKkpJ,oBAAoBnoJ,GAE3BmxH,EAASvhH,OAAOuqH,EAASD,EAAUC,EACrC,CACAl7H,KAAKwnJ,gBAAkBt1B,EAAS7/G,MAAM,GAAGd,KAAKy0I,GAAc,QAAS,SACvE,CACAmD,8BACE,MAAO9B,UAAWn1B,EAAU38G,MAAM,SAAC+xD,IAAatnE,KAC5CkyH,EAASjxH,OAASqmE,EAASrmE,eACtBjB,KAAK6zH,QAEd3B,EAASxtH,SAAQ,CAAC6nC,EAAMlsC,KACmC,IAArDinE,EAASniE,QAAO80C,GAAKA,IAAM1N,EAAKo4F,WAAU1jI,QAC5CjB,KAAKkpJ,oBAAoB7oJ,EAC3B,GAEJ,CACA+oJ,2BACE,MAAMC,EAAiB,GACjB/hF,EAAWtnE,KAAKuV,KAAK+xD,SAC3B,IAAIvmE,EAAGg7D,EAEP,IADA/7D,KAAKmpJ,8BACApoJ,EAAI,EAAGg7D,EAAOuL,EAASrmE,OAAQF,EAAIg7D,EAAMh7D,IAAK,CACjD,MAAMmjE,EAAUoD,EAASvmE,GACzB,IAAIwrC,EAAOvsC,KAAKugE,eAAex/D,GAC/B,MAAM2C,EAAOwgE,EAAQxgE,MAAQ1D,KAAK6O,OAAOnL,KAWzC,GAVI6oC,EAAK7oC,MAAQ6oC,EAAK7oC,OAASA,IAC7B1D,KAAKkpJ,oBAAoBnoJ,GACzBwrC,EAAOvsC,KAAKugE,eAAex/D,IAE7BwrC,EAAK7oC,KAAOA,EACZ6oC,EAAKiqF,UAAYtyD,EAAQsyD,WAAawsB,GAAat/I,EAAM1D,KAAK2T,SAC9D44B,EAAK+8G,MAAQplF,EAAQolF,OAAS,EAC9B/8G,EAAKlsC,MAAQU,EACbwrC,EAAKiU,MAAQ,GAAK0jB,EAAQ1jB,MAC1BjU,EAAK83B,QAAUrkE,KAAKypE,iBAAiB1oE,GACjCwrC,EAAKmiD,WACPniD,EAAKmiD,WAAWqnC,YAAYh1H,GAC5BwrC,EAAKmiD,WAAWmnC,iBACX,CACL,MAAM0zB,EAAkBvmI,GAAS2zH,cAAcjzI,IACzC,mBAACyzH,EAAkB,gBAAEuC,GAAmB,EAAAxwF,EAAA,SAAkBxlC,GAChEuB,OAAOqoB,OAAOi8H,EAAgBvpH,UAAW,CACvC05F,gBAAiB12G,GAAS6zH,WAAWnd,GACrCvC,mBAAoBA,GAAsBn0G,GAAS6zH,WAAW1f,KAEhE5qF,EAAKmiD,WAAa,IAAI66D,EAAgBvpJ,KAAMe,GAC5CsoJ,EAAe9oJ,KAAKgsC,EAAKmiD,WAC3B,CACF,CAEA,OADA1uF,KAAKipJ,kBACEI,CACT,CACAG,kBACE,OAAKxpJ,KAAKuV,KAAK+xD,UAAU,CAACpD,EAAS1D,KACjCxgE,KAAKugE,eAAeC,GAAckuB,WAAW9qD,OAAO,GACnD5jC,KACL,CACA4jC,QACE5jC,KAAKwpJ,iBACLxpJ,KAAKqvI,cAAc,QACrB,CACA7xH,OAAOvC,GACL,MAAMpM,EAAS7O,KAAK6O,OACpBA,EAAO2O,SACP,MAAM7J,EAAU3T,KAAK8pF,SAAWj7E,EAAO+oH,eAAe/oH,EAAOu2I,oBAAqBplJ,KAAK63H,cACjF4xB,EAAgBzpJ,KAAKs6H,qBAAuB3mH,EAAQ+8G,UAK1D,GAJA1wH,KAAK0pJ,gBACL1pJ,KAAK2pJ,sBACL3pJ,KAAK4pJ,uBACL5pJ,KAAKynJ,SAAStF,cACuD,IAAjEniJ,KAAKqvI,cAAc,eAAgB,CAACp0H,OAAMinI,YAAY,IACxD,OAEF,MAAMmH,EAAiBrpJ,KAAKopJ,2BAC5BppJ,KAAKqvI,cAAc,wBACnB,IAAIkO,EAAa,EACjB,IAAK,IAAIx8I,EAAI,EAAGg7D,EAAO/7D,KAAKuV,KAAK+xD,SAASrmE,OAAQF,EAAIg7D,EAAMh7D,IAAK,CAC/D,MAAM,WAAC2tF,GAAc1uF,KAAKugE,eAAex/D,GACnC6iC,GAAS6lH,IAAyD,IAAxCJ,EAAet4I,QAAQ29E,GACvDA,EAAW0oC,sBAAsBxzF,GACjC25G,EAAa7mH,KAAKqS,KAAK2lD,EAAWuqC,iBAAkBskB,EACtD,CACAA,EAAav9I,KAAK6pJ,YAAcl2I,EAAQyzD,OAAO+1E,YAAcI,EAAa,EAC1Ev9I,KAAK8pJ,cAAcvM,GACdkM,IACH,OAAKJ,GAAiB36D,IACpBA,EAAW9qD,OAAO,IAGtB5jC,KAAK+pJ,gBAAgB9uI,GACrBjb,KAAKqvI,cAAc,cAAe,CAACp0H,SACnCjb,KAAKg1I,QAAQzjI,KAAKy0I,GAAc,IAAK,SACrC,MAAM,QAAC/3B,EAAO,WAAEq5B,GAActnJ,KAC1BsnJ,EACFtnJ,KAAKgqJ,cAAc1C,GAAY,GACtBr5B,EAAQhtH,QACjBjB,KAAKiqJ,mBAAmBh8B,EAASA,GAAS,GAE5CjuH,KAAKqV,QACP,CACAq0I,iBACE,OAAK1pJ,KAAKq0H,QAASh0D,IACjBw6E,GAAQwC,UAAUr9I,KAAMqgE,EAAM,IAEhCrgE,KAAKsoJ,sBACLtoJ,KAAKyoJ,qBACP,CACAkB,sBACE,MAAMh2I,EAAU3T,KAAK2T,QACfu2I,EAAiB,IAAIxoJ,IAAIuD,OAAOkR,KAAKnW,KAAKwzD,aAC1C22F,EAAY,IAAIzoJ,IAAIiS,EAAQy2I,SAC7B,QAAUF,EAAgBC,MAAgBnqJ,KAAKunJ,uBAAyB5zI,EAAQo0I,aACnF/nJ,KAAKqqJ,eACLrqJ,KAAKgoJ,aAET,CACA4B,uBACE,MAAM,eAAClC,GAAkB1nJ,KACnBsqJ,EAAUtqJ,KAAKuqJ,0BAA4B,GACjD,IAAK,MAAM,OAACxhJ,EAAM,MAAEoH,EAAK,MAAEyxC,KAAU0oG,EAAS,CAC5C,MAAMtyH,EAAkB,oBAAXjvB,GAAgC64C,EAAQA,EACrD8kG,GAAgBgB,EAAgBv3I,EAAO6nB,EACzC,CACF,CACAuyH,yBACE,MAAM/uB,EAAex7H,KAAKw7H,aAC1B,IAAKA,IAAiBA,EAAav6H,OACjC,OAEFjB,KAAKw7H,aAAe,GACpB,MAAMgvB,EAAexqJ,KAAKuV,KAAK+xD,SAASrmE,OAClCwpJ,EAAW7Y,GAAQ,IAAIlwI,IAC3B85H,EACGr2H,QAAOsX,GAAKA,EAAE,KAAOm1H,IACrBxsI,KAAI,CAACqX,EAAG1b,IAAMA,EAAI,IAAM0b,EAAE9L,OAAO,GAAG8wB,KAAK,QAExCipH,EAAYD,EAAQ,GAC1B,IAAK,IAAI1pJ,EAAI,EAAGA,EAAIypJ,EAAczpJ,IAChC,KAAK,QAAU2pJ,EAAWD,EAAQ1pJ,IAChC,OAGJ,OAAOyL,MAAM2W,KAAKunI,GACftlJ,KAAIqX,GAAKA,EAAErC,MAAM,OACjBhV,KAAIoM,IAAK,CAAEzI,OAAQyI,EAAE,GAAIrB,OAAQqB,EAAE,GAAIowC,OAAQpwC,EAAE,MACtD,CACAs4I,cAAcvM,GACZ,IAA+D,IAA3Dv9I,KAAKqvI,cAAc,eAAgB,CAAC6S,YAAY,IAClD,OAEFrH,GAAQr9H,OAAOxd,KAAMA,KAAKg8D,MAAOh8D,KAAKk8D,OAAQqhF,GAC9C,MAAMl/E,EAAOr+D,KAAK2jE,UACZgnF,EAAStsF,EAAKrC,OAAS,GAAKqC,EAAKnC,QAAU,EACjDl8D,KAAKg1I,QAAU,IACf,OAAKh1I,KAAKy6I,OAAQJ,IACZsQ,GAA2B,cAAjBtQ,EAAIhkD,WAGdgkD,EAAIjyE,WACNiyE,EAAIjyE,YAENpoE,KAAKg1I,QAAQz0I,QAAQ85I,EAAIrF,WAAU,GAClCh1I,MACHA,KAAKg1I,QAAQtwI,SAAQ,CAAC0e,EAAM/iB,KAC1B+iB,EAAKqkD,KAAOpnE,CAAK,IAEnBL,KAAKqvI,cAAc,cACrB,CACA0a,gBAAgB9uI,GACd,IAA6E,IAAzEjb,KAAKqvI,cAAc,uBAAwB,CAACp0H,OAAMinI,YAAY,IAAlE,CAGA,IAAK,IAAInhJ,EAAI,EAAGg7D,EAAO/7D,KAAKuV,KAAK+xD,SAASrmE,OAAQF,EAAIg7D,IAAQh7D,EAC5Df,KAAKugE,eAAex/D,GAAG2tF,WAAWtmB,YAEpC,IAAK,IAAIrnE,EAAI,EAAGg7D,EAAO/7D,KAAKuV,KAAK+xD,SAASrmE,OAAQF,EAAIg7D,IAAQh7D,EAC5Df,KAAK4qJ,eAAe7pJ,GAAG,QAAWka,GAAQA,EAAK,CAACulD,aAAcz/D,IAAMka,GAEtEjb,KAAKqvI,cAAc,sBAAuB,CAACp0H,QAP3C,CAQF,CACA2vI,eAAevqJ,EAAO4a,GACpB,MAAMsxB,EAAOvsC,KAAKugE,eAAelgE,GAC3BsF,EAAO,CAAC4mC,OAAMlsC,QAAO4a,OAAMinI,YAAY,IACW,IAApDliJ,KAAKqvI,cAAc,sBAAuB1pI,KAG9C4mC,EAAKmiD,WAAWo/B,QAAQ7yG,GACxBtV,EAAKu8I,YAAa,EAClBliJ,KAAKqvI,cAAc,qBAAsB1pI,GAC3C,CACA0P,UACiE,IAA3DrV,KAAKqvI,cAAc,eAAgB,CAAC6S,YAAY,MAGhDvzB,EAASxqH,IAAInE,MACXA,KAAK2kC,WAAagqF,EAASX,QAAQhuH,OACrC2uH,EAASx+G,MAAMnQ,OAGjBA,KAAKskE,OACL4hF,GAAqB,CAAC5lF,MAAOtgE,QAEjC,CACAskE,OACE,IAAIvjE,EACJ,GAAIf,KAAKioJ,kBAAmB,CAC1B,MAAM,MAACjsF,EAAK,OAAEE,GAAUl8D,KAAKioJ,kBAC7BjoJ,KAAKkoJ,QAAQlsF,EAAOE,GACpBl8D,KAAKioJ,kBAAoB,IAC3B,CAEA,GADAjoJ,KAAKwI,QACDxI,KAAKg8D,OAAS,GAAKh8D,KAAKk8D,QAAU,EACpC,OAEF,IAA6D,IAAzDl8D,KAAKqvI,cAAc,aAAc,CAAC6S,YAAY,IAChD,OAEF,MAAM2I,EAAS7qJ,KAAKg1I,QACpB,IAAKj0I,EAAI,EAAGA,EAAI8pJ,EAAO5pJ,QAAU4pJ,EAAO9pJ,GAAGm5C,GAAK,IAAKn5C,EACnD8pJ,EAAO9pJ,GAAGujE,KAAKtkE,KAAK2jE,WAGtB,IADA3jE,KAAK8qJ,gBACE/pJ,EAAI8pJ,EAAO5pJ,SAAUF,EAC1B8pJ,EAAO9pJ,GAAGujE,KAAKtkE,KAAK2jE,WAEtB3jE,KAAKqvI,cAAc,YACrB,CACAld,uBAAuBF,GACrB,MAAMC,EAAWlyH,KAAKwnJ,gBAChBtgJ,EAAS,GACf,IAAInG,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOm2D,EAASjxH,OAAQF,EAAIg7D,IAAQh7D,EAAG,CACjD,MAAMwrC,EAAO2lF,EAASnxH,GACjBkxH,IAAiB1lF,EAAK83B,SACzBn9D,EAAO3G,KAAKgsC,EAEhB,CACA,OAAOrlC,CACT,CACAiuI,+BACE,OAAOn1I,KAAKmyH,wBAAuB,EACrC,CACA24B,gBACE,IAAqE,IAAjE9qJ,KAAKqvI,cAAc,qBAAsB,CAAC6S,YAAY,IACxD,OAEF,MAAMhwB,EAAWlyH,KAAKm1I,+BACtB,IAAK,IAAIp0I,EAAImxH,EAASjxH,OAAS,EAAGF,GAAK,IAAKA,EAC1Cf,KAAK+qJ,aAAa74B,EAASnxH,IAE7Bf,KAAKqvI,cAAc,oBACrB,CACA0b,aAAax+G,GACX,MAAMj4B,EAAMtU,KAAKsU,IACXsvD,EAAOr3B,EAAK6sF,MACZ4xB,GAAWpnF,EAAK5pC,SAChBqkC,EAAOr+D,KAAK2jE,UACZh+D,EAAO,CACX4mC,OACAlsC,MAAOksC,EAAKlsC,MACZ6hJ,YAAY,IAEwC,IAAlDliJ,KAAKqvI,cAAc,oBAAqB1pI,KAGxCqlJ,IACF,OAAS12I,EAAK,CACZm4B,MAAoB,IAAdm3B,EAAKn3B,KAAiB,EAAI4xB,EAAK5xB,KAAOm3B,EAAKn3B,KACjDE,OAAsB,IAAfi3B,EAAKj3B,MAAkB3sC,KAAKg8D,MAAQqC,EAAK1xB,MAAQi3B,EAAKj3B,MAC7DsxB,KAAkB,IAAb2F,EAAK3F,IAAgB,EAAII,EAAKJ,IAAM2F,EAAK3F,IAC9CC,QAAwB,IAAhB0F,EAAK1F,OAAmBl+D,KAAKk8D,OAASmC,EAAKH,OAAS0F,EAAK1F,SAGrE3xB,EAAKmiD,WAAWpqB,OACZ0mF,IACF,OAAW12I,GAEb3O,EAAKu8I,YAAa,EAClBliJ,KAAKqvI,cAAc,mBAAoB1pI,GACzC,CACAwzI,cAAcx8E,GACZ,OAAO,OAAeA,EAAO38D,KAAK2jE,UAAW3jE,KAAK6pJ,YACpD,CACAoB,0BAA0BhsH,EAAGhkB,EAAMtH,EAASmzH,GAC1C,MAAM/9H,EAASgxI,GAAYC,MAAM/+H,GACjC,MAAsB,oBAAXlS,EACFA,EAAO/I,KAAMi/B,EAAGtrB,EAASmzH,GAE3B,EACT,CACAvmE,eAAeC,GACb,MAAM0D,EAAUlkE,KAAKuV,KAAK+xD,SAAS9G,GAC7B0xD,EAAWlyH,KAAKqnJ,UACtB,IAAI96G,EAAO2lF,EAAS/sH,QAAO80C,GAAKA,GAAKA,EAAE0qF,WAAazgE,IAAS/iE,MAkB7D,OAjBKorC,IACHA,EAAO,CACL7oC,KAAM,KACN6R,KAAM,GACN2uD,QAAS,KACTwqB,WAAY,KACZomC,OAAQ,KACRqB,QAAS,KACTE,QAAS,KACTizB,MAAOplF,GAAWA,EAAQolF,OAAS,EACnCjpJ,MAAOmgE,EACPmkE,SAAUzgE,EACVuwD,QAAS,GACTsD,SAAS,GAEX7F,EAAS3xH,KAAKgsC,IAETA,CACT,CACAsrF,aACE,OAAO73H,KAAKyoE,WAAazoE,KAAKyoE,UAAW,OAAc,KAAM,CAACnI,MAAOtgE,KAAM0D,KAAM,UACnF,CACAoiI,yBACE,OAAO9lI,KAAKm1I,+BAA+Bl0I,MAC7C,CACAwoE,iBAAiBjJ,GACf,MAAM0D,EAAUlkE,KAAKuV,KAAK+xD,SAAS9G,GACnC,IAAK0D,EACH,OAAO,EAET,MAAM33B,EAAOvsC,KAAKugE,eAAeC,GACjC,MAA8B,mBAAhBj0B,EAAKuoF,QAAwBvoF,EAAKuoF,QAAU5wD,EAAQ4wD,MACpE,CACAo2B,qBAAqB1qF,EAAc6D,GACjC,MAAM93B,EAAOvsC,KAAKugE,eAAeC,GACjCj0B,EAAKuoF,QAAUzwD,CACjB,CACAigE,qBAAqBjkI,GACnBL,KAAK0nJ,eAAernJ,IAAUL,KAAK0nJ,eAAernJ,EACpD,CACAspE,kBAAkBtpE,GAChB,OAAQL,KAAK0nJ,eAAernJ,EAC9B,CACA8qJ,kBAAkB3qF,EAAcqJ,EAAWxF,GACzC,MAAMppD,EAAOopD,EAAU,OAAS,OAC1B93B,EAAOvsC,KAAKugE,eAAeC,GAC3BgtD,EAAQjhF,EAAKmiD,WAAWurC,wBAAmBl3H,EAAWkY,IACxD,OAAQ4uD,IACVt9B,EAAKh3B,KAAKs0D,GAAWirD,QAAUzwD,EAC/BrkE,KAAKwd,WAELxd,KAAKkrJ,qBAAqB1qF,EAAc6D,GACxCmpD,EAAMhwG,OAAO+uB,EAAM,CAAC83B,YACpBrkE,KAAKwd,QAAQlJ,GAAQA,EAAIksD,eAAiBA,EAAevlD,OAAOlY,IAEpE,CACA+tH,KAAKtwD,EAAcqJ,GACjB7pE,KAAKmrJ,kBAAkB3qF,EAAcqJ,GAAW,EAClD,CACA+mD,KAAKpwD,EAAcqJ,GACjB7pE,KAAKmrJ,kBAAkB3qF,EAAcqJ,GAAW,EAClD,CACAq/E,oBAAoB1oF,GAClB,MAAMj0B,EAAOvsC,KAAKqnJ,UAAU7mF,GACxBj0B,GAAQA,EAAKmiD,YACfniD,EAAKmiD,WAAWuoC,kBAEXj3H,KAAKqnJ,UAAU7mF,EACxB,CACA4qF,QACE,IAAIrqJ,EAAGg7D,EAGP,IAFA/7D,KAAKa,OACL8tH,EAAS7vG,OAAO9e,MACXe,EAAI,EAAGg7D,EAAO/7D,KAAKuV,KAAK+xD,SAASrmE,OAAQF,EAAIg7D,IAAQh7D,EACxDf,KAAKkpJ,oBAAoBnoJ,EAE7B,CACAsqJ,UACErrJ,KAAKqvI,cAAc,iBACnB,MAAM,OAACwO,EAAM,IAAEvpI,GAAOtU,KACtBA,KAAKorJ,QACLprJ,KAAK6O,OAAOg2I,aACRhH,IACF79I,KAAKqqJ,gBACL,QAAYxM,EAAQvpI,GACpBtU,KAAK4kJ,SAAS9G,eAAexpI,GAC7BtU,KAAK69I,OAAS,KACd79I,KAAKsU,IAAM,MAEbtU,KAAKqvI,cAAc,kBACZmX,GAAUxmJ,KAAKkQ,IACtBlQ,KAAKqvI,cAAc,eACrB,CACAic,iBAAiB3lJ,GACf,OAAO3F,KAAK69I,OAAO0N,aAAa5lJ,EAClC,CACAqiJ,aACEhoJ,KAAKwrJ,iBACDxrJ,KAAK2T,QAAQo0I,WACf/nJ,KAAKyrJ,uBAELzrJ,KAAK2kC,UAAW,CAEpB,CACA6mH,iBACE,MAAMvjF,EAAYjoE,KAAKwzD,WACjBoxF,EAAW5kJ,KAAK4kJ,SAChB8G,EAAO,CAAChoJ,EAAMmwD,KAClB+wF,EAAS9gH,iBAAiB9jC,KAAM0D,EAAMmwD,GACtCoU,EAAUvkE,GAAQmwD,CAAQ,EAEtBA,EAAW,CAAC50B,EAAGgb,EAAG9C,KACtBlY,EAAEoiG,QAAUpnF,EACZhb,EAAEqiG,QAAUnqF,EACZn3C,KAAKgqJ,cAAc/qH,EAAE,GAEvB,OAAKj/B,KAAK2T,QAAQy2I,QAAS1mJ,GAASgoJ,EAAKhoJ,EAAMmwD,IACjD,CACA43F,uBACOzrJ,KAAKunJ,uBACRvnJ,KAAKunJ,qBAAuB,CAAC,GAE/B,MAAMt/E,EAAYjoE,KAAKunJ,qBACjB3C,EAAW5kJ,KAAK4kJ,SAChB8G,EAAO,CAAChoJ,EAAMmwD,KAClB+wF,EAAS9gH,iBAAiB9jC,KAAM0D,EAAMmwD,GACtCoU,EAAUvkE,GAAQmwD,CAAQ,EAEtB83F,EAAU,CAACjoJ,EAAMmwD,KACjBoU,EAAUvkE,KACZkhJ,EAAS7gH,oBAAoB/jC,KAAM0D,EAAMmwD,UAClCoU,EAAUvkE,GACnB,EAEImwD,EAAW,CAACmI,EAAOE,KACnBl8D,KAAK69I,QACP79I,KAAK2wH,OAAO30D,EAAOE,EACrB,EAEF,IAAIn8D,EACJ,MAAM4kC,EAAW,KACfgnH,EAAQ,SAAUhnH,GAClB3kC,KAAK2kC,UAAW,EAChB3kC,KAAK2wH,SACL+6B,EAAK,SAAU73F,GACf63F,EAAK,SAAU3rJ,EAAS,EAE1BA,EAAW,KACTC,KAAK2kC,UAAW,EAChBgnH,EAAQ,SAAU93F,GAClB7zD,KAAKorJ,QACLprJ,KAAKkoJ,QAAQ,EAAG,GAChBwD,EAAK,SAAU/mH,EAAS,EAEtBigH,EAAS3G,WAAWj+I,KAAK69I,QAC3Bl5G,IAEA5kC,GAEJ,CACAsqJ,gBACE,OAAKrqJ,KAAKwzD,YAAY,CAACK,EAAUnwD,KAC/B1D,KAAK4kJ,SAAS7gH,oBAAoB/jC,KAAM0D,EAAMmwD,EAAS,IAEzD7zD,KAAKwzD,WAAa,CAAC,GACnB,OAAKxzD,KAAKunJ,sBAAsB,CAAC1zF,EAAUnwD,KACzC1D,KAAK4kJ,SAAS7gH,oBAAoB/jC,KAAM0D,EAAMmwD,EAAS,IAEzD7zD,KAAKunJ,0BAAuBxkJ,CAC9B,CACA6oJ,iBAAiB9vF,EAAO7gD,EAAMmtH,GAC5B,MAAMyjB,EAASzjB,EAAU,MAAQ,SACjC,IAAI77F,EAAMnpB,EAAMriB,EAAGg7D,EAKnB,IAJa,YAAT9gD,IACFsxB,EAAOvsC,KAAKugE,eAAezE,EAAM,GAAG0E,cACpCj0B,EAAKmiD,WAAW,IAAMm9D,EAAS,wBAE5B9qJ,EAAI,EAAGg7D,EAAOD,EAAM76D,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAC9CqiB,EAAO04C,EAAM/6D,GACb,MAAM2tF,EAAatrE,GAAQpjB,KAAKugE,eAAen9C,EAAKo9C,cAAckuB,WAC9DA,GACFA,EAAWm9D,EAAS,cAAczoI,EAAKinD,QAASjnD,EAAKo9C,aAAcp9C,EAAK/iB,MAE5E,CACF,CACA+pE,oBACE,OAAOpqE,KAAKiuH,SAAW,EACzB,CACA69B,kBAAkBC,GAChB,MAAMC,EAAahsJ,KAAKiuH,SAAW,GAC7BhuH,EAAS8rJ,EAAe3mJ,KAAI,EAAEo7D,eAAcngE,YAChD,MAAMksC,EAAOvsC,KAAKugE,eAAeC,GACjC,IAAKj0B,EACH,MAAM,IAAIkR,MAAM,6BAA+B+iB,GAEjD,MAAO,CACLA,eACA6J,QAAS99B,EAAKh3B,KAAKlV,GACnBA,QACD,IAEG08I,IAAW,QAAe98I,EAAQ+rJ,GACpCjP,IACF/8I,KAAKiuH,QAAUhuH,EACfD,KAAKsnJ,WAAa,KAClBtnJ,KAAKiqJ,mBAAmBhqJ,EAAQ+rJ,GAEpC,CACA3c,cAAcpxH,EAAMtY,EAAMR,GACxB,OAAOnF,KAAKynJ,SAAS1F,OAAO/hJ,KAAMie,EAAMtY,EAAMR,EAChD,CACA8kJ,mBAAmBhqJ,EAAQ+rJ,EAAYC,GACrC,MAAMC,EAAelsJ,KAAK2T,QAAQw4I,MAC5Bv6I,EAAO,CAACJ,EAAGC,IAAMD,EAAErM,QAAO80C,IAAMxoC,EAAE2E,MAAK+gC,GAAK8C,EAAEumB,eAAiBrpB,EAAEqpB,cAAgBvmB,EAAE55C,QAAU82C,EAAE92C,UAC/FymB,EAAclV,EAAKo6I,EAAY/rJ,GAC/B4mB,EAAYolI,EAAShsJ,EAAS2R,EAAK3R,EAAQ+rJ,GAC7CllI,EAAY7lB,QACdjB,KAAK4rJ,iBAAiB9kI,EAAaolI,EAAajxI,MAAM,GAEpD4L,EAAU5lB,QAAUirJ,EAAajxI,MACnCjb,KAAK4rJ,iBAAiB/kI,EAAWqlI,EAAajxI,MAAM,EAExD,CACA+uI,cAAc/qH,EAAGgtH,GACf,MAAMtmJ,EAAO,CACXmM,MAAOmtB,EACPgtH,SACA/J,YAAY,EACZ4E,YAAa9mJ,KAAKm5I,cAAcl6G,IAE5BmtH,EAAen+H,IAAYA,EAAOta,QAAQy2I,QAAUpqJ,KAAK2T,QAAQy2I,QAAQ15I,SAASuuB,EAAE0gH,OAAOj8I,MACjG,IAA6D,IAAzD1D,KAAKqvI,cAAc,cAAe1pI,EAAMymJ,GAC1C,OAEF,MAAMrP,EAAU/8I,KAAKqsJ,aAAaptH,EAAGgtH,EAAQtmJ,EAAKmhJ,aAMlD,OALAnhJ,EAAKu8I,YAAa,EAClBliJ,KAAKqvI,cAAc,aAAc1pI,EAAMymJ,IACnCrP,GAAWp3I,EAAKo3I,UAClB/8I,KAAKqV,SAEArV,IACT,CACAqsJ,aAAaptH,EAAGgtH,EAAQnF,GACtB,MAAO74B,QAAS+9B,EAAa,GAAE,QAAEr4I,GAAW3T,KACtC8mI,EAAmBmlB,EACnBhsJ,EAASD,KAAKssJ,mBAAmBrtH,EAAG+sH,EAAYlF,EAAahgB,GAC7DigB,GAAU,QAAc9nH,GACxB4nH,EAAYD,GAAmB3nH,EAAGj/B,KAAKsnJ,WAAYR,EAAaC,GAClED,IACF9mJ,KAAKsnJ,WAAa,MAClB,OAAS3zI,EAAQ44I,QAAS,CAACttH,EAAGh/B,EAAQD,MAAOA,MACzC+mJ,IACF,OAASpzI,EAAQ6iF,QAAS,CAACv3D,EAAGh/B,EAAQD,MAAOA,OAGjD,MAAM+8I,IAAW,QAAe98I,EAAQ+rJ,GAMxC,OALIjP,GAAWkP,KACbjsJ,KAAKiuH,QAAUhuH,EACfD,KAAKiqJ,mBAAmBhqJ,EAAQ+rJ,EAAYC,IAE9CjsJ,KAAKsnJ,WAAaT,EACX9J,CACT,CACAuP,mBAAmBrtH,EAAG+sH,EAAYlF,EAAahgB,GAC7C,GAAe,aAAX7nG,EAAEv7B,KACJ,MAAO,GAET,IAAKojJ,EACH,OAAOkF,EAET,MAAME,EAAelsJ,KAAK2T,QAAQw4I,MAClC,OAAOnsJ,KAAKirJ,0BAA0BhsH,EAAGitH,EAAajxI,KAAMixI,EAAcplB,EAC5E,EAEF,MAAM0lB,GAAoB,KAAM,OAAKxF,GAAMR,WAAYlmF,GAAUA,EAAMmnF,SAAStF,eAC1Ep6H,IAAa,EA0CnB,SAAS0kI,GAAQn4I,EAAK+1D,EAASpL,GAC7B,MAAM,WAACD,EAAU,YAAE0tF,EAAW,EAAEzyG,EAAC,EAAE9C,EAAC,YAAEgoB,EAAW,YAAED,GAAemL,EAClE,IAAIsiF,EAAcD,EAAcvtF,EAChC7qD,EAAIitD,YACJjtD,EAAIwqD,IAAI7kB,EAAG9C,EAAGgoB,EAAaH,EAAa2tF,EAAa1tF,EAAW0tF,GAC5DztF,EAAcwtF,GAChBC,EAAcD,EAAcxtF,EAC5B5qD,EAAIwqD,IAAI7kB,EAAG9C,EAAG+nB,EAAaD,EAAW0tF,EAAa3tF,EAAa2tF,GAAa,IAE7Er4I,EAAIwqD,IAAI7kB,EAAG9C,EAAGu1G,EAAaztF,EAAW,EAAA6b,EAAS9b,EAAa,EAAA8b,GAE9DxmE,EAAI4sD,YACJ5sD,EAAIsvD,MACN,CACA,SAASgpF,GAAgBlmJ,GACvB,OAAO,QAAkBA,EAAO,CAAC,aAAc,WAAY,aAAc,YAC3E,CACA,SAASmmJ,GAAoB/tF,EAAKI,EAAaC,EAAa2tF,GAC1D,MAAMxzH,EAAIszH,GAAgB9tF,EAAInrD,QAAQ6tD,cAChCurF,GAAiB5tF,EAAcD,GAAe,EAC9C8tF,EAAat2H,KAAKC,IAAIo2H,EAAeD,EAAa5tF,EAAc,GAChE+tF,EAAqBngJ,IACzB,MAAMogJ,GAAiB/tF,EAAczoC,KAAKC,IAAIo2H,EAAejgJ,IAAQggJ,EAAa,EAClF,OAAO,OAAYhgJ,EAAK,EAAG4pB,KAAKC,IAAIo2H,EAAeG,GAAe,EAEpE,MAAO,CACLC,WAAYF,EAAkB3zH,EAAE6zH,YAChCC,SAAUH,EAAkB3zH,EAAE8zH,UAC9BC,YAAY,OAAY/zH,EAAE+zH,WAAY,EAAGL,GACzCM,UAAU,OAAYh0H,EAAEg0H,SAAU,EAAGN,GAEzC,CACA,SAASO,GAAWhiJ,EAAGiiJ,EAAOvzG,EAAG9C,GAC/B,MAAO,CACL8C,EAAGA,EAAI1uC,EAAImrB,KAAK8mC,IAAIgwF,GACpBr2G,EAAGA,EAAI5rC,EAAImrB,KAAK+mC,IAAI+vF,GAExB,CACA,SAASC,GAAQn5I,EAAK+1D,EAASxG,EAAQy+D,EAASlyH,EAAKk2H,GACnD,MAAM,EAACrsF,EAAC,EAAE9C,EAAG6nB,WAAY7uD,EAAK,YAAEu8I,EAAaxtF,YAAawuF,GAAUrjF,EAC9DlL,EAAczoC,KAAKqS,IAAIshC,EAAQlL,YAAcmjE,EAAUz+D,EAAS6oF,EAAa,GAC7ExtF,EAAcwuF,EAAS,EAAIA,EAASprB,EAAUz+D,EAAS6oF,EAAc,EAC3E,IAAIiB,EAAgB,EACpB,MAAMppG,EAAQn0C,EAAMD,EACpB,GAAImyH,EAAS,CACX,MAAMsrB,EAAuBF,EAAS,EAAIA,EAASprB,EAAU,EACvDurB,EAAuB1uF,EAAc,EAAIA,EAAcmjE,EAAU,EACjEwrB,GAAsBF,EAAuBC,GAAwB,EACrEE,EAAuC,IAAvBD,EAA4BvpG,EAAQupG,GAAuBA,EAAqBxrB,GAAW/9E,EACjHopG,GAAiBppG,EAAQwpG,GAAiB,CAC5C,CACA,MAAMC,EAAOt3H,KAAKqS,IAAI,KAAOwb,EAAQ4a,EAAc0E,EAAS,EAAAuL,GAAMjQ,EAC5D8uF,GAAe1pG,EAAQypG,GAAQ,EAC/BhvF,EAAa7uD,EAAQ89I,EAAcN,EACnC1uF,EAAW7uD,EAAM69I,EAAcN,GAC/B,WAACR,EAAU,SAAEC,EAAQ,WAAEC,EAAU,SAAEC,GAAYT,GAAoBxiF,EAASnL,EAAaC,EAAaF,EAAWD,GACjHkvF,EAA2B/uF,EAAcguF,EACzCgB,EAAyBhvF,EAAciuF,EACvCgB,EAA0BpvF,EAAamuF,EAAae,EACpDG,EAAwBpvF,EAAWmuF,EAAWe,EAC9CG,EAA2BpvF,EAAcmuF,EACzCkB,EAAyBrvF,EAAcouF,EACvCkB,EAA0BxvF,EAAaquF,EAAaiB,EACpDG,EAAwBxvF,EAAWquF,EAAWiB,EAEpD,GADAj6I,EAAIitD,YACA+kE,EAAU,CAEZ,GADAhyH,EAAIwqD,IAAI7kB,EAAG9C,EAAGgoB,EAAaivF,EAAyBC,GAChDjB,EAAW,EAAG,CAChB,MAAMsB,EAAUnB,GAAWY,EAAwBE,EAAuBp0G,EAAG9C,GAC7E7iC,EAAIwqD,IAAI4vF,EAAQz0G,EAAGy0G,EAAQv3G,EAAGi2G,EAAUiB,EAAuBpvF,EAAW,EAAA6b,EAC5E,CACA,MAAM6zE,EAAKpB,GAAWgB,EAAwBtvF,EAAUhlB,EAAG9C,GAE3D,GADA7iC,EAAIsgI,OAAO+Z,EAAG10G,EAAG00G,EAAGx3G,GAChBm2G,EAAW,EAAG,CAChB,MAAMoB,EAAUnB,GAAWgB,EAAwBE,EAAuBx0G,EAAG9C,GAC7E7iC,EAAIwqD,IAAI4vF,EAAQz0G,EAAGy0G,EAAQv3G,EAAGm2G,EAAUruF,EAAW,EAAA6b,EAAS2zE,EAAwB/3H,KAAK6mC,GAC3F,CAEA,GADAjpD,EAAIwqD,IAAI7kB,EAAG9C,EAAG+nB,EAAaD,EAAYquF,EAAWpuF,EAAcF,EAAcquF,EAAanuF,GAAc,GACrGmuF,EAAa,EAAG,CAClB,MAAMqB,EAAUnB,GAAWe,EAA0BE,EAAyBv0G,EAAG9C,GACjF7iC,EAAIwqD,IAAI4vF,EAAQz0G,EAAGy0G,EAAQv3G,EAAGk2G,EAAYmB,EAA0B93H,KAAK6mC,GAAIyB,EAAa,EAAA8b,EAC5F,CACA,MAAM8zE,EAAKrB,GAAWW,EAA0BlvF,EAAY/kB,EAAG9C,GAE/D,GADA7iC,EAAIsgI,OAAOga,EAAG30G,EAAG20G,EAAGz3G,GAChBg2G,EAAa,EAAG,CAClB,MAAMuB,EAAUnB,GAAWW,EAA0BE,EAAyBn0G,EAAG9C,GACjF7iC,EAAIwqD,IAAI4vF,EAAQz0G,EAAGy0G,EAAQv3G,EAAGg2G,EAAYnuF,EAAa,EAAA8b,EAASszE,EAClE,CACF,KAAO,CACL95I,EAAI2sD,OAAOhnB,EAAG9C,GACd,MAAM03G,EAAcn4H,KAAK8mC,IAAI4wF,GAA2BjvF,EAAcllB,EAChE60G,EAAcp4H,KAAK+mC,IAAI2wF,GAA2BjvF,EAAchoB,EACtE7iC,EAAIsgI,OAAOia,EAAaC,GACxB,MAAMC,EAAYr4H,KAAK8mC,IAAI6wF,GAAyBlvF,EAAcllB,EAC5D+0G,EAAYt4H,KAAK+mC,IAAI4wF,GAAyBlvF,EAAchoB,EAClE7iC,EAAIsgI,OAAOma,EAAWC,EACxB,CACA16I,EAAI4sD,WACN,CACA,SAAS+tF,GAAQ36I,EAAK+1D,EAASxG,EAAQy+D,EAASgE,GAC9C,MAAM,YAAC4oB,EAAW,WAAElwF,EAAU,cAAEiiE,GAAiB52D,EACjD,IAAIpL,EAAWoL,EAAQpL,SACvB,GAAIiwF,EAAa,CACfzB,GAAQn5I,EAAK+1D,EAASxG,EAAQy+D,EAAStjE,EAAa,EAAA6c,EAAKyqD,GACzD,IAAK,IAAIvlI,EAAI,EAAGA,EAAImuJ,IAAenuJ,EACjCuT,EAAIotD,OAEDtvB,MAAM6uF,KACThiE,EAAWD,EAAaiiE,EAAgB,EAAAplD,EACpColD,EAAgB,EAAAplD,IAAQ,IAC1B5c,GAAY,EAAA4c,GAGlB,CAGA,OAFA4xE,GAAQn5I,EAAK+1D,EAASxG,EAAQy+D,EAASrjE,EAAUqnE,GACjDhyH,EAAIotD,OACGzC,CACT,CACA,SAASkwF,GAAsB76I,EAAK+1D,EAAS+kF,GAC3C,MAAM,EAACn1G,EAAC,EAAE9C,EAAC,WAAE6nB,EAAU,YAAE0tF,EAAW,YAAEwC,GAAe7kF,EAC/ClL,EAAczoC,KAAKqS,IAAIshC,EAAQlL,YAAcutF,EAAa,GAC1DxtF,EAAcmL,EAAQnL,YAAcwtF,EAC1C,IAAI3rJ,EAMJ,IALIquJ,GACF3C,GAAQn4I,EAAK+1D,EAASrL,EAAa,EAAA6c,GAErCvnE,EAAIitD,YACJjtD,EAAIwqD,IAAI7kB,EAAG9C,EAAG+nB,EAAaF,EAAa,EAAA6c,EAAK7c,GAAY,GACpDj+D,EAAI,EAAGA,EAAImuJ,IAAenuJ,EAC7BuT,EAAIwtD,SAIN,IAFAxtD,EAAIitD,YACJjtD,EAAIwqD,IAAI7kB,EAAG9C,EAAGgoB,EAAaH,EAAYA,EAAa,EAAA6c,GAC/C96E,EAAI,EAAGA,EAAImuJ,IAAenuJ,EAC7BuT,EAAIwtD,QAER,CACA,SAAS0nE,GAAWl1H,EAAK+1D,EAASxG,EAAQy+D,EAASrjE,EAAUqnE,GAC3D,MAAM,QAAC3yH,GAAW02D,GACZ,YAACxK,EAAW,gBAAEwvF,GAAmB17I,EACjCy7I,EAAgC,UAAxBz7I,EAAQiwH,YACjB/jE,IAGDuvF,GACF96I,EAAIstD,UAA0B,EAAd/B,EAChBvrD,EAAIutD,SAAWwtF,GAAmB,UAElC/6I,EAAIstD,UAAY/B,EAChBvrD,EAAIutD,SAAWwtF,GAAmB,SAEhChlF,EAAQ6kF,aACVC,GAAsB76I,EAAK+1D,EAAS+kF,GAElCA,GACF3C,GAAQn4I,EAAK+1D,EAASpL,GAExBwuF,GAAQn5I,EAAK+1D,EAASxG,EAAQy+D,EAASrjE,EAAUqnE,GACjDhyH,EAAIwtD,SACN,CAxMA78D,OAAOqqF,iBAAiB03D,GAAO,CAC7Bx0F,SAAU,CACRzqC,cACArhB,MAAO,EAAAwiC,GAETs9G,UAAW,CACTz+H,cACArhB,MAAO8/I,IAET14C,UAAW,CACT/lF,cACArhB,MAAO,KAETsc,SAAU,CACR+E,cACArhB,MAAOsc,IAET+K,QAAS,CACPhG,cACArhB,MAAOqnB,IAET04H,SAAU,CACR1+H,cACArhB,MAAO+/I,IAETt+H,SAAU,CACRJ,cACArhB,MAAO,IAAIo1D,KACT94C,GAAS5e,OAAO03D,GAChB0wF,IAAmB,GAGvB59D,WAAY,CACV7mE,cACArhB,MAAO,IAAIo1D,KACT94C,GAASlE,UAAUg9C,GACnB0wF,IAAmB,KAqKzB,MAAM8C,WAAmB5hH,GACvB5tC,YAAYmiE,GACV+8D,QACAh/H,KAAK2T,aAAU5Q,EACf/C,KAAKihI,mBAAgBl+H,EACrB/C,KAAKg/D,gBAAaj8D,EAClB/C,KAAKi/D,cAAWl8D,EAChB/C,KAAKk/D,iBAAcn8D,EACnB/C,KAAKm/D,iBAAcp8D,EACnB/C,KAAK0sJ,YAAc,EACnB1sJ,KAAKkvJ,YAAc,EACfjtF,GACFh9D,OAAOqoB,OAAOttB,KAAMiiE,EAExB,CACAo3E,QAAQkW,EAAQC,EAAQ1oB,GACtB,MAAMnqE,EAAQ38D,KAAKymE,SAAS,CAAC,IAAK,KAAMqgE,IAClC,MAAC/nE,EAAK,SAAEzoB,IAAY,QAAkBqmB,EAAO,CAAC1iB,EAAGs1G,EAAQp4G,EAAGq4G,KAC5D,WAACxwF,EAAU,SAAEC,EAAQ,YAAEC,EAAW,YAAEC,EAAW,cAAE8hE,GAAiBjhI,KAAKymE,SAAS,CACpF,aACA,WACA,cACA,cACA,iBACCqgE,GACG2oB,EAAUzvJ,KAAK2T,QAAQ2uH,QAAU,EACjCc,GAAiB,IAAA17H,GAAeu5H,EAAehiE,EAAWD,GAC1D0wF,EAAgBtsB,GAAkB,EAAAvnD,IAAO,OAAc9c,EAAOC,EAAYC,GAC1E0wF,GAAe,QAAWr5G,EAAU4oB,EAAcuwF,EAAStwF,EAAcswF,GAC/E,OAAQC,GAAiBC,CAC3B,CACAlW,eAAe3S,GACb,MAAM,EAAC7sF,EAAC,EAAE9C,EAAC,WAAE6nB,EAAU,SAAEC,EAAQ,YAAEC,EAAW,YAAEC,GAAen/D,KAAKymE,SAAS,CAC3E,IACA,IACA,aACA,WACA,cACA,cACA,iBACCqgE,IACG,OAACjjE,EAAM,QAAEy+D,GAAWtiI,KAAK2T,QACzBi8I,GAAa5wF,EAAaC,GAAY,EACtC4wF,GAAc3wF,EAAcC,EAAcmjE,EAAUz+D,GAAU,EACpE,MAAO,CACL5pB,EAAGA,EAAIvjB,KAAK8mC,IAAIoyF,GAAaC,EAC7B14G,EAAGA,EAAIzgB,KAAK+mC,IAAImyF,GAAaC,EAEjC,CACAhpB,gBAAgBC,GACd,OAAO9mI,KAAKy5I,eAAe3S,EAC7B,CACAxiE,KAAKhwD,GACH,MAAM,QAACX,EAAO,cAAEstH,GAAiBjhI,KAC3B6jE,GAAUlwD,EAAQkwD,QAAU,GAAK,EACjCy+D,GAAW3uH,EAAQ2uH,SAAW,GAAK,EACnCgE,EAAW3yH,EAAQ2yH,SAGzB,GAFAtmI,KAAK0sJ,YAAuC,UAAxB/4I,EAAQiwH,YAA2B,IAAO,EAC9D5jI,KAAKkvJ,YAAcjuB,EAAgB,EAAAplD,EAAMnlD,KAAKw7C,MAAM+uD,EAAgB,EAAAplD,GAAO,EACrD,IAAlBolD,GAAuBjhI,KAAKk/D,YAAc,GAAKl/D,KAAKm/D,YAAc,EACpE,OAEF7qD,EAAIkwD,OACJ,IAAIsrF,EAAe,EACnB,GAAIjsF,EAAQ,CACVisF,EAAejsF,EAAS,EACxB,MAAM+rF,GAAa5vJ,KAAKg/D,WAAah/D,KAAKi/D,UAAY,EACtD3qD,EAAIq+B,UAAUjc,KAAK8mC,IAAIoyF,GAAaE,EAAcp5H,KAAK+mC,IAAImyF,GAAaE,GACpE9vJ,KAAKihI,eAAiB,EAAA7xD,IACxB0gF,EAAejsF,EAEnB,CACAvvD,EAAImtD,UAAY9tD,EAAQ0tD,gBACxB/sD,EAAIqtD,YAAchuD,EAAQ2tD,YAC1B,MAAMrC,EAAWgwF,GAAQ36I,EAAKtU,KAAM8vJ,EAAcxtB,EAASgE,GAC3DkD,GAAWl1H,EAAKtU,KAAM8vJ,EAAcxtB,EAASrjE,EAAUqnE,GACvDhyH,EAAIqwD,SACN,EAkBF,SAAS7iC,GAASxtB,EAAKX,EAASogB,EAAQpgB,GACtCW,EAAIy7I,SAAU,IAAAroJ,GAAeqsB,EAAMi8H,eAAgBr8I,EAAQq8I,gBAC3D17I,EAAIogI,aAAY,IAAAhtI,GAAeqsB,EAAM81G,WAAYl2H,EAAQk2H,aACzDv1H,EAAIqgI,gBAAiB,IAAAjtI,GAAeqsB,EAAM+1G,iBAAkBn2H,EAAQm2H,kBACpEx1H,EAAIutD,UAAW,IAAAn6D,GAAeqsB,EAAMs7H,gBAAiB17I,EAAQ07I,iBAC7D/6I,EAAIstD,WAAY,IAAAl6D,GAAeqsB,EAAM8rC,YAAalsD,EAAQksD,aAC1DvrD,EAAIqtD,aAAc,IAAAj6D,GAAeqsB,EAAMutC,YAAa3tD,EAAQ2tD,YAC9D,CACA,SAASszE,GAAOtgI,EAAKu0D,EAAUplE,GAC7B6Q,EAAIsgI,OAAOnxI,EAAOw2C,EAAGx2C,EAAO0zC,EAC9B,CACA,SAAS84G,GAAct8I,GACrB,OAAIA,EAAQu8I,QACH,KAELv8I,EAAQw8I,SAA8C,aAAnCx8I,EAAQy8I,uBACtB,KAEFxb,EACT,CACA,SAASyb,GAASjrF,EAAQhH,EAASzN,EAAS,CAAC,GAC3C,MAAM/O,EAAQwjB,EAAOnkE,QACdkP,MAAOmgJ,EAAc,EAAGlgJ,IAAKmgJ,EAAY3uG,EAAQ,GAAK+O,GACtDxgD,MAAOqgJ,EAAcpgJ,IAAKqgJ,GAAcryF,EACzCjuD,EAAQumB,KAAKqS,IAAIunH,EAAaE,GAC9BpgJ,EAAMsmB,KAAKC,IAAI45H,EAAWE,GAC1BC,EAAUJ,EAAcE,GAAgBD,EAAYC,GAAgBF,EAAcG,GAAcF,EAAYE,EAClH,MAAO,CACL7uG,QACAzxC,QACAu/G,KAAMtxD,EAAQsxD,KACd3zD,KAAM3rD,EAAMD,IAAUugJ,EAAU9uG,EAAQxxC,EAAMD,EAAQC,EAAMD,EAEhE,CACA,SAASwgJ,GAAYr8I,EAAK+lD,EAAM+D,EAASzN,GACvC,MAAM,OAACyU,EAAM,QAAEzxD,GAAW0mD,GACpB,MAACzY,EAAK,MAAEzxC,EAAK,KAAEu/G,EAAI,KAAE3zD,GAAQs0F,GAASjrF,EAAQhH,EAASzN,GACvDigG,EAAaX,GAAct8I,GACjC,IACI5S,EAAG47D,EAAO1oD,GADV,KAAC+jB,GAAO,EAAI,QAAEyf,GAAWkZ,GAAU,CAAC,EAExC,IAAK5vD,EAAI,EAAGA,GAAKg7D,IAAQh7D,EACvB47D,EAAQyI,GAAQj1D,GAASsnC,EAAUskB,EAAOh7D,EAAIA,IAAM6gD,GAChD+a,EAAMiN,OAEC5xC,GACT1jB,EAAI2sD,OAAOtE,EAAM1iB,EAAG0iB,EAAMxlB,GAC1Bnf,GAAO,GAEP44H,EAAWt8I,EAAKL,EAAM0oD,EAAOllB,EAAS9jC,EAAQu8I,SAEhDj8I,EAAO0oD,GAMT,OAJI+yD,IACF/yD,EAAQyI,GAAQj1D,GAASsnC,EAAUskB,EAAO,IAAMna,GAChDgvG,EAAWt8I,EAAKL,EAAM0oD,EAAOllB,EAAS9jC,EAAQu8I,YAEvCxgC,CACX,CACA,SAASmhC,GAAgBv8I,EAAK+lD,EAAM+D,EAASzN,GAC3C,MAAMyU,EAAS/K,EAAK+K,QACd,MAACxjB,EAAK,MAAEzxC,EAAK,KAAE4rD,GAAQs0F,GAASjrF,EAAQhH,EAASzN,IACjD,KAAC34B,GAAO,EAAI,QAAEyf,GAAWkZ,GAAU,CAAC,EAC1C,IAEI5vD,EAAG47D,EAAOm0F,EAAO9uB,EAAMF,EAAMivB,EAF7BC,EAAO,EACPC,EAAS,EAEb,MAAMC,EAAc7wJ,IAAW8P,GAASsnC,EAAUskB,EAAO17D,EAAQA,IAAUuhD,EACrEuvG,EAAQ,KACRnvB,IAASF,IACXxtH,EAAIsgI,OAAOoc,EAAMlvB,GACjBxtH,EAAIsgI,OAAOoc,EAAMhvB,GACjB1tH,EAAIsgI,OAAOoc,EAAMD,GACnB,EAMF,IAJI/4H,IACF2kC,EAAQyI,EAAO8rF,EAAW,IAC1B58I,EAAI2sD,OAAOtE,EAAM1iB,EAAG0iB,EAAMxlB,IAEvBp2C,EAAI,EAAGA,GAAKg7D,IAAQh7D,EAAG,CAE1B,GADA47D,EAAQyI,EAAO8rF,EAAWnwJ,IACtB47D,EAAMiN,KACR,SAEF,MAAM3vB,EAAI0iB,EAAM1iB,EACV9C,EAAIwlB,EAAMxlB,EACVi6G,EAAa,EAAJn3G,EACXm3G,IAAWN,GACT35G,EAAI6qF,EACNA,EAAO7qF,EACEA,EAAI2qF,IACbA,EAAO3qF,GAET65G,GAAQC,EAASD,EAAO/2G,KAAOg3G,IAE/BE,IACA78I,EAAIsgI,OAAO36F,EAAG9C,GACd25G,EAAQM,EACRH,EAAS,EACTjvB,EAAOF,EAAO3qF,GAEhB45G,EAAQ55G,CACV,CACAg6G,GACF,CACA,SAASE,GAAkBh3F,GACzB,MAAMQ,EAAOR,EAAK1mD,QACZk2H,EAAahvE,EAAKgvE,YAAchvE,EAAKgvE,WAAW5oI,OAChDqwJ,GAAej3F,EAAKyqE,aAAezqE,EAAKo1D,QAAU50D,EAAKs1F,SAA2C,aAAhCt1F,EAAKu1F,yBAA0Cv1F,EAAKq1F,UAAYrmB,EACxI,OAAOynB,EAAcT,GAAkBF,EACzC,CACA,SAASY,GAAwB59I,GAC/B,OAAIA,EAAQu8I,QACH,KAELv8I,EAAQw8I,SAA8C,aAAnCx8I,EAAQy8I,uBACtB,KAEF,IACT,CACA,SAASoB,GAAoBl9I,EAAK+lD,EAAMlqD,EAAOyxC,GAC7C,IAAI1nC,EAAOmgD,EAAKo3F,MACXv3I,IACHA,EAAOmgD,EAAKo3F,MAAQ,IAAIC,OACpBr3F,EAAKngD,KAAKA,EAAM/J,EAAOyxC,IACzB1nC,EAAKgnD,aAGTp/B,GAASxtB,EAAK+lD,EAAK1mD,SACnBW,EAAIwtD,OAAO5nD,EACb,CACA,SAASy3I,GAAiBr9I,EAAK+lD,EAAMlqD,EAAOyxC,GAC1C,MAAM,SAACznC,EAAQ,QAAExG,GAAW0mD,EACtBu3F,EAAgBP,GAAkBh3F,GACxC,IAAK,MAAM+D,KAAWjkD,EACpB2nB,GAASxtB,EAAKX,EAASyqD,EAAQrqC,OAC/Bzf,EAAIitD,YACAqwF,EAAct9I,EAAK+lD,EAAM+D,EAAS,CAACjuD,QAAOC,IAAKD,EAAQyxC,EAAQ,KACjEttC,EAAI4sD,YAEN5sD,EAAIwtD,QAER,CA5JAwtF,GAAWp/I,GAAK,MAChBo/I,GAAW98F,SAAW,CACpBoxE,YAAa,SACbtiE,YAAa,OACb+tF,qBAAiBtsJ,EACjBy+D,aAAc,EACd3B,YAAa,EACbgE,OAAQ,EACRy+D,QAAS,EACTvjE,WAAOh8D,EACPujI,UAAU,GAEZgpB,GAAWroB,cAAgB,CACzB5lE,gBAAiB,mBAgJnB,MAAMwwF,GAA8B,oBAAXH,OACzB,SAASptF,GAAKhwD,EAAK+lD,EAAMlqD,EAAOyxC,GAC1BiwG,KAAcx3F,EAAK1mD,QAAQyqD,QAC7BozF,GAAoBl9I,EAAK+lD,EAAMlqD,EAAOyxC,GAEtC+vG,GAAiBr9I,EAAK+lD,EAAMlqD,EAAOyxC,EAEvC,CACA,MAAMkwG,WAAoBpkH,GACxB5tC,YAAYmiE,GACV+8D,QACAh/H,KAAKglI,UAAW,EAChBhlI,KAAK2T,aAAU5Q,EACf/C,KAAKgxH,YAASjuH,EACd/C,KAAKyvH,WAAQ1sH,EACb/C,KAAK0mI,eAAY3jI,EACjB/C,KAAKyxJ,WAAQ1uJ,EACb/C,KAAKknE,aAAUnkE,EACf/C,KAAK+xJ,eAAYhvJ,EACjB/C,KAAK8kI,YAAa,EAClB9kI,KAAKgyJ,gBAAiB,EACtBhyJ,KAAK6kI,mBAAgB9hI,EACjBk/D,GACFh9D,OAAOqoB,OAAOttB,KAAMiiE,EAExB,CACAwjE,oBAAoB9hE,EAAW6yD,GAC7B,MAAM7iH,EAAU3T,KAAK2T,QACrB,IAAKA,EAAQw8I,SAA8C,aAAnCx8I,EAAQy8I,0BAA2Cz8I,EAAQu8I,UAAYlwJ,KAAKgyJ,eAAgB,CAClH,MAAMtiC,EAAO/7G,EAAQsxH,SAAWjlI,KAAKyvH,MAAQzvH,KAAK0mI,WAClD,QAA2B1mI,KAAKknE,QAASvzD,EAASgwD,EAAW+rD,EAAM8G,GACnEx2H,KAAKgyJ,gBAAiB,CACxB,CACF,CACI5sF,WAAOA,GACTplE,KAAKknE,QAAU9B,SACRplE,KAAK+xJ,iBACL/xJ,KAAKyxJ,MACZzxJ,KAAKgyJ,gBAAiB,CACxB,CACI5sF,aACF,OAAOplE,KAAKknE,OACd,CACI/sD,eACF,OAAOna,KAAK+xJ,YAAc/xJ,KAAK+xJ,WAAY,QAAiB/xJ,KAAMA,KAAK2T,QAAQyqD,SACjF,CACAmqE,QACE,MAAMpuH,EAAWna,KAAKma,SAChBirD,EAASplE,KAAKolE,OACpB,OAAOjrD,EAASlZ,QAAUmkE,EAAOjrD,EAAS,GAAGhK,MAC/C,CACAjP,OACE,MAAMiZ,EAAWna,KAAKma,SAChBirD,EAASplE,KAAKolE,OACdxjB,EAAQznC,EAASlZ,OACvB,OAAO2gD,GAASwjB,EAAOjrD,EAASynC,EAAQ,GAAGxxC,IAC7C,CACAu2F,YAAYhqC,EAAOua,GACjB,MAAMvjE,EAAU3T,KAAK2T,QACfjN,EAAQi2D,EAAMua,GACd9R,EAASplE,KAAKolE,OACdjrD,GAAW,QAAena,KAAM,CAACk3E,WAAU/mE,MAAOzJ,EAAO0J,IAAK1J,IACpE,IAAKyT,EAASlZ,OACZ,OAEF,MAAMiG,EAAS,GACT+qJ,EAAeV,GAAwB59I,GAC7C,IAAI5S,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAO5hD,EAASlZ,OAAQF,EAAIg7D,IAAQh7D,EAAG,CACjD,MAAM,MAACoP,EAAK,IAAEC,GAAO+J,EAASpZ,GACxB2kE,EAAKN,EAAOj1D,GACZskI,EAAKrvE,EAAOh1D,GAClB,GAAIs1D,IAAO+uE,EAAI,CACbvtI,EAAO3G,KAAKmlE,GACZ,QACF,CACA,MAAM55C,EAAI4K,KAAK2e,KAAK3uC,EAAQg/D,EAAGwR,KAAcu9D,EAAGv9D,GAAYxR,EAAGwR,KACzDg7E,EAAeD,EAAavsF,EAAI+uE,EAAI3oH,EAAGnY,EAAQu8I,SACrDgC,EAAah7E,GAAYva,EAAMua,GAC/BhwE,EAAO3G,KAAK2xJ,EACd,CACA,OAAyB,IAAlBhrJ,EAAOjG,OAAeiG,EAAO,GAAKA,CAC3C,CACAypJ,YAAYr8I,EAAK8pD,EAASzN,GACxB,MAAMihG,EAAgBP,GAAkBrxJ,MACxC,OAAO4xJ,EAAct9I,EAAKtU,KAAMo+D,EAASzN,EAC3C,CACAz2C,KAAK5F,EAAKnE,EAAOyxC,GACf,MAAMznC,EAAWna,KAAKma,SAChBy3I,EAAgBP,GAAkBrxJ,MACxC,IAAI0vH,EAAO1vH,KAAKyvH,MAChBt/G,EAAQA,GAAS,EACjByxC,EAAQA,GAAU5hD,KAAKolE,OAAOnkE,OAASkP,EACvC,IAAK,MAAMiuD,KAAWjkD,EACpBu1G,GAAQkiC,EAAct9I,EAAKtU,KAAMo+D,EAAS,CAACjuD,QAAOC,IAAKD,EAAQyxC,EAAQ,IAEzE,QAAS8tE,CACX,CACAprD,KAAKhwD,EAAKqvD,EAAWxzD,EAAOyxC,GAC1B,MAAMjuC,EAAU3T,KAAK2T,SAAW,CAAC,EAC3ByxD,EAASplE,KAAKolE,QAAU,GAC1BA,EAAOnkE,QAAU0S,EAAQksD,cAC3BvrD,EAAIkwD,OACJF,GAAKhwD,EAAKtU,KAAMmQ,EAAOyxC,GACvBttC,EAAIqwD,WAEF3kE,KAAKglI,WACPhlI,KAAKgyJ,gBAAiB,EACtBhyJ,KAAKyxJ,WAAQ1uJ,EAEjB,EAyBF,SAASovJ,GAAUx6I,EAAI+kF,EAAKr3B,EAAMyhE,GAChC,MAAMnzH,EAAUgE,EAAGhE,SACZ,CAAC0xD,GAAO3+D,GAASiR,EAAG8uD,SAAS,CAACpB,GAAOyhE,GAC5C,OAAQpwG,KAAK2e,IAAIqnD,EAAMh2F,GAASiN,EAAQ0rD,OAAS1rD,EAAQy+I,SAC3D,CA3BAN,GAAY5hJ,GAAK,OACjB4hJ,GAAYt/F,SAAW,CACrBw9F,eAAgB,OAChBnmB,WAAY,GACZC,iBAAkB,EAClBulB,gBAAiB,QACjBxvF,YAAa,EACbwyF,iBAAiB,EACjBjC,uBAAwB,UACxB1uF,MAAM,EACNujE,UAAU,EACVirB,SAAS,EACTC,QAAS,GAEX2B,GAAY7qB,cAAgB,CAC1B5lE,gBAAiB,kBACjBC,YAAa,eAEfwwF,GAAY9tB,YAAc,CACxBxT,aAAa,EACbD,WAAav1G,GAAkB,eAATA,GAAkC,SAATA,GAQjD,MAAMs3I,WAAqB5kH,GACzB5tC,YAAYmiE,GACV+8D,QACAh/H,KAAK2T,aAAU5Q,EACf/C,KAAKk6D,YAASn3D,EACd/C,KAAK4pE,UAAO7mE,EACZ/C,KAAKa,UAAOkC,EACRk/D,GACFh9D,OAAOqoB,OAAOttB,KAAMiiE,EAExB,CACAo3E,QAAQkZ,EAAQC,EAAQ1rB,GACtB,MAAMnzH,EAAU3T,KAAK2T,SACf,EAACsmC,EAAC,EAAE9C,GAAKn3C,KAAKymE,SAAS,CAAC,IAAK,KAAMqgE,GACzC,OAASpwG,KAAK2lD,IAAIk2E,EAASt4G,EAAG,GAAKvjB,KAAK2lD,IAAIm2E,EAASr7G,EAAG,GAAMzgB,KAAK2lD,IAAI1oE,EAAQy+I,UAAYz+I,EAAQ0rD,OAAQ,EAC7G,CACAozF,SAASF,EAAQzrB,GACf,OAAOqrB,GAAUnyJ,KAAMuyJ,EAAQ,IAAKzrB,EACtC,CACA4rB,SAASF,EAAQ1rB,GACf,OAAOqrB,GAAUnyJ,KAAMwyJ,EAAQ,IAAK1rB,EACtC,CACA2S,eAAe3S,GACb,MAAM,EAAC7sF,EAAC,EAAE9C,GAAKn3C,KAAKymE,SAAS,CAAC,IAAK,KAAMqgE,GACzC,MAAO,CAAC7sF,IAAG9C,IACb,CACA/uC,KAAKuL,GACHA,EAAUA,GAAW3T,KAAK2T,SAAW,CAAC,EACtC,IAAI0rD,EAAS1rD,EAAQ0rD,QAAU,EAC/BA,EAAS3oC,KAAKqS,IAAIs2B,EAAQA,GAAU1rD,EAAQg/I,aAAe,GAC3D,MAAM9yF,EAAcR,GAAU1rD,EAAQksD,aAAe,EACrD,OAAgC,GAAxBR,EAASQ,EACnB,CACAyE,KAAKhwD,EAAK+pD,GACR,MAAM1qD,EAAU3T,KAAK2T,QACjB3T,KAAK4pE,MAAQj2D,EAAQ0rD,OAAS,MAAQ,OAAer/D,KAAMq+D,EAAMr+D,KAAKoI,KAAKuL,GAAW,KAG1FW,EAAIqtD,YAAchuD,EAAQ2tD,YAC1BhtD,EAAIstD,UAAYjuD,EAAQksD,YACxBvrD,EAAImtD,UAAY9tD,EAAQ0tD,iBACxB,QAAU/sD,EAAKX,EAAS3T,KAAKi6C,EAAGj6C,KAAKm3C,GACvC,CACAmhG,WACE,MAAM3kI,EAAU3T,KAAK2T,SAAW,CAAC,EACjC,OAAOA,EAAQ0rD,OAAS1rD,EAAQy+I,SAClC,EAiBF,SAASQ,GAAarzF,EAAKunE,GACzB,MAAM,EAAC7sF,EAAC,EAAE9C,EAAC,KAAE1uB,EAAI,MAAEuzC,EAAK,OAAEE,GAAUqD,EAAIkH,SAAS,CAAC,IAAK,IAAK,OAAQ,QAAS,UAAWqgE,GACxF,IAAIr6F,EAAME,EAAOsxB,EAAKC,EAAQ20F,EAc9B,OAbItzF,EAAIG,YACNmzF,EAAO32F,EAAS,EAChBzvB,EAAO/V,KAAKC,IAAIsjB,EAAGxxB,GACnBkkB,EAAQjW,KAAKqS,IAAIkR,EAAGxxB,GACpBw1C,EAAM9mB,EAAI07G,EACV30F,EAAS/mB,EAAI07G,IAEbA,EAAO72F,EAAQ,EACfvvB,EAAOwN,EAAI44G,EACXlmH,EAAQsN,EAAI44G,EACZ50F,EAAMvnC,KAAKC,IAAIwgB,EAAG1uB,GAClBy1C,EAASxnC,KAAKqS,IAAIoO,EAAG1uB,IAEhB,CAACgkB,OAAMwxB,MAAKtxB,QAAOuxB,SAC5B,CACA,SAAS40F,GAAYlpF,EAAMljE,EAAOiwB,EAAKoS,GACrC,OAAO6gC,EAAO,GAAI,OAAYljE,EAAOiwB,EAAKoS,EAC5C,CACA,SAASgqH,GAAiBxzF,EAAKyzF,EAAMC,GACnC,MAAMvsJ,EAAQ64D,EAAI5rD,QAAQksD,YACpB+J,EAAOrK,EAAI4+D,cACX7kG,GAAI,QAAO5yB,GACjB,MAAO,CACLolB,EAAGgnI,GAAYlpF,EAAK3L,IAAK3kC,EAAE2kC,IAAK,EAAGg1F,GACnC1nJ,EAAGunJ,GAAYlpF,EAAKj9B,MAAOrT,EAAEqT,MAAO,EAAGqmH,GACvCvhJ,EAAGqhJ,GAAYlpF,EAAK1L,OAAQ5kC,EAAE4kC,OAAQ,EAAG+0F,GACzCjyJ,EAAG8xJ,GAAYlpF,EAAKn9B,KAAMnT,EAAEmT,KAAM,EAAGumH,GAEzC,CACA,SAASE,GAAkB3zF,EAAKyzF,EAAMC,GACpC,MAAM,mBAAC70B,GAAsB7+D,EAAIkH,SAAS,CAAC,uBACrC//D,EAAQ64D,EAAI5rD,QAAQ6tD,aACpBloC,GAAI,QAAc5yB,GAClBysJ,EAAOz8H,KAAKC,IAAIq8H,EAAMC,GACtBrpF,EAAOrK,EAAI4+D,cACXi1B,EAAeh1B,IAAsB,IAAAr9H,GAAS2F,GACpD,MAAO,CACL2sJ,QAASP,IAAaM,GAAgBxpF,EAAK3L,KAAO2L,EAAKn9B,KAAMnT,EAAE+5H,QAAS,EAAGF,GAC3EG,SAAUR,IAAaM,GAAgBxpF,EAAK3L,KAAO2L,EAAKj9B,MAAOrT,EAAEg6H,SAAU,EAAGH,GAC9EI,WAAYT,IAAaM,GAAgBxpF,EAAK1L,QAAU0L,EAAKn9B,KAAMnT,EAAEi6H,WAAY,EAAGJ,GACpFK,YAAaV,IAAaM,GAAgBxpF,EAAK1L,QAAU0L,EAAKj9B,MAAOrT,EAAEk6H,YAAa,EAAGL,GAE3F,CACA,SAASxzF,GAAcJ,GACrB,MAAM+pE,EAASspB,GAAarzF,GACtBvD,EAAQstE,EAAO38F,MAAQ28F,EAAO78F,KAC9ByvB,EAASotE,EAAOprE,OAASorE,EAAOrrE,IAChCqnE,EAASytB,GAAiBxzF,EAAKvD,EAAQ,EAAGE,EAAS,GACnDmD,EAAS6zF,GAAkB3zF,EAAKvD,EAAQ,EAAGE,EAAS,GAC1D,MAAO,CACLu3F,MAAO,CACLx5G,EAAGqvF,EAAO78F,KACV0K,EAAGmyF,EAAOrrE,IACVt8D,EAAGq6D,EACHxzC,EAAG0zC,EACHmD,UAEF+vF,MAAO,CACLn1G,EAAGqvF,EAAO78F,KAAO64F,EAAOtkI,EACxBm2C,EAAGmyF,EAAOrrE,IAAMqnE,EAAOx5G,EACvBnqB,EAAGq6D,EAAQspE,EAAOtkI,EAAIskI,EAAO/5H,EAC7Bid,EAAG0zC,EAASopE,EAAOx5G,EAAIw5G,EAAO7zH,EAC9B4tD,OAAQ,CACNg0F,QAAS38H,KAAKqS,IAAI,EAAGs2B,EAAOg0F,QAAU38H,KAAKqS,IAAIu8F,EAAOx5G,EAAGw5G,EAAOtkI,IAChEsyJ,SAAU58H,KAAKqS,IAAI,EAAGs2B,EAAOi0F,SAAW58H,KAAKqS,IAAIu8F,EAAOx5G,EAAGw5G,EAAO/5H,IAClEgoJ,WAAY78H,KAAKqS,IAAI,EAAGs2B,EAAOk0F,WAAa78H,KAAKqS,IAAIu8F,EAAO7zH,EAAG6zH,EAAOtkI,IACtEwyJ,YAAa98H,KAAKqS,IAAI,EAAGs2B,EAAOm0F,YAAc98H,KAAKqS,IAAIu8F,EAAO7zH,EAAG6zH,EAAO/5H,MAIhF,CACA,SAAS8tI,GAAQ95E,EAAKtlB,EAAG9C,EAAG2vF,GAC1B,MAAM4sB,EAAc,OAANz5G,EACR05G,EAAc,OAANx8G,EACRy8G,EAAWF,GAASC,EACpBrqB,EAAS/pE,IAAQq0F,GAAYhB,GAAarzF,EAAKunE,GACrD,OAAOwC,IACHoqB,IAAS,QAAWz5G,EAAGqvF,EAAO78F,KAAM68F,EAAO38F,UAC3CgnH,IAAS,QAAWx8G,EAAGmyF,EAAOrrE,IAAKqrE,EAAOprE,QAChD,CACA,SAAS21F,GAAUx0F,GACjB,OAAOA,EAAOg0F,SAAWh0F,EAAOi0F,UAAYj0F,EAAOk0F,YAAcl0F,EAAOm0F,WAC1E,CACA,SAASM,GAAkBx/I,EAAK0pD,GAC9B1pD,EAAI0pD,KAAKA,EAAK/jB,EAAG+jB,EAAK7mB,EAAG6mB,EAAKr8D,EAAGq8D,EAAKx1C,EACxC,CACA,SAASurI,GAAY/1F,EAAM4iB,EAAQozE,EAAU,CAAC,GAC5C,MAAM/5G,EAAI+jB,EAAK/jB,IAAM+5G,EAAQ/5G,GAAK2mC,EAAS,EACrCzpC,EAAI6mB,EAAK7mB,IAAM68G,EAAQ78G,GAAKypC,EAAS,EACrCj/E,GAAKq8D,EAAK/jB,EAAI+jB,EAAKr8D,IAAMqyJ,EAAQ/5G,EAAI+5G,EAAQryJ,EAAIi/E,EAAS,GAAK3mC,EAC/DzxB,GAAKw1C,EAAK7mB,EAAI6mB,EAAKx1C,IAAMwrI,EAAQ78G,EAAI68G,EAAQxrI,EAAIo4D,EAAS,GAAKzpC,EACrE,MAAO,CACL8C,EAAG+jB,EAAK/jB,EAAIA,EACZ9C,EAAG6mB,EAAK7mB,EAAIA,EACZx1C,EAAGq8D,EAAKr8D,EAAIA,EACZ6mB,EAAGw1C,EAAKx1C,EAAIA,EACZ62C,OAAQrB,EAAKqB,OAEjB,CApHAizF,GAAapiJ,GAAK,QAClBoiJ,GAAa9/F,SAAW,CACtBqN,YAAa,EACbuyF,UAAW,EACXvuB,iBAAkB,EAClB8uB,YAAa,EACbvuB,WAAY,SACZ/kE,OAAQ,EACR2E,SAAU,GAEZsuF,GAAarrB,cAAgB,CAC3B5lE,gBAAiB,kBACjBC,YAAa,eAyGf,MAAM2yF,WAAmBvmH,GACvB5tC,YAAYmiE,GACV+8D,QACAh/H,KAAK2T,aAAU5Q,EACf/C,KAAK0/D,gBAAa38D,EAClB/C,KAAKyoB,UAAO1lB,EACZ/C,KAAKg8D,WAAQj5D,EACb/C,KAAKk8D,YAASn5D,EACd/C,KAAK4+H,mBAAgB77H,EACjBk/D,GACFh9D,OAAOqoB,OAAOttB,KAAMiiE,EAExB,CACAqC,KAAKhwD,GACH,MAAM,cAACsqH,EAAejrH,SAAS,YAAC2tD,EAAW,gBAAED,IAAoBrhE,MAC3D,MAACovJ,EAAK,MAAEqE,GAAS9zF,GAAc3/D,MAC/Bk0J,EAAcL,GAAUJ,EAAMp0F,QAAU,KAAqBy0F,GACnEx/I,EAAIkwD,OACAivF,EAAM9xJ,IAAMytJ,EAAMztJ,GAAK8xJ,EAAMjrI,IAAM4mI,EAAM5mI,IAC3ClU,EAAIitD,YACJ2yF,EAAY5/I,EAAKy/I,GAAYN,EAAO70B,EAAewwB,IACnD96I,EAAIsvD,OACJswF,EAAY5/I,EAAKy/I,GAAY3E,GAAQxwB,EAAe60B,IACpDn/I,EAAImtD,UAAYH,EAChBhtD,EAAIotD,KAAK,YAEXptD,EAAIitD,YACJ2yF,EAAY5/I,EAAKy/I,GAAY3E,EAAOxwB,IACpCtqH,EAAImtD,UAAYJ,EAChB/sD,EAAIotD,OACJptD,EAAIqwD,SACN,CACA00E,QAAQkZ,EAAQC,EAAQ1rB,GACtB,OAAOuS,GAAQr5I,KAAMuyJ,EAAQC,EAAQ1rB,EACvC,CACA2rB,SAASF,EAAQzrB,GACf,OAAOuS,GAAQr5I,KAAMuyJ,EAAQ,KAAMzrB,EACrC,CACA4rB,SAASF,EAAQ1rB,GACf,OAAOuS,GAAQr5I,KAAM,KAAMwyJ,EAAQ1rB,EACrC,CACA2S,eAAe3S,GACb,MAAM,EAAC7sF,EAAC,EAAE9C,EAAC,KAAE1uB,EAAI,WAAEi3C,GAAc1/D,KAAKymE,SAAS,CAAC,IAAK,IAAK,OAAQ,cAAeqgE,GACjF,MAAO,CACL7sF,EAAGylB,GAAczlB,EAAIxxB,GAAQ,EAAIwxB,EACjC9C,EAAGuoB,EAAavoB,GAAKA,EAAI1uB,GAAQ,EAErC,CACA6vH,SAASjzE,GACP,MAAgB,MAATA,EAAerlE,KAAKg8D,MAAQ,EAAIh8D,KAAKk8D,OAAS,CACvD,EAEF+3F,GAAW/jJ,GAAK,MAChB+jJ,GAAWzhG,SAAW,CACpB2rE,cAAe,QACft+D,YAAa,EACb2B,aAAc,EACdo9D,cAAe,OACfwF,gBAAYrhI,GAEdkxJ,GAAWhtB,cAAgB,CACzB5lE,gBAAiB,kBACjBC,YAAa,eA+Mf,SAASywF,GAAU13F,EAAM52D,EAAQyzE,GAC/B,MAAM/8D,EAAWkgD,EAAKlgD,SAChBirD,EAAS/K,EAAK+K,OACd+uF,EAAU1wJ,EAAO2hE,OACjB7M,EAAQ,GACd,IAAK,MAAM6F,KAAWjkD,EAAU,CAC9B,IAAI,MAAChK,EAAK,IAAEC,GAAOguD,EACnBhuD,EAAMgkJ,GAAgBjkJ,EAAOC,EAAKg1D,GAClC,MAAMkkE,EAAS+qB,GAAWn9E,EAAU9R,EAAOj1D,GAAQi1D,EAAOh1D,GAAMguD,EAAQsxD,MACxE,IAAKjsH,EAAO0W,SAAU,CACpBo+C,EAAMh4D,KAAK,CACTqY,OAAQwlD,EACR36D,OAAQ6lI,EACRn5H,MAAOi1D,EAAOj1D,GACdC,IAAKg1D,EAAOh1D,KAEd,QACF,CACA,MAAMkkJ,GAAiB,QAAe7wJ,EAAQ6lI,GAC9C,IAAK,MAAMirB,KAAOD,EAAgB,CAChC,MAAME,EAAYH,GAAWn9E,EAAUi9E,EAAQI,EAAIpkJ,OAAQgkJ,EAAQI,EAAInkJ,KAAMmkJ,EAAI7kC,MAC3E+kC,GAAc,QAAcr2F,EAASgH,EAAQovF,GACnD,IAAK,MAAME,KAAcD,EACvBl8F,EAAMh4D,KAAK,CACTqY,OAAQ87I,EACRjxJ,OAAQ8wJ,EACRpkJ,MAAO,CACL,CAAC+mE,GAAWy9E,GAASrrB,EAAQkrB,EAAW,QAAS99H,KAAKqS,MAExD34B,IAAK,CACH,CAAC8mE,GAAWy9E,GAASrrB,EAAQkrB,EAAW,MAAO99H,KAAKC,OAI5D,CACF,CACA,OAAO4hC,CACT,CACA,SAAS87F,GAAWn9E,EAAUqxD,EAAOrnI,EAAMwuH,GACzC,GAAIA,EACF,OAEF,IAAIv/G,EAAQo4H,EAAMrxD,GACd9mE,EAAMlP,EAAKg2E,GAKf,MAJiB,UAAbA,IACF/mE,GAAQ,QAAgBA,GACxBC,GAAM,QAAgBA,IAEjB,CAAC8mE,WAAU/mE,QAAOC,MAC3B,CACA,SAASwkJ,GAAoBC,EAAUx6F,GACrC,MAAM,EAACpgB,EAAI,KAAI,EAAE9C,EAAI,MAAQ09G,GAAY,CAAC,EACpCC,EAAaz6F,EAAK+K,OAClBA,EAAS,GAaf,OAZA/K,EAAKlgD,SAASzV,SAAQ,EAAEyL,QAAOC,UAC7BA,EAAMgkJ,GAAgBjkJ,EAAOC,EAAK0kJ,GAClC,MAAMvsB,EAAQusB,EAAW3kJ,GACnBjP,EAAO4zJ,EAAW1kJ,GACd,OAAN+mC,GACFiuB,EAAO7kE,KAAK,CAAC05C,EAAGsuF,EAAMtuF,EAAG9C,MACzBiuB,EAAO7kE,KAAK,CAAC05C,EAAG/4C,EAAK+4C,EAAG9C,OACT,OAAN8C,IACTmrB,EAAO7kE,KAAK,CAAC05C,IAAG9C,EAAGoxF,EAAMpxF,IACzBiuB,EAAO7kE,KAAK,CAAC05C,IAAG9C,EAAGj2C,EAAKi2C,IAC1B,IAEKiuB,CACT,CACA,SAASgvF,GAAgBjkJ,EAAOC,EAAKg1D,GACnC,KAAMh1D,EAAMD,EAAOC,IAAO,CACxB,MAAMusD,EAAQyI,EAAOh1D,GACrB,IAAKgiC,MAAMuqB,EAAM1iB,KAAO7H,MAAMuqB,EAAMxlB,GAClC,KAEJ,CACA,OAAO/mC,CACT,CACA,SAASukJ,GAASnjJ,EAAGC,EAAG0Z,EAAM1qB,GAC5B,OAAI+Q,GAAKC,EACAhR,EAAG+Q,EAAE2Z,GAAO1Z,EAAE0Z,IAEhB3Z,EAAIA,EAAE2Z,GAAQ1Z,EAAIA,EAAE0Z,GAAQ,CACrC,CAEA,SAAS4pI,GAAoBF,EAAUx6F,GACrC,IAAI+K,EAAS,GACTqqD,GAAQ,EAOZ,OANI,OAAQolC,IACVplC,GAAQ,EACRrqD,EAASyvF,GAETzvF,EAASwvF,GAAoBC,EAAUx6F,GAElC+K,EAAOnkE,OAAS,IAAI6wJ,GAAY,CACrC1sF,SACAzxD,QAAS,CAACw8I,QAAS,GACnB1gC,QACAiX,UAAWjX,IACR,IACP,CACA,SAASulC,GAAiBp8I,GACxB,OAAOA,IAA0B,IAAhBA,EAAO8oD,IAC1B,CAEA,SAASuzF,GAAeC,EAAS70J,EAAO80J,GACtC,MAAMv8I,EAASs8I,EAAQ70J,GACvB,IAAIqhE,EAAO9oD,EAAO8oD,KAClB,MAAM0zF,EAAU,CAAC/0J,GACjB,IAAIoD,EACJ,IAAK0xJ,EACH,OAAOzzF,EAET,OAAgB,IAATA,IAA6C,IAA3B0zF,EAAQrkJ,QAAQ2wD,GAAc,CACrD,KAAK,OAAeA,GAClB,OAAOA,EAGT,GADAj+D,EAASyxJ,EAAQxzF,IACZj+D,EACH,OAAO,EAET,GAAIA,EAAO4gE,QACT,OAAO3C,EAET0zF,EAAQ70J,KAAKmhE,GACbA,EAAOj+D,EAAOi+D,IAChB,CACA,OAAO,CACT,CACA,SAAS2zF,GAAYh7F,EAAMh6D,EAAOuhD,GAChC,MAAM8f,EAAO4zF,GAAgBj7F,GAC7B,IAAI,IAAAt5D,GAAS2gE,GACX,OAAOtvB,MAAMsvB,EAAKh7D,QAAiBg7D,EAErC,IAAIj+D,EAAS0uC,WAAWuvB,GACxB,OAAI,OAAej+D,IAAWizB,KAAKw7C,MAAMzuE,KAAYA,EAC5C8xJ,GAAkB7zF,EAAK,GAAIrhE,EAAOoD,EAAQm+C,GAE5C,CAAC,SAAU,QAAS,MAAO,QAAS,SAAS7wC,QAAQ2wD,IAAS,GAAKA,CAC5E,CACA,SAAS6zF,GAAkBC,EAASn1J,EAAOoD,EAAQm+C,GAIjD,MAHgB,MAAZ4zG,GAA+B,MAAZA,IACrB/xJ,EAASpD,EAAQoD,KAEfA,IAAWpD,GAASoD,EAAS,GAAKA,GAAUm+C,IAGzCn+C,CACT,CACA,SAASgyJ,GAAgB/zF,EAAMrB,GAC7B,IAAIO,EAAQ,KAUZ,MATa,UAATc,EACFd,EAAQP,EAAMnC,OACI,QAATwD,EACTd,EAAQP,EAAMpC,KACL,IAAAl9D,GAAS2gE,GAClBd,EAAQP,EAAMk8D,iBAAiB76D,EAAKh7D,OAC3B25D,EAAMQ,eACfD,EAAQP,EAAMQ,gBAETD,CACT,CACA,SAAS80F,GAAgBh0F,EAAMrB,EAAOk9D,GACpC,IAAI72H,EAUJ,OAREA,EADW,UAATg7D,EACM67D,EACU,QAAT77D,EACDrB,EAAM1sD,QAAQ8jC,QAAU4oB,EAAM1pC,IAAM0pC,EAAMt3B,KACzC,IAAAhoC,GAAS2gE,GACVA,EAAKh7D,MAEL25D,EAAM2xE,eAETtrI,CACT,CACA,SAAS4uJ,GAAgBj7F,GACvB,MAAM1mD,EAAU0mD,EAAK1mD,QACfgiJ,EAAahiJ,EAAQ+tD,KAC3B,IAAIA,GAAO,IAAAh6D,GAAeiuJ,GAAcA,EAAWlyJ,OAAQkyJ,GAI3D,YAHa5yJ,IAAT2+D,IACFA,IAAS/tD,EAAQ0tD,kBAEN,IAATK,GAA2B,OAATA,KAGT,IAATA,EACK,SAEFA,EACT,CAEA,SAASk0F,GAAgBh9I,GACvB,MAAM,MAACynD,EAAK,MAAEhgE,EAAK,KAAEg6D,GAAQzhD,EACvBwsD,EAAS,GACTjrD,EAAWkgD,EAAKlgD,SAChB07I,EAAex7F,EAAK+K,OACpB0wF,EAAaC,GAAc11F,EAAOhgE,GACxCy1J,EAAWv1J,KAAKw0J,GAAoB,CAAC96G,EAAG,KAAM9C,EAAGkpB,EAAMnC,QAAS7D,IAChE,IAAK,IAAIt5D,EAAI,EAAGA,EAAIoZ,EAASlZ,OAAQF,IAAK,CACxC,MAAMq9D,EAAUjkD,EAASpZ,GACzB,IAAK,IAAIs2B,EAAI+mC,EAAQjuD,MAAOknB,GAAK+mC,EAAQhuD,IAAKinB,IAC5C2+H,GAAe5wF,EAAQywF,EAAax+H,GAAIy+H,EAE5C,CACA,OAAO,IAAIhE,GAAY,CAAC1sF,SAAQzxD,QAAS,CAAC,GAC5C,CACA,SAASoiJ,GAAc11F,EAAOhgE,GAC5B,MAAM41J,EAAQ,GACR1oB,EAAQltE,EAAMqzD,wBAAwB,QAC5C,IAAK,IAAI3yH,EAAI,EAAGA,EAAIwsI,EAAMtsI,OAAQF,IAAK,CACrC,MAAMwrC,EAAOghG,EAAMxsI,GACnB,GAAIwrC,EAAKlsC,QAAUA,EACjB,MAEGksC,EAAKuoF,QACRmhC,EAAMl1I,QAAQwrB,EAAK23B,QAEvB,CACA,OAAO+xF,CACT,CACA,SAASD,GAAe5wF,EAAQ8wF,EAAaJ,GAC3C,MAAMK,EAAY,GAClB,IAAK,IAAI9+H,EAAI,EAAGA,EAAIy+H,EAAW70J,OAAQo2B,IAAK,CAC1C,MAAMgjC,EAAOy7F,EAAWz+H,IAClB,MAACkxG,EAAK,KAAErnI,EAAI,MAAEy7D,GAASy5F,GAAU/7F,EAAM67F,EAAa,KAC1D,MAAKv5F,GAAU4rE,GAASrnI,GAGxB,GAAIqnI,EACF4tB,EAAUp1I,QAAQ47C,QAGlB,GADAyI,EAAO7kE,KAAKo8D,IACPz7D,EACH,KAGN,CACAkkE,EAAO7kE,QAAQ41J,EACjB,CACA,SAASC,GAAU/7F,EAAM67F,EAAah/E,GACpC,MAAMva,EAAQtC,EAAKssC,YAAYuvD,EAAah/E,GAC5C,IAAKva,EACH,MAAO,CAAC,EAEV,MAAM05F,EAAa15F,EAAMua,GACnB/8D,EAAWkgD,EAAKlgD,SAChB26I,EAAaz6F,EAAK+K,OACxB,IAAImjE,GAAQ,EACRrnI,GAAO,EACX,IAAK,IAAIH,EAAI,EAAGA,EAAIoZ,EAASlZ,OAAQF,IAAK,CACxC,MAAMq9D,EAAUjkD,EAASpZ,GACnBu1J,EAAaxB,EAAW12F,EAAQjuD,OAAO+mE,GACvCq/E,EAAYzB,EAAW12F,EAAQhuD,KAAK8mE,GAC1C,IAAI,QAAWm/E,EAAYC,EAAYC,GAAY,CACjDhuB,EAAQ8tB,IAAeC,EACvBp1J,EAAOm1J,IAAeE,EACtB,KACF,CACF,CACA,MAAO,CAAChuB,QAAOrnI,OAAMy7D,QACvB,CAEA,MAAM65F,GACJ12J,YAAY+6D,GACV76D,KAAKi6C,EAAI4gB,EAAK5gB,EACdj6C,KAAKm3C,EAAI0jB,EAAK1jB,EACdn3C,KAAKq/D,OAASxE,EAAKwE,MACrB,CACAsxF,YAAYr8I,EAAKg1H,EAAQzuE,GACvB,MAAM,EAAC5gB,EAAC,EAAE9C,EAAC,OAAEkoB,GAAUr/D,KAGvB,OAFAspI,EAASA,GAAU,CAACn5H,MAAO,EAAGC,IAAK,EAAAyrE,GACnCvnE,EAAIwqD,IAAI7kB,EAAG9C,EAAGkoB,EAAQiqE,EAAOl5H,IAAKk5H,EAAOn5H,OAAO,IACxC0qD,EAAKyuE,MACf,CACA3iC,YAAYhqC,GACV,MAAM,EAAC1iB,EAAC,EAAE9C,EAAC,OAAEkoB,GAAUr/D,KACjB++D,EAAQpC,EAAMoC,MACpB,MAAO,CACL9kB,EAAGA,EAAIvjB,KAAK8mC,IAAIuB,GAASM,EACzBloB,EAAGA,EAAIzgB,KAAK+mC,IAAIsB,GAASM,EACzBN,QAEJ,EAGF,SAAS03F,GAAW79I,GAClB,MAAM,MAAC0nD,EAAK,KAAEoB,EAAI,KAAErH,GAAQzhD,EAC5B,IAAI,OAAe8oD,GACjB,OAAOg1F,GAAep2F,EAAOoB,GAE/B,GAAa,UAATA,EACF,OAAOk0F,GAAgBh9I,GAEzB,GAAa,UAAT8oD,EACF,OAAO,EAET,MAAMmzF,EAAW8B,GAAgB/9I,GACjC,OAAIi8I,aAAoB2B,GACf3B,EAEFE,GAAoBF,EAAUx6F,EACvC,CACA,SAASq8F,GAAep2F,EAAOjgE,GAC7B,MAAMksC,EAAO+zB,EAAMC,eAAelgE,GAC5BgkE,EAAU93B,GAAQ+zB,EAAMmJ,iBAAiBppE,GAC/C,OAAOgkE,EAAU93B,EAAK23B,QAAU,IAClC,CACA,SAASyyF,GAAgB/9I,GACvB,MAAMynD,EAAQznD,EAAOynD,OAAS,CAAC,EAC/B,OAAIA,EAAMumE,yBACDgwB,GAAwBh+I,GAE1Bi+I,GAAsBj+I,EAC/B,CACA,SAASi+I,GAAsBj+I,GAC7B,MAAM,MAACynD,EAAQ,CAAC,EAAC,KAAEqB,GAAQ9oD,EACrBgoD,EAAQ60F,GAAgB/zF,EAAMrB,GACpC,IAAI,OAAeO,GAAQ,CACzB,MAAMlB,EAAaW,EAAM09D,eACzB,MAAO,CACL9jF,EAAGylB,EAAakB,EAAQ,KACxBzpB,EAAGuoB,EAAa,KAAOkB,EAE3B,CACA,OAAO,IACT,CACA,SAASg2F,GAAwBh+I,GAC/B,MAAM,MAACynD,EAAK,KAAEqB,GAAQ9oD,EAChBjF,EAAU0sD,EAAM1sD,QAChB1S,EAASo/D,EAAM+3D,YAAYn3H,OAC3BkP,EAAQwD,EAAQ8jC,QAAU4oB,EAAMt3B,IAAMs3B,EAAM1pC,IAC5CjwB,EAAQgvJ,GAAgBh0F,EAAMrB,EAAOlwD,GACrC1M,EAAS,GACf,GAAIkQ,EAAQ+sH,KAAK4F,SAAU,CACzB,MAAM/hE,EAASlE,EAAMumE,yBAAyB,EAAGz2H,GACjD,OAAO,IAAIqmJ,GAAU,CACnBv8G,EAAGsqB,EAAOtqB,EACV9C,EAAGotB,EAAOptB,EACVkoB,OAAQgB,EAAM+lE,8BAA8B1/H,IAEhD,CACA,IAAK,IAAI3F,EAAI,EAAGA,EAAIE,IAAUF,EAC5B0C,EAAOlD,KAAK8/D,EAAMumE,yBAAyB7lI,EAAG2F,IAEhD,OAAOjD,CACT,CAEA,SAASqzJ,GAAUxiJ,EAAKsE,EAAQylD,GAC9B,MAAM56D,EAASgzJ,GAAW79I,IACpB,KAACyhD,EAAI,MAAEgG,EAAK,KAAEgF,GAAQzsD,EACtBm+I,EAAW18F,EAAK1mD,QAChBgiJ,EAAaoB,EAASr1F,KACtBgB,EAAQq0F,EAAS11F,iBACjB,MAAC21F,EAAQt0F,EAAK,MAAEuzF,EAAQvzF,GAASizF,GAAc,CAAC,EAClDlyJ,GAAU42D,EAAK+K,OAAOnkE,UACxB,OAASqT,EAAK+pD,GACd44F,GAAO3iJ,EAAK,CAAC+lD,OAAM52D,SAAQuzJ,QAAOf,QAAO53F,OAAMgC,QAAOgF,UACtD,OAAW/wD,GAEf,CACA,SAAS2iJ,GAAO3iJ,EAAK2tD,GACnB,MAAM,KAAC5H,EAAI,OAAE52D,EAAM,MAAEuzJ,EAAK,MAAEf,EAAK,KAAE53F,EAAI,MAAEgC,GAAS4B,EAC5CiV,EAAW7c,EAAKo1D,MAAQ,QAAUxtD,EAAIoD,KAC5C/wD,EAAIkwD,OACa,MAAb0S,GAAoB++E,IAAUe,IAChCE,GAAa5iJ,EAAK7Q,EAAQ46D,EAAKJ,KAC/ByD,GAAKptD,EAAK,CAAC+lD,OAAM52D,SAAQi/D,MAAOs0F,EAAO32F,QAAO6W,aAC9C5iE,EAAIqwD,UACJrwD,EAAIkwD,OACJ0yF,GAAa5iJ,EAAK7Q,EAAQ46D,EAAKH,SAEjCwD,GAAKptD,EAAK,CAAC+lD,OAAM52D,SAAQi/D,MAAOuzF,EAAO51F,QAAO6W,aAC9C5iE,EAAIqwD,SACN,CACA,SAASuyF,GAAa5iJ,EAAK7Q,EAAQ0zJ,GACjC,MAAM,SAACh9I,EAAQ,OAAEirD,GAAU3hE,EAC3B,IAAI8kI,GAAQ,EACR6uB,GAAW,EACf9iJ,EAAIitD,YACJ,IAAK,MAAMnD,KAAWjkD,EAAU,CAC9B,MAAM,MAAChK,EAAK,IAAEC,GAAOguD,EACfmnE,EAAangE,EAAOj1D,GACpBq1H,EAAYpgE,EAAOgvF,GAAgBjkJ,EAAOC,EAAKg1D,IACjDmjE,GACFj0H,EAAI2sD,OAAOskE,EAAWtrF,EAAGsrF,EAAWpuF,GACpCoxF,GAAQ,IAERj0H,EAAIsgI,OAAOrP,EAAWtrF,EAAGk9G,GACzB7iJ,EAAIsgI,OAAOrP,EAAWtrF,EAAGsrF,EAAWpuF,IAEtCigH,IAAa3zJ,EAAOktJ,YAAYr8I,EAAK8pD,EAAS,CAACpmC,KAAMo/H,IACjDA,EACF9iJ,EAAI4sD,YAEJ5sD,EAAIsgI,OAAOpP,EAAUvrF,EAAGk9G,EAE5B,CACA7iJ,EAAIsgI,OAAOnxI,EAAO8kI,QAAQtuF,EAAGk9G,GAC7B7iJ,EAAI4sD,YACJ5sD,EAAIsvD,MACN,CACA,SAASlC,GAAKptD,EAAK2tD,GACjB,MAAM,KAAC5H,EAAI,OAAE52D,EAAM,SAAEyzE,EAAQ,MAAExU,EAAK,MAAErC,GAAS4B,EACzC9nD,EAAW43I,GAAU13F,EAAM52D,EAAQyzE,GACzC,IAAK,MAAOt+D,OAAQs4F,EAAKztG,OAAQ8wJ,EAAG,MAAEpkJ,EAAK,IAAEC,KAAQ+J,EAAU,CAC7D,MAAO4Z,OAAO,gBAACstC,EAAkBqB,GAAS,CAAC,GAAKwuC,EAC1CmmD,GAAsB,IAAX5zJ,EACjB6Q,EAAIkwD,OACJlwD,EAAImtD,UAAYJ,EAChBi2F,GAAWhjJ,EAAK+rD,EAAOg3F,GAAYhD,GAAWn9E,EAAU/mE,EAAOC,IAC/DkE,EAAIitD,YACJ,MAAM61F,IAAa/8F,EAAKs2F,YAAYr8I,EAAK48F,GACzC,IAAIwe,EACJ,GAAI2nC,EAAU,CACRD,EACF9iJ,EAAI4sD,YAEJq2F,GAAmBjjJ,EAAK7Q,EAAQ2M,EAAK8mE,GAEvC,MAAMsgF,IAAe/zJ,EAAOktJ,YAAYr8I,EAAKigJ,EAAK,CAACv8H,KAAMo/H,EAAU3/G,SAAS,IAC5Ei4E,EAAO0nC,GAAYI,EACd9nC,GACH6nC,GAAmBjjJ,EAAK7Q,EAAQ0M,EAAO+mE,EAE3C,CACA5iE,EAAI4sD,YACJ5sD,EAAIotD,KAAKguD,EAAO,UAAY,WAC5Bp7G,EAAIqwD,SACN,CACF,CACA,SAAS2yF,GAAWhjJ,EAAK+rD,EAAOipE,GAC9B,MAAM,IAACrrE,EAAG,OAAEC,GAAUmC,EAAMC,MAAMqD,WAC5B,SAACuT,EAAQ,MAAE/mE,EAAK,IAAEC,GAAOk5H,GAAU,CAAC,EACzB,MAAbpyD,IACF5iE,EAAIitD,YACJjtD,EAAI0pD,KAAK7tD,EAAO8tD,EAAK7tD,EAAMD,EAAO+tD,EAASD,GAC3C3pD,EAAIsvD,OAER,CACA,SAAS2zF,GAAmBjjJ,EAAK7Q,EAAQk5D,EAAOua,GAC9C,MAAMugF,EAAoBh0J,EAAOkjG,YAAYhqC,EAAOua,GAChDugF,GACFnjJ,EAAIsgI,OAAO6iB,EAAkBx9G,EAAGw9G,EAAkBtgH,EAEtD,CAEA,IAAI92C,GAAQ,CACV6P,GAAI,SACJwnJ,oBAAoBp3F,EAAOq3F,EAAOhkJ,GAChC,MAAMiuC,GAAS0e,EAAM/qD,KAAK+xD,UAAY,IAAIrmE,OACpCi0J,EAAU,GAChB,IAAI3oH,EAAMxrC,EAAGs5D,EAAMzhD,EACnB,IAAK7X,EAAI,EAAGA,EAAI6gD,IAAS7gD,EACvBwrC,EAAO+zB,EAAMC,eAAex/D,GAC5Bs5D,EAAO9tB,EAAK23B,QACZtrD,EAAS,KACLyhD,GAAQA,EAAK1mD,SAAW0mD,aAAgBy3F,KAC1Cl5I,EAAS,CACPyrD,QAAS/D,EAAMmJ,iBAAiB1oE,GAChCV,MAAOU,EACP2gE,KAAM2zF,GAAYh7F,EAAMt5D,EAAG6gD,GAC3B0e,QACA+E,KAAM94B,EAAKmiD,WAAW/6E,QAAQ6iH,UAC9Bn2D,MAAO9zB,EAAKk0B,OACZpG,SAGJ9tB,EAAKqrH,QAAUh/I,EACfs8I,EAAQ30J,KAAKqY,GAEf,IAAK7X,EAAI,EAAGA,EAAI6gD,IAAS7gD,EACvB6X,EAASs8I,EAAQn0J,GACZ6X,IAA0B,IAAhBA,EAAO8oD,OAGtB9oD,EAAO8oD,KAAOuzF,GAAeC,EAASn0J,EAAG4S,EAAQwhJ,WAErD,EACA0C,WAAWv3F,EAAOq3F,EAAOhkJ,GACvB,MAAM2wD,EAA4B,eAArB3wD,EAAQmkJ,SACf5lC,EAAW5xD,EAAM60E,+BACjB92E,EAAOiC,EAAMqD,UACnB,IAAK,IAAI5iE,EAAImxH,EAASjxH,OAAS,EAAGF,GAAK,IAAKA,EAAG,CAC7C,MAAM6X,EAASs5G,EAASnxH,GAAG62J,QACtBh/I,IAGLA,EAAOyhD,KAAKorE,oBAAoBpnE,EAAMzlD,EAAOysD,MACzCf,GAAQ1rD,EAAO8oD,MACjBo1F,GAAUx2F,EAAMhsD,IAAKsE,EAAQylD,GAEjC,CACF,EACA05F,mBAAmBz3F,EAAOq3F,EAAOhkJ,GAC/B,GAAyB,uBAArBA,EAAQmkJ,SACV,OAEF,MAAM5lC,EAAW5xD,EAAM60E,+BACvB,IAAK,IAAIp0I,EAAImxH,EAASjxH,OAAS,EAAGF,GAAK,IAAKA,EAAG,CAC7C,MAAM6X,EAASs5G,EAASnxH,GAAG62J,QACvB5C,GAAiBp8I,IACnBk+I,GAAUx2F,EAAMhsD,IAAKsE,EAAQ0nD,EAAMqD,UAEvC,CACF,EACAq0F,kBAAkB13F,EAAO36D,EAAMgO,GAC7B,MAAMiF,EAASjT,EAAK4mC,KAAKqrH,QACpB5C,GAAiBp8I,IAAgC,sBAArBjF,EAAQmkJ,UAGzChB,GAAUx2F,EAAMhsD,IAAKsE,EAAQ0nD,EAAMqD,UACrC,EACAnR,SAAU,CACR2iG,WAAW,EACX2C,SAAU,sBAId,MAAMG,GAAa,CAACC,EAAW5iB,KAC7B,IAAI,UAAC6iB,EAAY7iB,EAAQ,SAAE8iB,EAAW9iB,GAAY4iB,EAKlD,OAJIA,EAAUG,gBACZF,EAAYzhI,KAAKC,IAAIwhI,EAAW7iB,GAChC8iB,EAAWF,EAAUI,iBAAmB5hI,KAAKC,IAAIyhI,EAAU9iB,IAEtD,CACL8iB,WACAD,YACAI,WAAY7hI,KAAKqS,IAAIusG,EAAU6iB,GAChC,EAEGK,GAAa,CAAChnJ,EAAGC,IAAY,OAAND,GAAoB,OAANC,GAAcD,EAAEgvD,eAAiB/uD,EAAE+uD,cAAgBhvD,EAAEnR,QAAUoR,EAAEpR,MAC5G,MAAMo4J,WAAe/qH,GACnB5tC,YAAY+O,GACVmwH,QACAh/H,KAAK04J,QAAS,EACd14J,KAAK24J,eAAiB,GACtB34J,KAAK44J,aAAe,KACpB54J,KAAK64J,cAAe,EACpB74J,KAAKsgE,MAAQzxD,EAAOyxD,MACpBtgE,KAAK2T,QAAU9E,EAAO8E,QACtB3T,KAAKsU,IAAMzF,EAAOyF,IAClBtU,KAAK84J,iBAAc/1J,EACnB/C,KAAK+4J,iBAAch2J,EACnB/C,KAAKg5J,gBAAaj2J,EAClB/C,KAAK6iI,eAAY9/H,EACjB/C,KAAK4iI,cAAW7/H,EAChB/C,KAAKi+D,SAAMl7D,EACX/C,KAAKk+D,YAASn7D,EACd/C,KAAKysC,UAAO1pC,EACZ/C,KAAK2sC,WAAQ5pC,EACb/C,KAAKk8D,YAASn5D,EACd/C,KAAKg8D,WAAQj5D,EACb/C,KAAKisI,cAAWlpI,EAChB/C,KAAKq2F,cAAWtzF,EAChB/C,KAAKgoE,YAASjlE,EACd/C,KAAKixI,cAAWluI,CAClB,CACAya,OAAOolH,EAAUC,EAAWgL,GAC1B7tI,KAAK4iI,SAAWA,EAChB5iI,KAAK6iI,UAAYA,EACjB7iI,KAAKisI,SAAW4B,EAChB7tI,KAAKguI,gBACLhuI,KAAKi5J,cACLj5J,KAAK+uI,KACP,CACAf,gBACMhuI,KAAK+9H,gBACP/9H,KAAKg8D,MAAQh8D,KAAK4iI,SAClB5iI,KAAKysC,KAAOzsC,KAAKisI,SAASx/F,KAC1BzsC,KAAK2sC,MAAQ3sC,KAAKg8D,QAElBh8D,KAAKk8D,OAASl8D,KAAK6iI,UACnB7iI,KAAKi+D,IAAMj+D,KAAKisI,SAAShuE,IACzBj+D,KAAKk+D,OAASl+D,KAAKk8D,OAEvB,CACA+8F,cACE,MAAMf,EAAYl4J,KAAK2T,QAAQsyD,QAAU,CAAC,EAC1C,IAAI6yF,GAAc,OAASZ,EAAU/zB,eAAgB,CAACnkI,KAAKsgE,OAAQtgE,OAAS,GACxEk4J,EAAU/yJ,SACZ2zJ,EAAcA,EAAY3zJ,QAAQie,GAAS80I,EAAU/yJ,OAAOie,EAAMpjB,KAAKsgE,MAAM/qD,SAE3E2iJ,EAAU3mJ,OACZunJ,EAAcA,EAAYvnJ,MAAK,CAACC,EAAGC,IAAMymJ,EAAU3mJ,KAAKC,EAAGC,EAAGzR,KAAKsgE,MAAM/qD,SAEvEvV,KAAK2T,QAAQ8jC,SACfqhH,EAAYrhH,UAEdz3C,KAAK84J,YAAcA,CACrB,CACA/pB,MACE,MAAM,QAACp7H,EAAO,IAAEW,GAAOtU,KACvB,IAAK2T,EAAQquB,QAEX,YADAhiC,KAAKg8D,MAAQh8D,KAAKk8D,OAAS,GAG7B,MAAMg8F,EAAYvkJ,EAAQsyD,OACpBizF,GAAY,OAAOhB,EAAUr8F,MAC7By5E,EAAW4jB,EAAU9wJ,KACrBioI,EAAcrwI,KAAKm5J,uBACnB,SAACf,EAAQ,WAAEG,GAAcN,GAAWC,EAAW5iB,GACrD,IAAIt5E,EAAOE,EACX5nD,EAAIunD,KAAOq9F,EAAUtmH,OACjB5yC,KAAK+9H,gBACP/hE,EAAQh8D,KAAK4iI,SACb1mE,EAASl8D,KAAKo5J,SAAS/oB,EAAaiF,EAAU8iB,EAAUG,GAAc,KAEtEr8F,EAASl8D,KAAK6iI,UACd7mE,EAAQh8D,KAAKq5J,SAAShpB,EAAaiF,EAAU8iB,EAAUG,GAAc,IAEvEv4J,KAAKg8D,MAAQtlC,KAAKC,IAAIqlC,EAAOroD,EAAQivH,UAAY5iI,KAAK4iI,UACtD5iI,KAAKk8D,OAASxlC,KAAKC,IAAIulC,EAAQvoD,EAAQkvH,WAAa7iI,KAAK6iI,UAC3D,CACAu2B,SAAS/oB,EAAaiF,EAAU8iB,EAAUG,GACxC,MAAM,IAACjkJ,EAAG,SAAEsuH,EAAUjvH,SAAUsyD,QAAQ,QAACnG,KAAa9/D,KAChDs5J,EAAWt5J,KAAK24J,eAAiB,GACjCK,EAAah5J,KAAKg5J,WAAa,CAAC,GAChC78F,EAAao8F,EAAaz4F,EAChC,IAAIy5F,EAAclpB,EAClB/7H,EAAImuD,UAAY,OAChBnuD,EAAIyuD,aAAe,SACnB,IAAIy2F,GAAO,EACPv7F,GAAO9B,EAYX,OAXAn8D,KAAK84J,YAAYp0J,SAAQ,CAAC2/H,EAAYtjI,KACpC,MAAM04J,EAAYrB,EAAY9iB,EAAW,EAAKhhI,EAAI2nD,YAAYooE,EAAWhnG,MAAM2+B,OACrE,IAANj7D,GAAWi4J,EAAWA,EAAW/3J,OAAS,GAAKw4J,EAAY,EAAI35F,EAAU8iE,KAC3E22B,GAAep9F,EACf68F,EAAWA,EAAW/3J,QAAUF,EAAI,EAAI,EAAI,IAAM,EAClDk9D,GAAO9B,EACPq9F,KAEFF,EAASv4J,GAAK,CAAC0rC,KAAM,EAAGwxB,MAAKu7F,MAAKx9F,MAAOy9F,EAAWv9F,OAAQq8F,GAC5DS,EAAWA,EAAW/3J,OAAS,IAAMw4J,EAAY35F,CAAO,IAEnDy5F,CACT,CACAF,SAAShpB,EAAaiF,EAAU8iB,EAAUG,GACxC,MAAM,IAACjkJ,EAAG,UAAEuuH,EAAWlvH,SAAUsyD,QAAQ,QAACnG,KAAa9/D,KACjDs5J,EAAWt5J,KAAK24J,eAAiB,GACjCI,EAAc/4J,KAAK+4J,YAAc,GACjCW,EAAc72B,EAAYwN,EAChC,IAAIspB,EAAa75F,EACb85F,EAAkB,EAClBC,EAAmB,EACnBptH,EAAO,EACPqtH,EAAM,EAgBV,OAfA95J,KAAK84J,YAAYp0J,SAAQ,CAAC2/H,EAAYtjI,KACpC,MAAM04J,EAAYrB,EAAY9iB,EAAW,EAAKhhI,EAAI2nD,YAAYooE,EAAWhnG,MAAM2+B,MAC3Ej7D,EAAI,GAAK84J,EAAmBtB,EAAa,EAAIz4F,EAAU45F,IACzDC,GAAcC,EAAkB95F,EAChCi5F,EAAYx4J,KAAK,CAACy7D,MAAO49F,EAAiB19F,OAAQ29F,IAClDptH,GAAQmtH,EAAkB95F,EAC1Bg6F,IACAF,EAAkBC,EAAmB,GAEvCP,EAASv4J,GAAK,CAAC0rC,OAAMwxB,IAAK47F,EAAkBC,MAAK99F,MAAOy9F,EAAWv9F,OAAQq8F,GAC3EqB,EAAkBljI,KAAKqS,IAAI6wH,EAAiBH,GAC5CI,GAAoBtB,EAAaz4F,CAAO,IAE1C65F,GAAcC,EACdb,EAAYx4J,KAAK,CAACy7D,MAAO49F,EAAiB19F,OAAQ29F,IAC3CF,CACT,CACAI,iBACE,IAAK/5J,KAAK2T,QAAQquB,QAChB,OAEF,MAAMquG,EAAcrwI,KAAKm5J,uBAClBR,eAAgBW,EAAU3lJ,SAAS,MAAC2pD,EAAO2I,QAAQ,QAACnG,GAAQ,IAAEk6F,IAAQh6J,KACvEi6J,GAAY,QAAcD,EAAKh6J,KAAKysC,KAAMzsC,KAAKg8D,OACrD,GAAIh8D,KAAK+9H,eAAgB,CACvB,IAAIy7B,EAAM,EACN/sH,GAAO,OAAe6wB,EAAOt9D,KAAKysC,KAAOqzB,EAAS9/D,KAAK2sC,MAAQ3sC,KAAKg5J,WAAWQ,IACnF,IAAK,MAAMU,KAAUZ,EACfE,IAAQU,EAAOV,MACjBA,EAAMU,EAAOV,IACb/sH,GAAO,OAAe6wB,EAAOt9D,KAAKysC,KAAOqzB,EAAS9/D,KAAK2sC,MAAQ3sC,KAAKg5J,WAAWQ,KAEjFU,EAAOj8F,KAAOj+D,KAAKi+D,IAAMoyE,EAAcvwE,EACvCo6F,EAAOztH,KAAOwtH,EAAUE,WAAWF,EAAUhgH,EAAExN,GAAOytH,EAAOl+F,OAC7DvvB,GAAQytH,EAAOl+F,MAAQ8D,CAE3B,KAAO,CACL,IAAIg6F,EAAM,EACN77F,GAAM,OAAeX,EAAOt9D,KAAKi+D,IAAMoyE,EAAcvwE,EAAS9/D,KAAKk+D,OAASl+D,KAAK+4J,YAAYe,GAAK59F,QACtG,IAAK,MAAMg+F,KAAUZ,EACfY,EAAOJ,MAAQA,IACjBA,EAAMI,EAAOJ,IACb77F,GAAM,OAAeX,EAAOt9D,KAAKi+D,IAAMoyE,EAAcvwE,EAAS9/D,KAAKk+D,OAASl+D,KAAK+4J,YAAYe,GAAK59F,SAEpGg+F,EAAOj8F,IAAMA,EACbi8F,EAAOztH,MAAQzsC,KAAKysC,KAAOqzB,EAC3Bo6F,EAAOztH,KAAOwtH,EAAUE,WAAWF,EAAUhgH,EAAEigH,EAAOztH,MAAOytH,EAAOl+F,OACpEiC,GAAOi8F,EAAOh+F,OAAS4D,CAE3B,CACF,CACAi+D,eACE,MAAiC,QAA1B/9H,KAAK2T,QAAQ0iF,UAAgD,WAA1Br2F,KAAK2T,QAAQ0iF,QACzD,CACA/xB,OACE,GAAItkE,KAAK2T,QAAQquB,QAAS,CACxB,MAAM1tB,EAAMtU,KAAKsU,KACjB,OAASA,EAAKtU,MACdA,KAAKo6J,SACL,OAAW9lJ,EACb,CACF,CACA8lJ,QACE,MAAOzmJ,QAASknD,EAAI,YAAEk+F,EAAW,WAAEC,EAAU,IAAE1kJ,GAAOtU,MAChD,MAACs9D,EAAO2I,OAAQiyF,GAAar9F,EAC7Bw/F,EAAe,EAAAnxH,EAAA,MACf+wH,GAAY,QAAcp/F,EAAKm/F,IAAKh6J,KAAKysC,KAAMzsC,KAAKg8D,OACpDk9F,GAAY,OAAOhB,EAAUr8F,OAC5B6G,MAAO43F,EAAS,QAAEx6F,GAAWo4F,EAC9B5iB,EAAW4jB,EAAU9wJ,KACrBmyJ,EAAejlB,EAAW,EAChC,IAAIklB,EACJx6J,KAAK+0I,YACLzgI,EAAImuD,UAAYw3F,EAAUx3F,UAAU,QACpCnuD,EAAIyuD,aAAe,SACnBzuD,EAAIstD,UAAY,GAChBttD,EAAIunD,KAAOq9F,EAAUtmH,OACrB,MAAM,SAACwlH,EAAQ,UAAED,EAAS,WAAEI,GAAcN,GAAWC,EAAW5iB,GAC1DmlB,EAAgB,SAASxgH,EAAG9C,EAAGktF,GACnC,GAAIjyF,MAAMgmH,IAAaA,GAAY,GAAKhmH,MAAM+lH,IAAcA,EAAY,EACtE,OAEF7jJ,EAAIkwD,OACJ,MAAM5C,GAAY,IAAAl6D,GAAe28H,EAAWziE,UAAW,GAQvD,GAPAttD,EAAImtD,WAAY,IAAA/5D,GAAe28H,EAAW5iE,UAAW44F,GACrD/lJ,EAAIy7I,SAAU,IAAAroJ,GAAe28H,EAAW0rB,QAAS,QACjDz7I,EAAIqgI,gBAAiB,IAAAjtI,GAAe28H,EAAWsQ,eAAgB,GAC/DrgI,EAAIutD,UAAW,IAAAn6D,GAAe28H,EAAWxiE,SAAU,SACnDvtD,EAAIstD,UAAYA,EAChBttD,EAAIqtD,aAAc,IAAAj6D,GAAe28H,EAAW1iE,YAAa04F,GACzD/lJ,EAAIogI,aAAY,IAAAhtI,GAAe28H,EAAWq2B,SAAU,KAChDxC,EAAUG,cAAe,CAC3B,MAAMsC,EAAc,CAClBt7F,OAAQ84F,EAAYzhI,KAAKkkI,MAAQ,EACjCx2B,WAAYC,EAAWD,WACvBpgE,SAAUqgE,EAAWrgE,SACrBnE,YAAa+B,GAET4hE,EAAUy2B,EAAUY,MAAM5gH,EAAGm+G,EAAW,GACxC30B,EAAUtsF,EAAIojH,GACpB,QAAgBjmJ,EAAKqmJ,EAAan3B,EAASC,EAASy0B,EAAUI,iBAAmBF,EACnF,KAAO,CACL,MAAM0C,EAAU3jH,EAAIzgB,KAAKqS,KAAKusG,EAAW6iB,GAAa,EAAG,GACnD4C,EAAWd,EAAUE,WAAWlgH,EAAGm+G,GACnC52F,GAAe,QAAc6iE,EAAW7iE,cAC9CltD,EAAIitD,YACAt8D,OAAOR,OAAO+8D,GAAcprD,MAAK1O,GAAW,IAANA,KACxC,QAAmB4M,EAAK,CACtB2lC,EAAG8gH,EACH5jH,EAAG2jH,EACHn5J,EAAGy2J,EACH5vI,EAAG2vI,EACH94F,OAAQmC,IAGVltD,EAAI0pD,KAAK+8F,EAAUD,EAAS1C,EAAUD,GAExC7jJ,EAAIotD,OACc,IAAdE,GACFttD,EAAIwtD,QAER,CACAxtD,EAAIqwD,SACN,EACMpC,EAAW,SAAStoB,EAAG9C,EAAGktF,IAC9B,OAAW/vH,EAAK+vH,EAAWhnG,KAAM4c,EAAG9C,EAAKohH,EAAa,EAAIW,EAAW,CACnE8B,cAAe32B,EAAWvP,OAC1BryD,UAAWw3F,EAAUx3F,UAAU4hE,EAAW5hE,YAE9C,EACMs7D,EAAe/9H,KAAK+9H,eACpBsS,EAAcrwI,KAAKm5J,sBAEvBqB,EADEz8B,EACO,CACP9jF,GAAG,OAAeqjB,EAAOt9D,KAAKysC,KAAOqzB,EAAS9/D,KAAK2sC,MAAQqsH,EAAW,IACtE7hH,EAAGn3C,KAAKi+D,IAAM6B,EAAUuwE,EACxBh2E,KAAM,GAGC,CACPpgB,EAAGj6C,KAAKysC,KAAOqzB,EACf3oB,GAAG,OAAemmB,EAAOt9D,KAAKi+D,IAAMoyE,EAAcvwE,EAAS9/D,KAAKk+D,OAAS66F,EAAY,GAAG78F,QACxF7B,KAAM,IAGV,QAAsBr6D,KAAKsU,IAAKumD,EAAKogG,eACrC,MAAM9+F,EAAao8F,EAAaz4F,EAChC9/D,KAAK84J,YAAYp0J,SAAQ,CAAC2/H,EAAYtjI,KACpCuT,EAAIqtD,YAAc0iE,EAAWi2B,WAAaA,EAC1ChmJ,EAAImtD,UAAY4iE,EAAWi2B,WAAaA,EACxC,MAAMY,EAAY5mJ,EAAI2nD,YAAYooE,EAAWhnG,MAAM2+B,MAC7CyG,EAAYw3F,EAAUx3F,UAAU4hE,EAAW5hE,YAAc4hE,EAAW5hE,UAAYy1F,EAAUz1F,YAC1FzG,EAAQo8F,EAAWmC,EAAeW,EACxC,IAAIjhH,EAAIugH,EAAOvgH,EACX9C,EAAIqjH,EAAOrjH,EACf8iH,EAAUkB,SAASn7J,KAAKg8D,OACpB+hE,EACEh9H,EAAI,GAAKk5C,EAAI+hB,EAAQ8D,EAAU9/D,KAAK2sC,QACtCwK,EAAIqjH,EAAOrjH,GAAKglB,EAChBq+F,EAAOngG,OACPpgB,EAAIugH,EAAOvgH,GAAI,OAAeqjB,EAAOt9D,KAAKysC,KAAOqzB,EAAS9/D,KAAK2sC,MAAQqsH,EAAWwB,EAAOngG,QAElFt5D,EAAI,GAAKo2C,EAAIglB,EAAan8D,KAAKk+D,SACxCjkB,EAAIugH,EAAOvgH,EAAIA,EAAI8+G,EAAYyB,EAAOngG,MAAM2B,MAAQ8D,EACpD06F,EAAOngG,OACPljB,EAAIqjH,EAAOrjH,GAAI,OAAemmB,EAAOt9D,KAAKi+D,IAAMoyE,EAAcvwE,EAAS9/D,KAAKk+D,OAAS66F,EAAYyB,EAAOngG,MAAM6B,SAEhH,MAAMk/F,EAAQnB,EAAUhgH,EAAEA,GAC1BwgH,EAAcW,EAAOjkH,EAAGktF,GACxBpqF,GAAI,QAAOwoB,EAAWxoB,EAAIm+G,EAAWmC,EAAcx8B,EAAe9jF,EAAI+hB,EAAQh8D,KAAK2sC,MAAOkuB,EAAKm/F,KAC/Fz3F,EAAS03F,EAAUhgH,EAAEA,GAAI9C,EAAGktF,GACxBtG,EACFy8B,EAAOvgH,GAAK+hB,EAAQ8D,EAEpB06F,EAAOrjH,GAAKglB,CACd,KAEF,QAAqBn8D,KAAKsU,IAAKumD,EAAKogG,cACtC,CACAlmB,YACE,MAAMl6E,EAAO76D,KAAK2T,QACZw8H,EAAYt1E,EAAK2nD,MACjB64C,GAAY,OAAOlrB,EAAUt0E,MAC7By/F,GAAe,OAAUnrB,EAAUrwE,SACzC,IAAKqwE,EAAUnuG,QACb,OAEF,MAAMi4H,GAAY,QAAcp/F,EAAKm/F,IAAKh6J,KAAKysC,KAAMzsC,KAAKg8D,OACpD1nD,EAAMtU,KAAKsU,IACX+hF,EAAW85C,EAAU95C,SACrBkkE,EAAec,EAAUjzJ,KAAO,EAChCmzJ,EAA6BD,EAAar9F,IAAMs8F,EACtD,IAAIpjH,EACA1K,EAAOzsC,KAAKysC,KACZm2F,EAAW5iI,KAAKg8D,MACpB,GAAIh8D,KAAK+9H,eACP6E,EAAWlsG,KAAKqS,OAAO/oC,KAAKg5J,YAC5B7hH,EAAIn3C,KAAKi+D,IAAMs9F,EACf9uH,GAAO,OAAeouB,EAAKyC,MAAO7wB,EAAMzsC,KAAK2sC,MAAQi2F,OAChD,CACL,MAAMC,EAAY7iI,KAAK+4J,YAAY5oH,QAAO,CAACs+E,EAAKrmH,IAASsuB,KAAKqS,IAAI0lF,EAAKrmH,EAAK8zD,SAAS,GACrF/kB,EAAIokH,GAA6B,OAAe1gG,EAAKyC,MAAOt9D,KAAKi+D,IAAKj+D,KAAKk+D,OAAS2kE,EAAYhoE,EAAKoL,OAAOnG,QAAU9/D,KAAKm5J,sBAC7H,CACA,MAAMl/G,GAAI,OAAeo8C,EAAU5pD,EAAMA,EAAOm2F,GAChDtuH,EAAImuD,UAAYw3F,EAAUx3F,WAAU,OAAmB4zB,IACvD/hF,EAAIyuD,aAAe,SACnBzuD,EAAIqtD,YAAcwuE,EAAUztE,MAC5BpuD,EAAImtD,UAAY0uE,EAAUztE,MAC1BpuD,EAAIunD,KAAOw/F,EAAUzoH,QACrB,OAAWt+B,EAAK67H,EAAU9yG,KAAM4c,EAAG9C,EAAGkkH,EACxC,CACAlC,sBACE,MAAMhpB,EAAYnwI,KAAK2T,QAAQ6uG,MACzB64C,GAAY,OAAOlrB,EAAUt0E,MAC7By/F,GAAe,OAAUnrB,EAAUrwE,SACzC,OAAOqwE,EAAUnuG,QAAUq5H,EAAUl/F,WAAam/F,EAAap/F,OAAS,CAC1E,CACAs/F,iBAAiBvhH,EAAG9C,GAClB,IAAIp2C,EAAG06J,EAAQC,EACf,IAAI,QAAWzhH,EAAGj6C,KAAKysC,KAAMzsC,KAAK2sC,SAC7B,QAAWwK,EAAGn3C,KAAKi+D,IAAKj+D,KAAKk+D,QAEhC,IADAw9F,EAAK17J,KAAK24J,eACL53J,EAAI,EAAGA,EAAI26J,EAAGz6J,SAAUF,EAE3B,GADA06J,EAASC,EAAG36J,IACR,QAAWk5C,EAAGwhH,EAAOhvH,KAAMgvH,EAAOhvH,KAAOgvH,EAAOz/F,SAC/C,QAAW7kB,EAAGskH,EAAOx9F,IAAKw9F,EAAOx9F,IAAMw9F,EAAOv/F,QACjD,OAAOl8D,KAAK84J,YAAY/3J,GAI9B,OAAO,IACT,CACA46J,YAAY18H,GACV,MAAM47B,EAAO76D,KAAK2T,QAClB,IAAKioJ,GAAW38H,EAAEv7B,KAAMm3D,GACtB,OAEF,MAAMghG,EAAc77J,KAAKw7J,iBAAiBv8H,EAAEgb,EAAGhb,EAAEkY,GACjD,GAAe,cAAXlY,EAAEv7B,MAAmC,aAAXu7B,EAAEv7B,KAAqB,CACnD,MAAMmlE,EAAW7oE,KAAK44J,aAChBkD,EAAWtD,GAAW3vF,EAAUgzF,GAClChzF,IAAaizF,IACf,OAASjhG,EAAKl/C,QAAS,CAACsjB,EAAG4pC,EAAU7oE,MAAOA,MAE9CA,KAAK44J,aAAeiD,EAChBA,IAAgBC,IAClB,OAASjhG,EAAK0xF,QAAS,CAACttH,EAAG48H,EAAa77J,MAAOA,KAEnD,MAAW67J,IACT,OAAShhG,EAAK27B,QAAS,CAACv3D,EAAG48H,EAAa77J,MAAOA,KAEnD,EAEF,SAAS47J,GAAWl4J,EAAMm3D,GACxB,QAAc,cAATn3D,GAAiC,aAATA,IAAyBm3D,EAAK0xF,UAAW1xF,EAAKl/C,aAGvEk/C,EAAK27B,SAAqB,UAAT9yF,GAA6B,YAATA,EAI3C,CACA,IAAIq4J,GAAgB,CAClB7rJ,GAAI,SACJ8rJ,SAAUvD,GACVtoJ,MAAMmwD,EAAOq3F,EAAOhkJ,GAClB,MAAMuwH,EAAS5jE,EAAM4jE,OAAS,IAAIu0B,GAAO,CAACnkJ,IAAKgsD,EAAMhsD,IAAKX,UAAS2sD,UACnEu6E,GAAQzyE,UAAU9H,EAAO4jE,EAAQvwH,GACjCknI,GAAQuC,OAAO98E,EAAO4jE,EACxB,EACArjI,KAAKy/D,GACHu6E,GAAQwC,UAAU/8E,EAAOA,EAAM4jE,eACxB5jE,EAAM4jE,MACf,EACAt9G,aAAa05C,EAAOq3F,EAAOhkJ,GACzB,MAAMuwH,EAAS5jE,EAAM4jE,OACrB2W,GAAQzyE,UAAU9H,EAAO4jE,EAAQvwH,GACjCuwH,EAAOvwH,QAAUA,CACnB,EACAo2D,YAAYzJ,GACV,MAAM4jE,EAAS5jE,EAAM4jE,OACrBA,EAAO+0B,cACP/0B,EAAO61B,gBACT,EACA7vF,WAAW5J,EAAO36D,GACXA,EAAKsmJ,QACR3rF,EAAM4jE,OAAOy3B,YAAYh2J,EAAKmM,MAElC,EACA0gD,SAAU,CACRxwB,SAAS,EACTq0D,SAAU,MACV/4B,MAAO,SACP2zE,UAAU,EACVx5F,SAAS,EACTuwB,OAAQ,IACRwuB,QAAQv3D,EAAGolG,EAAYH,GACrB,MAAM7jI,EAAQgkI,EAAW7jE,aACnBy7F,EAAK/3B,EAAO5jE,MACd27F,EAAGxyF,iBAAiBppE,IACtB47J,EAAGnrC,KAAKzwH,GACRgkI,EAAWvP,QAAS,IAEpBmnC,EAAGrrC,KAAKvwH,GACRgkI,EAAWvP,QAAS,EAExB,EACAy3B,QAAS,KACT5wI,QAAS,KACTsqD,OAAQ,CACNvD,MAAQpuD,GAAQA,EAAIgsD,MAAM3sD,QAAQ+uD,MAClC01F,SAAU,GACVt4F,QAAS,GACTqkE,eAAe7jE,GACb,MAAMgH,EAAWhH,EAAM/qD,KAAK+xD,UACrBrB,QAAQ,cAACoyF,EAAa,WAAEj0B,EAAU,UAAE3hE,EAAS,MAAEC,IAAUpC,EAAM4jE,OAAOvwH,QAC7E,OAAO2sD,EAAM6xD,yBAAyB/sH,KAAKmnC,IACzC,MAAMxY,EAAQwY,EAAKmiD,WAAW4qC,SAAS++B,EAAgB,OAAIt1J,GACrD88D,GAAc,OAAU9rC,EAAM8rC,aACpC,MAAO,CACLxiC,KAAMiqC,EAAS/6B,EAAKlsC,OAAOmgD,MAC3BihB,UAAW1tC,EAAMstC,gBACjBi5F,UAAW53F,EACXoyD,QAASvoF,EAAK83B,QACd0rF,QAASh8H,EAAMi8H,eACf0K,SAAU3mI,EAAM81G,WAChB8K,eAAgB5gH,EAAM+1G,iBACtBjoE,SAAU9tC,EAAMs7H,gBAChBztF,WAAY/B,EAAY7D,MAAQ6D,EAAY3D,QAAU,EACtDyF,YAAa5tC,EAAMutC,YACnB8iE,WAAYA,GAAcrwG,EAAMqwG,WAChCpgE,SAAUjwC,EAAMiwC,SAChBvB,UAAWA,GAAa1uC,EAAM0uC,UAC9BjB,aAAc,EACdhB,aAAcj0B,EAAKlsC,MACpB,GACAL,KACL,GAEFwiH,MAAO,CACL9/C,MAAQpuD,GAAQA,EAAIgsD,MAAM3sD,QAAQ+uD,MAClC1gC,SAAS,EACTq0D,SAAU,SACVh5D,KAAM,KAGV2mG,YAAa,CACXxT,YAAcx1G,IAAUA,EAAK7I,WAAW,MACxC8zD,OAAQ,CACNuqD,YAAcx1G,IAAU,CAAC,iBAAkB,SAAU,QAAQtK,SAASsK,MAK5E,MAAMkhJ,WAAcxuH,GAClB5tC,YAAY+O,GACVmwH,QACAh/H,KAAKsgE,MAAQzxD,EAAOyxD,MACpBtgE,KAAK2T,QAAU9E,EAAO8E,QACtB3T,KAAKsU,IAAMzF,EAAOyF,IAClBtU,KAAKm8J,cAAWp5J,EAChB/C,KAAKi+D,SAAMl7D,EACX/C,KAAKk+D,YAASn7D,EACd/C,KAAKysC,UAAO1pC,EACZ/C,KAAK2sC,WAAQ5pC,EACb/C,KAAKg8D,WAAQj5D,EACb/C,KAAKk8D,YAASn5D,EACd/C,KAAKq2F,cAAWtzF,EAChB/C,KAAKgoE,YAASjlE,EACd/C,KAAKixI,cAAWluI,CAClB,CACAya,OAAOolH,EAAUC,GACf,MAAMhoE,EAAO76D,KAAK2T,QAGlB,GAFA3T,KAAKysC,KAAO,EACZzsC,KAAKi+D,IAAM,GACNpD,EAAK74B,QAER,YADAhiC,KAAKg8D,MAAQh8D,KAAKk8D,OAASl8D,KAAK2sC,MAAQ3sC,KAAKk+D,OAAS,GAGxDl+D,KAAKg8D,MAAQh8D,KAAK2sC,MAAQi2F,EAC1B5iI,KAAKk8D,OAASl8D,KAAKk+D,OAAS2kE,EAC5B,MAAM8Q,GAAY,OAAQ94E,EAAKx9B,MAAQw9B,EAAKx9B,KAAKp8B,OAAS,EAC1DjB,KAAKm8J,UAAW,OAAUthG,EAAKiF,SAC/B,MAAMlE,EAAW+3E,GAAY,OAAO94E,EAAKgB,MAAMM,WAAan8D,KAAKm8J,SAASjgG,OACtEl8D,KAAK+9H,eACP/9H,KAAKk8D,OAASN,EAEd57D,KAAKg8D,MAAQJ,CAEjB,CACAmiE,eACE,MAAMrhC,EAAM18F,KAAK2T,QAAQ0iF,SACzB,MAAe,QAARqG,GAAyB,WAARA,CAC1B,CACA0/D,UAAUv4F,GACR,MAAM,IAAC5F,EAAG,KAAExxB,EAAI,OAAEyxB,EAAM,MAAEvxB,EAAK,QAAEh5B,GAAW3T,KACtCs9D,EAAQ3pD,EAAQ2pD,MACtB,IACIslE,EAAUiJ,EAAQC,EADlB9nE,EAAW,EAkBf,OAhBIhkE,KAAK+9H,gBACP8N,GAAS,OAAevuE,EAAO7wB,EAAME,GACrCm/F,EAAS7tE,EAAM4F,EACf++D,EAAWj2F,EAAQF,IAEM,SAArB94B,EAAQ0iF,UACVw1C,EAASp/F,EAAOo3B,EAChBioE,GAAS,OAAexuE,EAAOY,EAAQD,GACvC+F,GAAiB,GAAN,EAAAoL,IAEXy8D,EAASl/F,EAAQk3B,EACjBioE,GAAS,OAAexuE,EAAOW,EAAKC,GACpC8F,EAAgB,GAAL,EAAAoL,GAEbwzD,EAAW1kE,EAASD,GAEf,CAAC4tE,SAAQC,SAAQlJ,WAAU5+D,WACpC,CACAM,OACE,MAAMhwD,EAAMtU,KAAKsU,IACXumD,EAAO76D,KAAK2T,QAClB,IAAKknD,EAAK74B,QACR,OAEF,MAAMq6H,GAAW,OAAOxhG,EAAKgB,MACvBM,EAAakgG,EAASlgG,WACtB0H,EAAS1H,EAAa,EAAIn8D,KAAKm8J,SAASl+F,KACxC,OAAC4tE,EAAM,OAAEC,EAAM,SAAElJ,EAAQ,SAAE5+D,GAAYhkE,KAAKo8J,UAAUv4F,IAC5D,OAAWvvD,EAAKumD,EAAKx9B,KAAM,EAAG,EAAGg/H,EAAU,CACzC35F,MAAO7H,EAAK6H,MACZkgE,WACA5+D,WACAvB,WAAW,OAAmB5H,EAAKyC,OACnCyF,aAAc,SACdoxE,YAAa,CAACtI,EAAQC,IAE1B,EAEF,SAASwwB,GAAYh8F,EAAO6vE,GAC1B,MAAM3tB,EAAQ,IAAI05C,GAAM,CACtB5nJ,IAAKgsD,EAAMhsD,IACXX,QAASw8H,EACT7vE,UAEFu6E,GAAQzyE,UAAU9H,EAAOkiD,EAAO2tB,GAChC0K,GAAQuC,OAAO98E,EAAOkiD,GACtBliD,EAAMi8F,WAAa/5C,CACrB,CACA,IAAIg6C,GAAe,CACjBtsJ,GAAI,QACJ8rJ,SAAUE,GACV/rJ,MAAMmwD,EAAOq3F,EAAOhkJ,GAClB2oJ,GAAYh8F,EAAO3sD,EACrB,EACA9S,KAAKy/D,GACH,MAAMi8F,EAAaj8F,EAAMi8F,WACzB1hB,GAAQwC,UAAU/8E,EAAOi8F,UAClBj8F,EAAMi8F,UACf,EACA31I,aAAa05C,EAAOq3F,EAAOhkJ,GACzB,MAAM6uG,EAAQliD,EAAMi8F,WACpB1hB,GAAQzyE,UAAU9H,EAAOkiD,EAAO7uG,GAChC6uG,EAAM7uG,QAAUA,CAClB,EACA6+C,SAAU,CACR8K,MAAO,SACPt7B,SAAS,EACT65B,KAAM,CACJmM,OAAQ,QAEVipE,UAAU,EACVnxE,QAAS,GACTu2B,SAAU,MACVh5D,KAAM,GACN2qC,OAAQ,KAEVi/D,cAAe,CACbvkE,MAAO,SAETshE,YAAa,CACXxT,aAAa,EACbD,YAAY,IAIJ,IAAIjuH,QA2ChB,MAAMu8D,GAAc,CAClB1Z,QAAQ2W,GACN,IAAKA,EAAM76D,OACT,OAAO,EAET,IAAIF,EAAG44B,EACHsgB,EAAI,EACJ9C,EAAI,EACJyK,EAAQ,EACZ,IAAK7gD,EAAI,EAAG44B,EAAMmiC,EAAM76D,OAAQF,EAAI44B,IAAO54B,EAAG,CAC5C,MAAM4W,EAAKmkD,EAAM/6D,GAAGspE,QACpB,GAAI1yD,GAAMA,EAAGovH,WAAY,CACvB,MAAMrqC,EAAM/kF,EAAGkvH,kBACf5sF,GAAKyiD,EAAIziD,EACT9C,GAAKulD,EAAIvlD,IACPyK,CACJ,CACF,CACA,MAAO,CACL3H,EAAGA,EAAI2H,EACPzK,EAAGA,EAAIyK,EAEX,EACAq4F,QAAQn+E,EAAO2gG,GACb,IAAK3gG,EAAM76D,OACT,OAAO,EAET,IAGIF,EAAG44B,EAAK+iI,EAHRziH,EAAIwiH,EAAcxiH,EAClB9C,EAAIslH,EAActlH,EAClBd,EAAcpvC,OAAOs7C,kBAEzB,IAAKxhD,EAAI,EAAG44B,EAAMmiC,EAAM76D,OAAQF,EAAI44B,IAAO54B,EAAG,CAC5C,MAAM4W,EAAKmkD,EAAM/6D,GAAGspE,QACpB,GAAI1yD,GAAMA,EAAGovH,WAAY,CACvB,MAAMxiE,EAAS5sD,EAAG8hI,iBACZvwG,GAAI,QAAsBuzH,EAAel4F,GAC3Cr7B,EAAImN,IACNA,EAAcnN,EACdwzH,EAAiB/kJ,EAErB,CACF,CACA,GAAI+kJ,EAAgB,CAClB,MAAMC,EAAKD,EAAe71B,kBAC1B5sF,EAAI0iH,EAAG1iH,EACP9C,EAAIwlH,EAAGxlH,CACT,CACA,MAAO,CACL8C,IACA9C,IAEJ,GAEF,SAASylH,GAAan0I,EAAMo0I,GAQ1B,OAPIA,KACE,OAAQA,GACVrwJ,MAAMwzB,UAAUz/B,KAAKwF,MAAM0iB,EAAMo0I,GAEjCp0I,EAAKloB,KAAKs8J,IAGPp0I,CACT,CACA,SAASq0I,GAAclvH,GACrB,OAAoB,kBAARA,GAAoBA,aAAe1yB,SAAW0yB,EAAI78B,QAAQ,OAAS,EACtE68B,EAAIxzB,MAAM,MAEZwzB,CACT,CACA,SAASmvH,GAAkBz8F,EAAOl9C,GAChC,MAAM,QAACinD,EAAO,aAAE7J,EAAY,MAAEngE,GAAS+iB,EACjCsrE,EAAapuB,EAAMC,eAAeC,GAAckuB,YAChD,MAACluC,EAAK,MAAE95C,GAASgoF,EAAWwqC,iBAAiB74H,GACnD,MAAO,CACLigE,QACA9f,QACA0Z,OAAQw0B,EAAW8pC,UAAUn4H,GAC7B4K,IAAKq1D,EAAM/qD,KAAK+xD,SAAS9G,GAAcjrD,KAAKlV,GAC5CokI,eAAgB/9H,EAChBw9D,QAASwqB,EAAWsnC,aACpBnsD,UAAWxpE,EACXmgE,eACA6J,UAEJ,CACA,SAAS2yF,GAAeh6C,EAASrvG,GAC/B,MAAMW,EAAM0uG,EAAQ1iD,MAAMhsD,KACpB,KAAC80B,EAAI,OAAE6zH,EAAM,MAAEz6C,GAASQ,GACxB,SAACo1C,EAAQ,UAAED,GAAaxkJ,EACxBupJ,GAAW,OAAOvpJ,EAAQupJ,UAC1B7B,GAAY,OAAO1nJ,EAAQ0nJ,WAC3B8B,GAAa,OAAOxpJ,EAAQwpJ,YAC5BC,EAAiB56C,EAAMvhH,OACvBo8J,EAAkBJ,EAAOh8J,OACzBq8J,EAAoBl0H,EAAKnoC,OACzB6+D,GAAU,OAAUnsD,EAAQmsD,SAClC,IAAI5D,EAAS4D,EAAQ5D,OACjBF,EAAQ,EACRuhG,EAAqBn0H,EAAK+G,QAAO,CAACyR,EAAO47G,IAAa57G,EAAQ47G,EAASx8H,OAAO//B,OAASu8J,EAAS7hG,MAAM16D,OAASu8J,EAAS16C,MAAM7hH,QAAQ,GAO1I,GANAs8J,GAAsBv6C,EAAQy6C,WAAWx8J,OAAS+hH,EAAQ06C,UAAUz8J,OAChEm8J,IACFlhG,GAAUkhG,EAAiB/B,EAAUl/F,YACnCihG,EAAiB,GAAKzpJ,EAAQgqJ,aAC/BhqJ,EAAQiqJ,mBAEPL,EAAoB,CACtB,MAAMM,EAAiBlqJ,EAAQmqJ,cAAgBpnI,KAAKqS,IAAIovH,EAAW+E,EAAS/gG,YAAc+gG,EAAS/gG,WACnGD,GAAUohG,EAAoBO,GAC5BN,EAAqBD,GAAqBJ,EAAS/gG,YACnDohG,EAAqB,GAAK5pJ,EAAQoqJ,WACtC,CACIV,IACFnhG,GAAUvoD,EAAQqqJ,gBACjBX,EAAkBF,EAAWhhG,YAC5BkhG,EAAkB,GAAK1pJ,EAAQsqJ,eAEnC,IAAIC,EAAe,EACnB,MAAMC,EAAe,SAAS9jG,GAC5B2B,EAAQtlC,KAAKqS,IAAIizB,EAAO1nD,EAAI2nD,YAAY5B,GAAM2B,MAAQkiG,EACxD,EAiBA,OAhBA5pJ,EAAIkwD,OACJlwD,EAAIunD,KAAOw/F,EAAUzoH,QACrB,OAAKowE,EAAQR,MAAO27C,GACpB7pJ,EAAIunD,KAAOqhG,EAAStqH,QACpB,OAAKowE,EAAQy6C,WAAWjnJ,OAAOwsG,EAAQ06C,WAAYS,GACnDD,EAAevqJ,EAAQmqJ,cAAiB1F,EAAW,EAAIzkJ,EAAQmoI,WAAc,GAC7E,OAAK1yG,GAAOo0H,KACV,OAAKA,EAASx8H,OAAQm9H,IACtB,OAAKX,EAAS7hG,MAAOwiG,IACrB,OAAKX,EAAS16C,MAAOq7C,EAAa,IAEpCD,EAAe,EACf5pJ,EAAIunD,KAAOshG,EAAWvqH,QACtB,OAAKowE,EAAQi6C,OAAQkB,GACrB7pJ,EAAIqwD,UACJ3I,GAAS8D,EAAQ9D,MACV,CAACA,QAAOE,SACjB,CACA,SAASkiG,GAAgB99F,EAAOl4D,GAC9B,MAAM,EAAC+uC,EAAC,OAAE+kB,GAAU9zD,EACpB,OAAI+uC,EAAI+kB,EAAS,EACR,MACE/kB,EAAKmpB,EAAMpE,OAASA,EAAS,EAC/B,SAEF,QACT,CACA,SAASmiG,GAAoBC,EAAQh+F,EAAO3sD,EAASvL,GACnD,MAAM,EAAC6xC,EAAC,MAAE+hB,GAAS5zD,EACbm2J,EAAQ5qJ,EAAQ6qJ,UAAY7qJ,EAAQ8qJ,aAC1C,MAAe,SAAXH,GAAqBrkH,EAAI+hB,EAAQuiG,EAAQj+F,EAAMtE,QAGpC,UAAXsiG,GAAsBrkH,EAAI+hB,EAAQuiG,EAAQ,QAA9C,EAGF,CACA,SAASG,GAAgBp+F,EAAO3sD,EAASvL,EAAMu2J,GAC7C,MAAM,EAAC1kH,EAAC,MAAE+hB,GAAS5zD,GACZ4zD,MAAO4iG,EAAYj7F,WAAW,KAACl3B,EAAI,MAAEE,IAAU2zB,EACtD,IAAIg+F,EAAS,SAWb,MAVe,WAAXK,EACFL,EAASrkH,IAAMxN,EAAOE,GAAS,EAAI,OAAS,QACnCsN,GAAK+hB,EAAQ,EACtBsiG,EAAS,OACArkH,GAAK2kH,EAAa5iG,EAAQ,IACnCsiG,EAAS,SAEPD,GAAoBC,EAAQh+F,EAAO3sD,EAASvL,KAC9Ck2J,EAAS,UAEJA,CACT,CACA,SAASO,GAAmBv+F,EAAO3sD,EAASvL,GAC1C,MAAMu2J,EAASv2J,EAAKu2J,QAAUhrJ,EAAQgrJ,QAAUP,GAAgB99F,EAAOl4D,GACvE,MAAO,CACLk2J,OAAQl2J,EAAKk2J,QAAU3qJ,EAAQ2qJ,QAAUI,GAAgBp+F,EAAO3sD,EAASvL,EAAMu2J,GAC/EA,SAEJ,CACA,SAASG,GAAO12J,EAAMk2J,GACpB,IAAI,EAACrkH,EAAC,MAAE+hB,GAAS5zD,EAMjB,MALe,UAAXk2J,EACFrkH,GAAK+hB,EACe,WAAXsiG,IACTrkH,GAAM+hB,EAAQ,GAET/hB,CACT,CACA,SAAS8kH,GAAO32J,EAAMu2J,EAAQK,GAC5B,IAAI,EAAC7nH,EAAC,OAAE+kB,GAAU9zD,EAQlB,MAPe,QAAXu2J,EACFxnH,GAAK6nH,EAEL7nH,GADoB,WAAXwnH,EACJziG,EAAS8iG,EAER9iG,EAAS,EAEV/kB,CACT,CACA,SAAS8nH,GAAmBtrJ,EAASvL,EAAM82J,EAAW5+F,GACpD,MAAM,UAACk+F,EAAS,aAAEC,EAAY,aAAEU,GAAgBxrJ,GAC1C,OAAC2qJ,EAAM,OAAEK,GAAUO,EACnBF,EAAiBR,EAAYC,GAC7B,QAACpL,EAAO,SAAEC,EAAQ,WAAEC,EAAU,YAAEC,IAAe,QAAc2L,GACnE,IAAIllH,EAAI6kH,GAAO12J,EAAMk2J,GACrB,MAAMnnH,EAAI4nH,GAAO32J,EAAMu2J,EAAQK,GAY/B,MAXe,WAAXL,EACa,SAAXL,EACFrkH,GAAK+kH,EACe,UAAXV,IACTrkH,GAAK+kH,GAEa,SAAXV,EACTrkH,GAAKvjB,KAAKqS,IAAIsqH,EAASE,GAAciL,EACjB,UAAXF,IACTrkH,GAAKvjB,KAAKqS,IAAIuqH,EAAUE,GAAegL,GAElC,CACLvkH,GAAG,OAAYA,EAAG,EAAGqmB,EAAMtE,MAAQ5zD,EAAK4zD,OACxC7kB,GAAG,OAAYA,EAAG,EAAGmpB,EAAMpE,OAAS9zD,EAAK8zD,QAE7C,CACA,SAASkjG,GAAYp8C,EAAS1lD,EAAO3pD,GACnC,MAAMmsD,GAAU,OAAUnsD,EAAQmsD,SAClC,MAAiB,WAAVxC,EACH0lD,EAAQ/oE,EAAI+oE,EAAQhnD,MAAQ,EAClB,UAAVsB,EACE0lD,EAAQ/oE,EAAI+oE,EAAQhnD,MAAQ8D,EAAQnzB,MACpCq2E,EAAQ/oE,EAAI6lB,EAAQrzB,IAC5B,CACA,SAAS4yH,GAAwB12J,GAC/B,OAAOi0J,GAAa,GAAIE,GAAcn0J,GACxC,CACA,SAAS22J,GAAqBl/J,EAAQ4iH,EAASu8C,GAC7C,OAAO,OAAcn/J,EAAQ,CAC3B4iH,UACAu8C,eACA77J,KAAM,WAEV,CACA,SAAS87J,GAAkB/xC,EAAWlgG,GACpC,MAAM86C,EAAW96C,GAAWA,EAAQ22C,SAAW32C,EAAQ22C,QAAQ8+C,SAAWz1F,EAAQ22C,QAAQ8+C,QAAQyK,UAClG,OAAOplD,EAAWolD,EAAUplD,SAASA,GAAYolD,CACnD,CACA,MAAMgyC,WAAgB/xH,GACpB5tC,YAAY+O,GACVmwH,QACAh/H,KAAK8jE,QAAU,EACf9jE,KAAKiuH,QAAU,GACfjuH,KAAK0/J,oBAAiB38J,EACtB/C,KAAK2/J,WAAQ58J,EACb/C,KAAK4/J,uBAAoB78J,EACzB/C,KAAK6/J,cAAgB,GACrB7/J,KAAKwxH,iBAAczuH,EACnB/C,KAAKyoE,cAAW1lE,EAChB/C,KAAKsgE,MAAQzxD,EAAOyxD,OAASzxD,EAAOmiH,OACpChxH,KAAKgxH,OAAShxH,KAAKsgE,MACnBtgE,KAAK2T,QAAU9E,EAAO8E,QACtB3T,KAAK8/J,gBAAa/8J,EAClB/C,KAAKwiH,WAAQz/G,EACb/C,KAAKy9J,gBAAa16J,EAClB/C,KAAKopC,UAAOrmC,EACZ/C,KAAK09J,eAAY36J,EACjB/C,KAAKi9J,YAASl6J,EACd/C,KAAKs+J,YAASv7J,EACd/C,KAAK2+J,YAAS57J,EACd/C,KAAKi6C,OAAIl3C,EACT/C,KAAKm3C,OAAIp0C,EACT/C,KAAKk8D,YAASn5D,EACd/C,KAAKg8D,WAAQj5D,EACb/C,KAAK+/J,YAASh9J,EACd/C,KAAKggK,YAASj9J,EACd/C,KAAKigK,iBAAcl9J,EACnB/C,KAAKkgK,sBAAmBn9J,EACxB/C,KAAKmgK,qBAAkBp9J,CACzB,CACA6yH,WAAWjiH,GACT3T,KAAK2T,QAAUA,EACf3T,KAAK4/J,uBAAoB78J,EACzB/C,KAAKyoE,cAAW1lE,CAClB,CACAk3H,qBACE,MAAM/mH,EAASlT,KAAK4/J,kBACpB,GAAI1sJ,EACF,OAAOA,EAET,MAAMotD,EAAQtgE,KAAKsgE,MACb3sD,EAAU3T,KAAK2T,QAAQy5H,WAAWptI,KAAK63H,cACvCh9D,EAAOlnD,EAAQy0H,SAAW9nE,EAAM3sD,QAAQ+8G,WAAa/8G,EAAQk9G,WAC7DA,EAAa,IAAIE,EAAW/wH,KAAKsgE,MAAOzF,GAI9C,OAHIA,EAAKvtD,aACPtN,KAAK4/J,kBAAoB36J,OAAO+0H,OAAOnJ,IAElCA,CACT,CACAgH,aACE,OAAO73H,KAAKyoE,WACZzoE,KAAKyoE,SAAW62F,GAAqBt/J,KAAKsgE,MAAMu3D,aAAc73H,KAAMA,KAAK6/J,eAC3E,CACAO,SAAS7yI,EAAS5Z,GAChB,MAAM,UAAC85G,GAAa95G,EACd0sJ,EAAc5yC,EAAU4yC,YAAYt6J,MAAM/F,KAAM,CAACutB,IACjDi1F,EAAQiL,EAAUjL,MAAMz8G,MAAM/F,KAAM,CAACutB,IACrC+yI,EAAa7yC,EAAU6yC,WAAWv6J,MAAM/F,KAAM,CAACutB,IACrD,IAAIouC,EAAQ,GAIZ,OAHAA,EAAQihG,GAAajhG,EAAOmhG,GAAcuD,IAC1C1kG,EAAQihG,GAAajhG,EAAOmhG,GAAct6C,IAC1C7mD,EAAQihG,GAAajhG,EAAOmhG,GAAcwD,IACnC3kG,CACT,CACA4kG,cAAchB,EAAc5rJ,GAC1B,OAAO0rJ,GAAwB1rJ,EAAQ85G,UAAUgwC,WAAW13J,MAAM/F,KAAM,CAACu/J,IAC3E,CACAiB,QAAQjB,EAAc5rJ,GACpB,MAAM,UAAC85G,GAAa95G,EACd8sJ,EAAY,GAalB,OAZA,OAAKlB,GAAehyI,IAClB,MAAMiwI,EAAW,CACfx8H,OAAQ,GACR26B,MAAO,GACPmnD,MAAO,IAEH49C,EAASlB,GAAkB/xC,EAAWlgG,GAC5CqvI,GAAaY,EAASx8H,OAAQ87H,GAAc4D,EAAOC,YAAYz4J,KAAKlI,KAAMutB,KAC1EqvI,GAAaY,EAAS7hG,MAAO+kG,EAAOlgH,MAAMt4C,KAAKlI,KAAMutB,IACrDqvI,GAAaY,EAAS16C,MAAOg6C,GAAc4D,EAAOE,WAAW14J,KAAKlI,KAAMutB,KACxEkzI,EAAUlgK,KAAKi9J,EAAS,IAEnBiD,CACT,CACAI,aAAatB,EAAc5rJ,GACzB,OAAO0rJ,GAAwB1rJ,EAAQ85G,UAAUiwC,UAAU33J,MAAM/F,KAAM,CAACu/J,IAC1E,CACAuB,UAAUvB,EAAc5rJ,GACtB,MAAM,UAAC85G,GAAa95G,EACdotJ,EAAetzC,EAAUszC,aAAah7J,MAAM/F,KAAM,CAACu/J,IACnDtC,EAASxvC,EAAUwvC,OAAOl3J,MAAM/F,KAAM,CAACu/J,IACvCyB,EAAcvzC,EAAUuzC,YAAYj7J,MAAM/F,KAAM,CAACu/J,IACvD,IAAI5jG,EAAQ,GAIZ,OAHAA,EAAQihG,GAAajhG,EAAOmhG,GAAciE,IAC1CplG,EAAQihG,GAAajhG,EAAOmhG,GAAcG,IAC1CthG,EAAQihG,GAAajhG,EAAOmhG,GAAckE,IACnCrlG,CACT,CACAslG,aAAattJ,GACX,MAAM1T,EAASD,KAAKiuH,QACd14G,EAAOvV,KAAKsgE,MAAM/qD,KAClB0qJ,EAAc,GACdC,EAAmB,GACnBC,EAAkB,GACxB,IACIp/J,EAAG44B,EADH4lI,EAAe,GAEnB,IAAKx+J,EAAI,EAAG44B,EAAM15B,EAAOgB,OAAQF,EAAI44B,IAAO54B,EAC1Cw+J,EAAah/J,KAAKw8J,GAAkB/8J,KAAKsgE,MAAOrgE,EAAOc,KAkBzD,OAhBI4S,EAAQxO,SACVo6J,EAAeA,EAAap6J,QAAO,CAACklE,EAAShqE,EAAOgnF,IAAU1zE,EAAQxO,OAAOklE,EAAShqE,EAAOgnF,EAAO9xE,MAElG5B,EAAQutJ,WACV3B,EAAeA,EAAahuJ,MAAK,CAACC,EAAGC,IAAMkC,EAAQutJ,SAAS1vJ,EAAGC,EAAG8D,OAEpE,OAAKgqJ,GAAehyI,IAClB,MAAMmzI,EAASlB,GAAkB7rJ,EAAQ85G,UAAWlgG,GACpD0yI,EAAY1/J,KAAKmgK,EAAOS,WAAWj5J,KAAKlI,KAAMutB,IAC9C2yI,EAAiB3/J,KAAKmgK,EAAOU,gBAAgBl5J,KAAKlI,KAAMutB,IACxD4yI,EAAgB5/J,KAAKmgK,EAAOW,eAAen5J,KAAKlI,KAAMutB,GAAS,IAEjEvtB,KAAKigK,YAAcA,EACnBjgK,KAAKkgK,iBAAmBA,EACxBlgK,KAAKmgK,gBAAkBA,EACvBngK,KAAK8/J,WAAaP,EACXA,CACT,CACA/hJ,OAAOu/H,EAASkP,GACd,MAAMt4I,EAAU3T,KAAK2T,QAAQy5H,WAAWptI,KAAK63H,cACvC53H,EAASD,KAAKiuH,QACpB,IAAIwC,EACA8uC,EAAe,GACnB,GAAKt/J,EAAOgB,OAML,CACL,MAAMo1F,EAAWx3B,GAAYlrD,EAAQ0iF,UAAUnuF,KAAKlI,KAAMC,EAAQD,KAAK0/J,gBACvEH,EAAev/J,KAAKihK,aAAattJ,GACjC3T,KAAKwiH,MAAQxiH,KAAKogK,SAASb,EAAc5rJ,GACzC3T,KAAKy9J,WAAaz9J,KAAKugK,cAAchB,EAAc5rJ,GACnD3T,KAAKopC,KAAOppC,KAAKwgK,QAAQjB,EAAc5rJ,GACvC3T,KAAK09J,UAAY19J,KAAK6gK,aAAatB,EAAc5rJ,GACjD3T,KAAKi9J,OAASj9J,KAAK8gK,UAAUvB,EAAc5rJ,GAC3C,MAAMvL,EAAOpI,KAAK2/J,MAAQ3C,GAAeh9J,KAAM2T,GACzC2tJ,EAAkBr8J,OAAOqoB,OAAO,CAAC,EAAG+oE,EAAUjuF,GAC9C82J,EAAYL,GAAmB7+J,KAAKsgE,MAAO3sD,EAAS2tJ,GACpDC,EAAkBtC,GAAmBtrJ,EAAS2tJ,EAAiBpC,EAAWl/J,KAAKsgE,OACrFtgE,KAAKs+J,OAASY,EAAUZ,OACxBt+J,KAAK2+J,OAASO,EAAUP,OACxBluC,EAAa,CACX3sD,QAAS,EACT7pB,EAAGsnH,EAAgBtnH,EACnB9C,EAAGoqH,EAAgBpqH,EACnB6kB,MAAO5zD,EAAK4zD,MACZE,OAAQ9zD,EAAK8zD,OACb6jG,OAAQ1pE,EAASp8C,EACjB+lH,OAAQ3pE,EAASl/C,EAErB,MA5BuB,IAAjBn3C,KAAK8jE,UACP2sD,EAAa,CACX3sD,QAAS,IA2Bf9jE,KAAK6/J,cAAgBN,EACrBv/J,KAAKyoE,cAAW1lE,EACZ0tH,GACFzwH,KAAKi6H,qBAAqBz8G,OAAOxd,KAAMywH,GAErCssB,GAAWppI,EAAQ6tJ,UACrB7tJ,EAAQ6tJ,SAASt5J,KAAKlI,KAAM,CAACsgE,MAAOtgE,KAAKsgE,MAAO0iD,QAAShjH,KAAMisJ,UAEnE,CACAwV,UAAUC,EAAcptJ,EAAKlM,EAAMuL,GACjC,MAAMguJ,EAAgB3hK,KAAK4hK,iBAAiBF,EAAct5J,EAAMuL,GAChEW,EAAIsgI,OAAO+sB,EAAcrjG,GAAIqjG,EAAcpjG,IAC3CjqD,EAAIsgI,OAAO+sB,EAAc3uB,GAAI2uB,EAAc1uB,IAC3C3+H,EAAIsgI,OAAO+sB,EAAcE,GAAIF,EAAcG,GAC7C,CACAF,iBAAiBF,EAAct5J,EAAMuL,GACnC,MAAM,OAAC2qJ,EAAM,OAAEK,GAAU3+J,MACnB,UAACw+J,EAAS,aAAEW,GAAgBxrJ,GAC5B,QAAC0/I,EAAO,SAAEC,EAAQ,WAAEC,EAAU,YAAEC,IAAe,QAAc2L,IAC5DllH,EAAG8nH,EAAK5qH,EAAG6qH,GAAON,GACnB,MAAC1lG,EAAK,OAAEE,GAAU9zD,EACxB,IAAIk2D,EAAI00E,EAAI6uB,EAAItjG,EAAI00E,EAAI6uB,EAoCxB,MAnCe,WAAXnD,GACF1rB,EAAK+uB,EAAO9lG,EAAS,EACN,SAAXoiG,GACFhgG,EAAKyjG,EACL/uB,EAAK10E,EAAKkgG,EACVjgG,EAAK00E,EAAKurB,EACVsD,EAAK7uB,EAAKurB,IAEVlgG,EAAKyjG,EAAM/lG,EACXg3E,EAAK10E,EAAKkgG,EACVjgG,EAAK00E,EAAKurB,EACVsD,EAAK7uB,EAAKurB,GAEZqD,EAAKvjG,IAGH00E,EADa,SAAXsrB,EACGyD,EAAMrrI,KAAKqS,IAAIsqH,EAASE,GAAc,EACvB,UAAX+K,EACJyD,EAAM/lG,EAAQtlC,KAAKqS,IAAIuqH,EAAUE,GAAegL,EAEhDx+J,KAAK+/J,OAEG,QAAXpB,GACFpgG,EAAKyjG,EACL/uB,EAAK10E,EAAKigG,EACVlgG,EAAK00E,EAAKwrB,EACVqD,EAAK7uB,EAAKwrB,IAEVjgG,EAAKyjG,EAAM9lG,EACX+2E,EAAK10E,EAAKigG,EACVlgG,EAAK00E,EAAKwrB,EACVqD,EAAK7uB,EAAKwrB,GAEZsD,EAAKvjG,GAEA,CAACD,KAAI00E,KAAI6uB,KAAItjG,KAAI00E,KAAI6uB,KAC9B,CACA/sB,UAAUzvE,EAAIhxD,EAAKX,GACjB,MAAM6uG,EAAQxiH,KAAKwiH,MACbvhH,EAASuhH,EAAMvhH,OACrB,IAAIo6J,EAAWsC,EAAc58J,EAC7B,GAAIE,EAAQ,CACV,MAAMg5J,GAAY,QAActmJ,EAAQqmJ,IAAKh6J,KAAKi6C,EAAGj6C,KAAKg8D,OAQ1D,IAPAsJ,EAAGrrB,EAAImlH,GAAYp/J,KAAM2T,EAAQg4H,WAAYh4H,GAC7CW,EAAImuD,UAAYw3F,EAAUx3F,UAAU9uD,EAAQg4H,YAC5Cr3H,EAAIyuD,aAAe,SACnBs4F,GAAY,OAAO1nJ,EAAQ0nJ,WAC3BsC,EAAehqJ,EAAQgqJ,aACvBrpJ,EAAImtD,UAAY9tD,EAAQsuJ,WACxB3tJ,EAAIunD,KAAOw/F,EAAUzoH,OAChB7xC,EAAI,EAAGA,EAAIE,IAAUF,EACxBuT,EAAIiuD,SAASigD,EAAMzhH,GAAIk5J,EAAUhgH,EAAEqrB,EAAGrrB,GAAIqrB,EAAGnuB,EAAIkkH,EAAUl/F,WAAa,GACxEmJ,EAAGnuB,GAAKkkH,EAAUl/F,WAAawhG,EAC3B58J,EAAI,IAAME,IACZqkE,EAAGnuB,GAAKxjC,EAAQiqJ,kBAAoBD,EAG1C,CACF,CACAuE,cAAc5tJ,EAAKgxD,EAAIvkE,EAAGk5J,EAAWtmJ,GACnC,MAAMssJ,EAAcjgK,KAAKigK,YAAYl/J,GAC/BqgK,EAAkBphK,KAAKkgK,iBAAiBn/J,IACxC,UAACo3J,EAAS,SAAEC,EAAQ,WAAEtc,GAAcnoI,EACpCupJ,GAAW,OAAOvpJ,EAAQupJ,UAC1BiF,EAAS/C,GAAYp/J,KAAM,OAAQ2T,GACnCyuJ,EAAYnI,EAAUhgH,EAAEkoH,GACxBE,EAAUlK,EAAY+E,EAAS/gG,YAAc+gG,EAAS/gG,WAAag8F,GAAa,EAAI,EACpFmK,EAASh9F,EAAGnuB,EAAIkrH,EACtB,GAAI1uJ,EAAQ0kJ,cAAe,CACzB,MAAMsC,EAAc,CAClBt7F,OAAQ3oC,KAAKC,IAAIyhI,EAAUD,GAAa,EACxC/zB,WAAYg9B,EAAgBh9B,WAC5BpgE,SAAUo9F,EAAgBp9F,SAC1BnE,YAAa,GAET2jE,EAAUy2B,EAAUE,WAAWiI,EAAWhK,GAAYA,EAAW,EACjE30B,EAAU6+B,EAASnK,EAAY,EACrC7jJ,EAAIqtD,YAAchuD,EAAQ4uJ,mBAC1BjuJ,EAAImtD,UAAY9tD,EAAQ4uJ,oBACxB,QAAUjuJ,EAAKqmJ,EAAan3B,EAASC,GACrCnvH,EAAIqtD,YAAcs+F,EAAY3+F,YAC9BhtD,EAAImtD,UAAYw+F,EAAY5+F,iBAC5B,QAAU/sD,EAAKqmJ,EAAan3B,EAASC,EACvC,KAAO,CACLnvH,EAAIstD,WAAY,IAAA7gE,GAASk/J,EAAYpgG,aAAenpC,KAAKqS,OAAO9jC,OAAOR,OAAOw7J,EAAYpgG,cAAiBogG,EAAYpgG,aAAe,EACtIvrD,EAAIqtD,YAAcs+F,EAAY3+F,YAC9BhtD,EAAIogI,YAAYurB,EAAYp2B,YAAc,IAC1Cv1H,EAAIqgI,eAAiBsrB,EAAYn2B,kBAAoB,EACrD,MAAM04B,EAASvI,EAAUE,WAAWiI,EAAWhK,EAAWtc,GACpD2mB,EAASxI,EAAUE,WAAWF,EAAUY,MAAMuH,EAAW,GAAIhK,EAAWtc,EAAa,GACrFt6E,GAAe,QAAcy+F,EAAYz+F,cAC3Cv8D,OAAOR,OAAO+8D,GAAcprD,MAAK1O,GAAW,IAANA,KACxC4M,EAAIitD,YACJjtD,EAAImtD,UAAY9tD,EAAQ4uJ,oBACxB,QAAmBjuJ,EAAK,CACtB2lC,EAAGuoH,EACHrrH,EAAGmrH,EACH3gK,EAAGy2J,EACH5vI,EAAG2vI,EACH94F,OAAQmC,IAEVltD,EAAIotD,OACJptD,EAAIwtD,SACJxtD,EAAImtD,UAAYw+F,EAAY5+F,gBAC5B/sD,EAAIitD,aACJ,QAAmBjtD,EAAK,CACtB2lC,EAAGwoH,EACHtrH,EAAGmrH,EAAS,EACZ3gK,EAAGy2J,EAAW,EACd5vI,EAAG2vI,EAAY,EACf94F,OAAQmC,IAEVltD,EAAIotD,SAEJptD,EAAImtD,UAAY9tD,EAAQ4uJ,mBACxBjuJ,EAAIggI,SAASkuB,EAAQF,EAAQlK,EAAUD,GACvC7jJ,EAAIouJ,WAAWF,EAAQF,EAAQlK,EAAUD,GACzC7jJ,EAAImtD,UAAYw+F,EAAY5+F,gBAC5B/sD,EAAIggI,SAASmuB,EAAQH,EAAS,EAAGlK,EAAW,EAAGD,EAAY,GAE/D,CACA7jJ,EAAImtD,UAAYzhE,KAAKmgK,gBAAgBp/J,EACvC,CACA4hK,SAASr9F,EAAIhxD,EAAKX,GAChB,MAAM,KAACy1B,GAAQppC,MACT,YAAC+9J,EAAW,UAAE6E,EAAS,cAAE9E,EAAa,UAAE3F,EAAS,SAAEC,EAAQ,WAAEtc,GAAcnoI,EAC3EupJ,GAAW,OAAOvpJ,EAAQupJ,UAChC,IAAIW,EAAiBX,EAAS/gG,WAC1B0mG,EAAe,EACnB,MAAM5I,GAAY,QAActmJ,EAAQqmJ,IAAKh6J,KAAKi6C,EAAGj6C,KAAKg8D,OACpD8mG,EAAiB,SAASzoG,GAC9B/lD,EAAIiuD,SAASlI,EAAM4/F,EAAUhgH,EAAEqrB,EAAGrrB,EAAI4oH,GAAev9F,EAAGnuB,EAAI0mH,EAAiB,GAC7Ev4F,EAAGnuB,GAAK0mH,EAAiBE,CAC3B,EACMgF,EAA0B9I,EAAUx3F,UAAUmgG,GACpD,IAAIpF,EAAUp6C,EAAWznD,EAAO56D,EAAGs2B,EAAG0kC,EAAMwL,EAU5C,IATAjzD,EAAImuD,UAAYmgG,EAChBtuJ,EAAIyuD,aAAe,SACnBzuD,EAAIunD,KAAOqhG,EAAStqH,OACpB0yB,EAAGrrB,EAAImlH,GAAYp/J,KAAM+iK,EAAyBpvJ,GAClDW,EAAImtD,UAAY9tD,EAAQqvJ,WACxB,OAAKhjK,KAAKy9J,WAAYqF,GACtBD,EAAe/E,GAA6C,UAA5BiF,EACd,WAAdH,EAA0BxK,EAAW,EAAItc,EAAesc,EAAW,EAAItc,EACvE,EACC/6I,EAAI,EAAGg7D,EAAO3yB,EAAKnoC,OAAQF,EAAIg7D,IAAQh7D,EAAG,CAU7C,IATAy8J,EAAWp0H,EAAKroC,GAChBqiH,EAAYpjH,KAAKmgK,gBAAgBp/J,GACjCuT,EAAImtD,UAAY2hD,GAChB,OAAKo6C,EAASx8H,OAAQ8hI,GACtBnnG,EAAQ6hG,EAAS7hG,MACbmiG,GAAiBniG,EAAM16D,SACzBjB,KAAKkiK,cAAc5tJ,EAAKgxD,EAAIvkE,EAAGk5J,EAAWtmJ,GAC1CkqJ,EAAiBnnI,KAAKqS,IAAIm0H,EAAS/gG,WAAYg8F,IAE5C9gI,EAAI,EAAGkwC,EAAO5L,EAAM16D,OAAQo2B,EAAIkwC,IAAQlwC,EAC3CyrI,EAAennG,EAAMtkC,IACrBwmI,EAAiBX,EAAS/gG,YAE5B,OAAKqhG,EAAS16C,MAAOggD,EACvB,CACAD,EAAe,EACfhF,EAAiBX,EAAS/gG,YAC1B,OAAKn8D,KAAK09J,UAAWoF,GACrBx9F,EAAGnuB,GAAK4mH,CACV,CACAkF,WAAW39F,EAAIhxD,EAAKX,GAClB,MAAMspJ,EAASj9J,KAAKi9J,OACdh8J,EAASg8J,EAAOh8J,OACtB,IAAIk8J,EAAYp8J,EAChB,GAAIE,EAAQ,CACV,MAAMg5J,GAAY,QAActmJ,EAAQqmJ,IAAKh6J,KAAKi6C,EAAGj6C,KAAKg8D,OAQ1D,IAPAsJ,EAAGrrB,EAAImlH,GAAYp/J,KAAM2T,EAAQuvJ,YAAavvJ,GAC9C2xD,EAAGnuB,GAAKxjC,EAAQqqJ,gBAChB1pJ,EAAImuD,UAAYw3F,EAAUx3F,UAAU9uD,EAAQuvJ,aAC5C5uJ,EAAIyuD,aAAe,SACnBo6F,GAAa,OAAOxpJ,EAAQwpJ,YAC5B7oJ,EAAImtD,UAAY9tD,EAAQwvJ,YACxB7uJ,EAAIunD,KAAOshG,EAAWvqH,OACjB7xC,EAAI,EAAGA,EAAIE,IAAUF,EACxBuT,EAAIiuD,SAAS06F,EAAOl8J,GAAIk5J,EAAUhgH,EAAEqrB,EAAGrrB,GAAIqrB,EAAGnuB,EAAIgmH,EAAWhhG,WAAa,GAC1EmJ,EAAGnuB,GAAKgmH,EAAWhhG,WAAaxoD,EAAQsqJ,aAE5C,CACF,CACA5pB,eAAe/uE,EAAIhxD,EAAK8uJ,EAAazvJ,GACnC,MAAM,OAAC2qJ,EAAM,OAAEK,GAAU3+J,MACnB,EAACi6C,EAAC,EAAE9C,GAAKmuB,GACT,MAACtJ,EAAK,OAAEE,GAAUknG,GAClB,QAAC/P,EAAO,SAAEC,EAAQ,WAAEC,EAAU,YAAEC,IAAe,QAAc7/I,EAAQwrJ,cAC3E7qJ,EAAImtD,UAAY9tD,EAAQ0tD,gBACxB/sD,EAAIqtD,YAAchuD,EAAQ2tD,YAC1BhtD,EAAIstD,UAAYjuD,EAAQksD,YACxBvrD,EAAIitD,YACJjtD,EAAI2sD,OAAOhnB,EAAIo5G,EAASl8G,GACT,QAAXwnH,GACF3+J,KAAKyhK,UAAUn8F,EAAIhxD,EAAK8uJ,EAAazvJ,GAEvCW,EAAIsgI,OAAO36F,EAAI+hB,EAAQs3F,EAAUn8G,GACjC7iC,EAAI+uJ,iBAAiBppH,EAAI+hB,EAAO7kB,EAAG8C,EAAI+hB,EAAO7kB,EAAIm8G,GACnC,WAAXqL,GAAkC,UAAXL,GACzBt+J,KAAKyhK,UAAUn8F,EAAIhxD,EAAK8uJ,EAAazvJ,GAEvCW,EAAIsgI,OAAO36F,EAAI+hB,EAAO7kB,EAAI+kB,EAASs3F,GACnCl/I,EAAI+uJ,iBAAiBppH,EAAI+hB,EAAO7kB,EAAI+kB,EAAQjiB,EAAI+hB,EAAQw3F,EAAar8G,EAAI+kB,GAC1D,WAAXyiG,GACF3+J,KAAKyhK,UAAUn8F,EAAIhxD,EAAK8uJ,EAAazvJ,GAEvCW,EAAIsgI,OAAO36F,EAAIs5G,EAAYp8G,EAAI+kB,GAC/B5nD,EAAI+uJ,iBAAiBppH,EAAG9C,EAAI+kB,EAAQjiB,EAAG9C,EAAI+kB,EAASq3F,GACrC,WAAXoL,GAAkC,SAAXL,GACzBt+J,KAAKyhK,UAAUn8F,EAAIhxD,EAAK8uJ,EAAazvJ,GAEvCW,EAAIsgI,OAAO36F,EAAG9C,EAAIk8G,GAClB/+I,EAAI+uJ,iBAAiBppH,EAAG9C,EAAG8C,EAAIo5G,EAASl8G,GACxC7iC,EAAI4sD,YACJ5sD,EAAIotD,OACA/tD,EAAQksD,YAAc,GACxBvrD,EAAIwtD,QAER,CACAwhG,uBAAuB3vJ,GACrB,MAAM2sD,EAAQtgE,KAAKsgE,MACbktD,EAAQxtH,KAAKwxH,YACb+xC,EAAQ/1C,GAASA,EAAMvzE,EACvBupH,EAAQh2C,GAASA,EAAMr2E,EAC7B,GAAIosH,GAASC,EAAO,CAClB,MAAMntE,EAAWx3B,GAAYlrD,EAAQ0iF,UAAUnuF,KAAKlI,KAAMA,KAAKiuH,QAASjuH,KAAK0/J,gBAC7E,IAAKrpE,EACH,OAEF,MAAMjuF,EAAOpI,KAAK2/J,MAAQ3C,GAAeh9J,KAAM2T,GACzC2tJ,EAAkBr8J,OAAOqoB,OAAO,CAAC,EAAG+oE,EAAUr2F,KAAK2/J,OACnDT,EAAYL,GAAmBv+F,EAAO3sD,EAAS2tJ,GAC/C3kG,EAAQsiG,GAAmBtrJ,EAAS2tJ,EAAiBpC,EAAW5+F,GAClEijG,EAAM1zC,MAAQlzD,EAAM1iB,GAAKupH,EAAM3zC,MAAQlzD,EAAMxlB,IAC/Cn3C,KAAKs+J,OAASY,EAAUZ,OACxBt+J,KAAK2+J,OAASO,EAAUP,OACxB3+J,KAAKg8D,MAAQ5zD,EAAK4zD,MAClBh8D,KAAKk8D,OAAS9zD,EAAK8zD,OACnBl8D,KAAK+/J,OAAS1pE,EAASp8C,EACvBj6C,KAAKggK,OAAS3pE,EAASl/C,EACvBn3C,KAAKi6H,qBAAqBz8G,OAAOxd,KAAM28D,GAE3C,CACF,CACA8mG,cACE,QAASzjK,KAAK8jE,OAChB,CACAQ,KAAKhwD,GACH,MAAMX,EAAU3T,KAAK2T,QAAQy5H,WAAWptI,KAAK63H,cAC7C,IAAI/zD,EAAU9jE,KAAK8jE,QACnB,IAAKA,EACH,OAEF9jE,KAAKsjK,uBAAuB3vJ,GAC5B,MAAMyvJ,EAAc,CAClBpnG,MAAOh8D,KAAKg8D,MACZE,OAAQl8D,KAAKk8D,QAEToJ,EAAK,CACTrrB,EAAGj6C,KAAKi6C,EACR9C,EAAGn3C,KAAKm3C,GAEV2sB,EAAUptC,KAAK2e,IAAIyuB,GAAW,KAAO,EAAIA,EACzC,MAAMhE,GAAU,OAAUnsD,EAAQmsD,SAC5B4jG,EAAoB1jK,KAAKwiH,MAAMvhH,QAAUjB,KAAKy9J,WAAWx8J,QAAUjB,KAAKopC,KAAKnoC,QAAUjB,KAAK09J,UAAUz8J,QAAUjB,KAAKi9J,OAAOh8J,OAC9H0S,EAAQy0H,SAAWs7B,IACrBpvJ,EAAIkwD,OACJlwD,EAAImwD,YAAcX,EAClB9jE,KAAKq0I,eAAe/uE,EAAIhxD,EAAK8uJ,EAAazvJ,IAC1C,QAAsBW,EAAKX,EAAQsnJ,eACnC31F,EAAGnuB,GAAK2oB,EAAQ7B,IAChBj+D,KAAK+0I,UAAUzvE,EAAIhxD,EAAKX,GACxB3T,KAAK2iK,SAASr9F,EAAIhxD,EAAKX,GACvB3T,KAAKijK,WAAW39F,EAAIhxD,EAAKX,IACzB,QAAqBW,EAAKX,EAAQsnJ,eAClC3mJ,EAAIqwD,UAER,CACAyF,oBACE,OAAOpqE,KAAKiuH,SAAW,EACzB,CACA69B,kBAAkBC,EAAgB0Q,GAChC,MAAMzQ,EAAahsJ,KAAKiuH,QAClBhuH,EAAS8rJ,EAAe3mJ,KAAI,EAAEo7D,eAAcngE,YAChD,MAAMksC,EAAOvsC,KAAKsgE,MAAMC,eAAeC,GACvC,IAAKj0B,EACH,MAAM,IAAIkR,MAAM,kCAAoC+iB,GAEtD,MAAO,CACLA,eACA6J,QAAS99B,EAAKh3B,KAAKlV,GACnBA,QACD,IAEG08I,IAAW,QAAeiP,EAAY/rJ,GACtC0jK,EAAkB3jK,KAAK4jK,iBAAiB3jK,EAAQw8J,IAClD1f,GAAW4mB,KACb3jK,KAAKiuH,QAAUhuH,EACfD,KAAK0/J,eAAiBjD,EACtBz8J,KAAK6jK,qBAAsB,EAC3B7jK,KAAKwd,QAAO,GAEhB,CACAm+I,YAAY18H,EAAGgtH,EAAQnF,GAAc,GACnC,GAAImF,GAAUjsJ,KAAK6jK,oBACjB,OAAO,EAET7jK,KAAK6jK,qBAAsB,EAC3B,MAAMlwJ,EAAU3T,KAAK2T,QACfq4I,EAAahsJ,KAAKiuH,SAAW,GAC7BhuH,EAASD,KAAKssJ,mBAAmBrtH,EAAG+sH,EAAYC,EAAQnF,GACxD6c,EAAkB3jK,KAAK4jK,iBAAiB3jK,EAAQg/B,GAChD89G,EAAUkP,KAAW,QAAehsJ,EAAQ+rJ,IAAe2X,EAWjE,OAVI5mB,IACF/8I,KAAKiuH,QAAUhuH,GACX0T,EAAQy0H,SAAWz0H,EAAQ6tJ,YAC7BxhK,KAAK0/J,eAAiB,CACpBzlH,EAAGhb,EAAEgb,EACL9C,EAAGlY,EAAEkY,GAEPn3C,KAAKwd,QAAO,EAAMyuI,KAGflP,CACT,CACAuP,mBAAmBrtH,EAAG+sH,EAAYC,EAAQnF,GACxC,MAAMnzI,EAAU3T,KAAK2T,QACrB,GAAe,aAAXsrB,EAAEv7B,KACJ,MAAO,GAET,IAAKojJ,EACH,OAAOkF,EAET,MAAM/rJ,EAASD,KAAKsgE,MAAM2qF,0BAA0BhsH,EAAGtrB,EAAQsH,KAAMtH,EAASs4I,GAI9E,OAHIt4I,EAAQ8jC,SACVx3C,EAAOw3C,UAEFx3C,CACT,CACA2jK,iBAAiB3jK,EAAQg/B,GACvB,MAAM,OAAC8gI,EAAM,OAAEC,EAAM,QAAErsJ,GAAW3T,KAC5Bq2F,EAAWx3B,GAAYlrD,EAAQ0iF,UAAUnuF,KAAKlI,KAAMC,EAAQg/B,GAClE,OAAoB,IAAbo3D,IAAuB0pE,IAAW1pE,EAASp8C,GAAK+lH,IAAW3pE,EAASl/C,EAC7E,EAEFsoH,GAAQ5gG,YAAcA,GACtB,IAAIilG,GAAiB,CACnB5zJ,GAAI,UACJ8rJ,SAAUyD,GACV5gG,eACAklG,UAAUzjG,EAAOq3F,EAAOhkJ,GAClBA,IACF2sD,EAAM0iD,QAAU,IAAIy8C,GAAQ,CAACn/F,QAAO3sD,YAExC,EACAiT,aAAa05C,EAAOq3F,EAAOhkJ,GACrB2sD,EAAM0iD,SACR1iD,EAAM0iD,QAAQ4S,WAAWjiH,EAE7B,EACAiwB,MAAM08B,EAAOq3F,EAAOhkJ,GACd2sD,EAAM0iD,SACR1iD,EAAM0iD,QAAQ4S,WAAWjiH,EAE7B,EACAqwJ,UAAU1jG,GACR,MAAM0iD,EAAU1iD,EAAM0iD,QACtB,GAAIA,GAAWA,EAAQygD,cAAe,CACpC,MAAM99J,EAAO,CACXq9G,WAEF,IAAuD,IAAnD1iD,EAAM+uE,cAAc,oBAAqB1pI,GAC3C,OAEFq9G,EAAQ1+C,KAAKhE,EAAMhsD,KACnBgsD,EAAM+uE,cAAc,mBAAoB1pI,EAC1C,CACF,EACAukE,WAAW5J,EAAO36D,GAChB,GAAI26D,EAAM0iD,QAAS,CACjB,MAAM8jB,EAAmBnhI,EAAKsmJ,OAC1B3rF,EAAM0iD,QAAQ24C,YAAYh2J,EAAKmM,MAAOg1H,EAAkBnhI,EAAKmhJ,eAC/DnhJ,EAAKo3I,SAAU,EAEnB,CACF,EACAvqF,SAAU,CACR41E,SAAS,EACTo5B,SAAU,KACVnrE,SAAU,UACVh1B,gBAAiB,kBACjB4gG,WAAY,OACZ5G,UAAW,CACTrzF,OAAQ,QAEV21F,aAAc,EACdC,kBAAmB,EACnBjyB,WAAY,OACZq3B,UAAW,OACXjF,YAAa,EACbb,SAAU,CACV,EACA0F,UAAW,OACXO,YAAa,OACblF,cAAe,EACfD,gBAAiB,EACjBb,WAAY,CACVn1F,OAAQ,QAEVk7F,YAAa,OACbpjG,QAAS,EACT2+F,aAAc,EACdD,UAAW,EACXW,aAAc,EACdhH,UAAW,CAAC7jJ,EAAKumD,IAASA,EAAKqiG,SAAS90J,KACxCgwJ,SAAU,CAAC9jJ,EAAKumD,IAASA,EAAKqiG,SAAS90J,KACvCm6J,mBAAoB,OACpBzE,eAAe,EACfhiB,WAAY,EACZx6E,YAAa,gBACbzB,YAAa,EACb6wD,UAAW,CACT/qF,SAAU,IACV2pF,OAAQ,gBAEVuB,WAAY,CACVV,QAAS,CACPzsH,KAAM,SACN+sH,WAAY,CAAC,IAAK,IAAK,QAAS,SAAU,SAAU,WAEtD3sD,QAAS,CACPwrD,OAAQ,SACR3pF,SAAU,MAGd8nF,UAAW,CACT4yC,YAAa,KACb79C,MAAM+8C,GACJ,GAAIA,EAAat+J,OAAS,EAAG,CAC3B,MAAMmiB,EAAOm8I,EAAa,GACpBt5F,EAAS7iD,EAAKk9C,MAAM/qD,KAAK0wD,OACzBg+F,EAAah+F,EAASA,EAAOhlE,OAAS,EAC5C,GAAIjB,MAAQA,KAAK2T,SAAiC,YAAtB3T,KAAK2T,QAAQsH,KACvC,OAAOmI,EAAK8gD,QAAQ1jB,OAAS,GACxB,GAAIp9B,EAAKo9B,MACd,OAAOp9B,EAAKo9B,MACP,GAAIyjH,EAAa,GAAK7gJ,EAAKymD,UAAYo6F,EAC5C,OAAOh+F,EAAO7iD,EAAKymD,UAEvB,CACA,MAAO,EACT,EACAy2F,WAAY,KACZ7C,WAAY,KACZkD,YAAa,KACbngH,MAAM+jF,GACJ,GAAIvkI,MAAQA,KAAK2T,SAAiC,YAAtB3T,KAAK2T,QAAQsH,KACvC,OAAOspH,EAAY/jF,MAAQ,KAAO+jF,EAAYE,gBAAkBF,EAAYE,eAE9E,IAAIjkF,EAAQ+jF,EAAYrgE,QAAQ1jB,OAAS,GACrCA,IACFA,GAAS,MAEX,MAAM95C,EAAQ69H,EAAYE,eAI1B,OAHK,OAAc/9H,KACjB85C,GAAS95C,GAEJ85C,CACT,EACA2gH,WAAW58B,GACT,MAAMh4F,EAAOg4F,EAAYjkE,MAAMC,eAAegkE,EAAY/jE,cACpD7sD,EAAU44B,EAAKmiD,WAAW4qC,SAASiL,EAAY16D,WACrD,MAAO,CACLvI,YAAa3tD,EAAQ2tD,YACrBD,gBAAiB1tD,EAAQ0tD,gBACzBxB,YAAalsD,EAAQksD,YACrBgqE,WAAYl2H,EAAQk2H,WACpBC,iBAAkBn2H,EAAQm2H,iBAC1BtoE,aAAc,EAElB,EACA6/F,iBACE,OAAOrhK,KAAK2T,QAAQqvJ,SACtB,EACA5B,gBAAgB78B,GACd,MAAMh4F,EAAOg4F,EAAYjkE,MAAMC,eAAegkE,EAAY/jE,cACpD7sD,EAAU44B,EAAKmiD,WAAW4qC,SAASiL,EAAY16D,WACrD,MAAO,CACLu6D,WAAYzwH,EAAQywH,WACpBpgE,SAAUrwD,EAAQqwD,SAEtB,EACA48F,WAAY,KACZlD,UAAW,KACXqD,aAAc,KACd9D,OAAQ,KACR+D,YAAa,OAGjB/5B,cAAe,CACbi2B,SAAU,OACVC,WAAY,OACZ9B,UAAW,QAEbr3B,YAAa,CACXxT,YAAcx1G,GAAkB,WAATA,GAA8B,aAATA,GAAgC,aAATA,EACnEu1G,YAAY,EACZ9C,UAAW,CACT+C,aAAa,EACbD,YAAY,GAEdG,UAAW,CACTJ,WAAW,GAEbO,WAAY,CACVP,UAAW,cAGfy0B,uBAAwB,CAAC,gBAa3B,MAAMmf,GAAc,CAACj+F,EAAQh7D,EAAK5K,EAAO8jK,KACpB,kBAARl5J,GACT5K,EAAQ4lE,EAAO1lE,KAAK0K,GAAO,EAC3Bk5J,EAAYpjJ,QAAQ,CAAC1gB,QAAOmgD,MAAOv1C,KAC1BmnC,MAAMnnC,KACf5K,EAAQ,MAEHA,GAET,SAAS+jK,GAAen+F,EAAQh7D,EAAK5K,EAAO8jK,GAC1C,MAAM57B,EAAQtiE,EAAOl1D,QAAQ9F,GAC7B,IAAe,IAAXs9H,EACF,OAAO27B,GAAYj+F,EAAQh7D,EAAK5K,EAAO8jK,GAEzC,MAAMjjK,EAAO+kE,EAAOo+F,YAAYp5J,GAChC,OAAOs9H,IAAUrnI,EAAOb,EAAQkoI,CAClC,CACA,MAAMyC,GAAa,CAAC3qI,EAAO0oC,IAAkB,OAAV1oC,EAAiB,MAAO,OAAYq2B,KAAKqvB,MAAM1lD,GAAQ,EAAG0oC,GAC7F,MAAMu7H,WAAsBt4B,GAC1BlsI,YAAYmiE,GACV+8D,MAAM/8D,GACNjiE,KAAKukK,iBAAcxhK,EACnB/C,KAAKwkK,YAAc,EACnBxkK,KAAKykK,aAAe,EACtB,CACA5tF,KAAK0sE,GACH,MAAMmhB,EAAQ1kK,KAAKykK,aACnB,GAAIC,EAAMzjK,OAAQ,CAChB,MAAMglE,EAASjmE,KAAKo4H,YACpB,IAAK,MAAM,MAAC/3H,EAAK,MAAEmgD,KAAUkkH,EACvBz+F,EAAO5lE,KAAWmgD,GACpBylB,EAAOt1D,OAAOtQ,EAAO,GAGzBL,KAAKykK,aAAe,EACtB,CACAzlC,MAAMnoD,KAAK0sE,EACb,CACA9rF,MAAMxsD,EAAK5K,GACT,IAAI,OAAc4K,GAChB,OAAO,KAET,MAAMg7D,EAASjmE,KAAKo4H,YAGpB,OAFA/3H,EAAQ63F,SAAS73F,IAAU4lE,EAAO5lE,KAAW4K,EAAM5K,EAC/C+jK,GAAen+F,EAAQh7D,GAAK,IAAAvD,GAAerH,EAAO4K,GAAMjL,KAAKykK,cAC1Dz5B,GAAW3qI,EAAO4lE,EAAOhlE,OAAS,EAC3C,CACAktI,sBACE,MAAM,WAACnb,EAAU,WAAEC,GAAcjzH,KAAK+yH,gBACtC,IAAI,IAACp8F,EAAG,IAAEoS,GAAO/oC,KAAK24H,WAAU,GACJ,UAAxB34H,KAAK2T,QAAQ21H,SACVtW,IACHr8F,EAAM,GAEHs8F,IACHlqF,EAAM/oC,KAAKo4H,YAAYn3H,OAAS,IAGpCjB,KAAK22B,IAAMA,EACX32B,KAAK+oC,IAAMA,CACb,CACAulG,aACE,MAAM33G,EAAM32B,KAAK22B,IACXoS,EAAM/oC,KAAK+oC,IACX86B,EAAS7jE,KAAK2T,QAAQkwD,OACtB24D,EAAQ,GACd,IAAIv2D,EAASjmE,KAAKo4H,YAClBnyD,EAAkB,IAARtvC,GAAaoS,IAAQk9B,EAAOhlE,OAAS,EAAKglE,EAASA,EAAO5zD,MAAMskB,EAAKoS,EAAM,GACrF/oC,KAAKwkK,YAAc9tI,KAAKqS,IAAIk9B,EAAOhlE,QAAU4iE,EAAS,EAAI,GAAI,GAC9D7jE,KAAKukK,YAAcvkK,KAAK22B,KAAOktC,EAAS,GAAM,GAC9C,IAAK,IAAIn9D,EAAQiwB,EAAKjwB,GAASqiC,EAAKriC,IAClC81H,EAAMj8H,KAAK,CAACmG,UAEd,OAAO81H,CACT,CACArD,iBAAiBzyH,GACf,MAAMu/D,EAASjmE,KAAKo4H,YACpB,OAAI1xH,GAAS,GAAKA,EAAQu/D,EAAOhlE,OACxBglE,EAAOv/D,GAETA,CACT,CACA0hE,YACE42D,MAAM52D,YACDpoE,KAAK+9H,iBACR/9H,KAAK4sI,gBAAkB5sI,KAAK4sI,eAEhC,CACArQ,iBAAiB71H,GAIf,MAHqB,kBAAVA,IACTA,EAAQ1G,KAAKy3D,MAAM/wD,IAEJ,OAAVA,EAAiB+5E,IAAMzgF,KAAKmgI,oBAAoBz5H,EAAQ1G,KAAKukK,aAAevkK,KAAKwkK,YAC1F,CACA/nC,gBAAgBp8H,GACd,MAAMm8H,EAAQx8H,KAAKw8H,MACnB,OAAIn8H,EAAQ,GAAKA,EAAQm8H,EAAMv7H,OAAS,EAC/B,KAEFjB,KAAKu8H,iBAAiBC,EAAMn8H,GAAOqG,MAC5C,CACAmrI,iBAAiBjxE,GACf,OAAOlqC,KAAKqvB,MAAM/lD,KAAKukK,YAAcvkK,KAAK+xI,mBAAmBnxE,GAAS5gE,KAAKwkK,YAC7E,CACA3jG,eACE,OAAO7gE,KAAKk+D,MACd,EASF,SAASymG,GAAgBC,EAAmBC,GAC1C,MAAMroC,EAAQ,GACRsoC,EAAc,OACd,OAACx7B,EAAM,KAAE6J,EAAI,IAAEx8G,EAAG,IAAEoS,EAAG,UAAEg8H,EAAS,MAAEnjH,EAAK,SAAEojH,EAAQ,UAAEC,EAAS,cAAEC,GAAiBN,EACjF3rF,EAAOk6D,GAAQ,EACfgyB,EAAYH,EAAW,GACtBruI,IAAKyuI,EAAMr8H,IAAKs8H,GAAQR,EACzB7xC,IAAc,OAAcr8F,GAC5Bs8F,IAAc,OAAclqF,GAC5Bu8H,IAAgB,OAAc1jH,GAC9B2jH,GAAcF,EAAOD,IAASH,EAAY,GAChD,IACIn2C,EAAQ02C,EAASC,EAASC,EAD1BpjC,GAAU,SAAS+iC,EAAOD,GAAQD,EAAYlsF,GAAQA,EAE1D,GAAIqpD,EAAUwiC,IAAgB9xC,IAAeC,EAC3C,MAAO,CAAC,CAACvsH,MAAO0+J,GAAO,CAAC1+J,MAAO2+J,IAEjCK,EAAYhvI,KAAK8hB,KAAK6sH,EAAO/iC,GAAW5rG,KAAKw7C,MAAMkzF,EAAO9iC,GACtDojC,EAAYP,IACd7iC,GAAU,QAAQojC,EAAYpjC,EAAU6iC,EAAYlsF,GAAQA,IAEzD,OAAc8rF,KACjBj2C,EAASp4F,KAAK2lD,IAAI,GAAI0oF,GACtBziC,EAAU5rG,KAAK8hB,KAAK8pF,EAAUxT,GAAUA,GAE3B,UAAXwa,GACFk8B,EAAU9uI,KAAKw7C,MAAMkzF,EAAO9iC,GAAWA,EACvCmjC,EAAU/uI,KAAK8hB,KAAK6sH,EAAO/iC,GAAWA,IAEtCkjC,EAAUJ,EACVK,EAAUJ,GAERryC,GAAcC,GAAckgB,IAAQ,SAAapqG,EAAMpS,GAAOw8G,EAAM7Q,EAAU,MAChFojC,EAAYhvI,KAAKqvB,MAAMrvB,KAAKC,KAAKoS,EAAMpS,GAAO2rG,EAAS0iC,IACvD1iC,GAAWv5F,EAAMpS,GAAO+uI,EACxBF,EAAU7uI,EACV8uI,EAAU18H,GACDu8H,GACTE,EAAUxyC,EAAar8F,EAAM6uI,EAC7BC,EAAUxyC,EAAalqF,EAAM08H,EAC7BC,EAAY9jH,EAAQ,EACpB0gF,GAAWmjC,EAAUD,GAAWE,IAEhCA,GAAaD,EAAUD,GAAWljC,EAEhCojC,GADE,QAAaA,EAAWhvI,KAAKqvB,MAAM2/G,GAAYpjC,EAAU,KAC/C5rG,KAAKqvB,MAAM2/G,GAEXhvI,KAAK8hB,KAAKktH,IAG1B,MAAMC,EAAgBjvI,KAAKqS,KACzB,QAAeu5F,IACf,QAAekjC,IAEjB12C,EAASp4F,KAAK2lD,IAAI,IAAI,OAAc0oF,GAAaY,EAAgBZ,GACjES,EAAU9uI,KAAKqvB,MAAMy/G,EAAU12C,GAAUA,EACzC22C,EAAU/uI,KAAKqvB,MAAM0/G,EAAU32C,GAAUA,EACzC,IAAIz3F,EAAI,EAcR,IAbI27F,IACEkyC,GAAiBM,IAAY7uI,GAC/B6lG,EAAMj8H,KAAK,CAACmG,MAAOiwB,IACf6uI,EAAU7uI,GACZU,KAEE,QAAaX,KAAKqvB,OAAOy/G,EAAUnuI,EAAIirG,GAAWxT,GAAUA,EAAQn4F,EAAKivI,GAAkBjvI,EAAK4uI,EAAYX,KAC9GvtI,KAEOmuI,EAAU7uI,GACnBU,KAGGA,EAAIquI,IAAaruI,EACtBmlG,EAAMj8H,KAAK,CAACmG,MAAOgwB,KAAKqvB,OAAOy/G,EAAUnuI,EAAIirG,GAAWxT,GAAUA,IAWpE,OATImE,GAAciyC,GAAiBO,IAAY18H,EACzCyzF,EAAMv7H,SAAU,QAAau7H,EAAMA,EAAMv7H,OAAS,GAAGyF,MAAOqiC,EAAK68H,GAAkB78H,EAAKw8H,EAAYX,IACtGpoC,EAAMA,EAAMv7H,OAAS,GAAGyF,MAAQqiC,EAEhCyzF,EAAMj8H,KAAK,CAACmG,MAAOqiC,IAEXkqF,GAAcwyC,IAAY18H,GACpCyzF,EAAMj8H,KAAK,CAACmG,MAAO++J,IAEdjpC,CACT,CACA,SAASopC,GAAkBl/J,EAAO6+J,GAAY,WAAC7lG,EAAU,YAAEqqE,IACzD,MAAM87B,GAAM,IAAA/5I,GAAUi+G,GAChBhN,GAASr9D,EAAahpC,KAAK+mC,IAAIooG,GAAOnvI,KAAK8mC,IAAIqoG,KAAS,KACxD5kK,EAAS,IAAOskK,GAAc,GAAK7+J,GAAOzF,OAChD,OAAOy1B,KAAKC,IAAI4uI,EAAaxoC,EAAO97H,EACtC,CAhGAqjK,GAAcp0J,GAAK,WACnBo0J,GAAc9xG,SAAW,CACvBgqE,MAAO,CACL7zH,SAAU27J,GAActkI,UAAUm5F,mBA8FtC,MAAM2sC,WAAwB95B,GAC5BlsI,YAAYmiE,GACV+8D,MAAM/8D,GACNjiE,KAAKmQ,WAAQpN,EACb/C,KAAKoQ,SAAMrN,EACX/C,KAAKukK,iBAAcxhK,EACnB/C,KAAK+lK,eAAYhjK,EACjB/C,KAAKwkK,YAAc,CACrB,CACA/sG,MAAMxsD,EAAK5K,GACT,OAAI,OAAc4K,KAGE,kBAARA,GAAoBA,aAAehE,UAAYixF,UAAUjtF,GAF5D,MAKDA,CACV,CACA+6J,yBACE,MAAM,YAACplC,GAAe5gI,KAAK2T,SACrB,WAACq/G,EAAU,WAAEC,GAAcjzH,KAAK+yH,gBACtC,IAAI,IAACp8F,EAAG,IAAEoS,GAAO/oC,KACjB,MAAMimK,EAASv+J,GAAMivB,EAAMq8F,EAAar8F,EAAMjvB,EACxCw+J,EAASx+J,GAAMqhC,EAAMkqF,EAAalqF,EAAMrhC,EAC9C,GAAIk5H,EAAa,CACf,MAAMulC,GAAU,IAAA7sJ,GAAKqd,GACfyvI,GAAU,IAAA9sJ,GAAKyvB,GACjBo9H,EAAU,GAAKC,EAAU,EAC3BF,EAAO,GACEC,EAAU,GAAKC,EAAU,GAClCH,EAAO,EAEX,CACA,GAAItvI,IAAQoS,EAAK,CACf,IAAI86B,EAAS,GACT96B,GAAO9hC,OAAO89D,kBAAoBpuC,GAAO1vB,OAAO49D,oBAClDhB,EAASntC,KAAK2e,IAAU,IAANtM,IAEpBm9H,EAAOn9H,EAAM86B,GACR+8D,GACHqlC,EAAOtvI,EAAMktC,EAEjB,CACA7jE,KAAK22B,IAAMA,EACX32B,KAAK+oC,IAAMA,CACb,CACAs9H,eACE,MAAMv+B,EAAW9nI,KAAK2T,QAAQ6oH,MAC9B,IACIwoC,GADA,cAACh9B,EAAa,SAAEs+B,GAAYx+B,EAehC,OAbIw+B,GACFtB,EAAWtuI,KAAK8hB,KAAKx4C,KAAK+oC,IAAMu9H,GAAY5vI,KAAKw7C,MAAMlyE,KAAK22B,IAAM2vI,GAAY,EAC1EtB,EAAW,MACbh2J,QAAQ8rD,KAAK,UAAU96D,KAAKkQ,sBAAsBo2J,mCAA0CtB,8BAC5FA,EAAW,OAGbA,EAAWhlK,KAAKumK,mBAChBv+B,EAAgBA,GAAiB,IAE/BA,IACFg9B,EAAWtuI,KAAKC,IAAIqxG,EAAeg9B,IAE9BA,CACT,CACAuB,mBACE,OAAOt/J,OAAOs7C,iBAChB,CACA+rF,aACE,MAAMzzE,EAAO76D,KAAK2T,QACZm0H,EAAWjtE,EAAK2hE,MACtB,IAAIwoC,EAAWhlK,KAAKqmK,eACpBrB,EAAWtuI,KAAKqS,IAAI,EAAGi8H,GACvB,MAAMwB,EAA0B,CAC9BxB,WACA17B,OAAQzuE,EAAKyuE,OACb3yG,IAAKkkC,EAAKlkC,IACVoS,IAAK8xB,EAAK9xB,IACVg8H,UAAWj9B,EAASi9B,UACpB5xB,KAAMrL,EAASw+B,SACf1kH,MAAOkmF,EAASlmF,MAChBqjH,UAAWjlK,KAAKq1I,aAChB31E,WAAY1/D,KAAK+9H,eACjBgM,YAAajC,EAASiC,aAAe,EACrCm7B,eAA0C,IAA3Bp9B,EAASo9B,eAEpBL,EAAY7kK,KAAKusI,QAAUvsI,KAC3Bw8H,EAAQmoC,GAAgB6B,EAAyB3B,GAYvD,MAXoB,UAAhBhqG,EAAKyuE,SACP,QAAmB9M,EAAOx8H,KAAM,SAE9B66D,EAAKpjB,SACP+kF,EAAM/kF,UACNz3C,KAAKmQ,MAAQnQ,KAAK+oC,IAClB/oC,KAAKoQ,IAAMpQ,KAAK22B,MAEhB32B,KAAKmQ,MAAQnQ,KAAK22B,IAClB32B,KAAKoQ,IAAMpQ,KAAK+oC,KAEXyzF,CACT,CACAp0D,YACE,MAAMo0D,EAAQx8H,KAAKw8H,MACnB,IAAIrsH,EAAQnQ,KAAK22B,IACbvmB,EAAMpQ,KAAK+oC,IAEf,GADAi2F,MAAM52D,YACFpoE,KAAK2T,QAAQkwD,QAAU24D,EAAMv7H,OAAQ,CACvC,MAAM4iE,GAAUzzD,EAAMD,GAASumB,KAAKqS,IAAIyzF,EAAMv7H,OAAS,EAAG,GAAK,EAC/DkP,GAAS0zD,EACTzzD,GAAOyzD,CACT,CACA7jE,KAAKukK,YAAcp0J,EACnBnQ,KAAK+lK,UAAY31J,EACjBpQ,KAAKwkK,YAAcp0J,EAAMD,CAC3B,CACAgpH,iBAAiBzyH,GACf,OAAO,OAAaA,EAAO1G,KAAKsgE,MAAM3sD,QAAQwrE,OAAQn/E,KAAK2T,QAAQ6oH,MAAM58C,OAC3E,EAGF,MAAM6mF,WAAoBX,GACxB33B,sBACE,MAAM,IAACx3G,EAAG,IAAEoS,GAAO/oC,KAAK24H,WAAU,GAClC34H,KAAK22B,KAAM,OAAeA,GAAOA,EAAM,EACvC32B,KAAK+oC,KAAM,OAAeA,GAAOA,EAAM,EACvC/oC,KAAKgmK,wBACP,CACAO,mBACE,MAAM7mG,EAAa1/D,KAAK+9H,eAClB98H,EAASy+D,EAAa1/D,KAAKg8D,MAAQh8D,KAAKk8D,OACxC6tE,GAAc,IAAAj+G,GAAU9rB,KAAK2T,QAAQ6oH,MAAMuN,aAC3ChN,GAASr9D,EAAahpC,KAAK+mC,IAAIssE,GAAerzG,KAAK8mC,IAAIusE,KAAiB,KACxEsH,EAAWrxI,KAAK0xI,wBAAwB,GAC9C,OAAOh7G,KAAK8hB,KAAKv3C,EAASy1B,KAAKC,IAAI,GAAI06G,EAASl1E,WAAa4gE,GAC/D,CACAR,iBAAiB71H,GACf,OAAiB,OAAVA,EAAiB+5E,IAAMzgF,KAAKmgI,oBAAoBz5H,EAAQ1G,KAAKukK,aAAevkK,KAAKwkK,YAC1F,CACA3yB,iBAAiBjxE,GACf,OAAO5gE,KAAKukK,YAAcvkK,KAAK+xI,mBAAmBnxE,GAAS5gE,KAAKwkK,WAClE,EASF,SAASkC,GAAQC,GACf,MAAM32C,EAAS22C,EAAWjwI,KAAK2lD,IAAI,GAAI3lD,KAAKw7C,OAAM,OAAMy0F,KACxD,OAAkB,IAAX32C,CACT,CACA,SAAS42C,GAAchC,EAAmBC,GACxC,MAAMgC,EAASnwI,KAAKw7C,OAAM,OAAM2yF,EAAU97H,MACpC+9H,EAAiBpwI,KAAK8hB,KAAKqsH,EAAU97H,IAAMrS,KAAK2lD,IAAI,GAAIwqF,IACxDrqC,EAAQ,GACd,IAAImqC,GAAU,OAAgB/B,EAAkBjuI,IAAKD,KAAK2lD,IAAI,GAAI3lD,KAAKw7C,OAAM,OAAM2yF,EAAUluI,QACzF8tE,EAAM/tE,KAAKw7C,OAAM,OAAMy0F,IACvBI,EAAcrwI,KAAKw7C,MAAMy0F,EAAUjwI,KAAK2lD,IAAI,GAAIooB,IAChDsgE,EAAYtgE,EAAM,EAAI/tE,KAAK2lD,IAAI,GAAI3lD,KAAK2e,IAAIovD,IAAQ,EACxD,GACE+3B,EAAMj8H,KAAK,CAACmG,MAAOigK,EAASx+B,MAAOu+B,GAAQC,OACzCI,EACkB,KAAhBA,IACFA,EAAc,IACZtiE,EACFsgE,EAAYtgE,GAAO,EAAI,EAAIsgE,GAE7B4B,EAAUjwI,KAAKqvB,MAAMghH,EAAcrwI,KAAK2lD,IAAI,GAAIooB,GAAOsgE,GAAaA,QAC7DtgE,EAAMoiE,GAAWpiE,IAAQoiE,GAAUE,EAAcD,GAC1D,MAAME,GAAW,OAAgBpC,EAAkB77H,IAAK49H,GAExD,OADAnqC,EAAMj8H,KAAK,CAACmG,MAAOsgK,EAAU7+B,MAAOu+B,GAAQC,KACrCnqC,CACT,CAhCAiqC,GAAYv2J,GAAK,SACjBu2J,GAAYj0G,SAAW,CACrBgqE,MAAO,CACL7zH,SAAUi/H,GAAMlvD,WAAWwuD,UA8B/B,MAAM+/B,WAAyBj7B,GAC7BlsI,YAAYmiE,GACV+8D,MAAM/8D,GACNjiE,KAAKmQ,WAAQpN,EACb/C,KAAKoQ,SAAMrN,EACX/C,KAAKukK,iBAAcxhK,EACnB/C,KAAKwkK,YAAc,CACrB,CACA/sG,MAAMxsD,EAAK5K,GACT,MAAMqG,EAAQo/J,GAAgB9lI,UAAUy3B,MAAM1xD,MAAM/F,KAAM,CAACiL,EAAK5K,IAChE,GAAc,IAAVqG,EAIJ,OAAO,OAAeA,IAAUA,EAAQ,EAAIA,EAAQ,KAHlD1G,KAAKknK,OAAQ,CAIjB,CACA/4B,sBACE,MAAM,IAACx3G,EAAG,IAAEoS,GAAO/oC,KAAK24H,WAAU,GAClC34H,KAAK22B,KAAM,OAAeA,GAAOD,KAAKqS,IAAI,EAAGpS,GAAO,KACpD32B,KAAK+oC,KAAM,OAAeA,GAAOrS,KAAKqS,IAAI,EAAGA,GAAO,KAChD/oC,KAAK2T,QAAQitH,cACf5gI,KAAKknK,OAAQ,GAEflnK,KAAKgmK,wBACP,CACAA,yBACE,MAAM,WAAChzC,EAAU,WAAEC,GAAcjzH,KAAK+yH,gBACtC,IAAIp8F,EAAM32B,KAAK22B,IACXoS,EAAM/oC,KAAK+oC,IACf,MAAMk9H,EAASv+J,GAAMivB,EAAMq8F,EAAar8F,EAAMjvB,EACxCw+J,EAASx+J,GAAMqhC,EAAMkqF,EAAalqF,EAAMrhC,EACxC+8F,EAAM,CAAC/8F,EAAGqhB,IAAM2N,KAAK2lD,IAAI,GAAI3lD,KAAKw7C,OAAM,OAAMxqE,IAAMqhB,GACtD4N,IAAQoS,IACNpS,GAAO,GACTsvI,EAAO,GACPC,EAAO,MAEPD,EAAOxhE,EAAI9tE,GAAM,IACjBuvI,EAAOzhE,EAAI17D,EAAK,MAGhBpS,GAAO,GACTsvI,EAAOxhE,EAAI17D,GAAM,IAEfA,GAAO,GACTm9H,EAAOzhE,EAAI9tE,EAAK,IAEd32B,KAAKknK,OAASlnK,KAAK22B,MAAQ32B,KAAKgtI,eAAiBr2G,IAAQ8tE,EAAIzkG,KAAK22B,IAAK,IACzEsvI,EAAOxhE,EAAI9tE,GAAM,IAEnB32B,KAAK22B,IAAMA,EACX32B,KAAK+oC,IAAMA,CACb,CACAulG,aACE,MAAMzzE,EAAO76D,KAAK2T,QACZixJ,EAAoB,CACxBjuI,IAAK32B,KAAK8sI,SACV/jG,IAAK/oC,KAAK6sI,UAENrQ,EAAQoqC,GAAchC,EAAmB5kK,MAY/C,MAXoB,UAAhB66D,EAAKyuE,SACP,QAAmB9M,EAAOx8H,KAAM,SAE9B66D,EAAKpjB,SACP+kF,EAAM/kF,UACNz3C,KAAKmQ,MAAQnQ,KAAK+oC,IAClB/oC,KAAKoQ,IAAMpQ,KAAK22B,MAEhB32B,KAAKmQ,MAAQnQ,KAAK22B,IAClB32B,KAAKoQ,IAAMpQ,KAAK+oC,KAEXyzF,CACT,CACArD,iBAAiBzyH,GACf,YAAiB3D,IAAV2D,EACH,KACA,OAAaA,EAAO1G,KAAKsgE,MAAM3sD,QAAQwrE,OAAQn/E,KAAK2T,QAAQ6oH,MAAM58C,OACxE,CACAxX,YACE,MAAMj4D,EAAQnQ,KAAK22B,IACnBqoG,MAAM52D,YACNpoE,KAAKukK,aAAc,OAAMp0J,GACzBnQ,KAAKwkK,aAAc,OAAMxkK,KAAK+oC,MAAO,OAAM54B,EAC7C,CACAosH,iBAAiB71H,GAIf,YAHc3D,IAAV2D,GAAiC,IAAVA,IACzBA,EAAQ1G,KAAK22B,KAED,OAAVjwB,GAAkB0rC,MAAM1rC,GACnB+5E,IAEFzgF,KAAKmgI,mBAAmBz5H,IAAU1G,KAAK22B,IAC1C,IACC,OAAMjwB,GAAS1G,KAAKukK,aAAevkK,KAAKwkK,YAC/C,CACA3yB,iBAAiBjxE,GACf,MAAMkxE,EAAU9xI,KAAK+xI,mBAAmBnxE,GACxC,OAAOlqC,KAAK2lD,IAAI,GAAIr8E,KAAKukK,YAAczyB,EAAU9xI,KAAKwkK,YACxD,EAYF,SAAS2C,GAAsBtsG,GAC7B,MAAMitE,EAAWjtE,EAAK2hE,MACtB,GAAIsL,EAAS9lG,SAAW64B,EAAK74B,QAAS,CACpC,MAAM89B,GAAU,OAAUgoE,EAAS0C,iBACnC,OAAO,IAAA9iI,GAAeogI,EAASjsE,MAAQisE,EAASjsE,KAAKzzD,KAAM,EAAA8gC,EAAA,WAAsB42B,EAAQ5D,MAC3F,CACA,OAAO,CACT,CACA,SAASkrG,GAAiB9yJ,EAAKunD,EAAMrb,GAEnC,OADAA,GAAQ,OAAQA,GAASA,EAAQ,CAACA,GAC3B,CACL7+C,GAAG,QAAa2S,EAAKunD,EAAKjpB,OAAQ4N,GAClCh4B,EAAGg4B,EAAMv/C,OAAS46D,EAAKM,WAE3B,CACA,SAASkrG,GAAgBtoG,EAAO29B,EAAKt0F,EAAMuuB,EAAKoS,GAC9C,OAAIg2B,IAAUpoC,GAAOooC,IAAUh2B,EACtB,CACL54B,MAAOusF,EAAOt0F,EAAO,EACrBgI,IAAKssF,EAAOt0F,EAAO,GAEZ22D,EAAQpoC,GAAOooC,EAAQh2B,EACzB,CACL54B,MAAOusF,EAAMt0F,EACbgI,IAAKssF,GAGF,CACLvsF,MAAOusF,EACPtsF,IAAKssF,EAAMt0F,EAEf,CACA,SAASk/J,GAAmBjnG,GAC1B,MAAMm+D,EAAO,CACXx9H,EAAGq/D,EAAM5zB,KAAO4zB,EAAM87F,SAAS1vH,KAC/BlhC,EAAG80D,EAAM1zB,MAAQ0zB,EAAM87F,SAASxvH,MAChC7gB,EAAGu0C,EAAMpC,IAAMoC,EAAM87F,SAASl+F,IAC9BxsD,EAAG4uD,EAAMnC,OAASmC,EAAM87F,SAASj+F,QAE7BqpG,EAAStiK,OAAOqoB,OAAO,CAAC,EAAGkxG,GAC3BoR,EAAa,GACb9vE,EAAU,GACV0nG,EAAannG,EAAMonG,aAAaxmK,OAChCymK,EAAiBrnG,EAAM1sD,QAAQ4yH,YAC/BohC,EAAkBD,EAAeE,kBAAoB,EAAAx4F,EAAKo4F,EAAa,EAC7E,IAAK,IAAIzmK,EAAI,EAAGA,EAAIymK,EAAYzmK,IAAK,CACnC,MAAM85D,EAAO6sG,EAAet6B,WAAW/sE,EAAMwnG,qBAAqB9mK,IAClE++D,EAAQ/+D,GAAK85D,EAAKiF,QAClB,MAAM6mE,EAAgBtmE,EAAMynG,iBAAiB/mK,EAAGs/D,EAAM0nG,YAAcjoG,EAAQ/+D,GAAI4mK,GAC1EK,GAAS,OAAOntG,EAAKgB,MACrBD,EAAWwrG,GAAiB/mG,EAAM/rD,IAAK0zJ,EAAQ3nG,EAAMonG,aAAa1mK,IACxE6uI,EAAW7uI,GAAK66D,EAChB,MAAM20E,GAAe,QAAgBlwE,EAAM2lE,cAAcjlI,GAAK4mK,GACxD5oG,EAAQroC,KAAKqvB,OAAM,OAAUwqF,IAC7B03B,EAAUZ,GAAgBtoG,EAAO4nE,EAAc1sF,EAAG2hB,EAASj6D,EAAG,EAAG,KACjEumK,EAAUb,GAAgBtoG,EAAO4nE,EAAcxvF,EAAGykB,EAASpzC,EAAG,GAAI,KACxE2/I,GAAaZ,EAAQ/oC,EAAM+R,EAAc03B,EAASC,EACpD,CACA7nG,EAAM+nG,eACJ5pC,EAAKx9H,EAAIumK,EAAOvmK,EAChBumK,EAAOh8J,EAAIizH,EAAKjzH,EAChBizH,EAAK1yG,EAAIy7I,EAAOz7I,EAChBy7I,EAAO91J,EAAI+sH,EAAK/sH,GAElB4uD,EAAMgoG,iBAAmBC,GAAqBjoG,EAAOuvE,EAAY9vE,EACnE,CACA,SAASqoG,GAAaZ,EAAQ/oC,EAAMz/D,EAAOkpG,EAASC,GAClD,MAAMzqG,EAAM/mC,KAAK2e,IAAI3e,KAAK+mC,IAAIsB,IACxBvB,EAAM9mC,KAAK2e,IAAI3e,KAAK8mC,IAAIuB,IAC9B,IAAI9kB,EAAI,EACJ9C,EAAI,EACJ8wH,EAAQ93J,MAAQquH,EAAKx9H,GACvBi5C,GAAKukF,EAAKx9H,EAAIinK,EAAQ93J,OAASstD,EAC/B8pG,EAAOvmK,EAAI01B,KAAKC,IAAI4wI,EAAOvmK,EAAGw9H,EAAKx9H,EAAIi5C,IAC9BguH,EAAQ73J,IAAMouH,EAAKjzH,IAC5B0uC,GAAKguH,EAAQ73J,IAAMouH,EAAKjzH,GAAKkyD,EAC7B8pG,EAAOh8J,EAAImrB,KAAKqS,IAAIw+H,EAAOh8J,EAAGizH,EAAKjzH,EAAI0uC,IAErCiuH,EAAQ/3J,MAAQquH,EAAK1yG,GACvBqrB,GAAKqnF,EAAK1yG,EAAIo8I,EAAQ/3J,OAASqtD,EAC/B+pG,EAAOz7I,EAAI4K,KAAKC,IAAI4wI,EAAOz7I,EAAG0yG,EAAK1yG,EAAIqrB,IAC9B+wH,EAAQ93J,IAAMouH,EAAK/sH,IAC5B0lC,GAAK+wH,EAAQ93J,IAAMouH,EAAK/sH,GAAK+rD,EAC7B+pG,EAAO91J,EAAIilB,KAAKqS,IAAIw+H,EAAO91J,EAAG+sH,EAAK/sH,EAAI0lC,GAE3C,CACA,SAASmxH,GAAqBjoG,EAAOuvE,EAAY9vE,GAC/C,MAAMhE,EAAQ,GACR0rG,EAAannG,EAAMonG,aAAaxmK,OAChC45D,EAAOwF,EAAM1sD,QACb40J,EAAQpB,GAAsBtsG,GAAQ,EACtC2tG,EAAgBnoG,EAAM0nG,YACtBJ,EAAkB9sG,EAAK0rE,YAAYqhC,kBAAoB,EAAAx4F,EAAKo4F,EAAa,EAC/E,IAAK,IAAIzmK,EAAI,EAAGA,EAAIymK,EAAYzmK,IAAK,CACnC,MAAM0nK,EAAqBpoG,EAAMynG,iBAAiB/mK,EAAGynK,EAAgBD,EAAQzoG,EAAQ/+D,GAAI4mK,GACnF5oG,EAAQroC,KAAKqvB,OAAM,QAAU,QAAgB0iH,EAAmB1pG,MAAQ,EAAA+b,KACxE1yE,EAAOwnI,EAAW7uI,GAClBo2C,EAAIuxH,GAAUD,EAAmBtxH,EAAG/uC,EAAKogB,EAAGu2C,GAC5C0D,EAAYkmG,GAAqB5pG,GACjCtyB,EAAOm8H,GAAiBH,EAAmBxuH,EAAG7xC,EAAKzG,EAAG8gE,GAC5D3G,EAAMv7D,KAAK,CACT05C,EAAGwuH,EAAmBxuH,EACtB9C,IACAsrB,YACAh2B,OACAwxB,IAAK9mB,EACLxK,MAAOF,EAAOrkC,EAAKzG,EACnBu8D,OAAQ/mB,EAAI/uC,EAAKogB,GAErB,CACA,OAAOszC,CACT,CACA,SAAS6sG,GAAqB5pG,GAC5B,OAAc,IAAVA,GAAyB,MAAVA,EACV,SACEA,EAAQ,IACV,OAEF,OACT,CACA,SAAS6pG,GAAiB3uH,EAAGt4C,EAAG27D,GAM9B,MALc,UAAVA,EACFrjB,GAAKt4C,EACc,WAAV27D,IACTrjB,GAAMt4C,EAAI,GAELs4C,CACT,CACA,SAASyuH,GAAUvxH,EAAG3uB,EAAGu2C,GAMvB,OALc,KAAVA,GAA0B,MAAVA,EAClB5nB,GAAM3uB,EAAI,GACDu2C,EAAQ,KAAOA,EAAQ,MAChC5nB,GAAK3uB,GAEA2uB,CACT,CACA,SAAS0xH,GAAgBxoG,EAAO4jG,GAC9B,MAAM,IAAC3vJ,EAAKX,SAAS,YAAC4yH,IAAgBlmE,EACtC,IAAK,IAAIt/D,EAAIkjK,EAAa,EAAGljK,GAAK,EAAGA,IAAK,CACxC,MAAMqyI,EAAc7M,EAAY6G,WAAW/sE,EAAMwnG,qBAAqB9mK,IAChEinK,GAAS,OAAO50B,EAAYv3E,OAC5B,EAAC5hB,EAAC,EAAE9C,EAAC,UAAEsrB,EAAS,KAAEh2B,EAAI,IAAEwxB,EAAG,MAAEtxB,EAAK,OAAEuxB,GAAUmC,EAAMgoG,iBAAiBtnK,IACrE,cAACwpI,GAAiB6I,EACxB,KAAK,OAAc7I,GAAgB,CACjC,MAAM/oE,GAAe,QAAc4xE,EAAY5xE,cACzC1B,GAAU,OAAUszE,EAAY5I,iBACtCl2H,EAAImtD,UAAY8oE,EAChB,MAAMu+B,EAAer8H,EAAOqzB,EAAQrzB,KAC9Bs8H,EAAc9qG,EAAM6B,EAAQ7B,IAC5B+qG,EAAgBr8H,EAAQF,EAAOqzB,EAAQ9D,MACvCitG,EAAiB/qG,EAASD,EAAM6B,EAAQ5D,OAC1Cj3D,OAAOR,OAAO+8D,GAAcprD,MAAK1O,GAAW,IAANA,KACxC4M,EAAIitD,aACJ,QAAmBjtD,EAAK,CACtB2lC,EAAG6uH,EACH3xH,EAAG4xH,EACHpnK,EAAGqnK,EACHxgJ,EAAGygJ,EACH5pG,OAAQmC,IAEVltD,EAAIotD,QAEJptD,EAAIggI,SAASw0B,EAAcC,EAAaC,EAAeC,EAE3D,EACA,OACE30J,EACA+rD,EAAMonG,aAAa1mK,GACnBk5C,EACA9C,EAAK6wH,EAAO7rG,WAAa,EACzB6rG,EACA,CACEtlG,MAAO0wE,EAAY1wE,MACnBD,UAAWA,EACXM,aAAc,UAGpB,CACF,CACA,SAASmmG,GAAe7oG,EAAOhB,EAAQinE,EAAU29B,GAC/C,MAAM,IAAC3vJ,GAAO+rD,EACd,GAAIimE,EACFhyH,EAAIwqD,IAAIuB,EAAMK,QAASL,EAAMM,QAAStB,EAAQ,EAAG,EAAAwc,OAC5C,CACL,IAAI8qD,EAAgBtmE,EAAMynG,iBAAiB,EAAGzoG,GAC9C/qD,EAAI2sD,OAAO0lE,EAAc1sF,EAAG0sF,EAAcxvF,GAC1C,IAAK,IAAIp2C,EAAI,EAAGA,EAAIkjK,EAAYljK,IAC9B4lI,EAAgBtmE,EAAMynG,iBAAiB/mK,EAAGs+D,GAC1C/qD,EAAIsgI,OAAOjO,EAAc1sF,EAAG0sF,EAAcxvF,EAE9C,CACF,CACA,SAASgyH,GAAe9oG,EAAO+oG,EAAc/pG,EAAQ4kG,GACnD,MAAM3vJ,EAAM+rD,EAAM/rD,IACZgyH,EAAW8iC,EAAa9iC,UACxB,MAAC5jE,EAAK,UAAEd,GAAawnG,GACrB9iC,IAAa29B,IAAgBvhG,IAAUd,GAAavC,EAAS,IAGnE/qD,EAAIkwD,OACJlwD,EAAIqtD,YAAce,EAClBpuD,EAAIstD,UAAYA,EAChBttD,EAAIogI,YAAY00B,EAAav/B,YAC7Bv1H,EAAIqgI,eAAiBy0B,EAAat/B,iBAClCx1H,EAAIitD,YACJ2nG,GAAe7oG,EAAOhB,EAAQinE,EAAU29B,GACxC3vJ,EAAI4sD,YACJ5sD,EAAIwtD,SACJxtD,EAAIqwD,UACN,CACA,SAAS0kG,GAAwBjpK,EAAQC,EAAOmgD,GAC9C,OAAO,OAAcpgD,EAAQ,CAC3BogD,QACAngD,QACAqD,KAAM,cAEV,CAlOAujK,GAAiB/2J,GAAK,cACtB+2J,GAAiBz0G,SAAW,CAC1BgqE,MAAO,CACL7zH,SAAUi/H,GAAMlvD,WAAWivD,YAC3BQ,MAAO,CACLC,SAAS,KA8Nf,MAAMkhC,WAA0BxD,GAC9BhmK,YAAYmiE,GACV+8D,MAAM/8D,GACNjiE,KAAK0gE,aAAU39D,EACf/C,KAAK2gE,aAAU59D,EACf/C,KAAK+nK,iBAAchlK,EACnB/C,KAAKynK,aAAe,GACpBznK,KAAKqoK,iBAAmB,EAC1B,CACAr6B,gBACE,MAAMluE,EAAU9/D,KAAKm8J,UAAW,OAAUgL,GAAsBnnK,KAAK2T,SAAW,GAC1EhS,EAAI3B,KAAKg8D,MAAQh8D,KAAK4iI,SAAW9iE,EAAQ9D,MACzCxzC,EAAIxoB,KAAKk8D,OAASl8D,KAAK6iI,UAAY/iE,EAAQ5D,OACjDl8D,KAAK0gE,QAAUhqC,KAAKw7C,MAAMlyE,KAAKysC,KAAO9qC,EAAI,EAAIm+D,EAAQrzB,MACtDzsC,KAAK2gE,QAAUjqC,KAAKw7C,MAAMlyE,KAAKi+D,IAAMz1C,EAAI,EAAIs3C,EAAQ7B,KACrDj+D,KAAK+nK,YAAcrxI,KAAKw7C,MAAMx7C,KAAKC,IAAIh1B,EAAG6mB,GAAK,EACjD,CACA2lH,sBACE,MAAM,IAACx3G,EAAG,IAAEoS,GAAO/oC,KAAK24H,WAAU,GAClC34H,KAAK22B,KAAM,OAAeA,KAASyb,MAAMzb,GAAOA,EAAM,EACtD32B,KAAK+oC,KAAM,OAAeA,KAASqJ,MAAMrJ,GAAOA,EAAM,EACtD/oC,KAAKgmK,wBACP,CACAO,mBACE,OAAO7vI,KAAK8hB,KAAKx4C,KAAK+nK,YAAcZ,GAAsBnnK,KAAK2T,SACjE,CACA47H,mBAAmB/S,GACjBspC,GAAgB9lI,UAAUuvG,mBAAmBrnI,KAAKlI,KAAMw8H,GACxDx8H,KAAKynK,aAAeznK,KAAKo4H,YACtBhzH,KAAI,CAACsB,EAAOrG,KACX,MAAMmgD,GAAQ,OAASxgD,KAAK2T,QAAQ4yH,YAAY59H,SAAU,CAACjC,EAAOrG,GAAQL,MAC1E,OAAOwgD,GAAmB,IAAVA,EAAcA,EAAQ,EAAE,IAEzCr7C,QAAO,CAACuC,EAAG3G,IAAMf,KAAKsgE,MAAMqJ,kBAAkB5oE,IACnD,CACAguI,MACE,MAAMl0E,EAAO76D,KAAK2T,QACdknD,EAAK74B,SAAW64B,EAAK0rE,YAAYvkG,QACnCslI,GAAmBtnK,MAEnBA,KAAKooK,eAAe,EAAG,EAAG,EAAG,EAEjC,CACAA,eAAemB,EAAcC,EAAeC,EAAaC,GACvD1pK,KAAK0gE,SAAWhqC,KAAKw7C,OAAOq3F,EAAeC,GAAiB,GAC5DxpK,KAAK2gE,SAAWjqC,KAAKw7C,OAAOu3F,EAAcC,GAAkB,GAC5D1pK,KAAK+nK,aAAerxI,KAAKC,IAAI32B,KAAK+nK,YAAc,EAAGrxI,KAAKqS,IAAIwgI,EAAcC,EAAeC,EAAaC,GACxG,CACA1jC,cAAc3lI,GACZ,MAAMspK,EAAkB,EAAA9tF,GAAO77E,KAAKynK,aAAaxmK,QAAU,GACrD+9D,EAAah/D,KAAK2T,QAAQqrD,YAAc,EAC9C,OAAO,QAAgB3+D,EAAQspK,GAAkB,IAAA79I,GAAUkzC,GAC7D,CACAonE,8BAA8B1/H,GAC5B,IAAI,OAAcA,GAChB,OAAO+5E,IAET,MAAMmpF,EAAgB5pK,KAAK+nK,aAAe/nK,KAAK+oC,IAAM/oC,KAAK22B,KAC1D,OAAI32B,KAAK2T,QAAQ8jC,SACPz3C,KAAK+oC,IAAMriC,GAASkjK,GAEtBljK,EAAQ1G,KAAK22B,KAAOizI,CAC9B,CACAC,8BAA8BvzH,GAC5B,IAAI,OAAcA,GAChB,OAAOmqC,IAET,MAAMqpF,EAAiBxzH,GAAYt2C,KAAK+nK,aAAe/nK,KAAK+oC,IAAM/oC,KAAK22B,MACvE,OAAO32B,KAAK2T,QAAQ8jC,QAAUz3C,KAAK+oC,IAAM+gI,EAAiB9pK,KAAK22B,IAAMmzI,CACvE,CACAjC,qBAAqBxnK,GACnB,MAAMkmI,EAAcvmI,KAAKynK,cAAgB,GACzC,GAAIpnK,GAAS,GAAKA,EAAQkmI,EAAYtlI,OAAQ,CAC5C,MAAM8oK,EAAaxjC,EAAYlmI,GAC/B,OAAOgpK,GAAwBrpK,KAAK63H,aAAcx3H,EAAO0pK,EAC3D,CACF,CACAjC,iBAAiBznK,EAAO2pK,EAAoBrC,EAAkB,GAC5D,MAAM5oG,EAAQ/+D,KAAKgmI,cAAc3lI,GAAS,EAAAy6E,EAAU6sF,EACpD,MAAO,CACL1tH,EAAGvjB,KAAK8mC,IAAIuB,GAASirG,EAAqBhqK,KAAK0gE,QAC/CvpB,EAAGzgB,KAAK+mC,IAAIsB,GAASirG,EAAqBhqK,KAAK2gE,QAC/C5B,QAEJ,CACA6nE,yBAAyBvmI,EAAOqG,GAC9B,OAAO1G,KAAK8nK,iBAAiBznK,EAAOL,KAAKomI,8BAA8B1/H,GACzE,CACAujK,gBAAgB5pK,GACd,OAAOL,KAAK4mI,yBAAyBvmI,GAAS,EAAGL,KAAKgyI,eACxD,CACAk4B,sBAAsB7pK,GACpB,MAAM,KAACosC,EAAI,IAAEwxB,EAAG,MAAEtxB,EAAK,OAAEuxB,GAAUl+D,KAAKqoK,iBAAiBhoK,GACzD,MAAO,CACLosC,OACAwxB,MACAtxB,QACAuxB,SAEJ,CACAm2E,iBACE,MAAM,gBAAChzE,EAAiBq/D,MAAM,SAAC4F,IAAatmI,KAAK2T,QACjD,GAAI0tD,EAAiB,CACnB,MAAM/sD,EAAMtU,KAAKsU,IACjBA,EAAIkwD,OACJlwD,EAAIitD,YACJ2nG,GAAelpK,KAAMA,KAAKomI,8BAA8BpmI,KAAK+lK,WAAYz/B,EAAUtmI,KAAKynK,aAAaxmK,QACrGqT,EAAI4sD,YACJ5sD,EAAImtD,UAAYJ,EAChB/sD,EAAIotD,OACJptD,EAAIqwD,SACN,CACF,CACA4vE,WACE,MAAMjgI,EAAMtU,KAAKsU,IACXumD,EAAO76D,KAAK2T,SACZ,WAAC0yH,EAAU,KAAE3F,GAAQ7lE,EACrBopG,EAAajkK,KAAKynK,aAAaxmK,OACrC,IAAIF,EAAG8iE,EAAQwyB,EAaf,GAZIx7B,EAAK0rE,YAAYvkG,SACnB6mI,GAAgB7oK,KAAMikK,GAEpBvjC,EAAK1+F,SACPhiC,KAAKw8H,MAAM93H,SAAQ,CAACypH,EAAM9tH,KACxB,GAAc,IAAVA,EAAa,CACfwjE,EAAS7jE,KAAKomI,8BAA8BjY,EAAKznH,OACjD,MAAM0sI,EAAc1S,EAAK0M,WAAWptI,KAAK63H,WAAWx3H,EAAQ,IAC5D8oK,GAAenpK,KAAMozI,EAAavvE,EAAQogG,EAC5C,KAGA59B,EAAWrkG,QAAS,CAEtB,IADA1tB,EAAIkwD,OACCzjE,EAAIkjK,EAAa,EAAGljK,GAAK,EAAGA,IAAK,CACpC,MAAMqyI,EAAc/M,EAAW+G,WAAWptI,KAAK6nK,qBAAqB9mK,KAC9D,MAAC2hE,EAAK,UAAEd,GAAawxE,EACtBxxE,GAAcc,IAGnBpuD,EAAIstD,UAAYA,EAChBttD,EAAIqtD,YAAce,EAClBpuD,EAAIogI,YAAYtB,EAAYvJ,YAC5Bv1H,EAAIqgI,eAAiBvB,EAAYtJ,iBACjCjmE,EAAS7jE,KAAKomI,8BAA8BvrE,EAAK2hE,MAAM/kF,QAAUz3C,KAAK22B,IAAM32B,KAAK+oC,KACjFstD,EAAWr2F,KAAK8nK,iBAAiB/mK,EAAG8iE,GACpCvvD,EAAIitD,YACJjtD,EAAI2sD,OAAOjhE,KAAK0gE,QAAS1gE,KAAK2gE,SAC9BrsD,EAAIsgI,OAAOv+C,EAASp8C,EAAGo8C,EAASl/C,GAChC7iC,EAAIwtD,SACN,CACAxtD,EAAIqwD,SACN,CACF,CACA6kE,aAAc,CACdsL,aACE,MAAMxgI,EAAMtU,KAAKsU,IACXumD,EAAO76D,KAAK2T,QACZm0H,EAAWjtE,EAAK2hE,MACtB,IAAKsL,EAAS9lG,QACZ,OAEF,MAAMg9B,EAAah/D,KAAKgmI,cAAc,GACtC,IAAIniE,EAAQ7H,EACZ1nD,EAAIkwD,OACJlwD,EAAIq+B,UAAU3yC,KAAK0gE,QAAS1gE,KAAK2gE,SACjCrsD,EAAIowD,OAAO1F,GACX1qD,EAAImuD,UAAY,SAChBnuD,EAAIyuD,aAAe,SACnB/iE,KAAKw8H,MAAM93H,SAAQ,CAACypH,EAAM9tH,KACxB,GAAc,IAAVA,IAAgBw6D,EAAKpjB,QACvB,OAEF,MAAM27F,EAActL,EAASsF,WAAWptI,KAAK63H,WAAWx3H,IAClDgxI,GAAW,OAAO+B,EAAYv3E,MAEpC,GADAgI,EAAS7jE,KAAKomI,8BAA8BpmI,KAAKw8H,MAAMn8H,GAAOqG,OAC1D0sI,EAAY9I,kBAAmB,CACjCh2H,EAAIunD,KAAOw1E,EAASz+F,OACpBopB,EAAQ1nD,EAAI2nD,YAAYkyD,EAAK3tE,OAAOwb,MACpC1nD,EAAImtD,UAAY2xE,EAAY7I,cAC5B,MAAMzqE,GAAU,OAAUszE,EAAY5I,iBACtCl2H,EAAIggI,UACDt4E,EAAQ,EAAI8D,EAAQrzB,MACpBo3B,EAASwtE,EAASjpI,KAAO,EAAI03D,EAAQ7B,IACtCjC,EAAQ8D,EAAQ9D,MAChBq1E,EAASjpI,KAAO03D,EAAQ5D,OAE5B,EACA,OAAW5nD,EAAK65G,EAAK3tE,MAAO,GAAIqjB,EAAQwtE,EAAU,CAChD3uE,MAAO0wE,EAAY1wE,OACnB,IAEJpuD,EAAIqwD,SACN,CACAowE,YAAa,EAEfu0B,GAAkBp5J,GAAK,eACvBo5J,GAAkB92G,SAAW,CAC3BxwB,SAAS,EACTmoI,SAAS,EACT9zE,SAAU,YACVgwC,WAAY,CACVrkG,SAAS,EACT4/B,UAAW,EACXioE,WAAY,GACZC,iBAAkB,GAEpBpJ,KAAM,CACJ4F,UAAU,GAEZtnE,WAAY,EACZw9D,MAAO,CACL8N,mBAAmB,EACnB3hI,SAAUi/H,GAAMlvD,WAAWwuD,SAE7BX,YAAa,CACXgE,mBAAexnI,EACfynI,gBAAiB,EACjBxoG,SAAS,EACT65B,KAAM,CACJzzD,KAAM,IAERO,SAAS63C,GACP,OAAOA,CACT,EACAsf,QAAS,EACT8nG,mBAAmB,IAGvB0B,GAAkBriC,cAAgB,CAChC,mBAAoB,cACpB,oBAAqB,QACrB,cAAe,SAEjBqiC,GAAkBtlC,YAAc,CAC9BqC,WAAY,CACV/V,UAAW,SAIf,MAAM85C,GAAY,CAChBtjD,YAAa,CAAChsE,QAAQ,EAAM1yC,KAAM,EAAGiiK,MAAO,KAC5CnuH,OAAQ,CAACpB,QAAQ,EAAM1yC,KAAM,IAAMiiK,MAAO,IAC1CjuH,OAAQ,CAACtB,QAAQ,EAAM1yC,KAAM,IAAOiiK,MAAO,IAC3C/tH,KAAM,CAACxB,QAAQ,EAAM1yC,KAAM,KAASiiK,MAAO,IAC3Cv0H,IAAK,CAACgF,QAAQ,EAAM1yC,KAAM,MAAUiiK,MAAO,IAC3CvwF,KAAM,CAACh/B,QAAQ,EAAO1yC,KAAM,OAAWiiK,MAAO,GAC9Cx0H,MAAO,CAACiF,QAAQ,EAAM1yC,KAAM,OAASiiK,MAAO,IAC5C5wF,QAAS,CAAC3+B,QAAQ,EAAO1yC,KAAM,OAASiiK,MAAO,GAC/Cz0H,KAAM,CAACkF,QAAQ,EAAM1yC,KAAM,SAEvBkiK,GAASrlK,OAAOkR,KAAKi0J,IAC3B,SAASG,GAAO/4J,EAAGC,GACjB,OAAOD,EAAIC,CACb,CACA,SAASgmD,GAAM4I,EAAOviB,GACpB,IAAI,OAAcA,GAChB,OAAO,KAET,MAAMkY,EAAUqK,EAAMmqG,UAChB,OAACjzG,EAAM,MAAExR,EAAK,WAAE0kH,GAAcpqG,EAAMqqG,WAC1C,IAAIhkK,EAAQo3C,EASZ,MARsB,oBAAXyZ,IACT7wD,EAAQ6wD,EAAO7wD,KAEZ,OAAeA,KAClBA,EAA0B,kBAAX6wD,EACXvB,EAAQyB,MAAM/wD,EAAO6wD,GACrBvB,EAAQyB,MAAM/wD,IAEN,OAAVA,EACK,MAELq/C,IACFr/C,EAAkB,SAAVq/C,KAAqB,OAAS0kH,KAA8B,IAAfA,EAEjDz0G,EAAQ8hF,QAAQpxI,EAAOq/C,GADvBiQ,EAAQ8hF,QAAQpxI,EAAO,UAAW+jK,KAGhC/jK,EACV,CACA,SAASikK,GAA0BC,EAASj0I,EAAKoS,EAAK8hI,GACpD,MAAM9uG,EAAOuuG,GAAMrpK,OACnB,IAAK,IAAIF,EAAIupK,GAAMv5J,QAAQ65J,GAAU7pK,EAAIg7D,EAAO,IAAKh7D,EAAG,CACtD,MAAM+pK,EAAWV,GAAUE,GAAMvpK,IAC3B+tH,EAASg8C,EAAST,MAAQS,EAAST,MAAQpjK,OAAO89D,iBACxD,GAAI+lG,EAAShwH,QAAUpkB,KAAK8hB,MAAMzP,EAAMpS,IAAQm4F,EAASg8C,EAAS1iK,QAAUyiK,EAC1E,OAAOP,GAAMvpK,EAEjB,CACA,OAAOupK,GAAMvuG,EAAO,EACtB,CACA,SAASgvG,GAA2B1qG,EAAOovE,EAAUm7B,EAASj0I,EAAKoS,GACjE,IAAK,IAAIhoC,EAAIupK,GAAMrpK,OAAS,EAAGF,GAAKupK,GAAMv5J,QAAQ65J,GAAU7pK,IAAK,CAC/D,MAAMk4E,EAAOqxF,GAAMvpK,GACnB,GAAIqpK,GAAUnxF,GAAMn+B,QAAUulB,EAAMmqG,SAAS54J,KAAKm3B,EAAKpS,EAAKsiD,IAASw2D,EAAW,EAC9E,OAAOx2D,CAEX,CACA,OAAOqxF,GAAMM,EAAUN,GAAMv5J,QAAQ65J,GAAW,EAClD,CACA,SAASI,GAAmB/xF,GAC1B,IAAK,IAAIl4E,EAAIupK,GAAMv5J,QAAQkoE,GAAQ,EAAGld,EAAOuuG,GAAMrpK,OAAQF,EAAIg7D,IAAQh7D,EACrE,GAAIqpK,GAAUE,GAAMvpK,IAAI+5C,OACtB,OAAOwvH,GAAMvpK,EAGnB,CACA,SAASkqK,GAAQzuC,EAAOhwE,EAAM0+G,GAC5B,GAAKA,GAEE,GAAIA,EAAWjqK,OAAQ,CAC5B,MAAM,GAACs3I,EAAE,GAAEC,IAAM,QAAQ0yB,EAAY1+G,GAC/BovB,EAAYsvF,EAAW3yB,IAAO/rF,EAAO0+G,EAAW3yB,GAAM2yB,EAAW1yB,GACvEhc,EAAM5gD,IAAa,CACrB,OALE4gD,EAAMhwE,IAAQ,CAMlB,CACA,SAAS2+G,GAAc9qG,EAAOm8D,EAAOp3H,EAAKgmK,GACxC,MAAMp1G,EAAUqK,EAAMmqG,SAChBjiC,GAASvyE,EAAQ8hF,QAAQtb,EAAM,GAAG91H,MAAO0kK,GACzClqK,EAAOs7H,EAAMA,EAAMv7H,OAAS,GAAGyF,MACrC,IAAIyhI,EAAO9nI,EACX,IAAK8nI,EAAQI,EAAOJ,GAASjnI,EAAMinI,GAASnyE,EAAQ5xD,IAAI+jI,EAAO,EAAGijC,GAChE/qK,EAAQ+E,EAAI+iI,GACR9nI,GAAS,IACXm8H,EAAMn8H,GAAO8nI,OAAQ,GAGzB,OAAO3L,CACT,CACA,SAAS6uC,GAAoBhrG,EAAO57D,EAAQ2mK,GAC1C,MAAM5uC,EAAQ,GACRp3H,EAAM,CAAC,EACP22D,EAAOt3D,EAAOxD,OACpB,IAAIF,EAAG2F,EACP,IAAK3F,EAAI,EAAGA,EAAIg7D,IAAQh7D,EACtB2F,EAAQjC,EAAO1D,GACfqE,EAAIsB,GAAS3F,EACby7H,EAAMj8H,KAAK,CACTmG,QACAyhI,OAAO,IAGX,OAAiB,IAATpsE,GAAeqvG,EAAqBD,GAAc9qG,EAAOm8D,EAAOp3H,EAAKgmK,GAAzC5uC,CACtC,CACA,MAAM8uC,WAAkBt/B,GACtBlsI,YAAYmS,GACV+sH,MAAM/sH,GACNjS,KAAKg8H,OAAS,CACZzmH,KAAM,GACN0wD,OAAQ,GACRld,IAAK,IAEP/oD,KAAKurK,MAAQ,MACbvrK,KAAKwrK,gBAAazoK,EAClB/C,KAAKyrK,SAAW,CAAC,EACjBzrK,KAAK0rK,aAAc,EACnB1rK,KAAK0qK,gBAAa3nK,CACpB,CACA8zE,KAAK6xE,EAAW7tF,GACd,MAAMrO,EAAOk8F,EAAUl8F,OAASk8F,EAAUl8F,KAAO,CAAC,GAC5CwJ,EAAUh2D,KAAKwqK,SAAW,IAAIvyB,GAASruD,MAAM8+D,EAAUzQ,SAAS/xF,MACtE8P,EAAQ6gB,KAAKhc,IACb,QAAQrO,EAAKm/G,eAAgB31G,EAAQkwB,WACrClmF,KAAK0qK,WAAa,CAChBnzG,OAAQ/K,EAAK+K,OACbxR,MAAOyG,EAAKzG,MACZ0kH,WAAYj+G,EAAKi+G,YAEnBzrC,MAAMnoD,KAAK6xE,GACX1oJ,KAAK0rK,YAAc7wG,EAAKznD,UAC1B,CACAqkD,MAAMxsD,EAAK5K,GACT,YAAY0C,IAARkI,EACK,KAEFwsD,GAAMz3D,KAAMiL,EACrB,CACA2iI,eACE5O,MAAM4O,eACN5tI,KAAKg8H,OAAS,CACZzmH,KAAM,GACN0wD,OAAQ,GACRld,IAAK,GAET,CACAolF,sBACE,MAAMx6H,EAAU3T,KAAK2T,QACfqiD,EAAUh2D,KAAKwqK,SACfvxF,EAAOtlE,EAAQ64C,KAAKysB,MAAQ,MAClC,IAAI,IAACtiD,EAAG,IAAEoS,EAAG,WAAEiqF,EAAU,WAAEC,GAAcjzH,KAAK+yH,gBAC9C,SAAS64C,EAAatiC,GACftW,GAAe5gF,MAAMk3F,EAAO3yG,OAC/BA,EAAMD,KAAKC,IAAIA,EAAK2yG,EAAO3yG,MAExBs8F,GAAe7gF,MAAMk3F,EAAOvgG,OAC/BA,EAAMrS,KAAKqS,IAAIA,EAAKugG,EAAOvgG,KAE/B,CACKiqF,GAAeC,IAClB24C,EAAa5rK,KAAK6rK,mBACK,UAAnBl4J,EAAQ21H,QAA+C,WAAzB31H,EAAQ6oH,MAAM5jH,QAC9CgzJ,EAAa5rK,KAAK24H,WAAU,KAGhChiG,GAAM,OAAeA,KAASyb,MAAMzb,GAAOA,GAAOq/B,EAAQ8hF,QAAQ30G,KAAKC,MAAO61C,GAC9ElwC,GAAM,OAAeA,KAASqJ,MAAMrJ,GAAOA,GAAOitB,EAAQgiF,MAAM70G,KAAKC,MAAO61C,GAAQ,EACpFj5E,KAAK22B,IAAMD,KAAKC,IAAIA,EAAKoS,EAAM,GAC/B/oC,KAAK+oC,IAAMrS,KAAKqS,IAAIpS,EAAM,EAAGoS,EAC/B,CACA8iI,kBACE,MAAMjmK,EAAM5F,KAAK8rK,qBACjB,IAAIn1I,EAAM1vB,OAAOs7C,kBACbxZ,EAAM9hC,OAAOisH,kBAKjB,OAJIttH,EAAI3E,SACN01B,EAAM/wB,EAAI,GACVmjC,EAAMnjC,EAAIA,EAAI3E,OAAS,IAElB,CAAC01B,MAAKoS,MACf,CACAulG,aACE,MAAM36H,EAAU3T,KAAK2T,QACfo4J,EAAWp4J,EAAQ64C,KACnBs7E,EAAWn0H,EAAQ6oH,MACnB0uC,EAAiC,WAApBpjC,EAASlvH,OAAsB5Y,KAAK8rK,qBAAuB9rK,KAAKgsK,YAC5D,UAAnBr4J,EAAQ21H,QAAsB4hC,EAAWjqK,SAC3CjB,KAAK22B,IAAM32B,KAAK8sI,UAAYo+B,EAAW,GACvClrK,KAAK+oC,IAAM/oC,KAAK6sI,UAAYq+B,EAAWA,EAAWjqK,OAAS,IAE7D,MAAM01B,EAAM32B,KAAK22B,IACXoS,EAAM/oC,KAAK+oC,IACXyzF,GAAQ,QAAe0uC,EAAYv0I,EAAKoS,GAU9C,OATA/oC,KAAKurK,MAAQQ,EAAS9yF,OAAS6uD,EAASD,SACpC8iC,GAA0BoB,EAASnB,QAAS5qK,KAAK22B,IAAK32B,KAAK+oC,IAAK/oC,KAAKisK,kBAAkBt1I,IACvFo0I,GAA2B/qK,KAAMw8H,EAAMv7H,OAAQ8qK,EAASnB,QAAS5qK,KAAK22B,IAAK32B,KAAK+oC,MACpF/oC,KAAKwrK,WAAc1jC,EAASK,MAAMC,SAA0B,SAAfpoI,KAAKurK,MAC9CP,GAAmBhrK,KAAKurK,YADyCxoK,EAErE/C,KAAKksK,YAAYhB,GACbv3J,EAAQ8jC,SACV+kF,EAAM/kF,UAED4zH,GAAoBrrK,KAAMw8H,EAAOx8H,KAAKwrK,WAC/C,CACA38B,gBACM7uI,KAAK2T,QAAQw4J,qBACfnsK,KAAKksK,YAAYlsK,KAAKw8H,MAAMp3H,KAAI+oH,IAASA,EAAKznH,QAElD,CACAwlK,YAAYhB,GACV,IAEI3iC,EAAOrnI,EAFPiP,EAAQ,EACRC,EAAM,EAENpQ,KAAK2T,QAAQkwD,QAAUqnG,EAAWjqK,SACpCsnI,EAAQvoI,KAAKosK,mBAAmBlB,EAAW,IAEzC/6J,EADwB,IAAtB+6J,EAAWjqK,OACL,EAAIsnI,GAEHvoI,KAAKosK,mBAAmBlB,EAAW,IAAM3iC,GAAS,EAE7DrnI,EAAOlB,KAAKosK,mBAAmBlB,EAAWA,EAAWjqK,OAAS,IAE5DmP,EADwB,IAAtB86J,EAAWjqK,OACPC,GAECA,EAAOlB,KAAKosK,mBAAmBlB,EAAWA,EAAWjqK,OAAS,KAAO,GAGhF,MAAMiyI,EAAQg4B,EAAWjqK,OAAS,EAAI,GAAM,IAC5CkP,GAAQ,OAAYA,EAAO,EAAG+iI,GAC9B9iI,GAAM,OAAYA,EAAK,EAAG8iI,GAC1BlzI,KAAKyrK,SAAW,CAACt7J,QAAOC,MAAK0+G,OAAQ,GAAK3+G,EAAQ,EAAIC,GACxD,CACA47J,YACE,MAAMh2G,EAAUh2D,KAAKwqK,SACf7zI,EAAM32B,KAAK22B,IACXoS,EAAM/oC,KAAK+oC,IACXp1B,EAAU3T,KAAK2T,QACfo4J,EAAWp4J,EAAQ64C,KACnB49E,EAAQ2hC,EAAS9yF,MAAQ0xF,GAA0BoB,EAASnB,QAASj0I,EAAKoS,EAAK/oC,KAAKisK,kBAAkBt1I,IACtG2vI,GAAW,IAAA5+J,GAAeqkK,EAASzF,SAAU,GAC7CvuB,EAAoB,SAAV3N,GAAmB2hC,EAAStB,WACtC4B,GAAa,OAASt0B,KAAwB,IAAZA,EAClCvb,EAAQ,CAAC,EACf,IACIhwE,EAAM5K,EADN2mF,EAAQ5xG,EAMZ,GAJI01I,IACF9jC,GAASvyE,EAAQ8hF,QAAQvP,EAAO,UAAWwP,IAE7CxP,GAASvyE,EAAQ8hF,QAAQvP,EAAO8jC,EAAa,MAAQjiC,GACjDp0E,EAAQpkD,KAAKm3B,EAAKpS,EAAKyzG,GAAS,IAASk8B,EAC3C,MAAM,IAAI7oH,MAAM9mB,EAAM,QAAUoS,EAAM,uCAAyCu9H,EAAW,IAAMl8B,GAElG,MAAM8gC,EAAsC,SAAzBv3J,EAAQ6oH,MAAM5jH,QAAqB5Y,KAAKssK,oBAC3D,IAAK9/G,EAAO+7E,EAAO3mF,EAAQ,EAAG4K,EAAOzjB,EAAKyjB,GAAQwJ,EAAQ5xD,IAAIooD,EAAM85G,EAAUl8B,GAAQxoF,IACpFqpH,GAAQzuC,EAAOhwE,EAAM0+G,GAKvB,OAHI1+G,IAASzjB,GAA0B,UAAnBp1B,EAAQ21H,QAAgC,IAAV1nF,GAChDqpH,GAAQzuC,EAAOhwE,EAAM0+G,GAEhBjmK,OAAOkR,KAAKqmH,GAAOjrH,MAAK,CAACC,EAAGC,IAAMD,EAAIC,IAAGrM,KAAI60C,IAAMA,GAC5D,CACAk/E,iBAAiBzyH,GACf,MAAMsvD,EAAUh2D,KAAKwqK,SACfuB,EAAW/rK,KAAK2T,QAAQ64C,KAC9B,OAAIu/G,EAASQ,cACJv2G,EAAQ4pB,OAAOl5E,EAAOqlK,EAASQ,eAEjCv2G,EAAQ4pB,OAAOl5E,EAAOqlK,EAASJ,eAAe99D,SACvD,CACA2+D,oBAAoBhgH,EAAMnsD,EAAOm8H,EAAO58C,GACtC,MAAMjsE,EAAU3T,KAAK2T,QACfuyE,EAAUvyE,EAAQ64C,KAAKm/G,eACvB1yF,EAAOj5E,KAAKurK,MACZH,EAAYprK,KAAKwrK,WACjBiB,EAAcxzF,GAAQiN,EAAQjN,GAC9ByzF,EAActB,GAAallF,EAAQklF,GACnCj9C,EAAOqO,EAAMn8H,GACb8nI,EAAQijC,GAAasB,GAAev+C,GAAQA,EAAKga,MACjD3nF,EAAQxgD,KAAKwqK,SAAS5qF,OAAOpzB,EAAMozB,IAAWuoD,EAAQukC,EAAcD,IACpEtoG,EAAYxwD,EAAQ6oH,MAAM7zH,SAChC,OAAOw7D,GAAY,OAASA,EAAW,CAAC3jB,EAAOngD,EAAOm8H,GAAQx8H,MAAQwgD,CACxE,CACA+uF,mBAAmB/S,GACjB,IAAIz7H,EAAGg7D,EAAMoyD,EACb,IAAKptH,EAAI,EAAGg7D,EAAOygE,EAAMv7H,OAAQF,EAAIg7D,IAAQh7D,EAC3CotH,EAAOqO,EAAMz7H,GACbotH,EAAK3tE,MAAQxgD,KAAKwsK,oBAAoBr+C,EAAKznH,MAAO3F,EAAGy7H,EAEzD,CACA4vC,mBAAmB1lK,GACjB,OAAiB,OAAVA,EAAiB+5E,KAAO/5E,EAAQ1G,KAAK22B,MAAQ32B,KAAK+oC,IAAM/oC,KAAK22B,IACtE,CACA4lG,iBAAiB71H,GACf,MAAMimK,EAAU3sK,KAAKyrK,SACf/uE,EAAM18F,KAAKosK,mBAAmB1lK,GACpC,OAAO1G,KAAKmgI,oBAAoBwsC,EAAQx8J,MAAQusF,GAAOiwE,EAAQ79C,OACjE,CACA+iB,iBAAiBjxE,GACf,MAAM+rG,EAAU3sK,KAAKyrK,SACf/uE,EAAM18F,KAAK+xI,mBAAmBnxE,GAAS+rG,EAAQ79C,OAAS69C,EAAQv8J,IACtE,OAAOpQ,KAAK22B,IAAM+lE,GAAO18F,KAAK+oC,IAAM/oC,KAAK22B,IAC3C,CACAi2I,cAAcpsH,GACZ,MAAMqsH,EAAY7sK,KAAK2T,QAAQ6oH,MACzBswC,EAAiB9sK,KAAKsU,IAAI2nD,YAAYzb,GAAOwb,MAC7C+C,GAAQ,IAAAjzC,GAAU9rB,KAAK+9H,eAAiB8uC,EAAU7iC,YAAc6iC,EAAU9iC,aAC1EgjC,EAAcr2I,KAAK8mC,IAAIuB,GACvBiuG,EAAct2I,KAAK+mC,IAAIsB,GACvBkuG,EAAejtK,KAAK0xI,wBAAwB,GAAGtpI,KACrD,MAAO,CACLzG,EAAImrK,EAAiBC,EAAgBE,EAAeD,EACpDxkJ,EAAIskJ,EAAiBE,EAAgBC,EAAeF,EAExD,CACAd,kBAAkBiB,GAChB,MAAMnB,EAAW/rK,KAAK2T,QAAQ64C,KACxBm/G,EAAiBI,EAASJ,eAC1B/rF,EAAS+rF,EAAeI,EAAS9yF,OAAS0yF,EAAe7kD,YACzDqmD,EAAentK,KAAKwsK,oBAAoBU,EAAa,EAAG7B,GAAoBrrK,KAAM,CAACktK,GAAcltK,KAAKwrK,YAAa5rF,GACnHx3E,EAAOpI,KAAK4sK,cAAcO,GAC1BtC,EAAWn0I,KAAKw7C,MAAMlyE,KAAK+9H,eAAiB/9H,KAAKg8D,MAAQ5zD,EAAKzG,EAAI3B,KAAKk8D,OAAS9zD,EAAKogB,GAAK,EAChG,OAAOqiJ,EAAW,EAAIA,EAAW,CACnC,CACAyB,oBACE,IACIvrK,EAAGg7D,EADHmvG,EAAalrK,KAAKg8H,OAAOzmH,MAAQ,GAErC,GAAI21J,EAAWjqK,OACb,OAAOiqK,EAET,MAAM39B,EAAQvtI,KAAK0zH,0BACnB,GAAI1zH,KAAK0rK,aAAen+B,EAAMtsI,OAC5B,OAAQjB,KAAKg8H,OAAOzmH,KAAOg4H,EAAM,GAAG7+C,WAAWsqC,mBAAmBh5H,MAEpE,IAAKe,EAAI,EAAGg7D,EAAOwxE,EAAMtsI,OAAQF,EAAIg7D,IAAQh7D,EAC3CmqK,EAAaA,EAAW10J,OAAO+2H,EAAMxsI,GAAG2tF,WAAWsqC,mBAAmBh5H,OAExE,OAAQA,KAAKg8H,OAAOzmH,KAAOvV,KAAKy8B,UAAUyuI,EAC5C,CACAY,qBACE,MAAMZ,EAAalrK,KAAKg8H,OAAO/1D,QAAU,GACzC,IAAIllE,EAAGg7D,EACP,GAAImvG,EAAWjqK,OACb,OAAOiqK,EAET,MAAMjlG,EAASjmE,KAAKo4H,YACpB,IAAKr3H,EAAI,EAAGg7D,EAAOkK,EAAOhlE,OAAQF,EAAIg7D,IAAQh7D,EAC5CmqK,EAAW3qK,KAAKk3D,GAAMz3D,KAAMimE,EAAOllE,KAErC,OAAQf,KAAKg8H,OAAO/1D,OAASjmE,KAAK0rK,YAAcR,EAAalrK,KAAKy8B,UAAUyuI,EAC9E,CACAzuI,UAAUh4B,GACR,OAAO,IAAAsf,GAAatf,EAAO8M,KAAKg5J,IAClC,EAsBF,SAAS5jE,GAAYvnD,EAAOtyC,EAAK2qC,GAC/B,IAEI21H,EAAYC,EAAYC,EAAYxyI,EAFpCy9G,EAAK,EACLC,EAAKp5F,EAAMn+C,OAAS,EAEpBw2C,GACE3qC,GAAOsyC,EAAMm5F,GAAI77C,KAAO5vF,GAAOsyC,EAAMo5F,GAAI97C,OACzC67C,KAAIC,OAAM,OAAap5F,EAAO,MAAOtyC,MAEvC4vF,IAAK0wE,EAAY5gH,KAAM8gH,GAAcluH,EAAMm5F,MAC3C77C,IAAK2wE,EAAY7gH,KAAM1xB,GAAcskB,EAAMo5F,MAEzC1rI,GAAOsyC,EAAMm5F,GAAI/rF,MAAQ1/C,GAAOsyC,EAAMo5F,GAAIhsF,QAC1C+rF,KAAIC,OAAM,OAAap5F,EAAO,OAAQtyC,MAExC0/C,KAAM4gH,EAAY1wE,IAAK4wE,GAAcluH,EAAMm5F,MAC3C/rF,KAAM6gH,EAAY3wE,IAAK5hE,GAAcskB,EAAMo5F,KAE/C,MAAM+0B,EAAOF,EAAaD,EAC1B,OAAOG,EAAOD,GAAcxyI,EAAawyI,IAAexgK,EAAMsgK,GAAcG,EAAOD,CACrF,CAvCAhC,GAAUp7J,GAAK,OACfo7J,GAAU94G,SAAW,CACnB82E,OAAQ,OACR2O,SAAU,CAAC,EACXzrF,KAAM,CACJ+K,QAAQ,EACR0hB,MAAM,EACNlzB,OAAO,EACP0kH,YAAY,EACZG,QAAS,cACTe,eAAgB,CAAC,GAEnBnvC,MAAO,CACL5jH,OAAQ,OACRuvH,MAAO,CACLC,SAAS,KAyBf,MAAMolC,WAAwBlC,GAC5BxrK,YAAYmS,GACV+sH,MAAM/sH,GACNjS,KAAKytK,OAAS,GACdztK,KAAK0tK,aAAU3qK,EACf/C,KAAK2tK,iBAAc5qK,CACrB,CACAmpK,cACE,MAAMhB,EAAalrK,KAAK4tK,yBAClBxuH,EAAQp/C,KAAKytK,OAASztK,KAAK6tK,iBAAiB3C,GAClDlrK,KAAK0tK,QAAU/mE,GAAYvnD,EAAOp/C,KAAK22B,KACvC32B,KAAK2tK,YAAchnE,GAAYvnD,EAAOp/C,KAAK+oC,KAAO/oC,KAAK0tK,QACvD1uC,MAAMktC,YAAYhB,EACpB,CACA2C,iBAAiB3C,GACf,MAAM,IAACv0I,EAAG,IAAEoS,GAAO/oC,KACb87D,EAAQ,GACR1c,EAAQ,GACd,IAAIr+C,EAAGg7D,EAAM9nD,EAAMmoH,EAAM/yH,EACzB,IAAKtI,EAAI,EAAGg7D,EAAOmvG,EAAWjqK,OAAQF,EAAIg7D,IAAQh7D,EAChDq7H,EAAO8uC,EAAWnqK,GACdq7H,GAAQzlG,GAAOylG,GAAQrzF,GACzB+yB,EAAMv7D,KAAK67H,GAGf,GAAItgE,EAAM76D,OAAS,EACjB,MAAO,CACL,CAACurD,KAAM71B,EAAK+lE,IAAK,GACjB,CAAClwC,KAAMzjB,EAAK2zD,IAAK,IAGrB,IAAK37F,EAAI,EAAGg7D,EAAOD,EAAM76D,OAAQF,EAAIg7D,IAAQh7D,EAC3CsI,EAAOyyD,EAAM/6D,EAAI,GACjBkT,EAAO6nD,EAAM/6D,EAAI,GACjBq7H,EAAOtgE,EAAM/6D,GACT21B,KAAKqvB,OAAO18C,EAAO4K,GAAQ,KAAOmoH,GACpCh9E,EAAM7+C,KAAK,CAACisD,KAAM4vE,EAAM1/B,IAAK37F,GAAKg7D,EAAO,KAG7C,OAAO3c,CACT,CACAwuH,yBACE,IAAI1C,EAAalrK,KAAKg8H,OAAOjzE,KAAO,GACpC,GAAImiH,EAAWjqK,OACb,OAAOiqK,EAET,MAAM31J,EAAOvV,KAAKssK,oBACZ9rH,EAAQxgD,KAAK8rK,qBAOnB,OALEZ,EADE31J,EAAKtU,QAAUu/C,EAAMv/C,OACVjB,KAAKy8B,UAAUlnB,EAAKiB,OAAOgqC,IAE3BjrC,EAAKtU,OAASsU,EAAOirC,EAEpC0qH,EAAalrK,KAAKg8H,OAAOjzE,IAAMmiH,EACxBA,CACT,CACAkB,mBAAmB1lK,GACjB,OAAQigG,GAAY3mG,KAAKytK,OAAQ/mK,GAAS1G,KAAK0tK,SAAW1tK,KAAK2tK,WACjE,CACA97B,iBAAiBjxE,GACf,MAAM+rG,EAAU3sK,KAAKyrK,SACf35B,EAAU9xI,KAAK+xI,mBAAmBnxE,GAAS+rG,EAAQ79C,OAAS69C,EAAQv8J,IAC1E,OAAOu2F,GAAY3mG,KAAKytK,OAAQ37B,EAAU9xI,KAAK2tK,YAAc3tK,KAAK0tK,SAAS,EAC7E,EAEFF,GAAgBt9J,GAAK,aACrBs9J,GAAgBh7G,SAAW84G,GAAU94G,Q;;;;;;;AC/+UrC,SAASs7G,IAAQ,C,8+EACjB,MAAMl0J,EAAO,WACX,IAAI1J,EAAK,EACT,OAAO,WACL,OAAOA,GACT,CACF,CALY,GAMZ,SAAS69J,EAAcrnK,GACrB,OAAiB,OAAVA,GAAmC,qBAAVA,CAClC,CACA,SAAS2nC,EAAQ3nC,GACf,GAAI8F,MAAM6hC,SAAW7hC,MAAM6hC,QAAQ3nC,GACjC,OAAO,EAET,MAAMhD,EAAOuB,OAAO+6B,UAAUtU,SAASxjB,KAAKxB,GAC5C,MAAyB,YAArBhD,EAAK2O,MAAM,EAAG,IAAuC,WAAnB3O,EAAK2O,OAAO,EAIpD,CACA,SAASm8B,EAAS9nC,GAChB,OAAiB,OAAVA,GAA4D,oBAA1CzB,OAAO+6B,UAAUtU,SAASxjB,KAAKxB,EAC1D,CACA,MAAMsnK,EAAkBtnK,IAA4B,kBAAVA,GAAsBA,aAAiBO,SAAWixF,UAAUxxF,GACtG,SAASunK,EAAgBvnK,EAAOqG,GAC9B,OAAOihK,EAAetnK,GAASA,EAAQqG,CACzC,CACA,SAASmhK,EAAexnK,EAAOqG,GAC7B,MAAwB,qBAAVrG,EAAwBqG,EAAerG,CACvD,CACA,MAAMynK,EAAe,CAACznK,EAAO0nK,IACV,kBAAV1nK,GAAsBA,EAAM88G,SAAS,KAC1CrxE,WAAWzrC,GAAS,IAClBA,EAAQ0nK,EACRC,EAAc,CAAC3nK,EAAO0nK,IACT,kBAAV1nK,GAAsBA,EAAM88G,SAAS,KAC1CrxE,WAAWzrC,GAAS,IAAM0nK,GACvB1nK,EACP,SAASiC,EAASlI,EAAIkF,EAAMiD,GAC1B,GAAInI,GAAyB,oBAAZA,EAAGyH,KAClB,OAAOzH,EAAGsF,MAAM6C,EAASjD,EAE7B,CACA,SAAS2oK,EAAKC,EAAU9tK,EAAImI,EAAS6uC,GACnC,IAAI12C,EAAG44B,EAAKxjB,EACZ,GAAIk4B,EAAQkgI,GAEV,GADA50I,EAAM40I,EAASttK,OACXw2C,EACF,IAAK12C,EAAI44B,EAAM,EAAG54B,GAAK,EAAGA,IACxBN,EAAGyH,KAAKU,EAAS2lK,EAASxtK,GAAIA,QAGhC,IAAKA,EAAI,EAAGA,EAAI44B,EAAK54B,IACnBN,EAAGyH,KAAKU,EAAS2lK,EAASxtK,GAAIA,QAG7B,GAAIytC,EAAS+/H,GAGlB,IAFAp4J,EAAOlR,OAAOkR,KAAKo4J,GACnB50I,EAAMxjB,EAAKlV,OACNF,EAAI,EAAGA,EAAI44B,EAAK54B,IACnBN,EAAGyH,KAAKU,EAAS2lK,EAASp4J,EAAKpV,IAAKoV,EAAKpV,GAG/C,CACA,SAASytK,EAAelyG,EAAIC,GAC1B,IAAIx7D,EAAGg7D,EAAMw+E,EAAI9b,EACjB,IAAKniE,IAAOC,GAAMD,EAAGr7D,SAAWs7D,EAAGt7D,OACjC,OAAO,EAET,IAAKF,EAAI,EAAGg7D,EAAOO,EAAGr7D,OAAQF,EAAIg7D,IAAQh7D,EAGxC,GAFAw5I,EAAKj+E,EAAGv7D,GACR09H,EAAKliE,EAAGx7D,GACJw5I,EAAG/5E,eAAiBi+D,EAAGj+D,cAAgB+5E,EAAGl6I,QAAUo+H,EAAGp+H,MACzD,OAAO,EAGX,OAAO,CACT,CACA,SAASouK,EAAQ71J,GACf,GAAIy1B,EAAQz1B,GACV,OAAOA,EAAOxT,IAAIqpK,GAEpB,GAAIjgI,EAAS51B,GAAS,CACpB,MAAMnV,EAASwB,OAAOqT,OAAO,MACvBnC,EAAOlR,OAAOkR,KAAKyC,GACnBkvD,EAAO3xD,EAAKlV,OAClB,IAAIsuB,EAAI,EACR,KAAOA,EAAIu4C,IAAQv4C,EACjB9rB,EAAO0S,EAAKoZ,IAAMk/I,EAAQ71J,EAAOzC,EAAKoZ,KAExC,OAAO9rB,CACT,CACA,OAAOmV,CACT,CACA,SAAS81J,EAAW/qK,GAClB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAeoN,QAAQpN,EAC3D,CACA,SAASgrK,EAAQhrK,EAAKF,EAAQmV,EAAQjF,GACpC,IAAK+6J,EAAW/qK,GACd,OAEF,MAAMirK,EAAOnrK,EAAOE,GACdkrK,EAAOj2J,EAAOjV,GAChB6qC,EAASogI,IAASpgI,EAASqgI,GAC7B94G,EAAM64G,EAAMC,EAAMl7J,GAElBlQ,EAAOE,GAAO8qK,EAAQI,EAE1B,CACA,SAAS94G,EAAMtyD,EAAQmV,EAAQjF,GAC7B,MAAMuhJ,EAAU7mH,EAAQz1B,GAAUA,EAAS,CAACA,GACtCmjD,EAAOm5F,EAAQj0J,OACrB,IAAKutC,EAAS/qC,GACZ,OAAOA,EAETkQ,EAAUA,GAAW,CAAC,EACtB,MAAMm2D,EAASn2D,EAAQm2D,QAAU6kG,EACjC,IAAK,IAAI5tK,EAAI,EAAGA,EAAIg7D,IAAQh7D,EAAG,CAE7B,GADA6X,EAASs8I,EAAQn0J,IACZytC,EAAS51B,GACZ,SAEF,MAAMzC,EAAOlR,OAAOkR,KAAKyC,GACzB,IAAK,IAAI2W,EAAI,EAAGu4C,EAAO3xD,EAAKlV,OAAQsuB,EAAIu4C,IAAQv4C,EAC9Cu6C,EAAO3zD,EAAKoZ,GAAI9rB,EAAQmV,EAAQjF,EAEpC,CACA,OAAOlQ,CACT,CACA,SAASqrK,EAAQrrK,EAAQmV,GACvB,OAAOm9C,EAAMtyD,EAAQmV,EAAQ,CAACkxD,OAAQilG,GACxC,CACA,SAASA,EAAUprK,EAAKF,EAAQmV,GAC9B,IAAK81J,EAAW/qK,GACd,OAEF,MAAMirK,EAAOnrK,EAAOE,GACdkrK,EAAOj2J,EAAOjV,GAChB6qC,EAASogI,IAASpgI,EAASqgI,GAC7BC,EAAQF,EAAMC,GACJ5pK,OAAO+6B,UAAUwP,eAAetnC,KAAKzE,EAAQE,KACvDF,EAAOE,GAAO8qK,EAAQI,GAE1B,CAOA,MAAMG,EAAe,CACnB,GAAItnK,GAAKA,EACTuyC,EAAG3gB,GAAKA,EAAE2gB,EACV9C,EAAG7d,GAAKA,EAAE6d,GAEZ,SAAS83H,EAAiBh9H,EAAKtuC,GAC7B,MAAMwlG,EAAW6lE,EAAarrK,KAASqrK,EAAarrK,GAAOurK,EAAgBvrK,IAC3E,OAAOwlG,EAASl3D,EAClB,CACA,SAASi9H,EAAgBvrK,GACvB,MAAMwS,EAAOg5J,EAAUxrK,GACvB,OAAOsuC,IACL,IAAK,MAAM1iB,KAAKpZ,EAAM,CACpB,GAAU,KAANoZ,EACF,MAEF0iB,EAAMA,GAAOA,EAAI1iB,EACnB,CACA,OAAO0iB,CAAG,CAEd,CACA,SAASk9H,EAAUxrK,GACjB,MAAM40D,EAAQ50D,EAAIyW,MAAM,KAClBjE,EAAO,GACb,IAAIw4B,EAAM,GACV,IAAK,MAAMq/D,KAAQz1C,EACjB5pB,GAAOq/D,EACHr/D,EAAI60E,SAAS,MACf70E,EAAMA,EAAIt8B,MAAM,GAAI,GAAK,KAEzB8D,EAAK5V,KAAKouC,GACVA,EAAM,IAGV,OAAOx4B,CACT,CACA,SAASi5J,EAAYxhI,GACnB,OAAOA,EAAI+D,OAAO,GAAGJ,cAAgB3D,EAAIv7B,MAAM,EACjD,CACA,MAAMg9J,EAAW3oK,GAA2B,qBAAVA,EAC5BmpC,EAAcnpC,GAA2B,oBAAVA,EAC/B4oK,EAAY,CAAC99J,EAAGC,KACpB,GAAID,EAAEpJ,OAASqJ,EAAErJ,KACf,OAAO,EAET,IAAK,MAAMgb,KAAQ5R,EACjB,IAAKC,EAAEtN,IAAIif,GACT,OAAO,EAGX,OAAO,CAAI,EAEb,SAASmsJ,EAActwI,GACrB,MAAkB,YAAXA,EAAEv7B,MAAiC,UAAXu7B,EAAEv7B,MAA+B,gBAAXu7B,EAAEv7B,IACzD,CAEA,MAAM65D,EAAK7mC,KAAK6mC,GACViyG,EAAM,EAAIjyG,EACVkyG,EAAQD,EAAMjyG,EACdmyG,EAAWzoK,OAAOs7C,kBAClBotH,EAAcpyG,EAAK,IACnByD,EAAUzD,EAAK,EACfqyG,EAAaryG,EAAK,EAClBsyG,EAAqB,EAALtyG,EAAS,EACzBzb,EAAQprB,KAAKorB,MACbk1B,EAAOtgD,KAAKsgD,KAClB,SAAS84F,EAAQnxG,GACf,MAAMoxG,EAAer5I,KAAKqvB,MAAM4Y,GAChCA,EAAQqxG,EAAarxG,EAAOoxG,EAAcpxG,EAAQ,KAAQoxG,EAAepxG,EACzE,MAAMsxG,EAAYv5I,KAAK2lD,IAAI,GAAI3lD,KAAKw7C,MAAMpwB,EAAM6c,KAC1CuxG,EAAWvxG,EAAQsxG,EACnBE,EAAeD,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAI,GACjF,OAAOC,EAAeF,CACxB,CACA,SAASG,EAAW1pK,GAClB,MAAMQ,EAAS,GACTg2D,EAAOxmC,KAAKwmC,KAAKx2D,GACvB,IAAI3F,EACJ,IAAKA,EAAI,EAAGA,EAAIm8D,EAAMn8D,IAChB2F,EAAQ3F,IAAM,IAChBmG,EAAO3G,KAAKQ,GACZmG,EAAO3G,KAAKmG,EAAQ3F,IAOxB,OAJIm8D,KAAiB,EAAPA,IACZh2D,EAAO3G,KAAK28D,GAEdh2D,EAAOqK,MAAK,CAACC,EAAGC,IAAMD,EAAIC,IAAGtQ,MACtB+F,CACT,CACA,SAAS8xD,EAASp3D,GAChB,OAAQwwC,MAAMD,WAAWvwC,KAAOs2F,SAASt2F,EAC3C,CACA,SAASouK,EAAa/1H,EAAG9C,EAAG8zF,GAC1B,OAAOv0G,KAAK2e,IAAI4E,EAAI9C,GAAK8zF,CAC3B,CACA,SAASolC,EAAYp2H,EAAGgxF,GACtB,MAAMqlC,EAAU55I,KAAKqvB,MAAM9L,GAC3B,OAASq2H,EAAUrlC,GAAYhxF,GAAQq2H,EAAUrlC,GAAYhxF,CAC/D,CACA,SAASs2H,EAAmBlpF,EAAO5jF,EAAQyzE,GACzC,IAAIn2E,EAAGg7D,EAAMr1D,EACb,IAAK3F,EAAI,EAAGg7D,EAAOsrB,EAAMpmF,OAAQF,EAAIg7D,EAAMh7D,IACzC2F,EAAQ2gF,EAAMtmF,GAAGm2E,GACZ9kC,MAAM1rC,KACTjD,EAAOkzB,IAAMD,KAAKC,IAAIlzB,EAAOkzB,IAAKjwB,GAClCjD,EAAOslC,IAAMrS,KAAKqS,IAAItlC,EAAOslC,IAAKriC,GAGxC,CACA,SAAS8pK,EAAUC,GACjB,OAAOA,GAAWlzG,EAAK,IACzB,CACA,SAASmzG,EAAUC,GACjB,OAAOA,GAAW,IAAMpzG,EAC1B,CACA,SAASqzG,EAAe32H,GACtB,IAAK+zH,EAAe/zH,GAClB,OAEF,IAAIhb,EAAI,EACJnvB,EAAI,EACR,MAAO4mB,KAAKqvB,MAAM9L,EAAIhb,GAAKA,IAAMgb,EAC/Bhb,GAAK,GACLnvB,IAEF,OAAOA,CACT,CACA,SAAS+gK,EAAkBC,EAAaC,GACtC,MAAMC,EAAsBD,EAAW92H,EAAI62H,EAAY72H,EACjDg3H,EAAsBF,EAAW55H,EAAI25H,EAAY35H,EACjD+5H,EAA2Bx6I,KAAKwmC,KAAK8zG,EAAsBA,EAAsBC,EAAsBA,GAC7G,IAAIlyG,EAAQroC,KAAKy6I,MAAMF,EAAqBD,GAI5C,OAHIjyG,GAAU,GAAMxB,IAClBwB,GAASywG,GAEJ,CACLzwG,QACAzoB,SAAU46H,EAEd,CACA,SAASE,EAAsBv4B,EAAKC,GAClC,OAAOpiH,KAAKwmC,KAAKxmC,KAAK2lD,IAAIy8D,EAAI7+F,EAAI4+F,EAAI5+F,EAAG,GAAKvjB,KAAK2lD,IAAIy8D,EAAI3hG,EAAI0hG,EAAI1hG,EAAG,GACxE,CACA,SAASk6H,EAAW7/J,EAAGC,GACrB,OAAQD,EAAIC,EAAIg+J,GAASD,EAAMjyG,CACjC,CACA,SAAS+zG,EAAgB9/J,GACvB,OAAQA,EAAIg+J,EAAMA,GAAOA,CAC3B,CACA,SAAS+B,GAAcxyG,EAAO5uD,EAAOC,EAAKohK,GACxC,MAAMhgK,EAAI8/J,EAAgBvyG,GACpBzlD,EAAIg4J,EAAgBnhK,GACpB8uB,EAAIqyI,EAAgBlhK,GACpBqhK,EAAeH,EAAgBh4J,EAAI9H,GACnCkgK,EAAaJ,EAAgBryI,EAAIztB,GACjCmgK,EAAeL,EAAgB9/J,EAAI8H,GACnCs4J,EAAaN,EAAgB9/J,EAAIytB,GACvC,OAAOztB,IAAM8H,GAAK9H,IAAMytB,GAAMuyI,GAAyBl4J,IAAM2lB,GACvDwyI,EAAeC,GAAcC,EAAeC,CACpD,CACA,SAASC,GAAYnrK,EAAOiwB,EAAKoS,GAC/B,OAAOrS,KAAKqS,IAAIpS,EAAKD,KAAKC,IAAIoS,EAAKriC,GACrC,CACA,SAASorK,GAAYprK,GACnB,OAAOmrK,GAAYnrK,GAAQ,MAAO,MACpC,CACA,SAASqrK,GAAWrrK,EAAOyJ,EAAOC,EAAK66H,EAAU,MAC/C,OAAOvkI,GAASgwB,KAAKC,IAAIxmB,EAAOC,GAAO66H,GAAWvkI,GAASgwB,KAAKqS,IAAI54B,EAAOC,GAAO66H,CACpF,CAEA,SAAS+mC,GAAQ5yH,EAAO14C,EAAOurK,GAC7BA,EAAMA,GAAO,CAAE5xK,GAAU++C,EAAM/+C,GAASqG,GACxC,IAEIwrK,EAFA15B,EAAKp5F,EAAMn+C,OAAS,EACpBs3I,EAAK,EAET,MAAOC,EAAKD,EAAK,EACf25B,EAAO35B,EAAKC,GAAO,EACfy5B,EAAIC,GACN35B,EAAK25B,EAEL15B,EAAK05B,EAGT,MAAO,CAAC35B,KAAIC,KACd,CACA,MAAM25B,GAAe,CAAC/yH,EAAOz7C,EAAK+C,EAAOxF,IACvC8wK,GAAQ5yH,EAAO14C,EAAOxF,EAClBb,GAAS++C,EAAM/+C,GAAOsD,IAAQ+C,EAC9BrG,GAAS++C,EAAM/+C,GAAOsD,GAAO+C,GAC7B0rK,GAAgB,CAAChzH,EAAOz7C,EAAK+C,IACjCsrK,GAAQ5yH,EAAO14C,GAAOrG,GAAS++C,EAAM/+C,GAAOsD,IAAQ+C,IACtD,SAAS2rK,GAAe5tK,EAAQkyB,EAAKoS,GACnC,IAAI54B,EAAQ,EACRC,EAAM3L,EAAOxD,OACjB,MAAOkP,EAAQC,GAAO3L,EAAO0L,GAASwmB,EACpCxmB,IAEF,MAAOC,EAAMD,GAAS1L,EAAO2L,EAAM,GAAK24B,EACtC34B,IAEF,OAAOD,EAAQ,GAAKC,EAAM3L,EAAOxD,OAC7BwD,EAAO4N,MAAMlC,EAAOC,GACpB3L,CACN,CACA,MAAM6tK,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WACvD,SAASC,GAAkBlrF,EAAOxzB,GAC5BwzB,EAAMmrF,SACRnrF,EAAMmrF,SAASvqG,UAAU1nE,KAAKszD,IAGhC5uD,OAAO+gB,eAAeqhE,EAAO,WAAY,CACvCr/D,cAAc,EACdD,YAAY,EACZrhB,MAAO,CACLuhE,UAAW,CAACpU,MAGhBy+G,GAAY5tK,SAASf,IACnB,MAAMoF,EAAS,UAAYqmK,EAAYzrK,GACjC8kB,EAAO4+D,EAAM1jF,GACnBsB,OAAO+gB,eAAeqhE,EAAO1jF,EAAK,CAChCqkB,cAAc,EACdD,YAAY,EACZrhB,SAASf,GACP,MAAMG,EAAM2iB,EAAK1iB,MAAM/F,KAAM2F,GAM7B,OALA0hF,EAAMmrF,SAASvqG,UAAUvjE,SAAS4H,IACF,oBAAnBA,EAAOvD,IAChBuD,EAAOvD,MAAWpD,EACpB,IAEKG,CACT,GACA,IAEN,CACA,SAAS2sK,GAAoBprF,EAAOxzB,GAClC,MAAM6+G,EAAOrrF,EAAMmrF,SACnB,IAAKE,EACH,OAEF,MAAMzqG,EAAYyqG,EAAKzqG,UACjB5nE,EAAQ4nE,EAAUl3D,QAAQ8iD,IACjB,IAAXxzD,GACF4nE,EAAUt3D,OAAOtQ,EAAO,GAEtB4nE,EAAUhnE,OAAS,IAGvBqxK,GAAY5tK,SAASf,WACZ0jF,EAAM1jF,EAAI,WAEZ0jF,EAAMmrF,SACf,CACA,SAASG,GAAa72G,GACpB,MAAMh4D,EAAM,IAAIpC,IAChB,IAAIX,EAAGg7D,EACP,IAAKh7D,EAAI,EAAGg7D,EAAOD,EAAM76D,OAAQF,EAAIg7D,IAAQh7D,EAC3C+C,EAAIM,IAAI03D,EAAM/6D,IAEhB,OAAI+C,EAAIsE,OAAS2zD,EACRD,EAEFtvD,MAAM2W,KAAKrf,EACpB,CAKA,MAAM8uK,GAAoB,WACxB,MAAsB,qBAAXvvI,OACF,SAAS16B,GACd,OAAOA,GACT,EAEK06B,OAAOmE,qBAChB,CAPyB,GAQzB,SAASqrI,GAAUpyK,EAAImI,EAASkqK,GAC9B,MAAMC,EAAaD,GAAY,CAAEntK,GAAS6G,MAAMwzB,UAAU3tB,MAAMnK,KAAKvC,IACrE,IAAIqtK,GAAU,EACVrtK,EAAO,GACX,OAAO,YAAYyxC,GACjBzxC,EAAOotK,EAAW37H,GACb47H,IACHA,GAAU,EACVJ,GAAiB1qK,KAAKm7B,QAAQ,KAC5B2vI,GAAU,EACVvyK,EAAGsF,MAAM6C,EAASjD,EAAK,IAG7B,CACF,CACA,SAASstK,GAASxyK,EAAI+uH,GACpB,IAAIznF,EACJ,OAAO,YAAYpiC,GAOjB,OANI6pH,GACF0jD,aAAanrI,GACbA,EAAUD,WAAWrnC,EAAI+uH,EAAO7pH,IAEhClF,EAAGsF,MAAM/F,KAAM2F,GAEV6pH,CACT,CACF,CACA,MAAM2jD,GAAsB71G,GAAoB,UAAVA,EAAoB,OAAmB,QAAVA,EAAkB,QAAU,SACzF81G,GAAiB,CAAC91G,EAAOntD,EAAOC,IAAkB,UAAVktD,EAAoBntD,EAAkB,QAAVmtD,EAAkBltD,GAAOD,EAAQC,GAAO,EAC5GijK,GAAS,CAAC/1G,EAAO7wB,EAAME,EAAOqtH,KAClC,MAAM1qF,EAAQ0qF,EAAM,OAAS,QAC7B,OAAO18F,IAAUgS,EAAQ3iC,EAAkB,WAAV2wB,GAAsB7wB,EAAOE,GAAS,EAAIF,CAAI,EAEjF,SAAS6mI,GAAiC/mI,EAAM64B,EAAQw/D,GACtD,MAAM2uC,EAAanuG,EAAOnkE,OAC1B,IAAIkP,EAAQ,EACRyxC,EAAQ2xH,EACZ,GAAIhnI,EAAKwrF,QAAS,CAChB,MAAM,OAACjE,EAAM,QAAEW,GAAWloF,EACpB84B,EAAOyuD,EAAOzuD,MACd,IAAC1uC,EAAG,IAAEoS,EAAG,WAAEiqF,EAAU,WAAEC,GAAca,EAAOf,gBAC9CC,IACF7iH,EAAQ0hK,GAAYn7I,KAAKC,IACvBw7I,GAAa19C,EAASX,EAAOzuD,KAAM1uC,GAAK4hH,GACxC3T,EAAqB2uC,EAAapB,GAAa/sG,EAAQC,EAAMyuD,EAAOyI,iBAAiB5lG,IAAM4hH,IAC7F,EAAGg7B,EAAa,IAGhB3xH,EADEqxE,EACM4+C,GAAYn7I,KAAKqS,IACvBopI,GAAa19C,EAASX,EAAOzuD,KAAMt8B,GAAK,GAAMyvG,GAAK,EACnD5T,EAAqB,EAAIutC,GAAa/sG,EAAQC,EAAMyuD,EAAOyI,iBAAiBxzF,IAAM,GAAMyvG,GAAK,GAC/FroI,EAAOojK,GAAcpjK,EAEbojK,EAAapjK,CAEzB,CACA,MAAO,CAACA,QAAOyxC,QACjB,CACA,SAAS4xH,GAAoBjnI,GAC3B,MAAM,OAACslF,EAAM,OAAEC,EAAM,aAAE2hD,GAAgBlnI,EACjCmnI,EAAY,CAChBC,KAAM9hD,EAAOl7F,IACbi9I,KAAM/hD,EAAO9oF,IACb8qI,KAAM/hD,EAAOn7F,IACbm9I,KAAMhiD,EAAO/oF,KAEf,IAAK0qI,EAEH,OADAlnI,EAAKknI,aAAeC,GACb,EAET,MAAM32B,EAAU02B,EAAaE,OAAS9hD,EAAOl7F,KAC1C88I,EAAaG,OAAS/hD,EAAO9oF,KAC7B0qI,EAAaI,OAAS/hD,EAAOn7F,KAC7B88I,EAAaK,OAAShiD,EAAO/oF,IAEhC,OADA9jC,OAAOqoB,OAAOmmJ,EAAcC,GACrB32B,CACT,CAEA,MAAMg3B,GAAUjoJ,GAAY,IAANA,GAAiB,IAANA,EAC3BkoJ,GAAY,CAACloJ,EAAGxS,EAAGxJ,KAAQ4mB,KAAK2lD,IAAI,EAAG,IAAMvwD,GAAK,IAAM4K,KAAK+mC,KAAK3xC,EAAIxS,GAAKk2J,EAAM1/J,GACjFmkK,GAAa,CAACnoJ,EAAGxS,EAAGxJ,IAAM4mB,KAAK2lD,IAAI,GAAI,GAAKvwD,GAAK4K,KAAK+mC,KAAK3xC,EAAIxS,GAAKk2J,EAAM1/J,GAAK,EAC/E5P,GAAU,CACdg0K,OAAQpoJ,GAAKA,EACbqoJ,WAAYroJ,GAAKA,EAAIA,EACrBsoJ,YAAatoJ,IAAMA,GAAKA,EAAI,GAC5BuoJ,cAAevoJ,IAAOA,GAAK,IAAO,EAC9B,GAAMA,EAAIA,GACT,MAAUA,GAAMA,EAAI,GAAK,GAC9BwoJ,YAAaxoJ,GAAKA,EAAIA,EAAIA,EAC1ByoJ,aAAczoJ,IAAMA,GAAK,GAAKA,EAAIA,EAAI,EACtC0oJ,eAAgB1oJ,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EACd,KAAQA,GAAK,GAAKA,EAAIA,EAAI,GAC9B2oJ,YAAa3oJ,GAAKA,EAAIA,EAAIA,EAAIA,EAC9B4oJ,aAAc5oJ,MAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GAC5C6oJ,eAAgB7oJ,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,GACjB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GACnC8oJ,YAAa9oJ,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAClC+oJ,aAAc/oJ,IAAMA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,EAC9CgpJ,eAAgBhpJ,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EACtB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GACtCipJ,WAAYjpJ,GAA8B,EAAxB4K,KAAK8mC,IAAI1xC,EAAIk1C,GAC/Bg0G,YAAalpJ,GAAK4K,KAAK+mC,IAAI3xC,EAAIk1C,GAC/Bi0G,cAAenpJ,IAAM,IAAO4K,KAAK8mC,IAAID,EAAKzxC,GAAK,GAC/CopJ,WAAYppJ,GAAY,IAANA,EAAW,EAAI4K,KAAK2lD,IAAI,EAAG,IAAMvwD,EAAI,IACvDqpJ,YAAarpJ,GAAY,IAANA,EAAW,EAA4B,EAAvB4K,KAAK2lD,IAAI,GAAI,GAAKvwD,GACrDspJ,cAAetpJ,GAAKioJ,GAAOjoJ,GAAKA,EAAIA,EAAI,GACpC,GAAM4K,KAAK2lD,IAAI,EAAG,IAAU,EAAJvwD,EAAQ,IAChC,IAAyC,EAAjC4K,KAAK2lD,IAAI,GAAI,IAAU,EAAJvwD,EAAQ,KACvCupJ,WAAYvpJ,GAAMA,GAAK,EAAKA,IAAM4K,KAAKwmC,KAAK,EAAIpxC,EAAIA,GAAK,GACzDwpJ,YAAaxpJ,GAAK4K,KAAKwmC,KAAK,GAAKpxC,GAAK,GAAKA,GAC3CypJ,cAAezpJ,IAAOA,GAAK,IAAO,GAC7B,IAAO4K,KAAKwmC,KAAK,EAAIpxC,EAAIA,GAAK,GAC/B,IAAO4K,KAAKwmC,KAAK,GAAKpxC,GAAK,GAAKA,GAAK,GACzC0pJ,cAAe1pJ,GAAKioJ,GAAOjoJ,GAAKA,EAAIkoJ,GAAUloJ,EAAG,KAAO,IACxD2pJ,eAAgB3pJ,GAAKioJ,GAAOjoJ,GAAKA,EAAImoJ,GAAWnoJ,EAAG,KAAO,IAC1D4pJ,iBAAiB5pJ,GACf,MAAMxS,EAAI,MACJxJ,EAAI,IACV,OAAOikK,GAAOjoJ,GAAKA,EACjBA,EAAI,GACA,GAAMkoJ,GAAc,EAAJloJ,EAAOxS,EAAGxJ,GAC1B,GAAM,GAAMmkK,GAAe,EAAJnoJ,EAAQ,EAAGxS,EAAGxJ,EAC7C,EACA6lK,WAAW7pJ,GACT,MAAMxS,EAAI,QACV,OAAOwS,EAAIA,IAAMxS,EAAI,GAAKwS,EAAIxS,EAChC,EACAs8J,YAAY9pJ,GACV,MAAMxS,EAAI,QACV,OAAQwS,GAAK,GAAKA,IAAMxS,EAAI,GAAKwS,EAAIxS,GAAK,CAC5C,EACAu8J,cAAc/pJ,GACZ,IAAIxS,EAAI,QACR,OAAKwS,GAAK,IAAO,EACDA,EAAIA,IAAuB,GAAhBxS,GAAK,QAAgBwS,EAAIxS,GAA3C,GAEF,KAAQwS,GAAK,GAAKA,IAAuB,GAAhBxS,GAAK,QAAgBwS,EAAIxS,GAAK,EAChE,EACAw8J,aAAchqJ,GAAK,EAAI5rB,GAAQ61K,cAAc,EAAIjqJ,GACjDiqJ,cAAcjqJ,GACZ,MAAM/C,EAAI,OACJmgB,EAAI,KACV,OAAIpd,EAAK,EAAIod,EACJngB,EAAI+C,EAAIA,EAEbA,EAAK,EAAIod,EACJngB,GAAK+C,GAAM,IAAMod,GAAMpd,EAAI,IAEhCA,EAAK,IAAMod,EACNngB,GAAK+C,GAAM,KAAOod,GAAMpd,EAAI,MAE9B/C,GAAK+C,GAAM,MAAQod,GAAMpd,EAAI,OACtC,EACAkqJ,gBAAiBlqJ,GAAMA,EAAI,GACO,GAA9B5rB,GAAQ41K,aAAiB,EAAJhqJ,GACc,GAAnC5rB,GAAQ61K,cAAkB,EAAJjqJ,EAAQ,GAAW;;;;;;;AAS/C,SAASi6B,GAAMr+C,GACb,OAAOA,EAAI,GAAM,CACnB,CACA,MAAMuuK,GAAM,CAACvuK,EAAG1G,EAAGwnB,IAAMkO,KAAKqS,IAAIrS,KAAKC,IAAIjvB,EAAG8gB,GAAIxnB,GAClD,SAASk1K,GAAIxuK,GACX,OAAOuuK,GAAIlwH,GAAU,KAAJr+C,GAAW,EAAG,IACjC,CACA,SAASyuK,GAAIzuK,GACX,OAAOuuK,GAAIlwH,GAAU,IAAJr+C,GAAU,EAAG,IAChC,CACA,SAAS0uK,GAAI1uK,GACX,OAAOuuK,GAAIlwH,GAAMr+C,EAAI,MAAQ,IAAK,EAAG,EACvC,CACA,SAAS2uK,GAAI3uK,GACX,OAAOuuK,GAAIlwH,GAAU,IAAJr+C,GAAU,EAAG,IAChC,CACA,MAAM4uK,GAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG5mF,EAAG,GAAI7U,EAAG,GAAI4U,EAAG,GAAIvV,EAAG,GAAIE,EAAG,GAAIoV,EAAG,GAAIh+E,EAAG,GAAIC,EAAG,GAAIgL,EAAG,GAAIysB,EAAG,GAAIjK,EAAG,GAAI5Z,EAAG,IACrJkxJ,GAAM,IAAI,oBACV3vG,GAAKn1D,GAAK8kK,GAAQ,GAAJ9kK,GACd+kK,GAAK/kK,GAAK8kK,IAAS,IAAJ9kK,IAAa,GAAK8kK,GAAQ,GAAJ9kK,GACrCymC,GAAKzmC,IAAW,IAAJA,IAAa,KAAY,GAAJA,GACjCglK,GAAU/uK,GAAKwwC,GAAGxwC,EAAE6D,IAAM2sC,GAAGxwC,EAAE8qC,IAAM0F,GAAGxwC,EAAE+J,IAAMymC,GAAGxwC,EAAE8J,GAC3D,SAASklK,GAAS9oI,GAChB,IACIrhC,EADAotB,EAAMiU,EAAI3sC,OAmBd,MAjBe,MAAX2sC,EAAI,KACM,IAARjU,GAAqB,IAARA,EACfptB,EAAM,CACJhB,EAAG,IAAsB,GAAhB+qK,GAAM1oI,EAAI,IACnB4E,EAAG,IAAsB,GAAhB8jI,GAAM1oI,EAAI,IACnBn8B,EAAG,IAAsB,GAAhB6kK,GAAM1oI,EAAI,IACnBp8B,EAAW,IAARmoB,EAA4B,GAAhB28I,GAAM1oI,EAAI,IAAW,KAErB,IAARjU,GAAqB,IAARA,IACtBptB,EAAM,CACJhB,EAAG+qK,GAAM1oI,EAAI,KAAO,EAAI0oI,GAAM1oI,EAAI,IAClC4E,EAAG8jI,GAAM1oI,EAAI,KAAO,EAAI0oI,GAAM1oI,EAAI,IAClCn8B,EAAG6kK,GAAM1oI,EAAI,KAAO,EAAI0oI,GAAM1oI,EAAI,IAClCp8B,EAAW,IAARmoB,EAAa28I,GAAM1oI,EAAI,KAAO,EAAI0oI,GAAM1oI,EAAI,IAAO,OAIrDrhC,CACT,CACA,MAAMg4C,GAAQ,CAAC/yC,EAAG6T,IAAM7T,EAAI,IAAM6T,EAAE7T,GAAK,GACzC,SAASy9G,GAAUvnH,GACjB,IAAI2d,EAAIoxJ,GAAQ/uK,GAAKk/D,GAAK4vG,GAC1B,OAAO9uK,EACH,IAAM2d,EAAE3d,EAAE6D,GAAK8Z,EAAE3d,EAAE8qC,GAAKntB,EAAE3d,EAAE+J,GAAK8yC,GAAM78C,EAAE8J,EAAG6T,QAC5CtiB,CACN,CACA,MAAM4zK,GAAS,+GACf,SAASC,GAASpuJ,EAAGlP,EAAGtY,GACtB,MAAMwQ,EAAI8H,EAAIod,KAAKC,IAAI31B,EAAG,EAAIA,GACxBqkB,EAAI,CAACzjB,EAAG2tB,GAAK3tB,EAAI4mB,EAAI,IAAM,KAAOxnB,EAAIwQ,EAAIklB,KAAKqS,IAAIrS,KAAKC,IAAIpH,EAAI,EAAG,EAAIA,EAAG,IAAK,GACrF,MAAO,CAAClK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACxB,CACA,SAASwxJ,GAASruJ,EAAGlP,EAAG5R,GACtB,MAAM2d,EAAI,CAACzjB,EAAG2tB,GAAK3tB,EAAI4mB,EAAI,IAAM,IAAM9gB,EAAIA,EAAI4R,EAAIod,KAAKqS,IAAIrS,KAAKC,IAAIpH,EAAG,EAAIA,EAAG,GAAI,GACnF,MAAO,CAAClK,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACxB,CACA,SAASyxJ,GAAStuJ,EAAG7mB,EAAG8P,GACtB,MAAMslK,EAAMH,GAASpuJ,EAAG,EAAG,IAC3B,IAAIznB,EAMJ,IALIY,EAAI8P,EAAI,IACV1Q,EAAI,GAAKY,EAAI8P,GACb9P,GAAKZ,EACL0Q,GAAK1Q,GAEFA,EAAI,EAAGA,EAAI,EAAGA,IACjBg2K,EAAIh2K,IAAM,EAAIY,EAAI8P,EAClBslK,EAAIh2K,IAAMY,EAEZ,OAAOo1K,CACT,CACA,SAASC,GAASzrK,EAAGinC,EAAG/gC,EAAGy3B,EAAGH,GAC5B,OAAIx9B,IAAMw9B,GACCyJ,EAAI/gC,GAAKy3B,GAAMsJ,EAAI/gC,EAAI,EAAI,GAElC+gC,IAAMzJ,GACAt3B,EAAIlG,GAAK29B,EAAI,GAEf39B,EAAIinC,GAAKtJ,EAAI,CACvB,CACA,SAAS+tI,GAAQvvK,GACf,MAAMi3D,EAAQ,IACRpzD,EAAI7D,EAAE6D,EAAIozD,EACVnsB,EAAI9qC,EAAE8qC,EAAImsB,EACVltD,EAAI/J,EAAE+J,EAAIktD,EACV51B,EAAMrS,KAAKqS,IAAIx9B,EAAGinC,EAAG/gC,GACrBklB,EAAMD,KAAKC,IAAIprB,EAAGinC,EAAG/gC,GACrBzQ,GAAK+nC,EAAMpS,GAAO,EACxB,IAAInO,EAAGlP,EAAG4vB,EAOV,OANIH,IAAQpS,IACVuS,EAAIH,EAAMpS,EACVrd,EAAItY,EAAI,GAAMkoC,GAAK,EAAIH,EAAMpS,GAAOuS,GAAKH,EAAMpS,GAC/CnO,EAAIwuJ,GAASzrK,EAAGinC,EAAG/gC,EAAGy3B,EAAGH,GACzBvgB,EAAQ,GAAJA,EAAS,IAER,CAAK,EAAJA,EAAOlP,GAAK,EAAGtY,EACzB,CACA,SAASk2K,GAAM7xJ,EAAG7T,EAAGC,EAAGgL,GACtB,OACEjQ,MAAM6hC,QAAQ78B,GACV6T,EAAE7T,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAChB6T,EAAE7T,EAAGC,EAAGgL,IACZrX,IAAI+wK,GACR,CACA,SAASgB,GAAQ3uJ,EAAGlP,EAAGtY,GACrB,OAAOk2K,GAAMN,GAAUpuJ,EAAGlP,EAAGtY,EAC/B,CACA,SAASo2K,GAAQ5uJ,EAAG7mB,EAAG8P,GACrB,OAAOylK,GAAMJ,GAAUtuJ,EAAG7mB,EAAG8P,EAC/B,CACA,SAAS4lK,GAAQ7uJ,EAAGlP,EAAG5R,GACrB,OAAOwvK,GAAML,GAAUruJ,EAAGlP,EAAG5R,EAC/B,CACA,SAAS4vK,GAAI9uJ,GACX,OAAQA,EAAI,IAAM,KAAO,GAC3B,CACA,SAAS+uJ,GAAS3pI,GAChB,MAAM7kB,EAAI4tJ,GAAOnhI,KAAK5H,GACtB,IACIlmC,EADA8J,EAAI,IAER,IAAKuX,EACH,OAEEA,EAAE,KAAOrhB,IACX8J,EAAIuX,EAAE,GAAKmtJ,IAAKntJ,EAAE,IAAMotJ,IAAKptJ,EAAE,KAEjC,MAAMP,EAAI8uJ,IAAKvuJ,EAAE,IACX28C,GAAM38C,EAAE,GAAK,IACb0rH,GAAM1rH,EAAE,GAAK,IAQnB,OANErhB,EADW,QAATqhB,EAAE,GACAquJ,GAAQ5uJ,EAAGk9C,EAAI+uE,GACD,QAAT1rH,EAAE,GACPsuJ,GAAQ7uJ,EAAGk9C,EAAI+uE,GAEf0iC,GAAQ3uJ,EAAGk9C,EAAI+uE,GAEd,CACLlpI,EAAG7D,EAAE,GACL8qC,EAAG9qC,EAAE,GACL+J,EAAG/J,EAAE,GACL8J,EAAGA,EAEP,CACA,SAASkzD,GAAOh9D,EAAG8vK,GACjB,IAAIhvJ,EAAIyuJ,GAAQvvK,GAChB8gB,EAAE,GAAK8uJ,GAAI9uJ,EAAE,GAAKgvJ,GAClBhvJ,EAAI2uJ,GAAQ3uJ,GACZ9gB,EAAE6D,EAAIid,EAAE,GACR9gB,EAAE8qC,EAAIhqB,EAAE,GACR9gB,EAAE+J,EAAI+W,EAAE,EACV,CACA,SAASivJ,GAAU/vK,GACjB,IAAKA,EACH,OAEF,MAAM8J,EAAIylK,GAAQvvK,GACZ8gB,EAAIhX,EAAE,GACN8H,EAAI+8J,GAAI7kK,EAAE,IACVxQ,EAAIq1K,GAAI7kK,EAAE,IAChB,OAAO9J,EAAE8J,EAAI,IACT,QAAQgX,MAAMlP,OAAOtY,OAAOo1K,GAAI1uK,EAAE8J,MAClC,OAAOgX,MAAMlP,OAAOtY,KAC1B,CACA,MAAMoE,GAAM,CACV60C,EAAG,OACH+1C,EAAG,QACH9W,EAAG,KACHiC,EAAG,MACH0U,EAAG,KACH1gB,EAAG,SACHygB,EAAG,QACHF,EAAG,KACH7T,EAAG,KACHX,EAAG,KACHL,EAAG,KACH4U,EAAG,QACHvV,EAAG,QACHZ,EAAG,KACHE,EAAG,WACHY,EAAG,KACHhL,EAAG,KACHlE,EAAG,KACH2jB,EAAG,KACHjV,EAAG,KACHC,EAAG,QACH2V,EAAG,KACHzU,EAAG,KACHpC,EAAG,OACHmC,EAAG,KACHf,EAAG,QACHgW,EAAG,MAEC2nF,GAAU,CACdC,OAAQ,SACRC,YAAa,SACbC,KAAM,OACNC,UAAW,SACXC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,MAAO,IACPC,aAAc,SACdxlF,GAAI,KACJylF,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,SAAU,SACVC,QAAS,SACTC,IAAK,SACLC,YAAa,SACbC,QAAS,SACTC,QAAS,SACTC,KAAM,OACNC,IAAK,KACLC,MAAO,OACPC,QAAS,SACTC,KAAM,SACNC,KAAM,OACNC,KAAM,SACNC,OAAQ,SACRC,QAAS,SACTC,SAAU,SACVC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,MAAO,SACPC,MAAO,SACPC,IAAK,OACLC,OAAQ,SACRC,OAAQ,SACRC,SAAU,OACVC,OAAQ,SACRC,OAAQ,SACRC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,IAAK,SACLC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,IAAK,SACLC,QAAS,SACTC,OAAQ,SACRC,QAAS,SACTC,MAAO,SACPC,KAAM,SACNC,MAAO,SACPC,OAAQ,SACRC,UAAW,SACXC,QAAS,SACTC,WAAY,SACZC,IAAK,SACLC,KAAM,SACNC,MAAO,SACPC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,QAAS,SACTC,IAAK,SACLC,KAAM,OACNC,QAAS,SACTC,IAAK,SACLC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,IAAK,KACLC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,UAAW,OACXC,IAAK,SACLC,SAAU,SACVC,WAAY,SACZC,QAAS,SACTC,SAAU,SACVC,QAAS,SACTC,WAAY,SACZC,KAAM,KACNC,OAAQ,SACRC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,UAAW,SACXC,QAAS,SACTC,KAAM,SACNC,IAAK,SACLC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,YAAa,SACbC,GAAI,SACJC,SAAU,SACVC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,SAAU,OACVC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,OAAQ,SACR7tF,GAAI,SACJ8tF,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,UAAW,SACXC,GAAI,SACJC,MAAO,UAET,SAASC,KACP,MAAMC,EAAW,CAAC,EACZ3qK,EAAOlR,OAAOkR,KAAKuhK,IACnBqJ,EAAQ97K,OAAOkR,KAAK/Q,IAC1B,IAAIrE,EAAGs2B,EAAG9H,EAAGyxJ,EAAIC,EACjB,IAAKlgL,EAAI,EAAGA,EAAIoV,EAAKlV,OAAQF,IAAK,CAEhC,IADAigL,EAAKC,EAAK9qK,EAAKpV,GACVs2B,EAAI,EAAGA,EAAI0pJ,EAAM9/K,OAAQo2B,IAC5B9H,EAAIwxJ,EAAM1pJ,GACV4pJ,EAAKA,EAAGrtK,QAAQ2b,EAAGnqB,GAAImqB,IAEzBA,EAAI0hB,SAASymI,GAAQsJ,GAAK,IAC1BF,EAASG,GAAM,CAAC1xJ,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EACjD,CACA,OAAOuxJ,CACT,CACA,IAAI5tG,GACJ,SAASguG,GAAUtzI,GACZslC,KACHA,GAAQ2tG,KACR3tG,GAAM07C,YAAc,CAAC,EAAG,EAAG,EAAG,IAEhC,MAAMp9G,EAAI0hE,GAAMtlC,EAAI/5B,eACpB,OAAOrC,GAAK,CACVjG,EAAGiG,EAAE,GACLghC,EAAGhhC,EAAE,GACLC,EAAGD,EAAE,GACLA,EAAgB,IAAbA,EAAEvQ,OAAeuQ,EAAE,GAAK,IAE/B,CACA,MAAM2vK,GAAS,uGACf,SAASC,GAASxzI,GAChB,MAAM7kB,EAAIo4J,GAAO3rI,KAAK5H,GACtB,IACIriC,EAAGinC,EAAG/gC,EADND,EAAI,IAER,GAAKuX,EAAL,CAGA,GAAIA,EAAE,KAAOxd,EAAG,CACd,MAAM7D,GAAKqhB,EAAE,GACbvX,EAAIuX,EAAE,GAAKmtJ,GAAIxuK,GAAKuuK,GAAQ,IAAJvuK,EAAS,EAAG,IACtC,CAOA,OANA6D,GAAKwd,EAAE,GACPypB,GAAKzpB,EAAE,GACPtX,GAAKsX,EAAE,GACPxd,EAAI,KAAOwd,EAAE,GAAKmtJ,GAAI3qK,GAAK0qK,GAAI1qK,EAAG,EAAG,MACrCinC,EAAI,KAAOzpB,EAAE,GAAKmtJ,GAAI1jI,GAAKyjI,GAAIzjI,EAAG,EAAG,MACrC/gC,EAAI,KAAOsX,EAAE,GAAKmtJ,GAAIzkK,GAAKwkK,GAAIxkK,EAAG,EAAG,MAC9B,CACLlG,EAAGA,EACHinC,EAAGA,EACH/gC,EAAGA,EACHD,EAAGA,EAfL,CAiBF,CACA,SAAS6vK,GAAU35K,GACjB,OAAOA,IACLA,EAAE8J,EAAI,IACF,QAAQ9J,EAAE6D,MAAM7D,EAAE8qC,MAAM9qC,EAAE+J,MAAM2kK,GAAI1uK,EAAE8J,MACtC,OAAO9J,EAAE6D,MAAM7D,EAAE8qC,MAAM9qC,EAAE+J,KAEjC,CACA,MAAMwX,GAAKvhB,GAAKA,GAAK,SAAgB,MAAJA,EAAqC,MAAzBgvB,KAAK2lD,IAAI30E,EAAG,EAAM,KAAe,KACxEyb,GAAOzb,GAAKA,GAAK,OAAUA,EAAI,MAAQgvB,KAAK2lD,KAAK30E,EAAI,MAAS,MAAO,KAC3E,SAASi/F,GAAY26E,EAAMC,EAAMz1J,GAC/B,MAAMvgB,EAAI4X,GAAKizJ,GAAIkL,EAAK/1K,IAClBinC,EAAIrvB,GAAKizJ,GAAIkL,EAAK9uI,IAClB/gC,EAAI0R,GAAKizJ,GAAIkL,EAAK7vK,IACxB,MAAO,CACLlG,EAAG4qK,GAAIltJ,GAAG1d,EAAIugB,GAAK3I,GAAKizJ,GAAImL,EAAKh2K,IAAMA,KACvCinC,EAAG2jI,GAAIltJ,GAAGupB,EAAI1mB,GAAK3I,GAAKizJ,GAAImL,EAAK/uI,IAAMA,KACvC/gC,EAAG0kK,GAAIltJ,GAAGxX,EAAIqa,GAAK3I,GAAKizJ,GAAImL,EAAK9vK,IAAMA,KACvCD,EAAG8vK,EAAK9vK,EAAIsa,GAAKy1J,EAAK/vK,EAAI8vK,EAAK9vK,GAEnC,CACA,SAASgwK,GAAO95K,EAAG3G,EAAGg8H,GACpB,GAAIr1H,EAAG,CACL,IAAIinC,EAAMsoI,GAAQvvK,GAClBinC,EAAI5tC,GAAK21B,KAAKqS,IAAI,EAAGrS,KAAKC,IAAIgY,EAAI5tC,GAAK4tC,EAAI5tC,GAAKg8H,EAAa,IAANh8H,EAAU,IAAM,IACvE4tC,EAAMwoI,GAAQxoI,GACdjnC,EAAE6D,EAAIojC,EAAI,GACVjnC,EAAE8qC,EAAI7D,EAAI,GACVjnC,EAAE+J,EAAIk9B,EAAI,EACZ,CACF,CACA,SAAS5vB,GAAMrX,EAAGW,GAChB,OAAOX,EAAIzC,OAAOqoB,OAAOjlB,GAAS,CAAC,EAAGX,GAAKA,CAC7C,CACA,SAAS+5K,GAAW3jI,GAClB,IAAIp2C,EAAI,CAAC6D,EAAG,EAAGinC,EAAG,EAAG/gC,EAAG,EAAGD,EAAG,KAY9B,OAXIhF,MAAM6hC,QAAQyP,GACZA,EAAM78C,QAAU,IAClByG,EAAI,CAAC6D,EAAGuyC,EAAM,GAAItL,EAAGsL,EAAM,GAAIrsC,EAAGqsC,EAAM,GAAItsC,EAAG,KAC3CssC,EAAM78C,OAAS,IACjByG,EAAE8J,EAAI2kK,GAAIr4H,EAAM,OAIpBp2C,EAAIqX,GAAM++B,EAAO,CAACvyC,EAAG,EAAGinC,EAAG,EAAG/gC,EAAG,EAAGD,EAAG,IACvC9J,EAAE8J,EAAI2kK,GAAIzuK,EAAE8J,IAEP9J,CACT,CACA,SAASg6K,GAAc9zI,GACrB,MAAsB,MAAlBA,EAAI+D,OAAO,GACNyvI,GAASxzI,GAEX2pI,GAAS3pI,EAClB,CACA,MAAM+zI,GACJ7hL,YAAYg+C,GACV,GAAIA,aAAiB6jI,GACnB,OAAO7jI,EAET,MAAMp6C,SAAco6C,EACpB,IAAIp2C,EACS,WAAThE,EACFgE,EAAI+5K,GAAW3jI,GACG,WAATp6C,IACTgE,EAAIgvK,GAAS54H,IAAUojI,GAAUpjI,IAAU4jI,GAAc5jI,IAE3D99C,KAAK4hL,KAAOl6K,EACZ1H,KAAK6hL,SAAWn6K,CAClB,CACIg2C,YACF,OAAO19C,KAAK6hL,MACd,CACI9K,UACF,IAAIrvK,EAAIqX,GAAM/e,KAAK4hL,MAInB,OAHIl6K,IACFA,EAAE8J,EAAI4kK,GAAI1uK,EAAE8J,IAEP9J,CACT,CACIqvK,QAAI9kI,GACNjyC,KAAK4hL,KAAOH,GAAWxvI,EACzB,CACAovI,YACE,OAAOrhL,KAAK6hL,OAASR,GAAUrhL,KAAK4hL,WAAQ7+K,CAC9C,CACAksH,YACE,OAAOjvH,KAAK6hL,OAAS5yD,GAAUjvH,KAAK4hL,WAAQ7+K,CAC9C,CACA00K,YACE,OAAOz3K,KAAK6hL,OAASpK,GAAUz3K,KAAK4hL,WAAQ7+K,CAC9C,CACAisH,IAAItsD,EAAOsF,GACT,GAAItF,EAAO,CACT,MAAMxsC,EAAKl2B,KAAK+2K,IACV3gJ,EAAKssC,EAAMq0G,IACjB,IAAI+K,EACJ,MAAMhyK,EAAIk4D,IAAW85G,EAAK,GAAM95G,EAC1BrmE,EAAI,EAAImO,EAAI,EACZ0B,EAAI0kB,EAAG1kB,EAAI4kB,EAAG5kB,EACduwK,IAAOpgL,EAAI6P,KAAO,EAAI7P,GAAKA,EAAI6P,IAAM,EAAI7P,EAAI6P,IAAM,GAAK,EAC9DswK,EAAK,EAAIC,EACT7rJ,EAAG3qB,EAAI,IAAOw2K,EAAK7rJ,EAAG3qB,EAAIu2K,EAAK1rJ,EAAG7qB,EAAI,GACtC2qB,EAAGsc,EAAI,IAAOuvI,EAAK7rJ,EAAGsc,EAAIsvI,EAAK1rJ,EAAGoc,EAAI,GACtCtc,EAAGzkB,EAAI,IAAOswK,EAAK7rJ,EAAGzkB,EAAIqwK,EAAK1rJ,EAAG3kB,EAAI,GACtCykB,EAAG1kB,EAAI1B,EAAIomB,EAAG1kB,GAAK,EAAI1B,GAAKsmB,EAAG5kB,EAC/BxR,KAAK+2K,IAAM7gJ,CACb,CACA,OAAOl2B,IACT,CACA2mG,YAAYjkC,EAAO52C,GAIjB,OAHI42C,IACF1iE,KAAK4hL,KAAOj7E,GAAY3mG,KAAK4hL,KAAMl/G,EAAMk/G,KAAM91J,IAE1C9rB,IACT,CACA+e,QACE,OAAO,IAAI4iK,GAAM3hL,KAAK+2K,IACxB,CACAxyH,MAAM/yC,GAEJ,OADAxR,KAAK4hL,KAAKpwK,EAAI2kK,GAAI3kK,GACXxR,IACT,CACAgiL,QAAQjlD,GACN,MAAMg6C,EAAM/2K,KAAK4hL,KAEjB,OADA7K,EAAIvlK,GAAK,EAAIurH,EACN/8H,IACT,CACAiiL,YACE,MAAMlL,EAAM/2K,KAAK4hL,KACX90K,EAAMi5C,GAAc,GAARgxH,EAAIxrK,EAAkB,IAARwrK,EAAIvkI,EAAmB,IAARukI,EAAItlK,GAEnD,OADAslK,EAAIxrK,EAAIwrK,EAAIvkI,EAAIukI,EAAItlK,EAAI3E,EACjB9M,IACT,CACAkiL,QAAQnlD,GACN,MAAMg6C,EAAM/2K,KAAK4hL,KAEjB,OADA7K,EAAIvlK,GAAK,EAAIurH,EACN/8H,IACT,CACAmiL,SACE,MAAMz6K,EAAI1H,KAAK4hL,KAIf,OAHAl6K,EAAE6D,EAAI,IAAM7D,EAAE6D,EACd7D,EAAE8qC,EAAI,IAAM9qC,EAAE8qC,EACd9qC,EAAE+J,EAAI,IAAM/J,EAAE+J,EACPzR,IACT,CACAoiL,QAAQrlD,GAEN,OADAykD,GAAOxhL,KAAK4hL,KAAM,EAAG7kD,GACd/8H,IACT,CACAqiL,OAAOtlD,GAEL,OADAykD,GAAOxhL,KAAK4hL,KAAM,GAAI7kD,GACf/8H,IACT,CACAsiL,SAASvlD,GAEP,OADAykD,GAAOxhL,KAAK4hL,KAAM,EAAG7kD,GACd/8H,IACT,CACAuiL,WAAWxlD,GAET,OADAykD,GAAOxhL,KAAK4hL,KAAM,GAAI7kD,GACf/8H,IACT,CACA0kE,OAAO8yG,GAEL,OADA9yG,GAAO1kE,KAAK4hL,KAAMpK,GACXx3K,IACT,EAEF,SAASwiL,GAAU1kI,GACjB,OAAO,IAAI6jI,GAAM7jI,EACnB,CAEA,SAAS2kI,GAAoB/7K,GAC3B,GAAIA,GAA0B,kBAAVA,EAAoB,CACtC,MAAMhD,EAAOgD,EAAMglB,WACnB,MAAgB,2BAAThoB,GAA8C,4BAATA,CAC9C,CACA,OAAO,CACT,CACA,SAASg/D,GAAMh8D,GACb,OAAO+7K,GAAoB/7K,GAASA,EAAQ87K,GAAU97K,EACxD,CACA,SAASg8K,GAAch8K,GACrB,OAAO+7K,GAAoB/7K,GACvBA,EACA87K,GAAU97K,GAAO47K,SAAS,IAAKD,OAAO,IAAKpzD,WACjD,CAEA,MAAMnhB,GAAY7oG,OAAOqT,OAAO,MAC1B0rH,GAAc/+H,OAAOqT,OAAO,MAClC,SAASqqK,GAAW1nJ,EAAMt3B,GACxB,IAAKA,EACH,OAAOs3B,EAET,MAAM9kB,EAAOxS,EAAIyW,MAAM,KACvB,IAAK,IAAIrZ,EAAI,EAAGa,EAAIuU,EAAKlV,OAAQF,EAAIa,IAAKb,EAAG,CAC3C,MAAMwuB,EAAIpZ,EAAKpV,GACfk6B,EAAOA,EAAK1L,KAAO0L,EAAK1L,GAAKtqB,OAAOqT,OAAO,MAC7C,CACA,OAAO2iB,CACT,CACA,SAASn3B,GAAIoS,EAAM3U,EAAOkD,GACxB,MAAqB,kBAAVlD,EACFw0D,EAAM4sH,GAAWzsK,EAAM3U,GAAQkD,GAEjCsxD,EAAM4sH,GAAWzsK,EAAM,IAAK3U,EACrC,CACA,MAAMqhL,GACJ9iL,YAAYmiJ,GACVjiJ,KAAK0wH,eAAY3tH,EACjB/C,KAAKqhE,gBAAkB,kBACvBrhE,KAAKshE,YAAc,kBACnBthE,KAAK0iE,MAAQ,OACb1iE,KAAKsnE,SAAW,CAAC,EACjBtnE,KAAKq7D,iBAAoB9tC,GAAYA,EAAQ+yC,MAAMskF,SAAS7G,sBAC5D/9I,KAAK0pE,SAAW,CAAC,EACjB1pE,KAAKoqJ,OAAS,CACZ,YACA,WACA,QACA,aACA,aAEFpqJ,KAAK67D,KAAO,CACVkM,OAAQ,qDACR3/D,KAAM,GACN2rB,MAAO,SACPooC,WAAY,IACZ6L,OAAQ,MAEVhoE,KAAKmsJ,MAAQ,CAAC,EACdnsJ,KAAK6iL,qBAAuB,CAACvuK,EAAKX,IAAY+uK,GAAc/uK,EAAQ0tD,iBACpErhE,KAAK8iL,iBAAmB,CAACxuK,EAAKX,IAAY+uK,GAAc/uK,EAAQ2tD,aAChEthE,KAAK+iL,WAAa,CAACzuK,EAAKX,IAAY+uK,GAAc/uK,EAAQ+uD,OAC1D1iE,KAAKw2H,UAAY,IACjBx2H,KAAK23I,YAAc,CACjB18H,KAAM,UACNm9H,WAAW,EACXc,kBAAkB,GAEpBl5I,KAAK8nJ,qBAAsB,EAC3B9nJ,KAAKusJ,QAAU,KACfvsJ,KAAKw2F,QAAU,KACfx2F,KAAK83H,SAAU,EACf93H,KAAKslH,QAAU,CAAC,EAChBtlH,KAAK+nJ,YAAa,EAClB/nJ,KAAKqgE,WAAQt9D,EACb/C,KAAKq0H,OAAS,CAAC,EACfr0H,KAAK+kI,UAAW,EAChB/kI,KAAKq5H,yBAA0B,EAC/Br5H,KAAKgjL,SAAS/gC,EAChB,CACAn+I,IAAIvC,EAAOkD,GACT,OAAOX,GAAI9D,KAAMuB,EAAOkD,EAC1B,CACAZ,IAAItC,GACF,OAAOohL,GAAW3iL,KAAMuB,EAC1B,CACAyhL,SAASzhL,EAAOkD,GACd,OAAOX,GAAIkgI,GAAaziI,EAAOkD,EACjC,CACA4jE,SAAS9mE,EAAOkD,GACd,OAAOX,GAAIgqG,GAAWvsG,EAAOkD,EAC/B,CACAw+K,MAAM1hL,EAAOyZ,EAAMm7H,EAAaD,GAC9B,MAAMgtC,EAAcP,GAAW3iL,KAAMuB,GAC/B4hL,EAAoBR,GAAW3iL,KAAMm2I,GACrCitC,EAAc,IAAMpoK,EAC1B/V,OAAOqqF,iBAAiB4zF,EAAa,CACnC,CAACE,GAAc,CACb18K,MAAOw8K,EAAYloK,GACnBswD,UAAU,GAEZ,CAACtwD,GAAO,CACN+M,YAAY,EACZlkB,MACE,MAAMm7G,EAAQh/G,KAAKojL,GACb3/K,EAAS0/K,EAAkBjtC,GACjC,OAAI1nG,EAASwwE,GACJ/5G,OAAOqoB,OAAO,CAAC,EAAG7pB,EAAQu7G,GAE5BkvD,EAAelvD,EAAOv7G,EAC/B,EACAK,IAAI4C,GACF1G,KAAKojL,GAAe18K,CACtB,IAGN,EAEF,IAAI8rD,GAAW,IAAIowH,GAAS,CAC1BpyD,YAAcx1G,IAAUA,EAAK7I,WAAW,MACxCo+G,WAAav1G,GAAkB,WAATA,EACtBmxI,MAAO,CACL77B,UAAW,eAEbqnB,YAAa,CACXnnB,aAAa,EACbD,YAAY,KAIhB,SAAS8yD,GAAaxnH,GACpB,OAAKA,GAAQkyG,EAAclyG,EAAKzzD,OAAS2lK,EAAclyG,EAAKkM,QACnD,MAEDlM,EAAK9nC,MAAQ8nC,EAAK9nC,MAAQ,IAAM,KACrC8nC,EAAKmM,OAASnM,EAAKmM,OAAS,IAAM,IACnCnM,EAAKzzD,KAAO,MACZyzD,EAAKkM,MACT,CACA,SAASu7G,GAAahvK,EAAKiB,EAAM81H,EAAIk4C,EAAS3wI,GAC5C,IAAIsoH,EAAY3lJ,EAAKq9B,GAQrB,OAPKsoH,IACHA,EAAY3lJ,EAAKq9B,GAAUt+B,EAAI2nD,YAAYrpB,GAAQopB,MACnDqvE,EAAG9qI,KAAKqyC,IAENsoH,EAAYqoB,IACdA,EAAUroB,GAELqoB,CACT,CACA,SAASC,GAAalvK,EAAKunD,EAAM4nH,EAAezwK,GAC9CA,EAAQA,GAAS,CAAC,EAClB,IAAIuC,EAAOvC,EAAMuC,KAAOvC,EAAMuC,MAAQ,CAAC,EACnC81H,EAAKr4H,EAAMm4H,eAAiBn4H,EAAMm4H,gBAAkB,GACpDn4H,EAAM6oD,OAASA,IACjBtmD,EAAOvC,EAAMuC,KAAO,CAAC,EACrB81H,EAAKr4H,EAAMm4H,eAAiB,GAC5Bn4H,EAAM6oD,KAAOA,GAEfvnD,EAAIkwD,OACJlwD,EAAIunD,KAAOA,EACX,IAAI0nH,EAAU,EACd,MAAMxnH,EAAO0nH,EAAcxiL,OAC3B,IAAIF,EAAGs2B,EAAGkwC,EAAMhN,EAAOmpH,EACvB,IAAK3iL,EAAI,EAAGA,EAAIg7D,EAAMh7D,IAEpB,GADAw5D,EAAQkpH,EAAc1iL,QACRgC,IAAVw3D,GAAiC,OAAVA,IAAqC,IAAnBlsB,EAAQksB,GACnDgpH,EAAUD,GAAahvK,EAAKiB,EAAM81H,EAAIk4C,EAAShpH,QAC1C,GAAIlsB,EAAQksB,GACjB,IAAKljC,EAAI,EAAGkwC,EAAOhN,EAAMt5D,OAAQo2B,EAAIkwC,EAAMlwC,IACzCqsJ,EAAcnpH,EAAMljC,QACAt0B,IAAhB2gL,GAA6C,OAAhBA,GAAyBr1I,EAAQq1I,KAChEH,EAAUD,GAAahvK,EAAKiB,EAAM81H,EAAIk4C,EAASG,IAKvDpvK,EAAIqwD,UACJ,MAAM2mE,EAAQD,EAAGpqI,OAAS,EAC1B,GAAIqqI,EAAQm4C,EAAcxiL,OAAQ,CAChC,IAAKF,EAAI,EAAGA,EAAIuqI,EAAOvqI,WACdwU,EAAK81H,EAAGtqI,IAEjBsqI,EAAG16H,OAAO,EAAG26H,EACf,CACA,OAAOi4C,CACT,CACA,SAASI,GAAYrjH,EAAOM,EAAO5E,GACjC,MAAMX,EAAmBiF,EAAMqgF,wBACzBijC,EAAsB,IAAV5nH,EAActlC,KAAKqS,IAAIizB,EAAQ,EAAG,IAAO,EAC3D,OAAOtlC,KAAKqvB,OAAO6a,EAAQgjH,GAAavoH,GAAoBA,EAAmBuoH,CACjF,CACA,SAASC,GAAYhmC,EAAQvpI,GAC3BA,EAAMA,GAAOupI,EAAOhmB,WAAW,MAC/BvjH,EAAIkwD,OACJlwD,EAAIwvK,iBACJxvK,EAAIyvK,UAAU,EAAG,EAAGlmC,EAAO7hF,MAAO6hF,EAAO3hF,QACzC5nD,EAAIqwD,SACN,CACA,SAASq/G,GAAU1vK,EAAKX,EAASsmC,EAAG9C,GAClC8sI,GAAgB3vK,EAAKX,EAASsmC,EAAG9C,EAAG,KACtC,CACA,SAAS8sI,GAAgB3vK,EAAKX,EAASsmC,EAAG9C,EAAGx1C,GAC3C,IAAI+B,EAAMwgL,EAASC,EAAS/7K,EAAM+2J,EAAcnjG,EAChD,MAAMjoC,EAAQpgB,EAAQywH,WAChBpgE,EAAWrwD,EAAQqwD,SACnB3E,EAAS1rD,EAAQ0rD,OACvB,IAAIwmG,GAAO7hG,GAAY,GAAK2rG,EAC5B,GAAI57I,GAA0B,kBAAVA,IAClBrwB,EAAOqwB,EAAMrI,WACA,8BAAThoB,GAAiD,+BAATA,GAM1C,OALA4Q,EAAIkwD,OACJlwD,EAAIq+B,UAAUsH,EAAG9C,GACjB7iC,EAAIowD,OAAOmhG,GACXvxJ,EAAI8vK,UAAUrwJ,GAAQA,EAAMioC,MAAQ,GAAIjoC,EAAMmoC,OAAS,EAAGnoC,EAAMioC,MAAOjoC,EAAMmoC,aAC7E5nD,EAAIqwD,UAIR,KAAIvyB,MAAMitB,IAAWA,GAAU,GAA/B,CAIA,OADA/qD,EAAIitD,YACIxtC,GACR,QACMpyB,EACF2S,EAAI+vK,QAAQpqI,EAAG9C,EAAGx1C,EAAI,EAAG09D,EAAQ,EAAG,EAAGmwG,GAEvCl7J,EAAIwqD,IAAI7kB,EAAG9C,EAAGkoB,EAAQ,EAAGmwG,GAE3Bl7J,EAAI4sD,YACJ,MACF,IAAK,WACH5sD,EAAI2sD,OAAOhnB,EAAIvjB,KAAK+mC,IAAIooG,GAAOxmG,EAAQloB,EAAIzgB,KAAK8mC,IAAIqoG,GAAOxmG,GAC3DwmG,GAAOgK,EACPv7J,EAAIsgI,OAAO36F,EAAIvjB,KAAK+mC,IAAIooG,GAAOxmG,EAAQloB,EAAIzgB,KAAK8mC,IAAIqoG,GAAOxmG,GAC3DwmG,GAAOgK,EACPv7J,EAAIsgI,OAAO36F,EAAIvjB,KAAK+mC,IAAIooG,GAAOxmG,EAAQloB,EAAIzgB,KAAK8mC,IAAIqoG,GAAOxmG,GAC3D/qD,EAAI4sD,YACJ,MACF,IAAK,cACHi+F,EAAwB,KAAT9/F,EACfj3D,EAAOi3D,EAAS8/F,EAChB+kB,EAAUxtJ,KAAK8mC,IAAIqoG,EAAM+J,GAAcxnK,EACvC+7K,EAAUztJ,KAAK+mC,IAAIooG,EAAM+J,GAAcxnK,EACvCkM,EAAIwqD,IAAI7kB,EAAIiqI,EAAS/sI,EAAIgtI,EAAShlB,EAAc0G,EAAMtoG,EAAIsoG,EAAM7kG,GAChE1sD,EAAIwqD,IAAI7kB,EAAIkqI,EAAShtI,EAAI+sI,EAAS/kB,EAAc0G,EAAM7kG,EAAS6kG,GAC/DvxJ,EAAIwqD,IAAI7kB,EAAIiqI,EAAS/sI,EAAIgtI,EAAShlB,EAAc0G,EAAKA,EAAM7kG,GAC3D1sD,EAAIwqD,IAAI7kB,EAAIkqI,EAAShtI,EAAI+sI,EAAS/kB,EAAc0G,EAAM7kG,EAAS6kG,EAAMtoG,GACrEjpD,EAAI4sD,YACJ,MACF,IAAK,OACH,IAAK8C,EAAU,CACb57D,EAAOsuB,KAAK4tJ,QAAUjlH,EACtBrD,EAAQr6D,EAAIA,EAAI,EAAIyG,EACpBkM,EAAI0pD,KAAK/jB,EAAI+hB,EAAO7kB,EAAI/uC,EAAM,EAAI4zD,EAAO,EAAI5zD,GAC7C,KACF,CACAy9J,GAAO+J,EACT,IAAK,UACHsU,EAAUxtJ,KAAK8mC,IAAIqoG,GAAOxmG,EAC1B8kH,EAAUztJ,KAAK+mC,IAAIooG,GAAOxmG,EAC1B/qD,EAAI2sD,OAAOhnB,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIkqI,EAAShtI,EAAI+sI,GAC5B5vK,EAAIsgI,OAAO36F,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIkqI,EAAShtI,EAAI+sI,GAC5B5vK,EAAI4sD,YACJ,MACF,IAAK,WACH2kG,GAAO+J,EACT,IAAK,QACHsU,EAAUxtJ,KAAK8mC,IAAIqoG,GAAOxmG,EAC1B8kH,EAAUztJ,KAAK+mC,IAAIooG,GAAOxmG,EAC1B/qD,EAAI2sD,OAAOhnB,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAI2sD,OAAOhnB,EAAIkqI,EAAShtI,EAAI+sI,GAC5B5vK,EAAIsgI,OAAO36F,EAAIkqI,EAAShtI,EAAI+sI,GAC5B,MACF,IAAK,OACHA,EAAUxtJ,KAAK8mC,IAAIqoG,GAAOxmG,EAC1B8kH,EAAUztJ,KAAK+mC,IAAIooG,GAAOxmG,EAC1B/qD,EAAI2sD,OAAOhnB,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAI2sD,OAAOhnB,EAAIkqI,EAAShtI,EAAI+sI,GAC5B5vK,EAAIsgI,OAAO36F,EAAIkqI,EAAShtI,EAAI+sI,GAC5Bre,GAAO+J,EACPsU,EAAUxtJ,KAAK8mC,IAAIqoG,GAAOxmG,EAC1B8kH,EAAUztJ,KAAK+mC,IAAIooG,GAAOxmG,EAC1B/qD,EAAI2sD,OAAOhnB,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAI2sD,OAAOhnB,EAAIkqI,EAAShtI,EAAI+sI,GAC5B5vK,EAAIsgI,OAAO36F,EAAIkqI,EAAShtI,EAAI+sI,GAC5B,MACF,IAAK,OACHA,EAAUviL,EAAIA,EAAI,EAAI+0B,KAAK8mC,IAAIqoG,GAAOxmG,EACtC8kH,EAAUztJ,KAAK+mC,IAAIooG,GAAOxmG,EAC1B/qD,EAAI2sD,OAAOhnB,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B7vK,EAAIsgI,OAAO36F,EAAIiqI,EAAS/sI,EAAIgtI,GAC5B,MACF,IAAK,OACH7vK,EAAI2sD,OAAOhnB,EAAG9C,GACd7iC,EAAIsgI,OAAO36F,EAAIvjB,KAAK8mC,IAAIqoG,GAAOxmG,EAAQloB,EAAIzgB,KAAK+mC,IAAIooG,GAAOxmG,GAC3D,MAEF/qD,EAAIotD,OACA/tD,EAAQksD,YAAc,GACxBvrD,EAAIwtD,QArFN,CAuFF,CACA,SAASyiH,GAAe5nH,EAAO0B,EAAMyI,GAEnC,OADAA,EAASA,GAAU,IACXzI,GAAS1B,GAASA,EAAM1iB,EAAIokB,EAAK5xB,KAAOq6B,GAAUnK,EAAM1iB,EAAIokB,EAAK1xB,MAAQm6B,GACjFnK,EAAMxlB,EAAIknB,EAAKJ,IAAM6I,GAAUnK,EAAMxlB,EAAIknB,EAAKH,OAAS4I,CACzD,CACA,SAAS09G,GAASlwK,EAAK+pD,GACrB/pD,EAAIkwD,OACJlwD,EAAIitD,YACJjtD,EAAI0pD,KAAKK,EAAK5xB,KAAM4xB,EAAKJ,IAAKI,EAAK1xB,MAAQ0xB,EAAK5xB,KAAM4xB,EAAKH,OAASG,EAAKJ,KACzE3pD,EAAIsvD,MACN,CACA,SAAS6gH,GAAWnwK,GAClBA,EAAIqwD,SACN,CACA,SAAS+/G,GAAepwK,EAAKu0D,EAAUplE,EAAQkhL,EAAM1pK,GACnD,IAAK4tD,EACH,OAAOv0D,EAAIsgI,OAAOnxI,EAAOw2C,EAAGx2C,EAAO0zC,GAErC,GAAa,WAATl8B,EAAmB,CACrB,MAAM2pK,GAAY/7G,EAAS5uB,EAAIx2C,EAAOw2C,GAAK,EAC3C3lC,EAAIsgI,OAAOgwC,EAAU/7G,EAAS1xB,GAC9B7iC,EAAIsgI,OAAOgwC,EAAUnhL,EAAO0zC,EAC9B,KAAoB,UAATl8B,MAAuB0pK,EAChCrwK,EAAIsgI,OAAO/rE,EAAS5uB,EAAGx2C,EAAO0zC,GAE9B7iC,EAAIsgI,OAAOnxI,EAAOw2C,EAAG4uB,EAAS1xB,GAEhC7iC,EAAIsgI,OAAOnxI,EAAOw2C,EAAGx2C,EAAO0zC,EAC9B,CACA,SAAS0tI,GAAevwK,EAAKu0D,EAAUplE,EAAQkhL,GAC7C,IAAK97G,EACH,OAAOv0D,EAAIsgI,OAAOnxI,EAAOw2C,EAAGx2C,EAAO0zC,GAErC7iC,EAAIwwK,cACFH,EAAO97G,EAASk8G,KAAOl8G,EAASm8G,KAChCL,EAAO97G,EAASo8G,KAAOp8G,EAASq8G,KAChCP,EAAOlhL,EAAOuhL,KAAOvhL,EAAOshL,KAC5BJ,EAAOlhL,EAAOyhL,KAAOzhL,EAAOwhL,KAC5BxhL,EAAOw2C,EACPx2C,EAAO0zC,EACX,CACA,SAASguI,GAAW7wK,EAAK+oB,EAAM4c,EAAG9C,EAAG0kB,EAAMhB,EAAO,CAAC,GACjD,MAAMc,EAAQttB,EAAQhR,GAAQA,EAAO,CAACA,GAChCykC,EAASjH,EAAKgI,YAAc,GAA0B,KAArBhI,EAAK8H,YAC5C,IAAI5hE,EAAGs5D,EAIP,IAHA/lD,EAAIkwD,OACJlwD,EAAIunD,KAAOA,EAAKjpB,OAChBwyI,GAAc9wK,EAAKumD,GACd95D,EAAI,EAAGA,EAAI46D,EAAM16D,SAAUF,EAC9Bs5D,EAAOsB,EAAM56D,GACT+gE,IACEjH,EAAK8H,cACPruD,EAAIqtD,YAAc9G,EAAK8H,aAEpBorG,EAAclzG,EAAKgI,eACtBvuD,EAAIstD,UAAY/G,EAAKgI,aAEvBvuD,EAAI+tD,WAAWhI,EAAMpgB,EAAG9C,EAAG0jB,EAAK+nE,WAElCtuH,EAAIiuD,SAASlI,EAAMpgB,EAAG9C,EAAG0jB,EAAK+nE,UAC9ByiD,GAAa/wK,EAAK2lC,EAAG9C,EAAGkjB,EAAMQ,GAC9B1jB,GAAK0kB,EAAKM,WAEZ7nD,EAAIqwD,SACN,CACA,SAASygH,GAAc9wK,EAAKumD,GACtBA,EAAKs5E,aACP7/H,EAAIq+B,UAAUkoB,EAAKs5E,YAAY,GAAIt5E,EAAKs5E,YAAY,IAEjD45B,EAAclzG,EAAKmJ,WACtB1vD,EAAIowD,OAAO7J,EAAKmJ,UAEdnJ,EAAK6H,QACPpuD,EAAImtD,UAAY5G,EAAK6H,OAEnB7H,EAAK4H,YACPnuD,EAAImuD,UAAY5H,EAAK4H,WAEnB5H,EAAKkI,eACPzuD,EAAIyuD,aAAelI,EAAKkI,aAE5B,CACA,SAASsiH,GAAa/wK,EAAK2lC,EAAG9C,EAAGkjB,EAAMQ,GACrC,GAAIA,EAAKmgG,eAAiBngG,EAAKyqH,UAAW,CACxC,MAAMC,EAAUjxK,EAAI2nD,YAAY5B,GAC1B5tB,EAAOwN,EAAIsrI,EAAQC,sBACnB74I,EAAQsN,EAAIsrI,EAAQE,uBACpBxnH,EAAM9mB,EAAIouI,EAAQG,wBAClBxnH,EAAS/mB,EAAIouI,EAAQI,yBACrBC,EAAc/qH,EAAKmgG,eAAiB/8F,EAAMC,GAAU,EAAIA,EAC9D5pD,EAAIqtD,YAAcrtD,EAAImtD,UACtBntD,EAAIitD,YACJjtD,EAAIstD,UAAY/G,EAAKgrH,iBAAmB,EACxCvxK,EAAI2sD,OAAOx0B,EAAMm5I,GACjBtxK,EAAIsgI,OAAOjoG,EAAOi5I,GAClBtxK,EAAIwtD,QACN,CACF,CACA,SAASgkH,GAAmBxxK,EAAK0pD,GAC/B,MAAM,EAAC/jB,EAAC,EAAE9C,EAAC,EAAEx1C,EAAC,EAAE6mB,EAAC,OAAE62C,GAAUrB,EAC7B1pD,EAAIwqD,IAAI7kB,EAAIolB,EAAOg0F,QAASl8G,EAAIkoB,EAAOg0F,QAASh0F,EAAOg0F,SAAUryF,EAASzD,GAAI,GAC9EjpD,EAAIsgI,OAAO36F,EAAG9C,EAAI3uB,EAAI62C,EAAOk0F,YAC7Bj/I,EAAIwqD,IAAI7kB,EAAIolB,EAAOk0F,WAAYp8G,EAAI3uB,EAAI62C,EAAOk0F,WAAYl0F,EAAOk0F,WAAYh2F,EAAIyD,GAAS,GAC1F1sD,EAAIsgI,OAAO36F,EAAIt4C,EAAI09D,EAAOm0F,YAAar8G,EAAI3uB,GAC3ClU,EAAIwqD,IAAI7kB,EAAIt4C,EAAI09D,EAAOm0F,YAAar8G,EAAI3uB,EAAI62C,EAAOm0F,YAAan0F,EAAOm0F,YAAaxyF,EAAS,GAAG,GAChG1sD,EAAIsgI,OAAO36F,EAAIt4C,EAAGw1C,EAAIkoB,EAAOi0F,UAC7Bh/I,EAAIwqD,IAAI7kB,EAAIt4C,EAAI09D,EAAOi0F,SAAUn8G,EAAIkoB,EAAOi0F,SAAUj0F,EAAOi0F,SAAU,GAAItyF,GAAS,GACpF1sD,EAAIsgI,OAAO36F,EAAIolB,EAAOg0F,QAASl8G,EACjC,CAEA,MAAM4uI,GAAc,IAAIpmK,OAAO,wCACzBqmK,GAAa,IAAIrmK,OAAO,yEAC9B,SAASsmK,GAAav/K,EAAO0B,GAC3B,MAAMwX,GAAW,GAAKlZ,GAAO+kB,MAAMs6J,IACnC,IAAKnmK,GAA0B,WAAfA,EAAQ,GACtB,OAAc,IAAPxX,EAGT,OADA1B,GAASkZ,EAAQ,GACTA,EAAQ,IAChB,IAAK,KACH,OAAOlZ,EACT,IAAK,IACHA,GAAS,IACT,MAEF,OAAO0B,EAAO1B,CAChB,CACA,MAAMw/K,GAAex+K,IAAMA,GAAK,EAChC,SAASy+K,GAAkBz/K,EAAOuL,GAChC,MAAM1F,EAAM,CAAC,EACP65K,EAAW53I,EAASv8B,GACpBkE,EAAOiwK,EAAWnhL,OAAOkR,KAAKlE,GAASA,EACvCy/C,EAAOljB,EAAS9nC,GAClB0/K,EACEj7J,GAAQ+iJ,EAAexnK,EAAMykB,GAAOzkB,EAAMuL,EAAMkZ,KAChDA,GAAQzkB,EAAMykB,GAChB,IAAMzkB,EACV,IAAK,MAAMykB,KAAQhV,EACjB5J,EAAI4e,GAAQ+6J,GAAax0H,EAAKvmC,IAEhC,OAAO5e,CACT,CACA,SAAS85K,GAAO3/K,GACd,OAAOy/K,GAAkBz/K,EAAO,CAACu3D,IAAK,IAAKtxB,MAAO,IAAKuxB,OAAQ,IAAKzxB,KAAM,KAC5E,CACA,SAAS65I,GAAc5/K,GACrB,OAAOy/K,GAAkBz/K,EAAO,CAAC,UAAW,WAAY,aAAc,eACxE,CACA,SAAS6/K,GAAU7/K,GACjB,MAAMurC,EAAMo0I,GAAO3/K,GAGnB,OAFAurC,EAAI+pB,MAAQ/pB,EAAIxF,KAAOwF,EAAItF,MAC3BsF,EAAIiqB,OAASjqB,EAAIgsB,IAAMhsB,EAAIisB,OACpBjsB,CACT,CACA,SAASu0I,GAAO7yK,EAAS2P,GACvB3P,EAAUA,GAAW,CAAC,EACtB2P,EAAWA,GAAYkvC,GAASqJ,KAChC,IAAIzzD,EAAO8lK,EAAev6J,EAAQvL,KAAMkb,EAASlb,MAC7B,kBAATA,IACTA,EAAO6oC,SAAS7oC,EAAM,KAExB,IAAI2rB,EAAQm6I,EAAev6J,EAAQogB,MAAOzQ,EAASyQ,OAC/CA,KAAW,GAAKA,GAAOtI,MAAMu6J,MAC/Bh3K,QAAQ8rD,KAAK,kCAAoC/mC,EAAQ,KACzDA,EAAQ,IAEV,MAAM8nC,EAAO,CACXkM,OAAQmmG,EAAev6J,EAAQo0D,OAAQzkD,EAASykD,QAChD5L,WAAY8pH,GAAa/X,EAAev6J,EAAQwoD,WAAY74C,EAAS64C,YAAa/zD,GAClFA,OACA2rB,QACAi0C,OAAQkmG,EAAev6J,EAAQq0D,OAAQ1kD,EAAS0kD,QAChDp1B,OAAQ,IAGV,OADAipB,EAAKjpB,OAASywI,GAAaxnH,GACpBA,CACT,CACA,SAASlsD,GAAQ+rD,EAAQnuC,EAASltB,EAAO89C,GACvC,IACIp9C,EAAGg7D,EAAMr1D,EADT+/K,GAAY,EAEhB,IAAK1lL,EAAI,EAAGg7D,EAAOL,EAAOz6D,OAAQF,EAAIg7D,IAAQh7D,EAE5C,GADA2F,EAAQg1D,EAAO36D,QACDgC,IAAV2D,SAGY3D,IAAZwqB,GAA0C,oBAAV7mB,IAClCA,EAAQA,EAAM6mB,GACdk5J,GAAY,QAEA1jL,IAAV1C,GAAuBguC,EAAQ3nC,KACjCA,EAAQA,EAAMrG,EAAQqG,EAAMzF,QAC5BwlL,GAAY,QAEA1jL,IAAV2D,GAIF,OAHIy3C,IAASsoI,IACXtoI,EAAKsoI,WAAY,GAEZ//K,CAGb,CACA,SAASggL,GAAUC,EAAQp9C,EAAO3I,GAChC,MAAM,IAACjqG,EAAG,IAAEoS,GAAO49I,EACb5xF,EAASs5E,EAAY9kC,GAAQxgG,EAAMpS,GAAO,GAC1CiwJ,EAAW,CAAClgL,EAAOtC,IAAQw8H,GAAyB,IAAVl6H,EAAc,EAAIA,EAAQtC,EAC1E,MAAO,CACLuyB,IAAKiwJ,EAASjwJ,GAAMD,KAAK2e,IAAI0/C,IAC7BhsD,IAAK69I,EAAS79I,EAAKgsD,GAEvB,CACA,SAAS8xF,GAAcC,EAAev5J,GACpC,OAAOtoB,OAAOqoB,OAAOroB,OAAOqT,OAAOwuK,GAAgBv5J,EACrD,CAEA,SAASw5J,GAAgBzmL,EAAQgiC,EAAW,CAAC,IAAK0kJ,EAAa1mL,EAAQgjB,EAAU23F,EAAY,KAAM36G,EAAO,KACnG+uK,EAAQ/rJ,KACXA,EAAWowC,GAAS,YAAapzD,IAEnC,MAAM0S,EAAQ,CACZ,CAACrQ,OAAOgtF,aAAc,SACtBriF,YAAY,EACZ25K,QAAS3mL,EACT4mL,YAAaF,EACb12D,UAAWhtG,EACXmzI,WAAYx7C,EACZ5yC,SAAW9mE,GAAUwlL,GAAgB,CAACxlL,KAAUjB,GAASgiC,EAAU0kJ,EAAY1jK,IAEjF,OAAO,IAAIxY,MAAMkI,EAAO,CACtB7L,eAAe1D,EAAQ0nB,GAIrB,cAHO1nB,EAAO0nB,UACP1nB,EAAO0jL,aACP7mL,EAAO,GAAG6qB,IACV,CACT,EACAtnB,IAAIJ,EAAQ0nB,GACV,OAAOi8J,GAAQ3jL,EAAQ0nB,GACrB,IAAMk8J,GAAqBl8J,EAAMmX,EAAUhiC,EAAQmD,IACvD,EACA2nE,yBAAyB3nE,EAAQ0nB,GAC/B,OAAO3kB,QAAQ4kE,yBAAyB3nE,EAAOwjL,QAAQ,GAAI97J,EAC7D,EACAxjB,iBACE,OAAOnB,QAAQmB,eAAerH,EAAO,GACvC,EACA6D,IAAIV,EAAQ0nB,GACV,OAAOm8J,GAAqB7jL,GAAQiN,SAASya,EAC/C,EACA/jB,QAAQ3D,GACN,OAAO6jL,GAAqB7jL,EAC9B,EACAK,IAAIL,EAAQ0nB,EAAMzkB,GAChB,MAAM6gL,EAAU9jL,EAAO+jL,WAAa/jL,EAAO+jL,SAAWvsE,KAGtD,OAFAx3G,EAAO0nB,GAAQo8J,EAAQp8J,GAAQzkB,SACxBjD,EAAO0jL,OACP,CACT,GAEJ,CACA,SAASM,GAAe58K,EAAO0iB,EAASm6J,EAAUjiC,GAChD,MAAMzyI,EAAQ,CACZ1F,YAAY,EACZw2I,OAAQj5I,EACRgjB,SAAUN,EACVo6J,UAAWD,EACX5sC,OAAQ,IAAIp5I,IACZugJ,aAAcA,GAAap3I,EAAO46I,GAClCrY,WAAa94H,GAAQmzK,GAAe58K,EAAOyJ,EAAKozK,EAAUjiC,GAC1Dp9E,SAAW9mE,GAAUkmL,GAAe58K,EAAMw9D,SAAS9mE,GAAQgsB,EAASm6J,EAAUjiC,IAEhF,OAAO,IAAI36I,MAAMkI,EAAO,CACtB7L,eAAe1D,EAAQ0nB,GAGrB,cAFO1nB,EAAO0nB,UACPtgB,EAAMsgB,IACN,CACT,EACAtnB,IAAIJ,EAAQ0nB,EAAMjlB,GAChB,OAAOkhL,GAAQ3jL,EAAQ0nB,GACrB,IAAMy8J,GAAoBnkL,EAAQ0nB,EAAMjlB,IAC5C,EACAklE,yBAAyB3nE,EAAQ0nB,GAC/B,OAAO1nB,EAAOw+I,aAAac,QACvBv8I,QAAQrC,IAAI0G,EAAOsgB,GAAQ,CAACpD,YAAY,EAAMC,cAAc,QAAQjlB,EACpEyD,QAAQ4kE,yBAAyBvgE,EAAOsgB,EAC9C,EACAxjB,iBACE,OAAOnB,QAAQmB,eAAekD,EAChC,EACA1G,IAAIV,EAAQ0nB,GACV,OAAO3kB,QAAQrC,IAAI0G,EAAOsgB,EAC5B,EACA/jB,UACE,OAAOZ,QAAQY,QAAQyD,EACzB,EACA/G,IAAIL,EAAQ0nB,EAAMzkB,GAGhB,OAFAmE,EAAMsgB,GAAQzkB,SACPjD,EAAO0nB,IACP,CACT,GAEJ,CACA,SAAS82H,GAAap3I,EAAO2nD,EAAW,CAACqwF,YAAY,EAAMC,WAAW,IACpE,MAAM,YAACtyB,EAAch+D,EAASqwF,WAAU,WAAEtyB,EAAa/9D,EAASswF,UAAS,SAAE+kC,EAAWr1H,EAASuwF,SAAWl4I,EAC1G,MAAO,CACLk4I,QAAS8kC,EACThlC,WAAYryB,EACZsyB,UAAWvyB,EACXq1B,aAAc/1G,EAAW2gF,GAAeA,EAAc,IAAMA,EAC5Dq1B,YAAah2G,EAAW0gF,GAAcA,EAAa,IAAMA,EAE7D,CACA,MAAMu3D,GAAU,CAACj8B,EAAQ7wI,IAAS6wI,EAASA,EAASujB,EAAYp0J,GAAQA,EAClE+sK,GAAmB,CAAC58J,EAAMzkB,IAAU8nC,EAAS9nC,IAAmB,aAATykB,IACzB,OAAjClmB,OAAO0C,eAAejB,IAAmBA,EAAM5G,cAAgBmF,QAClE,SAASmiL,GAAQ3jL,EAAQ0nB,EAAMxb,GAC7B,GAAI1K,OAAO+6B,UAAUwP,eAAetnC,KAAKzE,EAAQ0nB,GAC/C,OAAO1nB,EAAO0nB,GAEhB,MAAMzkB,EAAQiJ,IAEd,OADAlM,EAAO0nB,GAAQzkB,EACRA,CACT,CACA,SAASkhL,GAAoBnkL,EAAQ0nB,EAAMjlB,GACzC,MAAM,OAAC49I,EAAM,SAAEj2H,EAAQ,UAAE85J,EAAW1lC,aAAcje,GAAevgI,EACjE,IAAIiD,EAAQo9I,EAAO34H,GAUnB,OATI0kB,EAAWnpC,IAAUs9H,EAAY4hB,aAAaz6H,KAChDzkB,EAAQshL,GAAmB78J,EAAMzkB,EAAOjD,EAAQyC,IAE9CmoC,EAAQ3nC,IAAUA,EAAMzF,SAC1ByF,EAAQuhL,GAAc98J,EAAMzkB,EAAOjD,EAAQugI,EAAY6hB,cAErDkiC,GAAiB58J,EAAMzkB,KACzBA,EAAQ+gL,GAAe/gL,EAAOmnB,EAAU85J,GAAaA,EAAUx8J,GAAO64G,IAEjEt9H,CACT,CACA,SAASshL,GAAmB78J,EAAMzkB,EAAOjD,EAAQyC,GAC/C,MAAM,OAAC49I,EAAM,SAAEj2H,EAAQ,UAAE85J,EAAS,OAAE7sC,GAAUr3I,EAC9C,GAAIq3I,EAAO32I,IAAIgnB,GACb,MAAM,IAAIsyB,MAAM,uBAAyBjxC,MAAM2W,KAAK23H,GAAQr5G,KAAK,MAAQ,KAAOtW,GAQlF,OANA2vH,EAAO12I,IAAI+mB,GACXzkB,EAAQA,EAAMmnB,EAAU85J,GAAazhL,GACrC40I,EAAO14I,OAAO+oB,GACV48J,GAAiB58J,EAAMzkB,KACzBA,EAAQwhL,GAAkBpkC,EAAOmjC,QAASnjC,EAAQ34H,EAAMzkB,IAEnDA,CACT,CACA,SAASuhL,GAAc98J,EAAMzkB,EAAOjD,EAAQoiJ,GAC1C,MAAM,OAAC/B,EAAM,SAAEj2H,EAAQ,UAAE85J,EAAW1lC,aAAcje,GAAevgI,EACjE,GAAI4rK,EAAQxhJ,EAASxtB,QAAUwlJ,EAAY16H,GACzCzkB,EAAQA,EAAMmnB,EAASxtB,MAAQqG,EAAMzF,aAChC,GAAIutC,EAAS9nC,EAAM,IAAK,CAC7B,MAAMd,EAAMc,EACNpG,EAASwjJ,EAAOmjC,QAAQ9hL,QAAOmU,GAAKA,IAAM1T,IAChDc,EAAQ,GACR,IAAK,MAAM0c,KAAQxd,EAAK,CACtB,MAAMujG,EAAW++E,GAAkB5nL,EAAQwjJ,EAAQ34H,EAAM/H,GACzD1c,EAAMnG,KAAKknL,GAAet+E,EAAUt7E,EAAU85J,GAAaA,EAAUx8J,GAAO64G,GAC9E,CACF,CACA,OAAOt9H,CACT,CACA,SAASyhL,GAAgB7kK,EAAU6H,EAAMzkB,GACvC,OAAOmpC,EAAWvsB,GAAYA,EAAS6H,EAAMzkB,GAAS4c,CACxD,CACA,MAAM22F,GAAW,CAACt2G,EAAKvD,KAAmB,IAARuD,EAAevD,EAC9B,kBAARuD,EAAmBsrK,EAAiB7uK,EAAQuD,QAAOZ,EAC9D,SAASqlL,GAAUtkL,EAAKukL,EAAc1kL,EAAK2kL,EAAgB5hL,GACzD,IAAK,MAAMtG,KAAUioL,EAAc,CACjC,MAAM9mL,EAAQ04G,GAASt2G,EAAKvD,GAC5B,GAAImB,EAAO,CACTuC,EAAIM,IAAI7C,GACR,MAAM+hB,EAAW6kK,GAAgB5mL,EAAM+uH,UAAW3sH,EAAK+C,GACvD,GAAI2oK,EAAQ/rJ,IAAaA,IAAa3f,GAAO2f,IAAaglK,EACxD,OAAOhlK,CAEX,MAAO,IAAc,IAAV/hB,GAAmB8tK,EAAQiZ,IAAmB3kL,IAAQ2kL,EAC/D,OAAO,IAEX,CACA,OAAO,CACT,CACA,SAASJ,GAAkBG,EAAcl/E,EAAUh+E,EAAMzkB,GACvD,MAAMsgL,EAAa79E,EAAS+9E,YACtB5jK,EAAW6kK,GAAgBh/E,EAASmnB,UAAWnlG,EAAMzkB,GACrD6hL,EAAY,IAAIF,KAAiBrB,GACjCljL,EAAM,IAAIpC,IAChBoC,EAAIM,IAAIsC,GACR,IAAI/C,EAAM6kL,GAAiB1kL,EAAKykL,EAAWp9J,EAAM7H,GAAY6H,EAAMzkB,GACnE,OAAY,OAAR/C,MAGA0rK,EAAQ/rJ,IAAaA,IAAa6H,IACpCxnB,EAAM6kL,GAAiB1kL,EAAKykL,EAAWjlK,EAAU3f,EAAK+C,GAC1C,OAAR/C,KAICojL,GAAgBv6K,MAAM2W,KAAKrf,GAAM,CAAC,IAAKkjL,EAAY1jK,GACxD,IAAMmlK,GAAat/E,EAAUh+E,EAAMzkB,KACvC,CACA,SAAS8hL,GAAiB1kL,EAAKykL,EAAW5kL,EAAK2f,EAAUF,GACvD,MAAOzf,EACLA,EAAMykL,GAAUtkL,EAAKykL,EAAW5kL,EAAK2f,EAAUF,GAEjD,OAAOzf,CACT,CACA,SAAS8kL,GAAat/E,EAAUh+E,EAAMzkB,GACpC,MAAMtG,EAAS+oG,EAASstD,aAClBtrI,KAAQ/qB,IACZA,EAAO+qB,GAAQ,CAAC,GAElB,MAAM1nB,EAASrD,EAAO+qB,GACtB,OAAIkjB,EAAQ5qC,IAAW+qC,EAAS9nC,GACvBA,EAEFjD,CACT,CACA,SAAS4jL,GAAqBl8J,EAAMmX,EAAUhiC,EAAQuK,GACpD,IAAInE,EACJ,IAAK,MAAMmlJ,KAAUvpH,EAEnB,GADA57B,EAAQgtD,GAASo0H,GAAQj8B,EAAQ1gI,GAAO7qB,GACpC+uK,EAAQ3oK,GACV,OAAOqhL,GAAiB58J,EAAMzkB,GAC1BwhL,GAAkB5nL,EAAQuK,EAAOsgB,EAAMzkB,GACvCA,CAGV,CACA,SAASgtD,GAAS/vD,EAAKrD,GACrB,IAAK,MAAMiB,KAASjB,EAAQ,CAC1B,IAAKiB,EACH,SAEF,MAAMmF,EAAQnF,EAAMoC,GACpB,GAAI0rK,EAAQ3oK,GACV,OAAOA,CAEX,CACF,CACA,SAAS4gL,GAAqB7jL,GAC5B,IAAI0S,EAAO1S,EAAO0jL,MAIlB,OAHKhxK,IACHA,EAAO1S,EAAO0jL,MAAQuB,GAAyBjlL,EAAOwjL,UAEjD9wK,CACT,CACA,SAASuyK,GAAyBpoL,GAChC,MAAMwD,EAAM,IAAIpC,IAChB,IAAK,MAAMH,KAASjB,EAClB,IAAK,MAAMqD,KAAOsB,OAAOkR,KAAK5U,GAAO4D,QAAOoqB,IAAMA,EAAEpd,WAAW,OAC7DrO,EAAIM,IAAIT,GAGZ,OAAO6I,MAAM2W,KAAKrf,EACpB,CACA,SAAS6kL,GAA4Bp8I,EAAMh3B,EAAMpF,EAAOyxC,GACtD,MAAM,OAACkyE,GAAUvnF,GACX,IAAC5oC,EAAM,KAAO3D,KAAKm1H,SACnBj7D,EAAS,IAAI1tD,MAAMo1C,GACzB,IAAI7gD,EAAGg7D,EAAM17D,EAAO+iB,EACpB,IAAKriB,EAAI,EAAGg7D,EAAOna,EAAO7gD,EAAIg7D,IAAQh7D,EACpCV,EAAQU,EAAIoP,EACZiT,EAAO7N,EAAKlV,GACZ65D,EAAOn5D,GAAK,CACVwK,EAAGuoH,EAAOr8D,MAAMw3G,EAAiB7rJ,EAAMzf,GAAMtD,IAGjD,OAAO65D,CACT,CAEA,MAAM0uH,GAAU3hL,OAAO2hL,SAAW,MAC5BC,GAAW,CAACzjH,EAAQrkE,IAAMA,EAAIqkE,EAAOnkE,SAAWmkE,EAAOrkE,GAAG6oE,MAAQxE,EAAOrkE,GACzE+nL,GAAgBtyD,GAA4B,MAAdA,EAAoB,IAAM,IAC9D,SAASuyD,GAAYxjD,EAAYyjD,EAAaC,EAAYn9J,GACxD,MAAM+8C,EAAW08D,EAAW37D,KAAOo/G,EAAczjD,EAC3CnlH,EAAU4oK,EACV3/K,EAAO4/K,EAAWr/G,KAAOo/G,EAAcC,EACvCC,EAAM9X,EAAsBhxJ,EAASyoD,GACrCsgH,EAAM/X,EAAsB/nK,EAAM+W,GACxC,IAAIgpK,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GACvBC,EAAMh3I,MAAMg3I,GAAO,EAAIA,EACvBC,EAAMj3I,MAAMi3I,GAAO,EAAIA,EACvB,MAAMC,EAAKx9J,EAAIs9J,EACTG,EAAKz9J,EAAIu9J,EACf,MAAO,CACLxgH,SAAU,CACR5uB,EAAG75B,EAAQ65B,EAAIqvI,GAAMjgL,EAAK4wC,EAAI4uB,EAAS5uB,GACvC9C,EAAG/2B,EAAQ+2B,EAAImyI,GAAMjgL,EAAK8tC,EAAI0xB,EAAS1xB,IAEzC9tC,KAAM,CACJ4wC,EAAG75B,EAAQ65B,EAAIsvI,GAAMlgL,EAAK4wC,EAAI4uB,EAAS5uB,GACvC9C,EAAG/2B,EAAQ+2B,EAAIoyI,GAAMlgL,EAAK8tC,EAAI0xB,EAAS1xB,IAG7C,CACA,SAASqyI,GAAepkH,EAAQqkH,EAAQC,GACtC,MAAMC,EAAYvkH,EAAOnkE,OACzB,IAAI2oL,EAAQC,EAAOC,EAAMC,EAAkBC,EACvCC,EAAapB,GAASzjH,EAAQ,GAClC,IAAK,IAAIrkE,EAAI,EAAGA,EAAI4oL,EAAY,IAAK5oL,EACnCipL,EAAeC,EACfA,EAAapB,GAASzjH,EAAQrkE,EAAI,GAC7BipL,GAAiBC,IAGlBja,EAAayZ,EAAO1oL,GAAI,EAAG6nL,IAC7Bc,EAAG3oL,GAAK2oL,EAAG3oL,EAAI,GAAK,GAGtB6oL,EAASF,EAAG3oL,GAAK0oL,EAAO1oL,GACxB8oL,EAAQH,EAAG3oL,EAAI,GAAK0oL,EAAO1oL,GAC3BgpL,EAAmBrzJ,KAAK2lD,IAAIutG,EAAQ,GAAKlzJ,KAAK2lD,IAAIwtG,EAAO,GACrDE,GAAoB,IAGxBD,EAAO,EAAIpzJ,KAAKwmC,KAAK6sH,GACrBL,EAAG3oL,GAAK6oL,EAASE,EAAOL,EAAO1oL,GAC/B2oL,EAAG3oL,EAAI,GAAK8oL,EAAQC,EAAOL,EAAO1oL,KAEtC,CACA,SAASmpL,GAAgB9kH,EAAQskH,EAAIlzD,EAAY,KAC/C,MAAM2zD,EAAYrB,GAAatyD,GACzBmzD,EAAYvkH,EAAOnkE,OACzB,IAAIwoD,EAAO2gI,EAAaJ,EACpBC,EAAapB,GAASzjH,EAAQ,GAClC,IAAK,IAAIrkE,EAAI,EAAGA,EAAI4oL,IAAa5oL,EAAG,CAIlC,GAHAqpL,EAAcJ,EACdA,EAAeC,EACfA,EAAapB,GAASzjH,EAAQrkE,EAAI,IAC7BipL,EACH,SAEF,MAAMlpD,EAASkpD,EAAaxzD,GACtBuK,EAASipD,EAAaG,GACxBC,IACF3gI,GAASq3E,EAASspD,EAAY5zD,IAAc,EAC5CwzD,EAAa,MAAMxzD,KAAesK,EAASr3E,EAC3CugI,EAAa,MAAMG,KAAeppD,EAASt3E,EAAQigI,EAAG3oL,IAEpDkpL,IACFxgI,GAASwgI,EAAWzzD,GAAasK,GAAU,EAC3CkpD,EAAa,MAAMxzD,KAAesK,EAASr3E,EAC3CugI,EAAa,MAAMG,KAAeppD,EAASt3E,EAAQigI,EAAG3oL,GAE1D,CACF,CACA,SAASspL,GAAoBjlH,EAAQoxD,EAAY,KAC/C,MAAM2zD,EAAYrB,GAAatyD,GACzBmzD,EAAYvkH,EAAOnkE,OACnBwoL,EAASj9K,MAAMm9K,GAAWjoH,KAAK,GAC/BgoH,EAAKl9K,MAAMm9K,GACjB,IAAI5oL,EAAGqpL,EAAaJ,EAChBC,EAAapB,GAASzjH,EAAQ,GAClC,IAAKrkE,EAAI,EAAGA,EAAI4oL,IAAa5oL,EAI3B,GAHAqpL,EAAcJ,EACdA,EAAeC,EACfA,EAAapB,GAASzjH,EAAQrkE,EAAI,GAC7BipL,EAAL,CAGA,GAAIC,EAAY,CACd,MAAMK,EAAaL,EAAWzzD,GAAawzD,EAAaxzD,GACxDizD,EAAO1oL,GAAoB,IAAfupL,GAAoBL,EAAWE,GAAaH,EAAaG,IAAcG,EAAa,CAClG,CACAZ,EAAG3oL,GAAMqpL,EACJH,EACAjzG,EAAKyyG,EAAO1oL,EAAI,MAAQi2E,EAAKyyG,EAAO1oL,IAAO,GAC3C0oL,EAAO1oL,EAAI,GAAK0oL,EAAO1oL,IAAM,EAFhB0oL,EAAO1oL,EAAI,GADN0oL,EAAO1oL,EAL9B,CAUFyoL,GAAepkH,EAAQqkH,EAAQC,GAC/BQ,GAAgB9kH,EAAQskH,EAAIlzD,EAC9B,CACA,SAAS+zD,GAAgBjlH,EAAI3uC,EAAKoS,GAChC,OAAOrS,KAAKqS,IAAIrS,KAAKC,IAAI2uC,EAAIv8B,GAAMpS,EACrC,CACA,SAAS07H,GAAgBjtF,EAAQ/G,GAC/B,IAAIt9D,EAAGg7D,EAAMY,EAAO6tH,EAAQC,EACxBC,EAAanG,GAAen/G,EAAO,GAAI/G,GAC3C,IAAKt9D,EAAI,EAAGg7D,EAAOqJ,EAAOnkE,OAAQF,EAAIg7D,IAAQh7D,EAC5C0pL,EAAaD,EACbA,EAASE,EACTA,EAAa3pL,EAAIg7D,EAAO,GAAKwoH,GAAen/G,EAAOrkE,EAAI,GAAIs9D,GACtDmsH,IAGL7tH,EAAQyI,EAAOrkE,GACX0pL,IACF9tH,EAAMooH,KAAOwF,GAAgB5tH,EAAMooH,KAAM1mH,EAAK5xB,KAAM4xB,EAAK1xB,OACzDgwB,EAAMsoH,KAAOsF,GAAgB5tH,EAAMsoH,KAAM5mH,EAAKJ,IAAKI,EAAKH,SAEtDwsH,IACF/tH,EAAMqoH,KAAOuF,GAAgB5tH,EAAMqoH,KAAM3mH,EAAK5xB,KAAM4xB,EAAK1xB,OACzDgwB,EAAMuoH,KAAOqF,GAAgB5tH,EAAMuoH,KAAM7mH,EAAKJ,IAAKI,EAAKH,SAG9D,CACA,SAASysH,GAA2BvlH,EAAQzxD,EAAS0qD,EAAMqxD,EAAM8G,GAC/D,IAAIz1H,EAAGg7D,EAAMY,EAAOiuH,EAIpB,GAHIj3K,EAAQsxH,WACV7/D,EAASA,EAAOjgE,QAAQmgE,IAAQA,EAAGsE,QAEE,aAAnCj2D,EAAQy8I,uBACVi6B,GAAoBjlH,EAAQoxD,OACvB,CACL,IAAIviH,EAAOy7G,EAAOtqD,EAAOA,EAAOnkE,OAAS,GAAKmkE,EAAO,GACrD,IAAKrkE,EAAI,EAAGg7D,EAAOqJ,EAAOnkE,OAAQF,EAAIg7D,IAAQh7D,EAC5C47D,EAAQyI,EAAOrkE,GACf6pL,EAAgB7B,GACd90K,EACA0oD,EACAyI,EAAO1uC,KAAKC,IAAI51B,EAAI,EAAGg7D,GAAQ2zD,EAAO,EAAI,IAAM3zD,GAChDpoD,EAAQw8I,SAEVxzF,EAAMooH,KAAO6F,EAAc/hH,SAAS5uB,EACpC0iB,EAAMsoH,KAAO2F,EAAc/hH,SAAS1xB,EACpCwlB,EAAMqoH,KAAO4F,EAAcvhL,KAAK4wC,EAChC0iB,EAAMuoH,KAAO0F,EAAcvhL,KAAK8tC,EAChCljC,EAAO0oD,CAEX,CACIhpD,EAAQ0+I,iBACVA,GAAgBjtF,EAAQ/G,EAE5B,CAEA,SAASwsH,KACP,MAAyB,qBAAXxnJ,QAA8C,qBAAblD,QACjD,CACA,SAAS2qJ,GAAeC,GACtB,IAAI3qL,EAAS2qL,EAAQn6J,WAIrB,OAHIxwB,GAAgC,wBAAtBA,EAAOsrB,aACnBtrB,EAASA,EAAOs5D,MAEXt5D,CACT,CACA,SAAS4qL,GAAcC,EAAYhwJ,EAAMiwJ,GACvC,IAAIC,EASJ,MAR0B,kBAAfF,GACTE,EAAgBl6I,SAASg6I,EAAY,KACJ,IAA7BA,EAAWl6K,QAAQ,OACrBo6K,EAAgBA,EAAgB,IAAMlwJ,EAAKrK,WAAWs6J,KAGxDC,EAAgBF,EAEXE,CACT,CACA,MAAM7iJ,GAAoB+hC,GAAYhnC,OAAOiF,iBAAiB+hC,EAAS,MACvE,SAASivD,GAAS3hH,EAAIu/D,GACpB,OAAO5uC,GAAiB3wB,GAAIyzK,iBAAiBl0G,EAC/C,CACA,MAAMylE,GAAY,CAAC,MAAO,QAAS,SAAU,QAC7C,SAAS0uC,GAAmBhjJ,EAAQtU,EAAOy3D,GACzC,MAAMtkF,EAAS,CAAC,EAChBskF,EAASA,EAAS,IAAMA,EAAS,GACjC,IAAK,IAAIzqF,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,MAAM27F,EAAMigD,GAAU57I,GACtBmG,EAAOw1F,GAAOvqD,WAAW9J,EAAOtU,EAAQ,IAAM2oE,EAAMlR,KAAY,CAClE,CAGA,OAFAtkF,EAAO80D,MAAQ90D,EAAOulC,KAAOvlC,EAAOylC,MACpCzlC,EAAOg1D,OAASh1D,EAAO+2D,IAAM/2D,EAAOg3D,OAC7Bh3D,CACT,CACA,MAAMokL,GAAe,CAACrxI,EAAG9C,EAAG1zC,KAAYw2C,EAAI,GAAK9C,EAAI,MAAQ1zC,IAAWA,EAAO8nL,YAC/E,SAASC,GAAkBvsJ,EAAG4+G,GAC5B,MAAM4tC,EAAUxsJ,EAAEwsJ,QACZ7yK,EAAS6yK,GAAWA,EAAQxqL,OAASwqL,EAAQ,GAAKxsJ,GAClD,QAACoiG,EAAO,QAAEC,GAAW1oH,EAC3B,IACIqhC,EAAG9C,EADHkjG,GAAM,EAEV,GAAIixC,GAAajqD,EAASC,EAASriG,EAAEx7B,QACnCw2C,EAAIonF,EACJlqF,EAAImqF,MACC,CACL,MAAMtjE,EAAO6/E,EAAO6tC,wBACpBzxI,EAAIrhC,EAAO+yK,QAAU3tH,EAAKvxB,KAC1B0K,EAAIv+B,EAAOgzK,QAAU5tH,EAAKC,IAC1Bo8E,GAAM,CACR,CACA,MAAO,CAACpgG,IAAG9C,IAAGkjG,MAChB,CACA,SAASwxC,GAAoBC,EAAKxrH,GAChC,GAAI,WAAYwrH,EACd,OAAOA,EAET,MAAM,OAACjuC,EAAM,wBAAE8C,GAA2BrgF,EACpCvsC,EAAQuU,GAAiBu1G,GACzBkuC,EAAgC,eAApBh4J,EAAMorH,UAClB6sC,EAAWX,GAAmBt3J,EAAO,WACrCk4J,EAAUZ,GAAmBt3J,EAAO,SAAU,UAC9C,EAACkmB,EAAC,EAAE9C,EAAC,IAAEkjG,GAAOmxC,GAAkBM,EAAKjuC,GACrCqmC,EAAU8H,EAASv/I,MAAQ4tG,GAAO4xC,EAAQx/I,MAC1C03I,EAAU6H,EAAS/tH,KAAOo8E,GAAO4xC,EAAQhuH,KAC/C,IAAI,MAACjC,EAAK,OAAEE,GAAUoE,EAKtB,OAJIyrH,IACF/vH,GAASgwH,EAAShwH,MAAQiwH,EAAQjwH,MAClCE,GAAU8vH,EAAS9vH,OAAS+vH,EAAQ/vH,QAE/B,CACLjiB,EAAGvjB,KAAKqvB,OAAO9L,EAAIiqI,GAAWloH,EAAQ6hF,EAAO7hF,MAAQ2kF,GACrDxpG,EAAGzgB,KAAKqvB,OAAO5O,EAAIgtI,GAAWjoH,EAAS2hF,EAAO3hF,OAASykF,GAE3D,CACA,SAASurC,GAAiBruC,EAAQ7hF,EAAOE,GACvC,IAAI0mE,EAAUC,EACd,QAAc9/H,IAAVi5D,QAAkCj5D,IAAXm5D,EAAsB,CAC/C,MAAMzqC,EAAYq5J,GAAejtC,GACjC,GAAKpsH,EAGE,CACL,MAAMusC,EAAOvsC,EAAUi6J,wBACjBS,EAAiB7jJ,GAAiB7W,GAClC26J,EAAkBf,GAAmBc,EAAgB,SAAU,SAC/DE,EAAmBhB,GAAmBc,EAAgB,WAC5DnwH,EAAQgC,EAAKhC,MAAQqwH,EAAiBrwH,MAAQowH,EAAgBpwH,MAC9DE,EAAS8B,EAAK9B,OAASmwH,EAAiBnwH,OAASkwH,EAAgBlwH,OACjE0mE,EAAWooD,GAAcmB,EAAevpD,SAAUnxG,EAAW,eAC7DoxG,EAAYmoD,GAAcmB,EAAetpD,UAAWpxG,EAAW,eACjE,MAXEuqC,EAAQ6hF,EAAOkD,YACf7kF,EAAS2hF,EAAOyuC,YAWpB,CACA,MAAO,CACLtwH,QACAE,SACA0mE,SAAUA,GAAY8sC,EACtB7sC,UAAWA,GAAa6sC,EAE5B,CACA,MAAM6c,GAAS7kL,GAAKgvB,KAAKqvB,MAAU,GAAJr+C,GAAU,GACzC,SAASs2I,GAAeH,EAAQ2uC,EAASC,EAAUxoD,GACjD,MAAMlwG,EAAQuU,GAAiBu1G,GACzBhQ,EAAUw9C,GAAmBt3J,EAAO,UACpC6uG,EAAWooD,GAAcj3J,EAAM6uG,SAAUib,EAAQ,gBAAkB6xB,EACnE7sC,EAAYmoD,GAAcj3J,EAAM8uG,UAAWgb,EAAQ,iBAAmB6xB,EACtEgd,EAAgBR,GAAiBruC,EAAQ2uC,EAASC,GACxD,IAAI,MAACzwH,EAAK,OAAEE,GAAUwwH,EACtB,GAAwB,gBAApB34J,EAAMorH,UAA6B,CACrC,MAAM8sC,EAAUZ,GAAmBt3J,EAAO,SAAU,SAC9Ci4J,EAAWX,GAAmBt3J,EAAO,WAC3CioC,GAASgwH,EAAShwH,MAAQiwH,EAAQjwH,MAClCE,GAAU8vH,EAAS9vH,OAAS+vH,EAAQ/vH,MACtC,CAQA,OAPAF,EAAQtlC,KAAKqS,IAAI,EAAGizB,EAAQ6xE,EAAQ7xE,OACpCE,EAASxlC,KAAKqS,IAAI,EAAGk7F,EAAcvtG,KAAKw7C,MAAMlW,EAAQioE,GAAe/nE,EAAS2xE,EAAQ3xE,QACtFF,EAAQuwH,GAAO71J,KAAKC,IAAIqlC,EAAO4mE,EAAU8pD,EAAc9pD,WACvD1mE,EAASqwH,GAAO71J,KAAKC,IAAIulC,EAAQ2mE,EAAW6pD,EAAc7pD,YACtD7mE,IAAUE,IACZA,EAASqwH,GAAOvwH,EAAQ,IAEnB,CACLA,QACAE,SAEJ,CACA,SAASywH,GAAYrsH,EAAOssH,EAAYC,GACtC,MAAMC,EAAaF,GAAc,EAC3BG,EAAer2J,KAAKw7C,MAAM5R,EAAMpE,OAAS4wH,GACzCE,EAAct2J,KAAKw7C,MAAM5R,EAAMtE,MAAQ8wH,GAC7CxsH,EAAMpE,OAAS6wH,EAAeD,EAC9BxsH,EAAMtE,MAAQgxH,EAAcF,EAC5B,MAAMjvC,EAASv9E,EAAMu9E,OAKrB,OAJIA,EAAO9pH,QAAU84J,IAAgBhvC,EAAO9pH,MAAMmoC,SAAW2hF,EAAO9pH,MAAMioC,SACxE6hF,EAAO9pH,MAAMmoC,OAAS,GAAGoE,EAAMpE,WAC/B2hF,EAAO9pH,MAAMioC,MAAQ,GAAGsE,EAAMtE,YAE5BsE,EAAMqgF,0BAA4BmsC,GAC/BjvC,EAAO3hF,SAAW6wH,GAClBlvC,EAAO7hF,QAAUgxH,KACtB1sH,EAAMqgF,wBAA0BmsC,EAChCjvC,EAAO3hF,OAAS6wH,EAChBlvC,EAAO7hF,MAAQgxH,EACf1sH,EAAMhsD,IAAI24K,aAAaH,EAAY,EAAG,EAAGA,EAAY,EAAG,IACjD,EAGX,CACA,MAAMI,GAAgC,WACpC,IAAIC,GAAmB,EACvB,IACE,MAAMx5K,EAAU,CACV4rI,cAEF,OADA4tC,GAAmB,GACZ,CACT,GAEF9pJ,OAAOS,iBAAiB,OAAQ,KAAMnwB,GACtC0vB,OAAOU,oBAAoB,OAAQ,KAAMpwB,EAE3C,CADE,MAAOsrB,GACT,CACA,OAAOkuJ,CACT,CAdqC,GAerC,SAASC,GAAa/iH,EAAS6M,GAC7B,MAAMxwE,EAAQ4yH,GAASjvD,EAAS6M,GAC1Bt3D,EAAUlZ,GAASA,EAAM+kB,MAAM,qBACrC,OAAO7L,GAAWA,EAAQ,QAAK7c,CACjC,CAEA,SAASsqL,GAAa3nH,EAAI+uE,EAAI3oH,EAAG7Q,GAC/B,MAAO,CACLg/B,EAAGyrB,EAAGzrB,EAAInuB,GAAK2oH,EAAGx6F,EAAIyrB,EAAGzrB,GACzB9C,EAAGuuB,EAAGvuB,EAAIrrB,GAAK2oH,EAAGt9F,EAAIuuB,EAAGvuB,GAE7B,CACA,SAASm2I,GAAsB5nH,EAAI+uE,EAAI3oH,EAAG7Q,GACxC,MAAO,CACLg/B,EAAGyrB,EAAGzrB,EAAInuB,GAAK2oH,EAAGx6F,EAAIyrB,EAAGzrB,GACzB9C,EAAY,WAATl8B,EAAoB6Q,EAAI,GAAM45C,EAAGvuB,EAAIs9F,EAAGt9F,EAChC,UAATl8B,EAAmB6Q,EAAI,EAAI45C,EAAGvuB,EAAIs9F,EAAGt9F,EACrCrrB,EAAI,EAAI2oH,EAAGt9F,EAAIuuB,EAAGvuB,EAExB,CACA,SAASo2I,GAAqB7nH,EAAI+uE,EAAI3oH,EAAG7Q,GACvC,MAAMuyK,EAAM,CAACvzI,EAAGyrB,EAAGs/G,KAAM7tI,EAAGuuB,EAAGw/G,MACzBuI,EAAM,CAACxzI,EAAGw6F,EAAGswC,KAAM5tI,EAAGs9F,EAAGwwC,MACzBzzK,EAAI67K,GAAa3nH,EAAI8nH,EAAK1hK,GAC1Bra,EAAI47K,GAAaG,EAAKC,EAAK3hK,GAC3BrP,EAAI4wK,GAAaI,EAAKh5C,EAAI3oH,GAC1Bod,EAAImkJ,GAAa77K,EAAGC,EAAGqa,GACvBmT,EAAIouJ,GAAa57K,EAAGgL,EAAGqP,GAC7B,OAAOuhK,GAAankJ,EAAGjK,EAAGnT,EAC5B,CAEA,MAAM4hK,GAAY,IAAI3pL,IACtB,SAASixG,GAAgB71B,EAAQxrE,GAC/BA,EAAUA,GAAW,CAAC,EACtB,MAAMimH,EAAWz6C,EAASrvC,KAAKC,UAAUp8B,GACzC,IAAIwwD,EAAYupH,GAAU7pL,IAAI+1H,GAK9B,OAJKz1D,IACHA,EAAY,IAAIupC,KAAKE,aAAazuB,EAAQxrE,GAC1C+5K,GAAU5pL,IAAI81H,EAAUz1D,IAEnBA,CACT,CACA,SAASwpH,GAAazrI,EAAKi9B,EAAQxrE,GACjC,OAAOqhG,GAAgB71B,EAAQxrE,GAASisE,OAAO19B,EACjD,CAEA,MAAM0rI,GAAwB,SAASC,EAAO7xH,GAC5C,MAAO,CACL/hB,EAAEA,GACA,OAAO4zI,EAAQA,EAAQ7xH,EAAQ/hB,CACjC,EACAkhH,SAASx5J,GACPq6D,EAAQr6D,CACV,EACA8gE,UAAUnF,GACR,MAAc,WAAVA,EACKA,EAEQ,UAAVA,EAAoB,OAAS,OACtC,EACAu9F,MAAM5gH,EAAGvzC,GACP,OAAOuzC,EAAIvzC,CACb,EACAyzJ,WAAWlgH,EAAGw/G,GACZ,OAAOx/G,EAAIw/G,CACb,EAEJ,EACMq0B,GAAwB,WAC5B,MAAO,CACL7zI,EAAEA,GACA,OAAOA,CACT,EACAkhH,SAASx5J,GACT,EACA8gE,UAAUnF,GACR,OAAOA,CACT,EACAu9F,MAAM5gH,EAAGvzC,GACP,OAAOuzC,EAAIvzC,CACb,EACAyzJ,WAAWlgH,EAAG8zI,GACZ,OAAO9zI,CACT,EAEJ,EACA,SAAS+zI,GAAch0B,EAAK6zB,EAAO7xH,GACjC,OAAOg+F,EAAM4zB,GAAsBC,EAAO7xH,GAAS8xH,IACrD,CACA,SAASG,GAAsB35K,EAAK45K,GAClC,IAAIn6J,EAAOo6J,EACO,QAAdD,GAAqC,QAAdA,IACzBn6J,EAAQzf,EAAIupI,OAAO9pH,MACnBo6J,EAAW,CACTp6J,EAAMq3J,iBAAiB,aACvBr3J,EAAMq6J,oBAAoB,cAE5Br6J,EAAMoO,YAAY,YAAa+rJ,EAAW,aAC1C55K,EAAI+5K,kBAAoBF,EAE5B,CACA,SAASG,GAAqBh6K,EAAK65K,QAChBprL,IAAborL,WACK75K,EAAI+5K,kBACX/5K,EAAIupI,OAAO9pH,MAAMoO,YAAY,YAAagsJ,EAAS,GAAIA,EAAS,IAEpE,CAEA,SAASI,GAAWr3G,GAClB,MAAiB,UAAbA,EACK,CACLs3G,QAASjd,GACTkd,QAASpd,EACT50I,UAAW60I,GAGR,CACLkd,QAASzc,GACT0c,QAAS,CAACj9K,EAAGC,IAAMD,EAAIC,EACvBgrB,UAAWwd,GAAKA,EAEpB,CACA,SAASy0I,IAAiB,MAACv+K,EAAK,IAAEC,EAAG,MAAEwxC,EAAK,KAAE8tE,EAAI,MAAE37F,IAClD,MAAO,CACL5jB,MAAOA,EAAQyxC,EACfxxC,IAAKA,EAAMwxC,EACX8tE,KAAMA,IAASt/G,EAAMD,EAAQ,GAAKyxC,IAAU,EAC5C7tB,QAEJ,CACA,SAAS46J,GAAWvwH,EAASgH,EAAQkkE,GACnC,MAAM,SAACpyD,EAAU/mE,MAAOy+K,EAAYx+K,IAAKy+K,GAAYvlD,GAC/C,QAACklD,EAAO,UAAE/xJ,GAAa8xJ,GAAWr3G,GAClCt1B,EAAQwjB,EAAOnkE,OACrB,IACIF,EAAGg7D,GADH,MAAC5rD,EAAK,IAAEC,EAAG,KAAEs/G,GAAQtxD,EAEzB,GAAIsxD,EAAM,CAGR,IAFAv/G,GAASyxC,EACTxxC,GAAOwxC,EACF7gD,EAAI,EAAGg7D,EAAOna,EAAO7gD,EAAIg7D,IAAQh7D,EAAG,CACvC,IAAKytL,EAAQ/xJ,EAAU2oC,EAAOj1D,EAAQyxC,GAAOs1B,IAAY03G,EAAYC,GACnE,MAEF1+K,IACAC,GACF,CACAD,GAASyxC,EACTxxC,GAAOwxC,CACT,CAIA,OAHIxxC,EAAMD,IACRC,GAAOwxC,GAEF,CAACzxC,QAAOC,MAAKs/G,OAAM37F,MAAOqqC,EAAQrqC,MAC3C,CACA,SAAS+6J,GAAc1wH,EAASgH,EAAQkkE,GACtC,IAAKA,EACH,MAAO,CAAClrE,GAEV,MAAM,SAAC8Y,EAAU/mE,MAAOy+K,EAAYx+K,IAAKy+K,GAAYvlD,EAC/C1nF,EAAQwjB,EAAOnkE,QACf,QAACwtL,EAAO,QAAED,EAAO,UAAE/xJ,GAAa8xJ,GAAWr3G,IAC3C,MAAC/mE,EAAK,IAAEC,EAAG,KAAEs/G,EAAI,MAAE37F,GAAS46J,GAAWvwH,EAASgH,EAAQkkE,GACxDpiI,EAAS,GACf,IAEIR,EAAOi2D,EAAO14B,EAFd8qJ,GAAS,EACTC,EAAW,KAEf,MAAMC,EAAgB,IAAMT,EAAQI,EAAY3qJ,EAAWv9B,IAA6C,IAAnC+nL,EAAQG,EAAY3qJ,GACnFirJ,EAAc,IAAmC,IAA7BT,EAAQI,EAAUnoL,IAAgB8nL,EAAQK,EAAU5qJ,EAAWv9B,GACnFyoL,EAAc,IAAMJ,GAAUE,IAC9BG,EAAa,KAAOL,GAAUG,IACpC,IAAK,IAAInuL,EAAIoP,EAAO8D,EAAO9D,EAAOpP,GAAKqP,IAAOrP,EAC5C47D,EAAQyI,EAAOrkE,EAAI6gD,GACf+a,EAAMiN,OAGVljE,EAAQ+1B,EAAUkgC,EAAMua,IACpBxwE,IAAUu9B,IAGd8qJ,EAASP,EAAQ9nL,EAAOkoL,EAAYC,GACnB,OAAbG,GAAqBG,MACvBH,EAA0C,IAA/BP,EAAQ/nL,EAAOkoL,GAAoB7tL,EAAIkT,GAEnC,OAAb+6K,GAAqBI,MACvBloL,EAAO3G,KAAKmuL,GAAiB,CAACv+K,MAAO6+K,EAAU5+K,IAAKrP,EAAG2uH,OAAM9tE,QAAO7tB,WACpEi7J,EAAW,MAEb/6K,EAAOlT,EACPkjC,EAAYv9B,IAKd,OAHiB,OAAbsoL,GACF9nL,EAAO3G,KAAKmuL,GAAiB,CAACv+K,MAAO6+K,EAAU5+K,MAAKs/G,OAAM9tE,QAAO7tB,WAE5D7sB,CACT,CACA,SAASmoL,GAAeh1H,EAAMivE,GAC5B,MAAMpiI,EAAS,GACTiT,EAAWkgD,EAAKlgD,SACtB,IAAK,IAAIpZ,EAAI,EAAGA,EAAIoZ,EAASlZ,OAAQF,IAAK,CACxC,MAAM69C,EAAMkwI,GAAc30K,EAASpZ,GAAIs5D,EAAK+K,OAAQkkE,GAChD1qF,EAAI39C,QACNiG,EAAO3G,QAAQq+C,EAEnB,CACA,OAAO13C,CACT,CACA,SAASooL,GAAgBlqH,EAAQxjB,EAAO8tE,EAAMuV,GAC5C,IAAI90H,EAAQ,EACRC,EAAMwxC,EAAQ,EAClB,GAAI8tE,IAASuV,EACX,MAAO90H,EAAQyxC,IAAUwjB,EAAOj1D,GAAOy5D,KACrCz5D,IAGJ,MAAOA,EAAQyxC,GAASwjB,EAAOj1D,GAAOy5D,KACpCz5D,IAEFA,GAASyxC,EACL8tE,IACFt/G,GAAOD,GAET,MAAOC,EAAMD,GAASi1D,EAAOh1D,EAAMwxC,GAAOgoB,KACxCx5D,IAGF,OADAA,GAAOwxC,EACA,CAACzxC,QAAOC,MACjB,CACA,SAASm/K,GAAcnqH,EAAQj1D,EAAO44B,EAAK2mF,GACzC,MAAM9tE,EAAQwjB,EAAOnkE,OACfiG,EAAS,GACf,IAEIkJ,EAFAlP,EAAOiP,EACP8D,EAAOmxD,EAAOj1D,GAElB,IAAKC,EAAMD,EAAQ,EAAGC,GAAO24B,IAAO34B,EAAK,CACvC,MAAM9B,EAAM82D,EAAOh1D,EAAMwxC,GACrBtzC,EAAIs7D,MAAQt7D,EAAIzN,KACboT,EAAK21D,OACR8lD,GAAO,EACPxoH,EAAO3G,KAAK,CAAC4P,MAAOA,EAAQyxC,EAAOxxC,KAAMA,EAAM,GAAKwxC,EAAO8tE,SAC3Dv/G,EAAQjP,EAAOoN,EAAIzN,KAAOuP,EAAM,OAGlClP,EAAOkP,EACH6D,EAAK21D,OACPz5D,EAAQC,IAGZ6D,EAAO3F,CACT,CAIA,OAHa,OAATpN,GACFgG,EAAO3G,KAAK,CAAC4P,MAAOA,EAAQyxC,EAAOxxC,IAAKlP,EAAO0gD,EAAO8tE,SAEjDxoH,CACT,CACA,SAASsoL,GAAiBn1H,EAAMo1H,GAC9B,MAAMrqH,EAAS/K,EAAK+K,OACd6/D,EAAW5qE,EAAK1mD,QAAQsxH,SACxBrjF,EAAQwjB,EAAOnkE,OACrB,IAAK2gD,EACH,MAAO,GAET,MAAM8tE,IAASr1D,EAAKo1D,OACd,MAACt/G,EAAK,IAAEC,GAAOk/K,GAAgBlqH,EAAQxjB,EAAO8tE,EAAMuV,GAC1D,IAAiB,IAAbA,EACF,OAAOyqD,GAAcr1H,EAAM,CAAC,CAAClqD,QAAOC,MAAKs/G,SAAQtqD,EAAQqqH,GAE3D,MAAM1mJ,EAAM34B,EAAMD,EAAQC,EAAMwxC,EAAQxxC,EAClCu/K,IAAiBt1H,EAAKqsE,WAAuB,IAAVv2H,GAAeC,IAAQwxC,EAAQ,EACxE,OAAO8tI,GAAcr1H,EAAMk1H,GAAcnqH,EAAQj1D,EAAO44B,EAAK4mJ,GAAevqH,EAAQqqH,EACtF,CACA,SAASC,GAAcr1H,EAAMlgD,EAAUirD,EAAQqqH,GAC7C,OAAKA,GAAmBA,EAAeriD,YAAehoE,EAG/CwqH,GAAgBv1H,EAAMlgD,EAAUirD,EAAQqqH,GAFtCt1K,CAGX,CACA,SAASy1K,GAAgBv1H,EAAMlgD,EAAUirD,EAAQqqH,GAC/C,MAAMI,EAAex1H,EAAK22D,OAAO6G,aAC3Bi4D,EAAYC,GAAU11H,EAAK1mD,UAC1BkxH,cAAerkE,EAAc7sD,SAAS,SAACsxH,IAAa5qE,EACrDzY,EAAQwjB,EAAOnkE,OACfiG,EAAS,GACf,IAAI8oL,EAAYF,EACZ3/K,EAAQgK,EAAS,GAAGhK,MACpBpP,EAAIoP,EACR,SAAS8/K,EAAS32K,EAAG2lB,EAAGj+B,EAAGwyF,GACzB,MAAM1xE,EAAMmjH,GAAY,EAAI,EAC5B,GAAI3rH,IAAM2lB,EAAV,CAGA3lB,GAAKsoC,EACL,MAAOwjB,EAAO9rD,EAAIsoC,GAAOgoB,KACvBtwD,GAAKwI,EAEP,MAAOsjD,EAAOnmC,EAAI2iB,GAAOgoB,KACvB3qC,GAAKnd,EAEHxI,EAAIsoC,IAAU3iB,EAAI2iB,IACpB16C,EAAO3G,KAAK,CAAC4P,MAAOmJ,EAAIsoC,EAAOxxC,IAAK6uB,EAAI2iB,EAAO8tE,KAAM1uH,EAAG+yB,MAAOy/D,IAC/Dw8F,EAAYx8F,EACZrjF,EAAQ8uB,EAAI2iB,EAXd,CAaF,CACA,IAAK,MAAMwc,KAAWjkD,EAAU,CAC9BhK,EAAQ80H,EAAW90H,EAAQiuD,EAAQjuD,MACnC,IACI4jB,EADA9f,EAAOmxD,EAAOj1D,EAAQyxC,GAE1B,IAAK7gD,EAAIoP,EAAQ,EAAGpP,GAAKq9D,EAAQhuD,IAAKrP,IAAK,CACzC,MAAMukE,EAAKF,EAAOrkE,EAAI6gD,GACtB7tB,EAAQg8J,GAAUN,EAAeriD,WAAWy5C,GAAcgJ,EAAc,CACtEnsL,KAAM,UACN+hE,GAAIxxD,EACJyxD,GAAIJ,EACJ4qH,aAAcnvL,EAAI,GAAK6gD,EACvBuuI,YAAapvL,EAAI6gD,EACjB4e,mBAEE4vH,GAAar8J,EAAOi8J,IACtBC,EAAS9/K,EAAOpP,EAAI,EAAGq9D,EAAQsxD,KAAMsgE,GAEvC/7K,EAAOqxD,EACP0qH,EAAYj8J,CACd,CACI5jB,EAAQpP,EAAI,GACdkvL,EAAS9/K,EAAOpP,EAAI,EAAGq9D,EAAQsxD,KAAMsgE,EAEzC,CACA,OAAO9oL,CACT,CACA,SAAS6oL,GAAUp8K,GACjB,MAAO,CACL0tD,gBAAiB1tD,EAAQ0tD,gBACzB2uF,eAAgBr8I,EAAQq8I,eACxBnmB,WAAYl2H,EAAQk2H,WACpBC,iBAAkBn2H,EAAQm2H,iBAC1BulB,gBAAiB17I,EAAQ07I,gBACzBxvF,YAAalsD,EAAQksD,YACrByB,YAAa3tD,EAAQ2tD,YAEzB,CACA,SAAS8uH,GAAar8J,EAAOi8J,GAC3B,OAAOA,GAAalgJ,KAAKC,UAAUhc,KAAW+b,KAAKC,UAAUigJ,EAC/D,C,+JCjjFA,SAASK,IACPrwL,KAAKswL,SAAW,GAChBtwL,KAAKoI,KAAO,CACd,CAEA,QCoBA,SAAS8vC,EAAGxxC,EAAOqgE,GACjB,OAAOrgE,IAAUqgE,GAAUrgE,IAAUA,GAASqgE,IAAUA,CAC1D,CAEA,QC1BA,SAASwpH,EAAalpG,EAAO1jF,GAC3B,IAAI1C,EAASomF,EAAMpmF,OACnB,MAAOA,IACL,GAAI,EAAGomF,EAAMpmF,GAAQ,GAAI0C,GACvB,OAAO1C,EAGX,OAAQ,CACV,CAEA,QCjBIuvL,EAAahkL,MAAMwzB,UAGnBrvB,EAAS6/K,EAAW7/K,OAWxB,SAAS8/K,EAAgB9sL,GACvB,IAAI4R,EAAOvV,KAAKswL,SACZjwL,EAAQ,EAAakV,EAAM5R,GAE/B,GAAItD,EAAQ,EACV,OAAO,EAET,IAAImhD,EAAYjsC,EAAKtU,OAAS,EAO9B,OANIZ,GAASmhD,EACXjsC,EAAKpU,MAELwP,EAAOzI,KAAKqN,EAAMlV,EAAO,KAEzBL,KAAKoI,MACA,CACT,CAEA,QCvBA,SAASsoL,EAAa/sL,GACpB,IAAI4R,EAAOvV,KAAKswL,SACZjwL,EAAQ,EAAakV,EAAM5R,GAE/B,OAAOtD,EAAQ,OAAI0C,EAAYwS,EAAKlV,GAAO,EAC7C,CAEA,QCPA,SAASswL,EAAahtL,GACpB,OAAO,EAAa3D,KAAKswL,SAAU3sL,IAAQ,CAC7C,CAEA,QCHA,SAASitL,EAAajtL,EAAK+C,GACzB,IAAI6O,EAAOvV,KAAKswL,SACZjwL,EAAQ,EAAakV,EAAM5R,GAQ/B,OANItD,EAAQ,KACRL,KAAKoI,KACPmN,EAAKhV,KAAK,CAACoD,EAAK+C,KAEhB6O,EAAKlV,GAAO,GAAKqG,EAEZ1G,IACT,CAEA,QCZA,SAAS6wL,EAAU3gJ,GACjB,IAAI7vC,GAAS,EACTY,EAAoB,MAAXivC,EAAkB,EAAIA,EAAQjvC,OAE3CjB,KAAKwI,QACL,QAASnI,EAAQY,EAAQ,CACvB,IAAIi4C,EAAQhJ,EAAQ7vC,GACpBL,KAAK8D,IAAIo1C,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGA23I,EAAU7wJ,UAAUx3B,MAAQ,EAC5BqoL,EAAU7wJ,UAAU,UAAY,EAChC6wJ,EAAU7wJ,UAAUn8B,IAAM,EAC1BgtL,EAAU7wJ,UAAU77B,IAAM,EAC1B0sL,EAAU7wJ,UAAUl8B,IAAM,EAE1B,QCtBA,SAASgtL,IACP9wL,KAAKswL,SAAW,IAAI,EACpBtwL,KAAKoI,KAAO,CACd,CAEA,QCLA,SAAS2oL,EAAYptL,GACnB,IAAI4R,EAAOvV,KAAKswL,SACZppL,EAASqO,EAAK,UAAU5R,GAG5B,OADA3D,KAAKoI,KAAOmN,EAAKnN,KACVlB,CACT,CAEA,QCRA,SAAS8pL,EAASrtL,GAChB,OAAO3D,KAAKswL,SAASzsL,IAAIF,EAC3B,CAEA,QCJA,SAASstL,EAASttL,GAChB,OAAO3D,KAAKswL,SAASnsL,IAAIR,EAC3B,CAEA,QCZIutL,EAA8B,iBAAVxkH,QAAsBA,QAAUA,OAAOznE,SAAWA,QAAUynE,OAEpF,ICAIykH,EAA0B,iBAAR5jL,MAAoBA,MAAQA,KAAKtI,SAAWA,QAAUsI,KAGxE2I,EAAO,GAAci7K,GAAYr2K,SAAS,cAATA,GAErC,ICLInY,EAAS,SAEb,ICFIyuL,EAAcnsL,OAAO+6B,UAGrB,EAAiBoxJ,EAAY5hJ,eAO7B6hJ,EAAuBD,EAAY1lK,SAGnC4lK,EAAiB,EAAS,mBAAqBvuL,EASnD,SAASwuL,EAAU7qL,GACjB,IAAI8qL,EAAQ,EAAetpL,KAAKxB,EAAO4qL,GACnC9wJ,EAAM95B,EAAM4qL,GAEhB,IACE5qL,EAAM4qL,QAAkBvuL,EACxB,IAAI0uL,GAAW,CACJ,CAAX,MAAOxyJ,GAAI,CAEb,IAAI/3B,EAASmqL,EAAqBnpL,KAAKxB,GAQvC,OAPI+qL,IACED,EACF9qL,EAAM4qL,GAAkB9wJ,SAEjB95B,EAAM4qL,IAGVpqL,CACT,CAEA,QC5CI,EAAcjC,OAAO+6B,UAOrB,EAAuB,EAAYtU,SASvC,SAASkkB,EAAelpC,GACtB,OAAO,EAAqBwB,KAAKxB,EACnC,CAEA,QChBIgrL,EAAU,gBACVC,EAAe,qBAGf,EAAiB,EAAS,mBAAqB5uL,EASnD,SAAS6uL,EAAWlrL,GAClB,OAAa,MAATA,OACe3D,IAAV2D,EAAsBirL,EAAeD,EAEtC,GAAkB,KAAkBzsL,OAAOyB,GAC/C,EAAUA,GACV,EAAeA,EACrB,CAEA,QCFA,SAAS8nC,EAAS9nC,GAChB,IAAIhD,SAAcgD,EAClB,OAAgB,MAATA,IAA0B,UAARhD,GAA4B,YAARA,EAC/C,CAEA,QC1BImuL,GAAW,yBACXC,GAAU,oBACVC,GAAS,6BACTC,GAAW,iBAmBf,SAASniJ,GAAWnpC,GAClB,IAAK,EAASA,GACZ,OAAO,EAIT,IAAI85B,EAAM,EAAW95B,GACrB,OAAO85B,GAAOsxJ,IAAWtxJ,GAAOuxJ,IAAUvxJ,GAAOqxJ,IAAYrxJ,GAAOwxJ,EACtE,CAEA,UCjCIC,GAAa,wBAEjB,MCFIC,GAAc,WAChB,IAAIt4K,EAAM,SAAS47B,KAAK,IAAc,SAAmB,kBAA4B,IACrF,OAAO57B,EAAO,iBAAmBA,EAAO,EAC1C,CAHiB,GAYjB,SAASu4K,GAAS9iH,GAChB,QAAS6iH,IAAeA,MAAc7iH,CACxC,CAEA,UClBI+iH,GAAYt3K,SAASklB,UAGrBqyJ,GAAeD,GAAU1mK,SAS7B,SAAS4mK,GAASjjH,GAChB,GAAY,MAARA,EAAc,CAChB,IACE,OAAOgjH,GAAanqL,KAAKmnE,EACd,CAAX,MAAOpwC,GAAI,CACb,IACE,OAAQowC,EAAO,EACJ,CAAX,MAAOpwC,GAAI,CACf,CACA,MAAO,EACT,CAEA,UChBIszJ,GAAe,sBAGfC,GAAe,8BAGf,GAAY13K,SAASklB,UACrB,GAAc/6B,OAAO+6B,UAGrB,GAAe,GAAUtU,SAGzB,GAAiB,GAAY8jB,eAG7BijJ,GAAa9yK,OAAO,IACtB,GAAazX,KAAK,IAAgB0L,QAAQ2+K,GAAc,QACvD3+K,QAAQ,yDAA0D,SAAW,KAWhF,SAAS8+K,GAAahsL,GACpB,IAAK,EAASA,IAAU,GAASA,GAC/B,OAAO,EAET,IAAImZ,EAAU,GAAWnZ,GAAS+rL,GAAaD,GAC/C,OAAO3yK,EAAQC,KAAK,GAASpZ,GAC/B,CAEA,UCtCA,SAAS4jC,GAASh+B,EAAQ3I,GACxB,OAAiB,MAAV2I,OAAiBvJ,EAAYuJ,EAAO3I,EAC7C,CAEA,UCDA,SAASgvL,GAAUrmL,EAAQ3I,GACzB,IAAI+C,EAAQ,GAAS4F,EAAQ3I,GAC7B,OAAO,GAAa+C,GAASA,OAAQ3D,CACvC,CAEA,UCZIgB,GAAM,GAAU,EAAM,OAE1B,MCHI6uL,GAAe,GAAU3tL,OAAQ,UAErC,MCIA,SAAS4tL,KACP7yL,KAAKswL,SAAW,GAAe,GAAa,MAAQ,CAAC,EACrDtwL,KAAKoI,KAAO,CACd,CAEA,UCJA,SAAS0qL,GAAWnvL,GAClB,IAAIuD,EAASlH,KAAKmE,IAAIR,WAAe3D,KAAKswL,SAAS3sL,GAEnD,OADA3D,KAAKoI,MAAQlB,EAAS,EAAI,EACnBA,CACT,CAEA,UCbI6rL,GAAiB,4BAGjB,GAAc9tL,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAWjC,SAASwjJ,GAAQrvL,GACf,IAAI4R,EAAOvV,KAAKswL,SAChB,GAAI,GAAc,CAChB,IAAIppL,EAASqO,EAAK5R,GAClB,OAAOuD,IAAW6rL,QAAiBhwL,EAAYmE,CACjD,CACA,OAAO,GAAegB,KAAKqN,EAAM5R,GAAO4R,EAAK5R,QAAOZ,CACtD,CAEA,UC1BI,GAAckC,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAWjC,SAASyjJ,GAAQtvL,GACf,IAAI4R,EAAOvV,KAAKswL,SAChB,OAAO,QAA8BvtL,IAAdwS,EAAK5R,GAAsB,GAAeuE,KAAKqN,EAAM5R,EAC9E,CAEA,UCnBI,GAAiB,4BAYrB,SAASuvL,GAAQvvL,EAAK+C,GACpB,IAAI6O,EAAOvV,KAAKswL,SAGhB,OAFAtwL,KAAKoI,MAAQpI,KAAKmE,IAAIR,GAAO,EAAI,EACjC4R,EAAK5R,GAAQ,SAA0BZ,IAAV2D,EAAuB,GAAiBA,EAC9D1G,IACT,CAEA,UCTA,SAASmzL,GAAKjjJ,GACZ,IAAI7vC,GAAS,EACTY,EAAoB,MAAXivC,EAAkB,EAAIA,EAAQjvC,OAE3CjB,KAAKwI,QACL,QAASnI,EAAQY,EAAQ,CACvB,IAAIi4C,EAAQhJ,EAAQ7vC,GACpBL,KAAK8D,IAAIo1C,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAi6I,GAAKnzJ,UAAUx3B,MAAQ,GACvB2qL,GAAKnzJ,UAAU,UAAY,GAC3BmzJ,GAAKnzJ,UAAUn8B,IAAM,GACrBsvL,GAAKnzJ,UAAU77B,IAAM,GACrBgvL,GAAKnzJ,UAAUl8B,IAAM,GAErB,UCpBA,SAASsvL,KACPpzL,KAAKoI,KAAO,EACZpI,KAAKswL,SAAW,CACd,KAAQ,IAAI,GACZ,IAAO,IAAK,IAAO,GACnB,OAAU,IAAI,GAElB,CAEA,UCbA,SAAS+C,GAAU3sL,GACjB,IAAIhD,SAAcgD,EAClB,MAAgB,UAARhD,GAA4B,UAARA,GAA4B,UAARA,GAA4B,WAARA,EACrD,cAAVgD,EACU,OAAVA,CACP,CAEA,UCJA,SAAS4sL,GAAWluL,EAAKzB,GACvB,IAAI4R,EAAOnQ,EAAIkrL,SACf,OAAO,GAAU3sL,GACb4R,EAAmB,iBAAP5R,EAAkB,SAAW,QACzC4R,EAAKnQ,GACX,CAEA,UCNA,SAASmuL,GAAe5vL,GACtB,IAAIuD,EAAS,GAAWlH,KAAM2D,GAAK,UAAUA,GAE7C,OADA3D,KAAKoI,MAAQlB,EAAS,EAAI,EACnBA,CACT,CAEA,UCNA,SAASssL,GAAY7vL,GACnB,OAAO,GAAW3D,KAAM2D,GAAKE,IAAIF,EACnC,CAEA,UCJA,SAAS8vL,GAAY9vL,GACnB,OAAO,GAAW3D,KAAM2D,GAAKQ,IAAIR,EACnC,CAEA,UCHA,SAAS+vL,GAAY/vL,EAAK+C,GACxB,IAAI6O,EAAO,GAAWvV,KAAM2D,GACxByE,EAAOmN,EAAKnN,KAIhB,OAFAmN,EAAKzR,IAAIH,EAAK+C,GACd1G,KAAKoI,MAAQmN,EAAKnN,MAAQA,EAAO,EAAI,EAC9BpI,IACT,CAEA,UCRA,SAAS2zL,GAASzjJ,GAChB,IAAI7vC,GAAS,EACTY,EAAoB,MAAXivC,EAAkB,EAAIA,EAAQjvC,OAE3CjB,KAAKwI,QACL,QAASnI,EAAQY,EAAQ,CACvB,IAAIi4C,EAAQhJ,EAAQ7vC,GACpBL,KAAK8D,IAAIo1C,EAAM,GAAIA,EAAM,GAC3B,CACF,CAGAy6I,GAAS3zJ,UAAUx3B,MAAQ,GAC3BmrL,GAAS3zJ,UAAU,UAAY,GAC/B2zJ,GAAS3zJ,UAAUn8B,IAAM,GACzB8vL,GAAS3zJ,UAAU77B,IAAM,GACzBwvL,GAAS3zJ,UAAUl8B,IAAM,GAEzB,UC1BI8vL,GAAmB,IAYvB,SAASC,GAASlwL,EAAK+C,GACrB,IAAI6O,EAAOvV,KAAKswL,SAChB,GAAI/6K,aAAgB,EAAW,CAC7B,IAAIu+K,EAAQv+K,EAAK+6K,SACjB,IAAK,IAAQwD,EAAM7yL,OAAS2yL,GAAmB,EAG7C,OAFAE,EAAMvzL,KAAK,CAACoD,EAAK+C,IACjB1G,KAAKoI,OAASmN,EAAKnN,KACZpI,KAETuV,EAAOvV,KAAKswL,SAAW,IAAI,GAASwD,EACtC,CAGA,OAFAv+K,EAAKzR,IAAIH,EAAK+C,GACd1G,KAAKoI,KAAOmN,EAAKnN,KACVpI,IACT,CAEA,UCnBA,SAAS+zL,GAAM7jJ,GACb,IAAI36B,EAAOvV,KAAKswL,SAAW,IAAI,EAAUpgJ,GACzClwC,KAAKoI,KAAOmN,EAAKnN,IACnB,CAGA2rL,GAAM/zJ,UAAUx3B,MAAQ,EACxBurL,GAAM/zJ,UAAU,UAAY,EAC5B+zJ,GAAM/zJ,UAAUn8B,IAAM,EACtBkwL,GAAM/zJ,UAAU77B,IAAM,EACtB4vL,GAAM/zJ,UAAUl8B,IAAM,GAEtB,UCzBI,GAAiB,4BAYrB,SAASkwL,GAAYttL,GAEnB,OADA1G,KAAKswL,SAASxsL,IAAI4C,EAAO,IAClB1G,IACT,CAEA,UCTA,SAASi0L,GAAYvtL,GACnB,OAAO1G,KAAKswL,SAASnsL,IAAIuC,EAC3B,CAEA,UCDA,SAASwtL,GAASzvL,GAChB,IAAIpE,GAAS,EACTY,EAAmB,MAAVwD,EAAiB,EAAIA,EAAOxD,OAEzCjB,KAAKswL,SAAW,IAAI,GACpB,QAASjwL,EAAQY,EACfjB,KAAKoE,IAAIK,EAAOpE,GAEpB,CAGA6zL,GAASl0J,UAAU57B,IAAM8vL,GAASl0J,UAAUz/B,KAAO,GACnD2zL,GAASl0J,UAAU77B,IAAM,GAEzB,UChBA,SAASgwL,GAAU9sG,EAAOD,GACxB,IAAI/mF,GAAS,EACTY,EAAkB,MAATomF,EAAgB,EAAIA,EAAMpmF,OAEvC,QAASZ,EAAQY,EACf,GAAImmF,EAAUC,EAAMhnF,GAAQA,EAAOgnF,GACjC,OAAO,EAGX,OAAO,CACT,CAEA,UCdA,SAAS+sG,GAASphL,EAAOrP,GACvB,OAAOqP,EAAM7O,IAAIR,EACnB,CAEA,UCPI0wL,GAAuB,EACvBC,GAAyB,EAe7B,SAASC,GAAYltG,EAAOtgB,EAAOytH,EAASC,EAAYC,EAAWn+H,GACjE,IAAIo+H,EAAYH,EAAUH,GACtBO,EAAYvtG,EAAMpmF,OAClB4zL,EAAY9tH,EAAM9lE,OAEtB,GAAI2zL,GAAaC,KAAeF,GAAaE,EAAYD,GACvD,OAAO,EAGT,IAAIE,EAAav+H,EAAM1yD,IAAIwjF,GACvB0tG,EAAax+H,EAAM1yD,IAAIkjE,GAC3B,GAAI+tH,GAAcC,EAChB,OAAOD,GAAc/tH,GAASguH,GAAc1tG,EAE9C,IAAIhnF,GAAS,EACT6G,GAAS,EACTiK,EAAQqjL,EAAUF,GAA0B,IAAI,QAAWvxL,EAE/DwzD,EAAMzyD,IAAIujF,EAAOtgB,GACjBxQ,EAAMzyD,IAAIijE,EAAOsgB,GAGjB,QAAShnF,EAAQu0L,EAAW,CAC1B,IAAII,EAAW3tG,EAAMhnF,GACjB40L,EAAWluH,EAAM1mE,GAErB,GAAIo0L,EACF,IAAIS,EAAWP,EACXF,EAAWQ,EAAUD,EAAU30L,EAAO0mE,EAAOsgB,EAAO9wB,GACpDk+H,EAAWO,EAAUC,EAAU50L,EAAOgnF,EAAOtgB,EAAOxQ,GAE1D,QAAiBxzD,IAAbmyL,EAAwB,CAC1B,GAAIA,EACF,SAEFhuL,GAAS,EACT,KACF,CAEA,GAAIiK,GACF,IAAK,GAAU41D,GAAO,SAASkuH,EAAUE,GACnC,IAAK,GAAShkL,EAAMgkL,KACfH,IAAaC,GAAYP,EAAUM,EAAUC,EAAUT,EAASC,EAAYl+H,IAC/E,OAAOplD,EAAK5Q,KAAK40L,EAErB,IAAI,CACNjuL,GAAS,EACT,KACF,OACK,GACD8tL,IAAaC,IACXP,EAAUM,EAAUC,EAAUT,EAASC,EAAYl+H,GACpD,CACLrvD,GAAS,EACT,KACF,CACF,CAGA,OAFAqvD,EAAM,UAAU8wB,GAChB9wB,EAAM,UAAUwQ,GACT7/D,CACT,CAEA,UChFIkuL,GAAa,aAEjB,MCEA,SAASC,GAAWjwL,GAClB,IAAI/E,GAAS,EACT6G,EAASsF,MAAMpH,EAAIgD,MAKvB,OAHAhD,EAAIV,SAAQ,SAASgC,EAAO/C,GAC1BuD,IAAS7G,GAAS,CAACsD,EAAK+C,EAC1B,IACOQ,CACT,CAEA,UCVA,SAASouL,GAAWxxL,GAClB,IAAIzD,GAAS,EACT6G,EAASsF,MAAM1I,EAAIsE,MAKvB,OAHAtE,EAAIY,SAAQ,SAASgC,GACnBQ,IAAS7G,GAASqG,CACpB,IACOQ,CACT,CAEA,UCTI,GAAuB,EACvB,GAAyB,EAGzBquL,GAAU,mBACVC,GAAU,gBACVC,GAAW,iBACXC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBACZC,GAAS,eACTC,GAAY,kBACZC,GAAY,kBAEZC,GAAiB,uBACjBC,GAAc,oBAGdC,GAAc,EAAS,iBAAmBnzL,EAC1CozL,GAAgBD,GAAcA,GAAYziH,aAAU1wE,EAmBxD,SAASqzL,GAAW9pL,EAAQy6D,EAAOvmC,EAAKg0J,EAASC,EAAYC,EAAWn+H,GACtE,OAAQ/1B,GACN,KAAKy1J,GACH,GAAK3pL,EAAO+pL,YAActvH,EAAMsvH,YAC3B/pL,EAAOgqL,YAAcvvH,EAAMuvH,WAC9B,OAAO,EAEThqL,EAASA,EAAO0rD,OAChB+O,EAAQA,EAAM/O,OAEhB,KAAKg+H,GACH,QAAK1pL,EAAO+pL,YAActvH,EAAMsvH,aAC3B3B,EAAU,IAAI,GAAWpoL,GAAS,IAAI,GAAWy6D,KAKxD,KAAKwuH,GACL,KAAKC,GACL,KAAKG,GAGH,OAAO,GAAIrpL,GAASy6D,GAEtB,KAAK0uH,GACH,OAAOnpL,EAAO0O,MAAQ+rD,EAAM/rD,MAAQ1O,EAAO4mD,SAAW6T,EAAM7T,QAE9D,KAAK0iI,GACL,KAAKE,GAIH,OAAOxpL,GAAWy6D,EAAQ,GAE5B,KAAK2uH,GACH,IAAIa,EAAU,GAEhB,KAAKV,GACH,IAAIlB,EAAYH,EAAU,GAG1B,GAFA+B,IAAYA,EAAU,IAElBjqL,EAAOlE,MAAQ2+D,EAAM3+D,OAASusL,EAChC,OAAO,EAGT,IAAIhiE,EAAUp8D,EAAM1yD,IAAIyI,GACxB,GAAIqmH,EACF,OAAOA,GAAW5rD,EAEpBytH,GAAW,GAGXj+H,EAAMzyD,IAAIwI,EAAQy6D,GAClB,IAAI7/D,EAAS,GAAYqvL,EAAQjqL,GAASiqL,EAAQxvH,GAAQytH,EAASC,EAAYC,EAAWn+H,GAE1F,OADAA,EAAM,UAAUjqD,GACTpF,EAET,KAAK6uL,GACH,GAAII,GACF,OAAOA,GAAcjuL,KAAKoE,IAAW6pL,GAAcjuL,KAAK6+D,GAG9D,OAAO,CACT,CAEA,UCvGA,SAASyvH,GAAUnvG,EAAO5iF,GACxB,IAAIpE,GAAS,EACTY,EAASwD,EAAOxD,OAChB4iE,EAASwjB,EAAMpmF,OAEnB,QAASZ,EAAQY,EACfomF,EAAMxjB,EAASxjE,GAASoE,EAAOpE,GAEjC,OAAOgnF,CACT,CAEA,UCIIh5C,GAAU7hC,MAAM6hC,QAEpB,MCXA,SAASooJ,GAAenqL,EAAQoqL,EAAUC,GACxC,IAAIzvL,EAASwvL,EAASpqL,GACtB,OAAO,GAAQA,GAAUpF,EAAS,GAAUA,EAAQyvL,EAAYrqL,GAClE,CAEA,UCVA,SAASsqL,GAAYvvG,EAAOD,GAC1B,IAAI/mF,GAAS,EACTY,EAAkB,MAATomF,EAAgB,EAAIA,EAAMpmF,OACnC41L,EAAW,EACX3vL,EAAS,GAEb,QAAS7G,EAAQY,EAAQ,CACvB,IAAIyF,EAAQ2gF,EAAMhnF,GACd+mF,EAAU1gF,EAAOrG,EAAOgnF,KAC1BngF,EAAO2vL,KAAcnwL,EAEzB,CACA,OAAOQ,CACT,CAEA,UCNA,SAAS4vL,KACP,MAAO,EACT,CAEA,UClBI,GAAc7xL,OAAO+6B,UAGrByvC,GAAuB,GAAYA,qBAGnCsnH,GAAmB9xL,OAAOguE,sBAS1B+jH,GAAcD,GAA+B,SAASzqL,GACxD,OAAc,MAAVA,EACK,IAETA,EAASrH,OAAOqH,GACT,GAAYyqL,GAAiBzqL,IAAS,SAAS6nE,GACpD,OAAO1E,GAAqBvnE,KAAKoE,EAAQ6nE,EAC3C,IACF,EARqC,GAUrC,MCpBA,SAAS8iH,GAAUr1L,EAAGs1L,GACpB,IAAI72L,GAAS,EACT6G,EAASsF,MAAM5K,GAEnB,QAASvB,EAAQuB,EACfsF,EAAO7G,GAAS62L,EAAS72L,GAE3B,OAAO6G,CACT,CAEA,UCKA,SAASiwL,GAAazwL,GACpB,OAAgB,MAATA,GAAiC,iBAATA,CACjC,CAEA,UCxBI0wL,GAAU,qBASd,SAASC,GAAgB3wL,GACvB,OAAO,GAAaA,IAAU,EAAWA,IAAU0wL,EACrD,CAEA,UCbI,GAAcnyL,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAG7B,GAAuB,GAAYigC,qBAoBnC6nH,GAAc,GAAgB,WAAa,OAAO7+K,SAAW,CAA/B,IAAsC,GAAkB,SAAS/R,GACjG,OAAO,GAAaA,IAAU,GAAewB,KAAKxB,EAAO,YACtD,GAAqBwB,KAAKxB,EAAO,SACtC,EAEA,MCtBA,SAAS6wL,KACP,OAAO,CACT,CAEA,UCbIC,GAAgC,iBAAXppI,SAAuBA,UAAYA,QAAQ9yB,UAAY8yB,QAG5EqpI,GAAaD,IAAgC,iBAAVrpI,QAAsBA,SAAWA,OAAO7yB,UAAY6yB,OAGvFupI,GAAgBD,IAAcA,GAAWrpI,UAAYopI,GAGrD9kG,GAASglG,GAAgB,cAAc30L,EAGvC40L,GAAiBjlG,GAASA,GAAO/6B,cAAW50D,EAmB5C40D,GAAWggI,IAAkB,GAEjC,MCpCI5yH,GAAmB,iBAGnB6yH,GAAW,mBAUf,SAASC,GAAQnxL,EAAOzF,GACtB,IAAIyC,SAAcgD,EAGlB,OAFAzF,EAAmB,MAAVA,EAAiB8jE,GAAmB9jE,IAEpCA,IACE,UAARyC,GACU,UAARA,GAAoBk0L,GAAS93K,KAAKpZ,KAChCA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,EAAQzF,CACjD,CAEA,UCvBI,GAAmB,iBA4BvB,SAAS62L,GAASpxL,GAChB,MAAuB,iBAATA,GACZA,GAAS,GAAKA,EAAQ,GAAK,GAAKA,GAAS,EAC7C,CAEA,UC7BI,GAAU,qBACVqxL,GAAW,iBACX,GAAU,mBACV,GAAU,gBACV,GAAW,iBACX,GAAU,oBACV,GAAS,eACT,GAAY,kBACZC,GAAY,kBACZ,GAAY,kBACZ,GAAS,eACT,GAAY,kBACZC,GAAa,mBAEb,GAAiB,uBACjB,GAAc,oBACdC,GAAa,wBACbC,GAAa,wBACbC,GAAU,qBACVC,GAAW,sBACXC,GAAW,sBACXC,GAAW,sBACXC,GAAkB,6BAClBC,GAAY,uBACZC,GAAY,uBAGZC,GAAiB,CAAC,EAsBtB,SAASC,GAAiBlyL,GACxB,OAAO,GAAaA,IAClB,GAASA,EAAMzF,WAAa03L,GAAe,EAAWjyL,GAC1D,CAxBAiyL,GAAeT,IAAcS,GAAeR,IAC5CQ,GAAeP,IAAWO,GAAeN,IACzCM,GAAeL,IAAYK,GAAeJ,IAC1CI,GAAeH,IAAmBG,GAAeF,IACjDE,GAAeD,KAAa,EAC5BC,GAAe,IAAWA,GAAeZ,IACzCY,GAAe,IAAkBA,GAAe,IAChDA,GAAe,IAAeA,GAAe,IAC7CA,GAAe,IAAYA,GAAe,IAC1CA,GAAe,IAAUA,GAAe,IACxCA,GAAeX,IAAaW,GAAe,IAC3CA,GAAe,IAAUA,GAAe,IACxCA,GAAeV,KAAc,EAc7B,UCpDA,SAASY,GAAUxpH,GACjB,OAAO,SAAS3oE,GACd,OAAO2oE,EAAK3oE,EACd,CACF,CAEA,UCVI,GAAgC,iBAAX0nD,SAAuBA,UAAYA,QAAQ9yB,UAAY8yB,QAG5E,GAAa,IAAgC,iBAAVD,QAAsBA,SAAWA,OAAO7yB,UAAY6yB,OAGvF,GAAgB,IAAc,GAAWC,UAAY,GAGrD0qI,GAAc,IAAiB,UAG/BC,GAAY,WACd,IAEE,IAAI5lG,EAAQ,IAAc,GAAWD,SAAW,GAAWA,QAAQ,QAAQC,MAE3E,OAAIA,GAKG2lG,IAAeA,GAAYz2K,SAAWy2K,GAAYz2K,QAAQ,OACtD,CAAX,MAAO4c,GAAI,CACf,CAZe,GAcf,MCxBI+5J,GAAmB,IAAY,gBAmB/BzlG,GAAeylG,GAAmB,GAAUA,IAAoB,GAEpE,MClBI,GAAc/zL,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAUjC,SAASypJ,GAAcvyL,EAAOwyL,GAC5B,IAAIC,EAAQ,GAAQzyL,GAChB0yL,GAASD,GAAS,GAAYzyL,GAC9B2yL,GAAUF,IAAUC,GAAS,GAAS1yL,GACtC4yL,GAAUH,IAAUC,IAAUC,GAAU,GAAa3yL,GACrD6yL,EAAcJ,GAASC,GAASC,GAAUC,EAC1CpyL,EAASqyL,EAAc,GAAU7yL,EAAMzF,OAAQia,QAAU,GACzDja,EAASiG,EAAOjG,OAEpB,IAAK,IAAI0C,KAAO+C,GACTwyL,IAAa,GAAehxL,KAAKxB,EAAO/C,IACvC41L,IAEQ,UAAP51L,GAEC01L,IAAkB,UAAP11L,GAA0B,UAAPA,IAE9B21L,IAAkB,UAAP31L,GAA0B,cAAPA,GAA8B,cAAPA,IAEtD,GAAQA,EAAK1C,KAElBiG,EAAO3G,KAAKoD,GAGhB,OAAOuD,CACT,CAEA,UC/CI,GAAcjC,OAAO+6B,UASzB,SAASw5J,GAAY9yL,GACnB,IAAI+yL,EAAO/yL,GAASA,EAAM5G,YACtBuI,EAAwB,mBAARoxL,GAAsBA,EAAKz5J,WAAc,GAE7D,OAAOt5B,IAAU2B,CACnB,CAEA,UCTA,SAASqxL,GAAQrqH,EAAMqzB,GACrB,OAAO,SAAS3gF,GACd,OAAOstD,EAAKqzB,EAAU3gF,GACxB,CACF,CAEA,UCXI43K,GAAa,GAAQ10L,OAAOkR,KAAMlR,QAEtC,MCDI,GAAcA,OAAO+6B,UAGrB,GAAiB,GAAYwP,eASjC,SAASoqJ,GAASttL,GAChB,IAAK,GAAYA,GACf,OAAO,GAAWA,GAEpB,IAAIpF,EAAS,GACb,IAAK,IAAIvD,KAAOsB,OAAOqH,GACjB,GAAepE,KAAKoE,EAAQ3I,IAAe,eAAPA,GACtCuD,EAAO3G,KAAKoD,GAGhB,OAAOuD,CACT,CAEA,UCDA,SAAS2yL,GAAYnzL,GACnB,OAAgB,MAATA,GAAiB,GAASA,EAAMzF,UAAY,GAAWyF,EAChE,CAEA,UCAA,SAASyP,GAAK7J,GACZ,OAAO,GAAYA,GAAU,GAAcA,GAAU,GAASA,EAChE,CAEA,UCzBA,SAASwtL,GAAWxtL,GAClB,OAAO,GAAeA,EAAQ,GAAM,GACtC,CAEA,UCZI,GAAuB,EAGvB,GAAcrH,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAejC,SAASuqJ,GAAaztL,EAAQy6D,EAAOytH,EAASC,EAAYC,EAAWn+H,GACnE,IAAIo+H,EAAYH,EAAU,GACtBpO,EAAW,GAAW95K,GACtB0tL,EAAY5T,EAASnlL,OACrBg5L,EAAW,GAAWlzH,GACtB8tH,EAAYoF,EAASh5L,OAEzB,GAAI+4L,GAAanF,IAAcF,EAC7B,OAAO,EAET,IAAIt0L,EAAQ25L,EACZ,MAAO35L,IAAS,CACd,IAAIsD,EAAMyiL,EAAS/lL,GACnB,KAAMs0L,EAAYhxL,KAAOojE,EAAQ,GAAe7+D,KAAK6+D,EAAOpjE,IAC1D,OAAO,CAEX,CAEA,IAAIu2L,EAAa3jI,EAAM1yD,IAAIyI,GACvByoL,EAAax+H,EAAM1yD,IAAIkjE,GAC3B,GAAImzH,GAAcnF,EAChB,OAAOmF,GAAcnzH,GAASguH,GAAczoL,EAE9C,IAAIpF,GAAS,EACbqvD,EAAMzyD,IAAIwI,EAAQy6D,GAClBxQ,EAAMzyD,IAAIijE,EAAOz6D,GAEjB,IAAI6tL,EAAWxF,EACf,QAASt0L,EAAQ25L,EAAW,CAC1Br2L,EAAMyiL,EAAS/lL,GACf,IAAI+5L,EAAW9tL,EAAO3I,GAClBsxL,EAAWluH,EAAMpjE,GAErB,GAAI8wL,EACF,IAAIS,EAAWP,EACXF,EAAWQ,EAAUmF,EAAUz2L,EAAKojE,EAAOz6D,EAAQiqD,GACnDk+H,EAAW2F,EAAUnF,EAAUtxL,EAAK2I,EAAQy6D,EAAOxQ,GAGzD,UAAmBxzD,IAAbmyL,EACGkF,IAAanF,GAAYP,EAAU0F,EAAUnF,EAAUT,EAASC,EAAYl+H,GAC7E2+H,GACD,CACLhuL,GAAS,EACT,KACF,CACAizL,IAAaA,EAAkB,eAAPx2L,EAC1B,CACA,GAAIuD,IAAWizL,EAAU,CACvB,IAAIE,EAAU/tL,EAAOxM,YACjBw6L,EAAUvzH,EAAMjnE,YAGhBu6L,GAAWC,KACV,gBAAiBhuL,MAAU,gBAAiBy6D,IACzB,mBAAXszH,GAAyBA,aAAmBA,GACjC,mBAAXC,GAAyBA,aAAmBA,IACvDpzL,GAAS,EAEb,CAGA,OAFAqvD,EAAM,UAAUjqD,GAChBiqD,EAAM,UAAUwQ,GACT7/D,CACT,CAEA,UCrFIqzL,GAAW,GAAU,EAAM,YAE/B,MCFI7qL,GAAU,GAAU,EAAM,WAE9B,MCFIhO,GAAM,GAAU,EAAM,OAE1B,MCFIY,GAAU,GAAU,EAAM,WAE9B,MCGI,GAAS,eACT,GAAY,kBACZk4L,GAAa,mBACb,GAAS,eACT,GAAa,mBAEb,GAAc,oBAGdC,GAAqB,GAAS,IAC9BC,GAAgB,GAAS,IACzBC,GAAoB,GAAS,IAC7BC,GAAgB,GAAS,IACzBC,GAAoB,GAAS,IAS7BC,GAAS,GAGR,IAAYA,GAAO,IAAI,GAAS,IAAI//H,YAAY,MAAQ,IACxD,IAAO+/H,GAAO,IAAI,KAAQ,IAC1B,IAAWA,GAAO,eAAsBN,IACxC,IAAOM,GAAO,IAAI,KAAQ,IAC1B,IAAWA,GAAO,IAAI,KAAY,MACrCA,GAAS,SAASp0L,GAChB,IAAIQ,EAAS,EAAWR,GACpB+yL,EAAOvyL,GAAU,GAAYR,EAAM5G,iBAAciD,EACjDg4L,EAAatB,EAAO,GAASA,GAAQ,GAEzC,GAAIsB,EACF,OAAQA,GACN,KAAKN,GAAoB,OAAO,GAChC,KAAKC,GAAe,OAAO,GAC3B,KAAKC,GAAmB,OAAOH,GAC/B,KAAKI,GAAe,OAAO,GAC3B,KAAKC,GAAmB,OAAO,GAGnC,OAAO3zL,CACT,GAGF,UC/CI,GAAuB,EAGvB,GAAU,qBACV,GAAW,iBACX,GAAY,kBAGZ,GAAcjC,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAgBjC,SAASwrJ,GAAgB1uL,EAAQy6D,EAAOytH,EAASC,EAAYC,EAAWn+H,GACtE,IAAI0kI,EAAW,GAAQ3uL,GACnB4uL,EAAW,GAAQn0H,GACnBo0H,EAASF,EAAW,GAAW,GAAO3uL,GACtC8uL,EAASF,EAAW,GAAW,GAAOn0H,GAE1Co0H,EAASA,GAAU,GAAU,GAAYA,EACzCC,EAASA,GAAU,GAAU,GAAYA,EAEzC,IAAIC,EAAWF,GAAU,GACrBG,EAAWF,GAAU,GACrBG,EAAYJ,GAAUC,EAE1B,GAAIG,GAAa,GAASjvL,GAAS,CACjC,IAAK,GAASy6D,GACZ,OAAO,EAETk0H,GAAW,EACXI,GAAW,CACb,CACA,GAAIE,IAAcF,EAEhB,OADA9kI,IAAUA,EAAQ,IAAI,IACd0kI,GAAY,GAAa3uL,GAC7B,GAAYA,EAAQy6D,EAAOytH,EAASC,EAAYC,EAAWn+H,GAC3D,GAAWjqD,EAAQy6D,EAAOo0H,EAAQ3G,EAASC,EAAYC,EAAWn+H,GAExE,KAAMi+H,EAAU,IAAuB,CACrC,IAAIgH,EAAeH,GAAY,GAAenzL,KAAKoE,EAAQ,eACvDmvL,EAAeH,GAAY,GAAepzL,KAAK6+D,EAAO,eAE1D,GAAIy0H,GAAgBC,EAAc,CAChC,IAAIC,EAAeF,EAAelvL,EAAO5F,QAAU4F,EAC/CqvL,EAAeF,EAAe10H,EAAMrgE,QAAUqgE,EAGlD,OADAxQ,IAAUA,EAAQ,IAAI,IACfm+H,EAAUgH,EAAcC,EAAcnH,EAASC,EAAYl+H,EACpE,CACF,CACA,QAAKglI,IAGLhlI,IAAUA,EAAQ,IAAI,IACf,GAAajqD,EAAQy6D,EAAOytH,EAASC,EAAYC,EAAWn+H,GACrE,CAEA,UCjEA,SAASqlI,GAAYl1L,EAAOqgE,EAAOytH,EAASC,EAAYl+H,GACtD,OAAI7vD,IAAUqgE,IAGD,MAATrgE,GAA0B,MAATqgE,IAAmB,GAAargE,KAAW,GAAaqgE,GACpErgE,IAAUA,GAASqgE,IAAUA,EAE/B,GAAgBrgE,EAAOqgE,EAAOytH,EAASC,EAAYmH,GAAarlI,GACzE,CAEA,UCGA,SAASslI,GAAQn1L,EAAOqgE,GACtB,OAAO,GAAYrgE,EAAOqgE,EAC5B,CAEA,UCzBA,SAAS+0H,GAAUz0G,EAAO6vG,GACxB,IAAI72L,GAAS,EACTY,EAAkB,MAATomF,EAAgB,EAAIA,EAAMpmF,OAEvC,QAASZ,EAAQY,EACf,IAA6C,IAAzCi2L,EAAS7vG,EAAMhnF,GAAQA,EAAOgnF,GAChC,MAGJ,OAAOA,CACT,CAEA,UCnBIrhE,GAAkB,WACpB,IACE,IAAIqpD,EAAO,GAAUpqE,OAAQ,kBAE7B,OADAoqE,EAAK,CAAC,EAAG,GAAI,CAAC,GACPA,CACI,CAAX,MAAOpwC,GAAI,CACf,CANqB,GAQrB,MCCA,SAAS88J,GAAgBzvL,EAAQ3I,EAAK+C,GACzB,aAAP/C,GAAsB,GACxB,GAAe2I,EAAQ3I,EAAK,CAC1B,cAAgB,EAChB,YAAc,EACd,MAAS+C,EACT,UAAY,IAGd4F,EAAO3I,GAAO+C,CAElB,CAEA,UCpBI,GAAczB,OAAO+6B,UAGrB,GAAiB,GAAYwP,eAYjC,SAAS2rB,GAAY7uD,EAAQ3I,EAAK+C,GAChC,IAAI0zL,EAAW9tL,EAAO3I,GAChB,GAAeuE,KAAKoE,EAAQ3I,IAAQ,EAAGy2L,EAAU1zL,UACxC3D,IAAV2D,GAAyB/C,KAAO2I,IACnC,GAAgBA,EAAQ3I,EAAK+C,EAEjC,CAEA,UCdA,SAASs1L,GAAWpjL,EAAQ3G,EAAO3F,EAAQmoL,GACzC,IAAIwH,GAAS3vL,EACbA,IAAWA,EAAS,CAAC,GAErB,IAAIjM,GAAS,EACTY,EAASgR,EAAMhR,OAEnB,QAASZ,EAAQY,EAAQ,CACvB,IAAI0C,EAAMsO,EAAM5R,GAEZiE,EAAWmwL,EACXA,EAAWnoL,EAAO3I,GAAMiV,EAAOjV,GAAMA,EAAK2I,EAAQsM,QAClD7V,OAEaA,IAAbuB,IACFA,EAAWsU,EAAOjV,IAEhBs4L,EACF,GAAgB3vL,EAAQ3I,EAAKW,GAE7B,GAAYgI,EAAQ3I,EAAKW,EAE7B,CACA,OAAOgI,CACT,CAEA,UC3BA,SAAS4vL,GAAW5vL,EAAQsM,GAC1B,OAAOtM,GAAU,GAAWsM,EAAQ,GAAKA,GAAStM,EACpD,CAEA,UCPA,SAAS6vL,GAAa7vL,GACpB,IAAIpF,EAAS,GACb,GAAc,MAAVoF,EACF,IAAK,IAAI3I,KAAOsB,OAAOqH,GACrBpF,EAAO3G,KAAKoD,GAGhB,OAAOuD,CACT,CAEA,UCdI,GAAcjC,OAAO+6B,UAGrB,GAAiB,GAAYwP,eASjC,SAAS4sJ,GAAW9vL,GAClB,IAAK,EAASA,GACZ,OAAO,GAAaA,GAEtB,IAAI+vL,EAAU,GAAY/vL,GACtBpF,EAAS,GAEb,IAAK,IAAIvD,KAAO2I,GACD,eAAP3I,IAAyB04L,GAAY,GAAen0L,KAAKoE,EAAQ3I,KACrEuD,EAAO3G,KAAKoD,GAGhB,OAAOuD,CACT,CAEA,UCLA,SAASo1L,GAAOhwL,GACd,OAAO,GAAYA,GAAU,GAAcA,GAAQ,GAAQ,GAAWA,EACxE,CAEA,UCnBA,SAASiwL,GAAajwL,EAAQsM,GAC5B,OAAOtM,GAAU,GAAWsM,EAAQ,GAAOA,GAAStM,EACtD,CAEA,UCbI,GAAgC,iBAAX8hD,SAAuBA,UAAYA,QAAQ9yB,UAAY8yB,QAG5E,GAAa,IAAgC,iBAAVD,QAAsBA,SAAWA,OAAO7yB,UAAY6yB,OAGvF,GAAgB,IAAc,GAAWC,UAAY,GAGrD,GAAS,GAAgB,cAAcrrD,EACvCy5L,GAAc,GAAS,GAAOA,iBAAcz5L,EAUhD,SAAS05L,GAAYzkI,EAAQ0kI,GAC3B,GAAIA,EACF,OAAO1kI,EAAO3lD,QAEhB,IAAIpR,EAAS+2D,EAAO/2D,OAChBiG,EAASs1L,GAAcA,GAAYv7L,GAAU,IAAI+2D,EAAOl4D,YAAYmB,GAGxE,OADA+2D,EAAO2kI,KAAKz1L,GACLA,CACT,CAEA,UC1BA,SAAS01L,GAAUhkL,EAAQyuE,GACzB,IAAIhnF,GAAS,EACTY,EAAS2X,EAAO3X,OAEpBomF,IAAUA,EAAQ76E,MAAMvL,IACxB,QAASZ,EAAQY,EACfomF,EAAMhnF,GAASuY,EAAOvY,GAExB,OAAOgnF,CACT,CAEA,UCRA,SAASw1G,GAAYjkL,EAAQtM,GAC3B,OAAO,GAAWsM,EAAQ,GAAWA,GAAStM,EAChD,CAEA,UCZIwwL,GAAe,GAAQ73L,OAAO0C,eAAgB1C,QAElD,MCCI,GAAmBA,OAAOguE,sBAS1B8pH,GAAgB,GAA+B,SAASzwL,GAC1D,IAAIpF,EAAS,GACb,MAAOoF,EACL,GAAUpF,EAAQ,GAAWoF,IAC7BA,EAAS,GAAaA,GAExB,OAAOpF,CACT,EAPuC,GASvC,MCbA,SAAS81L,GAAcpkL,EAAQtM,GAC7B,OAAO,GAAWsM,EAAQ,GAAaA,GAAStM,EAClD,CAEA,UCHA,SAAS2wL,GAAa3wL,GACpB,OAAO,GAAeA,EAAQ,GAAQ,GACxC,CAEA,UCfI,GAAcrH,OAAO+6B,UAGrB,GAAiB,GAAYwP,eASjC,SAAS0tJ,GAAe71G,GACtB,IAAIpmF,EAASomF,EAAMpmF,OACfiG,EAAS,IAAImgF,EAAMvnF,YAAYmB,GAOnC,OAJIA,GAA6B,iBAAZomF,EAAM,IAAkB,GAAen/E,KAAKm/E,EAAO,WACtEngF,EAAO7G,MAAQgnF,EAAMhnF,MACrB6G,EAAO42C,MAAQupC,EAAMvpC,OAEhB52C,CACT,CAEA,UChBA,SAASi2L,GAAiBC,GACxB,IAAIl2L,EAAS,IAAIk2L,EAAYt9L,YAAYs9L,EAAY/G,YAErD,OADA,IAAI,GAAWnvL,GAAQpD,IAAI,IAAI,GAAWs5L,IACnCl2L,CACT,CAEA,UCLA,SAASm2L,GAAcC,EAAUZ,GAC/B,IAAI1kI,EAAS0kI,EAAS,GAAiBY,EAAStlI,QAAUslI,EAAStlI,OACnE,OAAO,IAAIslI,EAASx9L,YAAYk4D,EAAQslI,EAAShH,WAAYgH,EAASjH,WACxE,CAEA,UCdIkH,GAAU,OASd,SAASC,GAAYC,GACnB,IAAIv2L,EAAS,IAAIu2L,EAAO39L,YAAY29L,EAAO7kL,OAAQ2kL,GAAQ/nJ,KAAKioJ,IAEhE,OADAv2L,EAAOs6C,UAAYi8I,EAAOj8I,UACnBt6C,CACT,CAEA,UCbI,GAAc,EAAS,iBAAmBnE,EAC1C,GAAgB,GAAc,GAAY0wE,aAAU1wE,EASxD,SAAS26L,GAAYvpH,GACnB,OAAO,GAAgBlvE,OAAO,GAAciD,KAAKisE,IAAW,CAAC,CAC/D,CAEA,UCPA,SAASwpH,GAAgBC,EAAYlB,GACnC,IAAI1kI,EAAS0kI,EAAS,GAAiBkB,EAAW5lI,QAAU4lI,EAAW5lI,OACvE,OAAO,IAAI4lI,EAAW99L,YAAYk4D,EAAQ4lI,EAAWtH,WAAYsH,EAAW38L,OAC9E,CAEA,UCRI,GAAU,mBACV,GAAU,gBACV,GAAS,eACT,GAAY,kBACZ,GAAY,kBACZ,GAAS,eACT,GAAY,kBACZ,GAAY,kBAEZ,GAAiB,uBACjB,GAAc,oBACd,GAAa,wBACb,GAAa,wBACb,GAAU,qBACV,GAAW,sBACX,GAAW,sBACX,GAAW,sBACX,GAAkB,6BAClB,GAAY,uBACZ,GAAY,uBAchB,SAAS48L,GAAevxL,EAAQk0B,EAAKk8J,GACnC,IAAIjD,EAAOntL,EAAOxM,YAClB,OAAQ0gC,GACN,KAAK,GACH,OAAO,GAAiBl0B,GAE1B,KAAK,GACL,KAAK,GACH,OAAO,IAAImtL,GAAMntL,GAEnB,KAAK,GACH,OAAO,GAAcA,EAAQowL,GAE/B,KAAK,GAAY,KAAK,GACtB,KAAK,GAAS,KAAK,GAAU,KAAK,GAClC,KAAK,GAAU,KAAK,GAAiB,KAAK,GAAW,KAAK,GACxD,OAAO,GAAgBpwL,EAAQowL,GAEjC,KAAK,GACH,OAAO,IAAIjD,EAEb,KAAK,GACL,KAAK,GACH,OAAO,IAAIA,EAAKntL,GAElB,KAAK,GACH,OAAO,GAAYA,GAErB,KAAK,GACH,OAAO,IAAImtL,EAEb,KAAK,GACH,OAAO,GAAYntL,GAEzB,CAEA,UCzEIwxL,GAAe74L,OAAOqT,OAUtBylL,GAAc,WAChB,SAASzxL,IAAU,CACnB,OAAO,SAASjE,GACd,IAAK,EAASA,GACZ,MAAO,CAAC,EAEV,GAAIy1L,GACF,OAAOA,GAAaz1L,GAEtBiE,EAAO0zB,UAAY33B,EACnB,IAAInB,EAAS,IAAIoF,EAEjB,OADAA,EAAO0zB,eAAYj9B,EACZmE,CACT,CACF,CAdiB,GAgBjB,MClBA,SAAS82L,GAAgB1xL,GACvB,MAAqC,mBAAtBA,EAAOxM,aAA8B,GAAYwM,GAE5D,CAAC,EADD,GAAW,GAAaA,GAE9B,CAEA,UCbI,GAAS,eASb,SAAS2xL,GAAUv3L,GACjB,OAAO,GAAaA,IAAU,GAAOA,IAAU,EACjD,CAEA,UCZIw3L,GAAY,IAAY,SAmBxBjuJ,GAAQiuJ,GAAY,GAAUA,IAAa,GAE/C,MCtBI,GAAS,eASb,SAASC,GAAUz3L,GACjB,OAAO,GAAaA,IAAU,GAAOA,IAAU,EACjD,CAEA,UCZI03L,GAAY,IAAY,SAmBxBhuJ,GAAQguJ,GAAY,GAAUA,IAAa,GAE/C,MCFIC,GAAkB,EAClBC,GAAkB,EAClBC,GAAqB,EAGrB,GAAU,qBACV,GAAW,iBACX,GAAU,mBACV,GAAU,gBACV,GAAW,iBACX,GAAU,oBACV,GAAS,6BACT,GAAS,eACT,GAAY,kBACZ,GAAY,kBACZ,GAAY,kBACZ,GAAS,eACT,GAAY,kBACZ,GAAY,kBACZ,GAAa,mBAEb,GAAiB,uBACjB,GAAc,oBACd,GAAa,wBACb,GAAa,wBACb,GAAU,qBACV,GAAW,sBACX,GAAW,sBACX,GAAW,sBACX,GAAkB,6BAClB,GAAY,uBACZ,GAAY,uBAGZC,GAAgB,CAAC,EA+BrB,SAASC,GAAU/3L,EAAO8tL,EAASC,EAAY9wL,EAAK2I,EAAQiqD,GAC1D,IAAIrvD,EACAw1L,EAASlI,EAAU6J,GACnBK,EAASlK,EAAU8J,GACnBK,EAASnK,EAAU+J,GAKvB,GAHI9J,IACFvtL,EAASoF,EAASmoL,EAAW/tL,EAAO/C,EAAK2I,EAAQiqD,GAASk+H,EAAW/tL,SAExD3D,IAAXmE,EACF,OAAOA,EAET,IAAK,EAASR,GACZ,OAAOA,EAET,IAAIyyL,EAAQ,GAAQzyL,GACpB,GAAIyyL,GAEF,GADAjyL,EAAS,GAAeR,IACnBg2L,EACH,OAAO,GAAUh2L,EAAOQ,OAErB,CACL,IAAIs5B,EAAM,GAAO95B,GACbk4L,EAASp+J,GAAO,IAAWA,GAAO,GAEtC,GAAI,GAAS95B,GACX,OAAO,GAAYA,EAAOg2L,GAE5B,GAAIl8J,GAAO,IAAaA,GAAO,IAAYo+J,IAAWtyL,GAEpD,GADApF,EAAUw3L,GAAUE,EAAU,CAAC,EAAI,GAAgBl4L,IAC9Cg2L,EACH,OAAOgC,EACH,GAAch4L,EAAO,GAAaQ,EAAQR,IAC1C,GAAYA,EAAO,GAAWQ,EAAQR,QAEvC,CACL,IAAK83L,GAAch+J,GACjB,OAAOl0B,EAAS5F,EAAQ,CAAC,EAE3BQ,EAAS,GAAeR,EAAO85B,EAAKk8J,EACtC,CACF,CAEAnmI,IAAUA,EAAQ,IAAI,IACtB,IAAIo8D,EAAUp8D,EAAM1yD,IAAI6C,GACxB,GAAIisH,EACF,OAAOA,EAETp8D,EAAMzyD,IAAI4C,EAAOQ,GAEb,GAAMR,GACRA,EAAMhC,SAAQ,SAASm6L,GACrB33L,EAAO9C,IAAIq6L,GAAUI,EAAUrK,EAASC,EAAYoK,EAAUn4L,EAAO6vD,GACvE,IACS,GAAM7vD,IACfA,EAAMhC,SAAQ,SAASm6L,EAAUl7L,GAC/BuD,EAAOpD,IAAIH,EAAK86L,GAAUI,EAAUrK,EAASC,EAAY9wL,EAAK+C,EAAO6vD,GACvE,IAGF,IAAImgI,EAAWiI,EACVD,EAAS,GAAe,GACxBA,EAAS,GAAS,GAEnBzsL,EAAQknL,OAAQp2L,EAAY2zL,EAAShwL,GASzC,OARA,GAAUuL,GAASvL,GAAO,SAASm4L,EAAUl7L,GACvCsO,IACFtO,EAAMk7L,EACNA,EAAWn4L,EAAM/C,IAGnB,GAAYuD,EAAQvD,EAAK86L,GAAUI,EAAUrK,EAASC,EAAY9wL,EAAK+C,EAAO6vD,GAChF,IACOrvD,CACT,CAxGAs3L,GAAc,IAAWA,GAAc,IACvCA,GAAc,IAAkBA,GAAc,IAC9CA,GAAc,IAAWA,GAAc,IACvCA,GAAc,IAAcA,GAAc,IAC1CA,GAAc,IAAWA,GAAc,IACvCA,GAAc,IAAYA,GAAc,IACxCA,GAAc,IAAaA,GAAc,IACzCA,GAAc,IAAaA,GAAc,IACzCA,GAAc,IAAaA,GAAc,IACzCA,GAAc,IAAYA,GAAc,IACxCA,GAAc,IAAaA,GAAc,KAAa,EACtDA,GAAc,IAAYA,GAAc,IACxCA,GAAc,KAAc,EA8F5B,UClKI,GAAkB,EAClB,GAAqB,EAoBzB,SAASM,GAAUp4L,GACjB,OAAO,GAAUA,EAAO,GAAkB,GAC5C,CAEA,U,iCC1BA,MAAMq4L,GAAc,mBAEd,GAAWjhJ,GACF,MAATA,EAAsB,GAEtBtxC,MAAM6hC,QAAQyP,GACTA,EAAM14C,KAAIkU,GAAKA,EAAEoS,WAAWlZ,SAAQrN,QAAOmU,GAAKA,EAAErY,OAAS,IAAGwgC,KAAK,KAGvD,oBAAVqc,EACFA,EAAM9iC,KAAO8iC,EAAM9iC,KAAO,GAGL,oBAAnB8iC,EAAMpyB,SACR,GAGFoyB,EAAMpyB,WAAWlZ,OAGbwsL,GAAa,CAACt4L,EAAOiN,EAAU,CAAC,KAC3C,MAAMmqC,EAAQ,GAASp3C,GACjB66C,EAAQ5tC,EAAQsrL,kBAAoBF,GACpC9nH,EAASn5B,EAAQohJ,GAAU39I,EAAQzD,EAAMlqC,QAAQ2tC,EAAO,KAAOzD,EAAOnqC,GAAW,GACvF,OAAOsjE,EAASA,EAAO,GAAGwW,kBAAkB95E,EAAQwrE,QAAUlI,EAAO5kE,MAAM,GAAK,EAAE,EAGpF,UC7BI8sL,GAAYl6L,OAAO+gB,eACnBo5K,GAAan6L,OAAOqqF,iBACpB+vG,GAAoBp6L,OAAOsqF,0BAC3B+vG,GAAsBr6L,OAAOguE,sBAC7BssH,GAAet6L,OAAO+6B,UAAUwP,eAChCgwJ,GAAev6L,OAAO+6B,UAAUyvC,qBAChCgwH,GAAkB,CAACxtJ,EAAKtuC,EAAK+C,IAAU/C,KAAOsuC,EAAMktJ,GAAUltJ,EAAKtuC,EAAK,CAAEokB,YAAY,EAAMC,cAAc,EAAMsjD,UAAU,EAAM5kE,UAAWurC,EAAItuC,GAAO+C,EACtJg5L,GAAiB,CAACluL,EAAGC,KACvB,IAAK,IAAI0Z,KAAQ1Z,IAAMA,EAAI,CAAC,GACtB8tL,GAAar3L,KAAKuJ,EAAG0Z,IACvBs0K,GAAgBjuL,EAAG2Z,EAAM1Z,EAAE0Z,IAC/B,GAAIm0K,GACF,IAAK,IAAIn0K,KAAQm0K,GAAoB7tL,GAC/B+tL,GAAat3L,KAAKuJ,EAAG0Z,IACvBs0K,GAAgBjuL,EAAG2Z,EAAM1Z,EAAE0Z,IAEjC,OAAO3Z,CAAC,EAENmuL,GAAgB,CAACnuL,EAAGC,IAAM2tL,GAAW5tL,EAAG6tL,GAAkB5tL,IAe1DmuL,GAAuB,CAACC,EAAWC,KACrC,MAAMC,EAAY,CAChBC,UAAW,CAAEt8L,KAAMuB,OAAQ66E,UAAU,GACrCnsE,QAAS,CAAEjQ,KAAMuB,OAAQ66E,UAAU,GACnCmgH,QAAS,CAAE5jL,QAASwjL,EAAWn8L,KAAMwX,QACrC8gD,MAAO,CAAE3/C,QAAS,IAAK3Y,KAAMuD,QAC7Bi1D,OAAQ,CAAE7/C,QAAS,IAAK3Y,KAAMuD,QAC9Bi5L,WAAY,CAAEx8L,KAAMwX,OAAQmB,QAAS,IACrCgsB,OAAQ,CAAE3kC,KAAMuB,QAChBqgH,QAAS,CAAE5hH,KAAM8I,MAAO6P,QAAS,IAAM,IACvC8jL,eAAgB,CAAEz8L,KAAMoX,UACxBslL,cAAe,CAAE18L,KAAMoX,UACvBulL,eAAgB,CAAE38L,KAAMoX,UACxBwlL,cAAe,CAAE58L,KAAMoX,WAEnBylL,EAAgB,GAAWV,GACjC,OAAO,SAAgB,CACrB7kL,KAAMulL,EACNtuL,MAAO8tL,EACP5sL,MAAO,CACL,gBAAiB,KAAM,EACvB,eAAiBqtL,IAAkB,EACnC,gBAAiB,KAAM,EACvB,eAAiBA,IAAkB,GAErCtkL,MAAMjK,GAAO,KAAEmD,EAAI,OAAEmS,IACnB,MAAMk5K,GAAY,SAAI,MAChBC,EAAW,GAAGzuL,EAAMguL,UAC1B,IAAIO,GAAgB,SAAW,MAS/B,SAASG,EAAaC,EAASC,GAC7B,GAAIA,GAAWL,EAAc95L,MAAO,CAClC,IAAI45D,EAAQkgI,EAAc95L,MACrB,GAAQk6L,EAASC,IAAYA,EAAQv5H,SAASrmE,SAAW2/L,EAAQt5H,SAASrmE,OAwB7Eq/D,EAAM/qD,KAAK+xD,SAAWs5H,EAAQt5H,UAvB9Bs5H,EAAQt5H,SAAS5iE,SAAQ,CAACw/D,EAASnjE,KACjC,MAAM+/L,EAAiB77L,OAAOkR,KAAK0qL,EAAQv5H,SAASvmE,IAC9CggM,EAAiB97L,OAAOkR,KAAK+tD,GAC7B88H,EAAeF,EAAe37L,QAAQxB,GAC3B,UAARA,IAAoD,IAAjCo9L,EAAehwL,QAAQpN,KAEnDq9L,EAAat8L,SAASu8L,IAChB3gI,EAAM/qD,KAAK+xD,SAASvmE,WACfu/D,EAAM/qD,KAAK+xD,SAASvmE,GAAGkgM,EAChC,IAEF,IAAK,MAAMC,KAAah9H,EAAS,CAC/B,MAAMi9H,EAAYj9H,EAAQg9H,GACtBh9H,EAAQ10B,eAAe0xJ,IAA2B,MAAbC,GAAqB7gI,IAC5DA,EAAM/qD,KAAK+xD,SAASvmE,GAAGmgM,GAAaC,EAExC,KAEEP,EAAQ36H,SACV3F,EAAM/qD,KAAK0wD,OAAS26H,EAAQ36H,OAC5Bm7H,MAKJC,GACF,MACMb,EAAc95L,OAChB46L,IAEFC,GAEJ,CACA,SAASA,IACHd,EAAU/5L,OACZ85L,EAAc95L,MAAQ,IAAI,KAAc+5L,EAAU/5L,MAAO,CACvD6O,KAAMtD,EAAM+tL,UACZt8L,KAAMo8L,EACNnsL,QAAS,GAAU1B,EAAM0B,SACzB2xG,QAASrzG,EAAMqzG,UAEjBk8E,KAEAxyL,QAAQC,MAAM,sBAAsBsxL,wEAExC,CACA,SAASa,IACPhsL,EAAK,iBACLnD,EAAMkuL,gBAAkBluL,EAAMkuL,gBAChC,CACA,SAASqB,IACHhB,EAAc95L,QAChB0O,EAAK,eAAgBorL,EAAc95L,OACnCuL,EAAMquL,eAAiBruL,EAAMquL,cAAcE,EAAc95L,OAE7D,CACA,SAAS26L,IACHb,EAAc95L,QAChB85L,EAAc95L,MAAM8W,SACpBpI,EAAK,eAAgBorL,EAAc95L,OACnCuL,EAAMquL,eAAiBruL,EAAMquL,cAAcE,EAAc95L,OAE7D,CACA,SAAS46L,IACPd,EAAc95L,OAAS85L,EAAc95L,MAAM2kJ,UAC3Cj2I,EAAK,iBACLnD,EAAMouL,gBAAkBpuL,EAAMouL,gBAChC,CAcA,OA7FA,UAAM,IAAMpuL,EAAM+tL,WAAWW,EAAc,CAAE5nL,MAAM,KACnD,UAAM,IAAM9G,EAAM0B,UAAS,CAAC+jE,EAAY+pH,KAClCjB,EAAc95L,OAASgxE,IAAe,GAAQ8oH,EAAc95L,MAAMiN,QAAS8tL,KAC7EjB,EAAc95L,MAAMiN,QAAU,GAAU+jE,GACxC+pH,EAAa,GAAU/pH,GACvB2pH,IACF,GACC,CAAEtoL,MAAM,KAyEX,SAAUwoL,IACV,UAAgB,KACVf,EAAc95L,OAChB85L,EAAc95L,MAAM2kJ,SACtB,IAEF9jI,EAAO,CACLk5K,YACAc,cACAf,gBACAE,WACAljL,OAAQ6jL,IAEH,KAAM,KAAA74K,GAAE,MAAO,CACpBuL,MAAO4rK,GAAcD,GAAe,CAClC98D,SAAU,QACT3wH,EAAMo2B,QAAS,CAChBguD,SAAU,aAEZviE,MAAO7hB,EAAMiuL,YACZ,EACD,KAAA13K,GAAE,SAAU,CACVuL,MAAO,CACL6uG,SAAU,OACVC,UAAW,QAEb3yH,GAAIwwL,EACJ1kI,MAAO/pD,EAAM+pD,MACbE,OAAQjqD,EAAMiqD,OACd9wD,IAAKq1L,KAGX,GACA,EAMAiB,GAAmB5B,GACbnvI,IACN,MAAMgxI,EAAiB,GAAG7B,YACpB8B,EAAU,CACd,CAACD,IAAiB,YAEdE,GAAgB,UAAS,IAAMlC,GAAcD,GAAeA,GAAeA,GAAe,CAAC,EAAG/uI,GAASA,EAAOmxI,KAAO,CACzH12L,IAAKw2L,EAAQD,MACVhxI,EAAOmxI,KAAO,CACjB12L,IAAKu2L,IACH,CACF3B,WAAW,SAAMrvI,EAAOqvI,WACxBrsL,SAAS,SAAMg9C,EAAOh9C,aAExB,SAAS6J,IACP,IAAIxQ,EACJ,MAAM+0L,EAAoBH,EAAQD,GAAgBj7L,MAC9Cq7L,EACmF,OAApF/0L,EAA0B,MAArB+0L,OAA4B,EAASA,EAAkBvB,cAAc95L,QAA0BsG,EAAGwQ,SAExGxO,QAAQ8rD,KAAK,kCAAkC,GAAWglI,WAE9D,CACA,MAAO,CACL,CAAC,GAAGA,eAAwB+B,EAC5B,CAACF,GAAiBC,EAAQD,GAC1BnkL,SACD,EAKDwkL,GAAWpC,GAAqB,YAAa,OAE7CqC,IADgBrC,GAAqB,iBAAkB,YAC3CA,GAAqB,aAAc,SAS/CsC,IARWtC,GAAqB,YAAa,OAC5BA,GAAqB,cAAe,aACxCA,GAAqB,cAAe,SACnCA,GAAqB,eAAgB,UACpCA,GAAqB,gBAAiB,WAGlC8B,GAAgB,YACrBA,GAAgB,QAC9BS,GAAeT,GAAgB,QACjBA,GAAgB,OACVA,GAAgB,aACpBA,GAAgB,SACfA,GAAgB,UACfA,GAAgB,U;;;;;;AC9NtC,MAAMU,EAA8B,qBAAX/+J,OAEzB,SAASg/J,EAAWpwJ,GAChB,OAAOA,EAAIolC,YAA0C,WAA5BplC,EAAItvC,OAAOgtF,YACxC,CACA,MAAMriE,EAASroB,OAAOqoB,OACtB,SAASg1K,EAAc7hM,EAAIkwD,GACvB,MAAM4xI,EAAY,CAAC,EACnB,IAAK,MAAM5+L,KAAOgtD,EAAQ,CACtB,MAAMjqD,EAAQiqD,EAAOhtD,GACrB4+L,EAAU5+L,GAAO0qC,EAAQ3nC,GACnBA,EAAMtB,IAAI3E,GACVA,EAAGiG,EACb,CACA,OAAO67L,CACX,CACA,MAAMz0B,EAAO,OAKPz/H,EAAU7hC,MAAM6hC,QAQtB,MAAMm0J,EAAoB,MACpBC,EAAuBvoL,GAASA,EAAKtG,QAAQ4uL,EAAmB,IAUtE,SAASE,EAASC,EAAY3oI,EAAU4oI,EAAkB,KACtD,IAAI1oL,EAAM2oL,EAAQ,CAAC,EAAGC,EAAe,GAAIlpI,EAAO,GAGhD,MAAMmpI,EAAU/oI,EAASjpD,QAAQ,KACjC,IAAIiyL,EAAYhpI,EAASjpD,QAAQ,KAkBjC,OAhBIgyL,EAAUC,GAAaD,GAAW,IAClCC,GAAa,GAEbA,GAAa,IACb9oL,EAAO8/C,EAAS3nD,MAAM,EAAG2wL,GACzBF,EAAe9oI,EAAS3nD,MAAM2wL,EAAY,EAAGD,GAAW,EAAIA,EAAU/oI,EAAS/4D,QAC/E4hM,EAAQF,EAAWG,IAEnBC,GAAW,IACX7oL,EAAOA,GAAQ8/C,EAAS3nD,MAAM,EAAG0wL,GAEjCnpI,EAAOI,EAAS3nD,MAAM0wL,EAAS/oI,EAAS/4D,SAG5CiZ,EAAO+oL,EAA4B,MAAR/oL,EAAeA,EAAO8/C,EAAU4oI,GAEpD,CACH5yI,SAAU91C,GAAQ4oL,GAAgB,KAAOA,EAAelpI,EACxD1/C,OACA2oL,QACAjpI,OAER,CAOA,SAASspI,EAAaC,EAAgBnpI,GAClC,MAAM6oI,EAAQ7oI,EAAS6oI,MAAQM,EAAenpI,EAAS6oI,OAAS,GAChE,OAAO7oI,EAAS9/C,MAAQ2oL,GAAS,KAAOA,GAAS7oI,EAASJ,MAAQ,GACtE,CAOA,SAASwpI,EAAUrpI,EAAUtxC,GAEzB,OAAKA,GAASsxC,EAASlmD,cAAc1B,WAAWsW,EAAK5U,eAE9CkmD,EAAS1nD,MAAMoW,EAAKxnB,SAAW,IAD3B84D,CAEf,CASA,SAASspI,EAAoBF,EAAgB3xL,EAAGC,GAC5C,MAAM6xL,EAAa9xL,EAAEkyE,QAAQziF,OAAS,EAChCsiM,EAAa9xL,EAAEiyE,QAAQziF,OAAS,EACtC,OAAQqiM,GAAc,GAClBA,IAAeC,GACfC,EAAkBhyL,EAAEkyE,QAAQ4/G,GAAa7xL,EAAEiyE,QAAQ6/G,KACnDE,EAA0BjyL,EAAEm/C,OAAQl/C,EAAEk/C,SACtCwyI,EAAe3xL,EAAEqxL,SAAWM,EAAe1xL,EAAEoxL,QAC7CrxL,EAAEooD,OAASnoD,EAAEmoD,IACrB,CAQA,SAAS4pI,EAAkBhyL,EAAGC,GAI1B,OAAQD,EAAEkyL,SAAWlyL,MAAQC,EAAEiyL,SAAWjyL,EAC9C,CACA,SAASgyL,EAA0BjyL,EAAGC,GAClC,GAAIxM,OAAOkR,KAAK3E,GAAGvQ,SAAWgE,OAAOkR,KAAK1E,GAAGxQ,OACzC,OAAO,EACX,IAAK,MAAM0C,KAAO6N,EACd,IAAKmyL,EAA+BnyL,EAAE7N,GAAM8N,EAAE9N,IAC1C,OAAO,EAEf,OAAO,CACX,CACA,SAASggM,EAA+BnyL,EAAGC,GACvC,OAAO48B,EAAQ78B,GACToyL,EAAkBpyL,EAAGC,GACrB48B,EAAQ58B,GACJmyL,EAAkBnyL,EAAGD,GACrBA,IAAMC,CACpB,CAQA,SAASmyL,EAAkBpyL,EAAGC,GAC1B,OAAO48B,EAAQ58B,GACTD,EAAEvQ,SAAWwQ,EAAExQ,QAAUuQ,EAAE2M,OAAM,CAACzX,EAAO3F,IAAM2F,IAAU+K,EAAE1Q,KAC9C,IAAbyQ,EAAEvQ,QAAgBuQ,EAAE,KAAOC,CACrC,CAOA,SAASwxL,EAAoBh6K,EAAI9F,GAC7B,GAAI8F,EAAG9W,WAAW,KACd,OAAO8W,EAKX,IAAKA,EACD,OAAO9F,EACX,MAAM0gL,EAAe1gL,EAAK/I,MAAM,KAC1B0pL,EAAa76K,EAAG7O,MAAM,KAC5B,IACI2pL,EACA3lI,EAFAi4B,EAAWwtG,EAAa5iM,OAAS,EAGrC,IAAK8iM,EAAa,EAAGA,EAAaD,EAAW7iM,OAAQ8iM,IAGjD,GAFA3lI,EAAU0lI,EAAWC,GAEL,MAAZ3lI,EAAJ,CAGA,GAAgB,OAAZA,EAQA,MANIi4B,EAAW,GACXA,GALI,CAYhB,OAAQwtG,EAAaxxL,MAAM,EAAGgkF,GAAU50D,KAAK,KACzC,IACAqiK,EAEKzxL,MAAM0xL,GAAcA,IAAeD,EAAW7iM,OAAS,EAAI,IAC3DwgC,KAAK,IAClB,CAEA,IAAIuiK,EAKAC,GAJJ,SAAWD,GACPA,EAAe,OAAS,MACxBA,EAAe,QAAU,MAC5B,EAHD,CAGGA,IAAmBA,EAAiB,CAAC,IAExC,SAAWC,GACPA,EAAoB,QAAU,OAC9BA,EAAoB,WAAa,UACjCA,EAAoB,WAAa,EACpC,CAJD,CAIGA,IAAwBA,EAAsB,CAAC,IAYlD,SAASC,EAAcz7K,GACnB,IAAKA,EACD,GAAI25K,EAAW,CAEX,MAAM+B,EAAShkK,SAAS5F,cAAc,QACtC9R,EAAQ07K,GAAUA,EAAOllD,aAAa,SAAY,IAElDx2H,EAAOA,EAAK7U,QAAQ,kBAAmB,GAC3C,MAEI6U,EAAO,IAUf,MAJgB,MAAZA,EAAK,IAA0B,MAAZA,EAAK,KACxBA,EAAO,IAAMA,GAGVg6K,EAAoBh6K,EAC/B,CAEA,MAAM27K,EAAiB,UACvB,SAASC,EAAW57K,EAAMuxC,GACtB,OAAOvxC,EAAK7U,QAAQwwL,EAAgB,KAAOpqI,CAC/C,CAEA,SAASsqI,EAAmB3sL,EAAIksD,GAC5B,MAAM0gI,EAAUpkK,SAAS+0D,gBAAgBw2F,wBACnC8Y,EAAS7sL,EAAG+zK,wBAClB,MAAO,CACH+Y,SAAU5gI,EAAO4gI,SACjBh4J,KAAM+3J,EAAO/3J,KAAO83J,EAAQ93J,MAAQo3B,EAAOp3B,MAAQ,GACnDwxB,IAAKumI,EAAOvmI,IAAMsmI,EAAQtmI,KAAO4F,EAAO5F,KAAO,GAEvD,CACA,MAAMymI,EAAwB,KAAM,CAChCj4J,KAAMpJ,OAAOshK,YACb1mI,IAAK56B,OAAOuhK,cAEhB,SAASC,EAAiBxuG,GACtB,IAAIyuG,EACJ,GAAI,OAAQzuG,EAAU,CAClB,MAAM0uG,EAAa1uG,EAAS1+E,GACtBqtL,EAAqC,kBAAfD,GAA2BA,EAAW5yL,WAAW,KAsBzE,EAiBJ,MAAMwF,EAA2B,kBAAfotL,EACZC,EACI7kK,SAASomH,eAAew+C,EAAW1yL,MAAM,IACzC8tB,SAAS5F,cAAcwqK,GAC3BA,EACN,IAAKptL,EAGD,OAEJmtL,EAAkBR,EAAmB3sL,EAAI0+E,EAC7C,MAEIyuG,EAAkBzuG,EAElB,mBAAoBl2D,SAAS+0D,gBAAgBnhE,MAC7CsP,OAAO4hK,SAASH,GAEhBzhK,OAAO4hK,SAAiC,MAAxBH,EAAgBr4J,KAAeq4J,EAAgBr4J,KAAOpJ,OAAOshK,YAAoC,MAAvBG,EAAgB7mI,IAAc6mI,EAAgB7mI,IAAM56B,OAAOuhK,YAE7J,CACA,SAASM,EAAahrL,EAAMuvC,GACxB,MAAM4sC,EAAW8uG,QAAQ7qL,MAAQ6qL,QAAQ7qL,MAAM+7E,SAAW5sC,GAAS,EACnE,OAAO4sC,EAAWn8E,CACtB,CACA,MAAMkrL,EAAkB,IAAIrhM,IAC5B,SAASshM,EAAmB1hM,EAAK2hM,GAC7BF,EAAgBthM,IAAIH,EAAK2hM,EAC7B,CACA,SAASC,EAAuB5hM,GAC5B,MAAM6hM,EAASJ,EAAgBvhM,IAAIF,GAGnC,OADAyhM,EAAgBhjM,OAAOuB,GAChB6hM,CACX,CAiBA,IAAIC,EAAqB,IAAMzrI,SAASP,SAAW,KAAOO,SAASN,KAKnE,SAASgsI,EAAsBj9K,EAAMuxC,GACjC,MAAM,SAAED,EAAQ,OAAEJ,EAAM,KAAEC,GAASI,EAE7B+oI,EAAUt6K,EAAK1X,QAAQ,KAC7B,GAAIgyL,GAAW,EAAG,CACd,IAAI4C,EAAW/rI,EAAKlpD,SAAS+X,EAAKpW,MAAM0wL,IAClCt6K,EAAKpW,MAAM0wL,GAAS9hM,OACpB,EACF2kM,EAAehsI,EAAKvnD,MAAMszL,GAI9B,MAFwB,MAApBC,EAAa,KACbA,EAAe,IAAMA,GAClBxC,EAAUwC,EAAc,GACnC,CACA,MAAM1rL,EAAOkpL,EAAUrpI,EAAUtxC,GACjC,OAAOvO,EAAOy/C,EAASC,CAC3B,CACA,SAASisI,EAAoBp9K,EAAMq9K,EAAclD,EAAiBhvL,GAC9D,IAAIq0D,EAAY,GACZ89H,EAAY,GAGZC,EAAa,KACjB,MAAMC,EAAkB,EAAG3rL,YACvB,MAAM2O,EAAKy8K,EAAsBj9K,EAAMuxC,UACjC72C,EAAOy/K,EAAgBl8L,MACvBw/L,EAAYJ,EAAap/L,MAC/B,IAAI+iD,EAAQ,EACZ,GAAInvC,EAAO,CAIP,GAHAsoL,EAAgBl8L,MAAQuiB,EACxB68K,EAAap/L,MAAQ4T,EAEjB0rL,GAAcA,IAAe7iL,EAE7B,YADA6iL,EAAa,MAGjBv8I,EAAQy8I,EAAY5rL,EAAM+7E,SAAW6vG,EAAU7vG,SAAW,CAC9D,MAEIziF,EAAQqV,GAQZg/C,EAAUvjE,SAAQmvD,IACdA,EAAS+uI,EAAgBl8L,MAAOyc,EAAM,CAClCsmC,QACA/lD,KAAMsgM,EAAe7iM,IACrB+sL,UAAWzkI,EACLA,EAAQ,EACJw6I,EAAoBkC,QACpBlC,EAAoBmC,KACxBnC,EAAoBoC,SAC5B,GACJ,EAEN,SAASC,IACLN,EAAapD,EAAgBl8L,KACjC,CACA,SAAS8nH,EAAO7lH,GAEZs/D,EAAU1nE,KAAKoI,GACf,MAAM49L,EAAW,KACb,MAAMlmM,EAAQ4nE,EAAUl3D,QAAQpI,GAC5BtI,GAAS,GACT4nE,EAAUt3D,OAAOtQ,EAAO,EAAE,EAGlC,OADA0lM,EAAUxlM,KAAKgmM,GACRA,CACX,CACA,SAASC,IACL,MAAM,QAAErB,GAAY9hK,OACf8hK,EAAQ7qL,OAEb6qL,EAAQp/E,aAAaz4F,EAAO,CAAC,EAAG63K,EAAQ7qL,MAAO,CAAEkrL,OAAQd,MAA4B,GACzF,CACA,SAASr5C,IACL,IAAK,MAAMk7C,KAAYR,EACnBQ,IACJR,EAAY,GACZ1iK,OAAOU,oBAAoB,WAAYkiK,GACvC5iK,OAAOU,oBAAoB,eAAgByiK,EAC/C,CAIA,OAFAnjK,OAAOS,iBAAiB,WAAYmiK,GACpC5iK,OAAOS,iBAAiB,eAAgB0iK,GACjC,CACHF,iBACA93E,SACA68B,UAER,CAIA,SAASo7C,EAAWL,EAAMhmL,EAAS+lL,EAASh8E,GAAW,EAAOu8E,GAAgB,GAC1E,MAAO,CACHN,OACAhmL,UACA+lL,UACAh8E,WACA9zB,SAAUhzD,OAAO8hK,QAAQlkM,OACzBukM,OAAQkB,EAAgBhC,IAA0B,KAE1D,CACA,SAASiC,EAA0Bl+K,GAC/B,MAAM,QAAE08K,EAAO,SAAEnrI,GAAa32B,OAExBu/J,EAAkB,CACpBl8L,MAAOg/L,EAAsBj9K,EAAMuxC,IAEjC8rI,EAAe,CAAEp/L,MAAOy+L,EAAQ7qL,OAetC,SAASssL,EAAe39K,EAAI3O,EAAO1G,GAU/B,MAAMizL,EAAYp+K,EAAK1X,QAAQ,KACzBm/C,EAAM22I,GAAa,GAClB7sI,EAASN,MAAQv5B,SAAS5F,cAAc,QACrC9R,EACAA,EAAKpW,MAAMw0L,IAAc59K,EAC7Bw8K,IAAuBh9K,EAAOQ,EACpC,IAGIk8K,EAAQvxL,EAAU,eAAiB,aAAa0G,EAAO,GAAI41C,GAC3D41I,EAAap/L,MAAQ4T,CAWzB,CATA,MAAOvM,GAKCiB,QAAQC,MAAMlB,GAGlBisD,EAASpmD,EAAU,UAAY,UAAUs8C,EAC7C,CACJ,CACA,SAASt8C,EAAQqV,EAAI1T,GACjB,MAAM+E,EAAQgT,EAAO,CAAC,EAAG63K,EAAQ7qL,MAAOmsL,EAAWX,EAAap/L,MAAM0/L,KAEtEn9K,EAAI68K,EAAap/L,MAAMy/L,SAAS,GAAO5wL,EAAM,CAAE8gF,SAAUyvG,EAAap/L,MAAM2vF,WAC5EuwG,EAAe39K,EAAI3O,GAAO,GAC1BsoL,EAAgBl8L,MAAQuiB,CAC5B,CACA,SAAS1oB,EAAK0oB,EAAI1T,GAGd,MAAMuxL,EAAex5K,EAAO,CAAC,EAI7Bw4K,EAAap/L,MAAOy+L,EAAQ7qL,MAAO,CAC/B6rL,QAASl9K,EACTu8K,OAAQd,MAOZkC,EAAeE,EAAa1mL,QAAS0mL,GAAc,GACnD,MAAMxsL,EAAQgT,EAAO,CAAC,EAAGm5K,EAAW7D,EAAgBl8L,MAAOuiB,EAAI,MAAO,CAAEotE,SAAUywG,EAAazwG,SAAW,GAAK9gF,GAC/GqxL,EAAe39K,EAAI3O,GAAO,GAC1BsoL,EAAgBl8L,MAAQuiB,CAC5B,CACA,OA1EK68K,EAAap/L,OACdkgM,EAAehE,EAAgBl8L,MAAO,CAClC0/L,KAAM,KACNhmL,QAASwiL,EAAgBl8L,MACzBy/L,QAAS,KAET9vG,SAAU8uG,EAAQlkM,OAAS,EAC3BkpH,UAAU,EAGVq7E,OAAQ,OACT,GA+DA,CACHxrI,SAAU4oI,EACVtoL,MAAOwrL,EACPvlM,OACAqT,UAER,CAMA,SAASmzL,EAAiBt+K,GACtBA,EAAOy7K,EAAcz7K,GACrB,MAAMu+K,EAAoBL,EAA0Bl+K,GAC9Cw+K,EAAmBpB,EAAoBp9K,EAAMu+K,EAAkB1sL,MAAO0sL,EAAkBhtI,SAAUgtI,EAAkBpzL,SAC1H,SAASszL,EAAGz9I,EAAO09I,GAAmB,GAC7BA,GACDF,EAAiBX,iBACrBnB,QAAQ+B,GAAGz9I,EACf,CACA,MAAM29I,EAAgB95K,EAAO,CAEzB0sC,SAAU,GACVvxC,OACAy+K,KACA7C,WAAYA,EAAWr0L,KAAK,KAAMyY,IACnCu+K,EAAmBC,GAStB,OARAhiM,OAAO+gB,eAAeohL,EAAe,WAAY,CAC7Cr/K,YAAY,EACZlkB,IAAK,IAAMmjM,EAAkBhtI,SAAStzD,QAE1CzB,OAAO+gB,eAAeohL,EAAe,QAAS,CAC1Cr/K,YAAY,EACZlkB,IAAK,IAAMmjM,EAAkB1sL,MAAM5T,QAEhC0gM,CACX,CA6HA,SAASC,EAAgBpkB,GACrB,MAAwB,kBAAVA,GAAuBA,GAA0B,kBAAVA,CACzD,CACA,SAASqkB,EAAYtsL,GACjB,MAAuB,kBAATA,GAAqC,kBAATA,CAC9C,CAiBA,MAAMusL,EAA4B,CAC9BrtL,KAAM,IACNc,UAAMjY,EACN4tD,OAAQ,CAAC,EACTkyI,MAAO,CAAC,EACRjpI,KAAM,GACN5J,SAAU,IACV0zB,QAAS,GACTn3C,KAAM,CAAC,EACPi7J,oBAAgBzkM,GAGd0kM,EAA0B9kM,OAAwE,IAKxG,IAAI+kM,GACJ,SAAWA,GAKPA,EAAsBA,EAAsB,WAAa,GAAK,UAK9DA,EAAsBA,EAAsB,aAAe,GAAK,YAKhEA,EAAsBA,EAAsB,cAAgB,IAAM,YACrE,EAhBD,CAgBGA,IAA0BA,EAAwB,CAAC,IAqBtD,SAASC,EAAkBjkM,EAAMitD,GASzB,OAAOrjC,EAAO,IAAImwB,MAAS,CACvB/5C,OACA,CAAC+jM,IAA0B,GAC5B92I,EAEX,CACA,SAASi3I,EAAoB34L,EAAOvL,GAChC,OAAQuL,aAAiBwuC,OACrBgqJ,KAA2Bx4L,IAClB,MAARvL,MAAmBuL,EAAMvL,KAAOA,GACzC,CAgBA,MAAMmkM,EAAqB,SACrBC,EAA2B,CAC7BC,WAAW,EACXzpF,QAAQ,EACRnuG,OAAO,EACPC,KAAK,GAGH43L,EAAiB,sBAQvB,SAASC,EAAe9tL,EAAU+tL,GAC9B,MAAMv0L,EAAU2Z,EAAO,CAAC,EAAGw6K,EAA0BI,GAE/ClvJ,EAAQ,GAEd,IAAIn5B,EAAUlM,EAAQxD,MAAQ,IAAM,GAEpC,MAAMgG,EAAO,GACb,IAAK,MAAMioD,KAAWjkD,EAAU,CAE5B,MAAMguL,EAAgB/pI,EAAQn9D,OAAS,GAAK,CAAC,IAEzC0S,EAAQ2qG,SAAWlgD,EAAQn9D,SAC3B4e,GAAW,KACf,IAAK,IAAIuoL,EAAa,EAAGA,EAAahqI,EAAQn9D,OAAQmnM,IAAc,CAChE,MAAM9yJ,EAAQ8oB,EAAQgqI,GAEtB,IAAIC,EAAkB,IACjB10L,EAAQo0L,UAAY,IAA0C,GACnE,GAAmB,IAAfzyJ,EAAM5xC,KAED0kM,IACDvoL,GAAW,KACfA,GAAWy1B,EAAM5uC,MAAMkN,QAAQo0L,EAAgB,QAC/CK,GAAmB,QAElB,GAAmB,IAAf/yJ,EAAM5xC,KAAkC,CAC7C,MAAM,MAAEgD,EAAK,WAAE4hM,EAAU,SAAEC,EAAQ,OAAE9K,GAAWnoJ,EAChDn/B,EAAK5V,KAAK,CACNya,KAAMtU,EACN4hM,aACAC,aAEJ,MAAMn4G,EAAKqtG,GAAkBoK,EAE7B,GAAIz3G,IAAOy3G,EAAoB,CAC3BQ,GAAmB,GAEnB,IACI,IAAI1oL,OAAO,IAAIywE,KAKnB,CAHA,MAAOriF,GACH,MAAM,IAAI0vC,MAAM,oCAAoC/2C,OAAW0pF,OAC3DriF,EAAImlD,QACZ,CACJ,CAEA,IAAIs1I,EAAaF,EAAa,OAAOl4G,YAAaA,QAAW,IAAIA,KAE5Dg4G,IACDI,EAGID,GAAYnqI,EAAQn9D,OAAS,EACvB,OAAOunM,KACP,IAAMA,GAChBD,IACAC,GAAc,KAClB3oL,GAAW2oL,EACXH,GAAmB,GACfE,IACAF,IAAoB,GACpBC,IACAD,IAAoB,IACb,OAAPj4G,IACAi4G,IAAoB,GAC5B,CACAF,EAAc5nM,KAAK8nM,EACvB,CAGArvJ,EAAMz4C,KAAK4nM,EACf,CAEA,GAAIx0L,EAAQ2qG,QAAU3qG,EAAQvD,IAAK,CAC/B,MAAMrP,EAAIi4C,EAAM/3C,OAAS,EACzB+3C,EAAMj4C,GAAGi4C,EAAMj4C,GAAGE,OAAS,IAAM,iBACrC,CAEK0S,EAAQ2qG,SACTz+F,GAAW,MACXlM,EAAQvD,IACRyP,GAAW,IAENlM,EAAQ2qG,SACbz+F,GAAW,WACf,MAAMuwE,EAAK,IAAIzwE,OAAOE,EAASlM,EAAQo0L,UAAY,GAAK,KACxD,SAAStwI,EAAMv9C,GACX,MAAMuR,EAAQvR,EAAKuR,MAAM2kE,GACnBz/B,EAAS,CAAC,EAChB,IAAKllC,EACD,OAAO,KACX,IAAK,IAAI1qB,EAAI,EAAGA,EAAI0qB,EAAMxqB,OAAQF,IAAK,CACnC,MAAM2F,EAAQ+kB,EAAM1qB,IAAM,GACpB4C,EAAMwS,EAAKpV,EAAI,GACrB4vD,EAAOhtD,EAAIqX,MAAQtU,GAAS/C,EAAI2kM,WAAa5hM,EAAM0T,MAAM,KAAO1T,CACpE,CACA,OAAOiqD,CACX,CACA,SAAS5gB,EAAU4gB,GACf,IAAIz2C,EAAO,GAEPuuL,GAAuB,EAC3B,IAAK,MAAMrqI,KAAWjkD,EAAU,CACvBsuL,GAAyBvuL,EAAKspG,SAAS,OACxCtpG,GAAQ,KACZuuL,GAAuB,EACvB,IAAK,MAAMnzJ,KAAS8oB,EAChB,GAAmB,IAAf9oB,EAAM5xC,KACNwW,GAAQo7B,EAAM5uC,WAEb,GAAmB,IAAf4uC,EAAM5xC,KAAkC,CAC7C,MAAM,MAAEgD,EAAK,WAAE4hM,EAAU,SAAEC,GAAajzJ,EAClCozJ,EAAQhiM,KAASiqD,EAASA,EAAOjqD,GAAS,GAChD,GAAI2nC,EAAQq6J,KAAWJ,EACnB,MAAM,IAAI7qJ,MAAM,mBAAmB/2C,8DAEvC,MAAM22B,EAAOgR,EAAQq6J,GACfA,EAAMjnK,KAAK,KACXinK,EACN,IAAKrrK,EAAM,CACP,IAAIkrK,EAYA,MAAM,IAAI9qJ,MAAM,2BAA2B/2C,MAVvC03D,EAAQn9D,OAAS,IAEbiZ,EAAKspG,SAAS,KACdtpG,EAAOA,EAAK7H,MAAM,GAAI,GAGtBo2L,GAAuB,EAKvC,CACAvuL,GAAQmjB,CACZ,CAER,CAEA,OAAOnjB,GAAQ,GACnB,CACA,MAAO,CACHk2E,KACAp3C,QACA7iC,OACAshD,QACA1nB,YAER,CAUA,SAAS44J,EAAkBn3L,EAAGC,GAC1B,IAAI1Q,EAAI,EACR,MAAOA,EAAIyQ,EAAEvQ,QAAUF,EAAI0Q,EAAExQ,OAAQ,CACjC,MAAM2Q,EAAOH,EAAE1Q,GAAKyQ,EAAEzQ,GAEtB,GAAI6Q,EACA,OAAOA,EACX7Q,GACJ,CAGA,OAAIyQ,EAAEvQ,OAASwQ,EAAExQ,OACO,IAAbuQ,EAAEvQ,QAAyB,KAATuQ,EAAE,IACpB,EACD,EAEDA,EAAEvQ,OAASwQ,EAAExQ,OACE,IAAbwQ,EAAExQ,QAAyB,KAATwQ,EAAE,GACrB,GACC,EAEJ,CACX,CAQA,SAASm3L,EAAuBp3L,EAAGC,GAC/B,IAAI1Q,EAAI,EACR,MAAM8nM,EAASr3L,EAAEwnC,MACX8vJ,EAASr3L,EAAEunC,MACjB,MAAOj4C,EAAI8nM,EAAO5nM,QAAUF,EAAI+nM,EAAO7nM,OAAQ,CAC3C,MAAM6R,EAAO61L,EAAkBE,EAAO9nM,GAAI+nM,EAAO/nM,IAEjD,GAAI+R,EACA,OAAOA,EACX/R,GACJ,CACA,GAAgD,IAA5C21B,KAAK2e,IAAIyzJ,EAAO7nM,OAAS4nM,EAAO5nM,QAAe,CAC/C,GAAI8nM,EAAoBF,GACpB,OAAO,EACX,GAAIE,EAAoBD,GACpB,OAAQ,CAChB,CAEA,OAAOA,EAAO7nM,OAAS4nM,EAAO5nM,MAOlC,CAOA,SAAS8nM,EAAoB/vJ,GACzB,MAAM93C,EAAO83C,EAAMA,EAAM/3C,OAAS,GAClC,OAAO+3C,EAAM/3C,OAAS,GAAKC,EAAKA,EAAKD,OAAS,GAAK,CACvD,CAEA,MAAM+nM,GAAa,CACftlM,KAAM,EACNgD,MAAO,IAELuiM,GAAiB,eAIvB,SAASC,GAAahvL,GAClB,IAAKA,EACD,MAAO,CAAC,IACZ,GAAa,MAATA,EACA,MAAO,CAAC,CAAC8uL,KACb,IAAK9uL,EAAK/H,WAAW,KACjB,MAAM,IAAIsrC,MAEJ,iBAAiBvjC,MAG3B,SAASivL,EAAMj2I,GACX,MAAM,IAAIzV,MAAM,QAAQnjC,OAAW09C,OAAY9E,IACnD,CACA,IAAI54C,EAAQ,EACR8uL,EAAgB9uL,EACpB,MAAMguF,EAAS,GAGf,IAAIlqC,EACJ,SAASirI,IACDjrI,GACAkqC,EAAO/nG,KAAK69D,GAChBA,EAAU,EACd,CAEA,IAEIrrB,EAFAhyC,EAAI,EAIJi3D,EAAS,GAETsxI,EAAW,GACf,SAASC,IACAvxI,IAES,IAAV19C,EACA8jD,EAAQ79D,KAAK,CACTmD,KAAM,EACNgD,MAAOsxD,IAGI,IAAV19C,GACK,IAAVA,GACU,IAAVA,GACI8jD,EAAQn9D,OAAS,IAAe,MAAT8xC,GAAyB,MAATA,IACvCo2J,EAAM,uBAAuBnxI,iDACjCoG,EAAQ79D,KAAK,CACTmD,KAAM,EACNgD,MAAOsxD,EACPylI,OAAQ6L,EACRhB,WAAqB,MAATv1J,GAAyB,MAATA,EAC5Bw1J,SAAmB,MAATx1J,GAAyB,MAATA,KAI9Bo2J,EAAM,mCAEVnxI,EAAS,GACb,CACA,SAASwxI,IACLxxI,GAAUjlB,CACd,CACA,MAAOhyC,EAAImZ,EAAKjZ,OAEZ,GADA8xC,EAAO74B,EAAKnZ,KACC,OAATgyC,GAA2B,IAAVz4B,EAKrB,OAAQA,GACJ,KAAK,EACY,MAATy4B,GACIilB,GACAuxI,IAEJF,KAEc,MAATt2J,GACLw2J,IACAjvL,EAAQ,GAGRkvL,IAEJ,MACJ,KAAK,EACDA,IACAlvL,EAAQ8uL,EACR,MACJ,KAAK,EACY,MAATr2J,EACAz4B,EAAQ,EAEH2uL,GAAenpL,KAAKizB,GACzBy2J,KAGAD,IACAjvL,EAAQ,EAEK,MAATy4B,GAAyB,MAATA,GAAyB,MAATA,GAChChyC,KAER,MACJ,KAAK,EAMY,MAATgyC,EAEqC,MAAjCu2J,EAASA,EAASroM,OAAS,GAC3BqoM,EAAWA,EAASj3L,MAAM,GAAI,GAAK0gC,EAEnCz4B,EAAQ,EAGZgvL,GAAYv2J,EAEhB,MACJ,KAAK,EAEDw2J,IACAjvL,EAAQ,EAEK,MAATy4B,GAAyB,MAATA,GAAyB,MAATA,GAChChyC,IACJuoM,EAAW,GACX,MACJ,QACIH,EAAM,iBACN,WAnEJC,EAAgB9uL,EAChBA,EAAQ,EA0EhB,OALc,IAAVA,GACA6uL,EAAM,uCAAuCnxI,MACjDuxI,IACAF,IAEO/gG,CACX,CAEA,SAASmhG,GAAyBC,EAAQtpM,EAAQuT,GAC9C,MAAM4jD,EAAS0wI,EAAeiB,GAAaQ,EAAOxvL,MAAOvG,GAUzD,MAAMuqC,EAAU5wB,EAAOiqC,EAAQ,CAC3BmyI,SACAtpM,SAEA2W,SAAU,GACV4yL,MAAO,KASX,OAPIvpM,IAIK89C,EAAQwrJ,OAAOhG,WAAatjM,EAAOspM,OAAOhG,SAC3CtjM,EAAO2W,SAASxW,KAAK29C,GAEtBA,CACX,CASA,SAAS0rJ,GAAoB9zD,EAAQ+zD,GAEjC,MAAMhtJ,EAAW,GACXitJ,EAAa,IAAI/lM,IAEvB,SAASgmM,EAAiB/uL,GACtB,OAAO8uL,EAAWjmM,IAAImX,EAC1B,CACA,SAASgvL,EAASN,EAAQtpM,EAAQ6pM,GAE9B,MAAMC,GAAaD,EACbE,EAAuBC,GAAqBV,GAKlDS,EAAqBzG,QAAUuG,GAAkBA,EAAeP,OAChE,MAAM/1L,EAAUqV,GAAa6gL,EAAeH,GAEtCW,EAAoB,CACtBF,GAEJ,GAAI,UAAWT,EAAQ,CACnB,MAAMY,EAAkC,kBAAjBZ,EAAOC,MAAqB,CAACD,EAAOC,OAASD,EAAOC,MAC3E,IAAK,MAAMA,KAASW,EAChBD,EAAkB9pM,KAAK+sB,EAAO,CAAC,EAAG68K,EAAsB,CAGpD3iL,WAAYyiL,EACNA,EAAeP,OAAOliL,WACtB2iL,EAAqB3iL,WAC3BtN,KAAMyvL,EAENjG,QAASuG,EACHA,EAAeP,OACfS,IAKlB,CACA,IAAIjsJ,EACAqsJ,EACJ,IAAK,MAAMC,KAAoBH,EAAmB,CAC9C,MAAM,KAAEnwL,GAASswL,EAIjB,GAAIpqM,GAAsB,MAAZ8Z,EAAK,GAAY,CAC3B,MAAMuwL,EAAarqM,EAAOspM,OAAOxvL,KAC3BwwL,EAAwD,MAAtCD,EAAWA,EAAWxpM,OAAS,GAAa,GAAK,IACzEupM,EAAiBtwL,KACb9Z,EAAOspM,OAAOxvL,MAAQA,GAAQwwL,EAAkBxwL,EACxD,CA2BA,GArBAgkC,EAAUurJ,GAAyBe,EAAkBpqM,EAAQuT,GAKzDs2L,EACAA,EAAeN,MAAMppM,KAAK29C,IAO1BqsJ,EAAkBA,GAAmBrsJ,EACjCqsJ,IAAoBrsJ,GACpBqsJ,EAAgBZ,MAAMppM,KAAK29C,GAG3BgsJ,GAAaR,EAAO1uL,OAAS2vL,GAAczsJ,IAC3C0sJ,EAAYlB,EAAO1uL,OAEvBmvL,EAAqBpzL,SAAU,CAC/B,MAAMA,EAAWozL,EAAqBpzL,SACtC,IAAK,IAAIhW,EAAI,EAAGA,EAAIgW,EAAS9V,OAAQF,IACjCipM,EAASjzL,EAAShW,GAAIm9C,EAAS+rJ,GAAkBA,EAAelzL,SAAShW,GAEjF,CAGAkpM,EAAiBA,GAAkB/rJ,EAKnC2sJ,EAAc3sJ,EAClB,CACA,OAAOqsJ,EACD,KAEEK,EAAYL,EAAgB,EAE9Bz8B,CACV,CACA,SAAS88B,EAAYE,GACjB,GAAIxD,EAAYwD,GAAa,CACzB,MAAM5sJ,EAAU4rJ,EAAWjmM,IAAIinM,GAC3B5sJ,IACA4rJ,EAAW1nM,OAAO0oM,GAClBjuJ,EAASlsC,OAAOksC,EAAS9rC,QAAQmtC,GAAU,GAC3CA,EAAQnnC,SAASrS,QAAQkmM,GACzB1sJ,EAAQyrJ,MAAMjlM,QAAQkmM,GAE9B,KACK,CACD,MAAMvqM,EAAQw8C,EAAS9rC,QAAQ+5L,GAC3BzqM,GAAS,IACTw8C,EAASlsC,OAAOtQ,EAAO,GACnByqM,EAAWpB,OAAO1uL,MAClB8uL,EAAW1nM,OAAO0oM,EAAWpB,OAAO1uL,MACxC8vL,EAAW/zL,SAASrS,QAAQkmM,GAC5BE,EAAWnB,MAAMjlM,QAAQkmM,GAEjC,CACJ,CACA,SAASG,IACL,OAAOluJ,CACX,CACA,SAASguJ,EAAc3sJ,GACnB,IAAIn9C,EAAI,EACR,MAAOA,EAAI87C,EAAS57C,QAChB2nM,EAAuB1qJ,EAASrB,EAAS97C,KAAO,IAG/Cm9C,EAAQwrJ,OAAOxvL,OAAS2iC,EAAS97C,GAAG2oM,OAAOxvL,OACvC8wL,GAAgB9sJ,EAASrB,EAAS97C,KACvCA,IACJ87C,EAASlsC,OAAO5P,EAAG,EAAGm9C,GAElBA,EAAQwrJ,OAAO1uL,OAAS2vL,GAAczsJ,IACtC4rJ,EAAWhmM,IAAIo6C,EAAQwrJ,OAAO1uL,KAAMkjC,EAC5C,CACA,SAASvuC,EAAQqqD,EAAU4oI,GACvB,IAAI1kJ,EAEAhkC,EACAc,EAFA21C,EAAS,CAAC,EAGd,GAAI,SAAUqJ,GAAYA,EAASh/C,KAAM,CAErC,GADAkjC,EAAU4rJ,EAAWjmM,IAAIm2D,EAASh/C,OAC7BkjC,EACD,MAAMypJ,EAAkB,EAAsC,CAC1D3tI,aAGJ,EAMJh/C,EAAOkjC,EAAQwrJ,OAAO1uL,KACtB21C,EAASrjC,EAET29K,GAAmBrI,EAAgBjyI,OAGnCzS,EAAQ/nC,KAAKhR,QAAOoqB,IAAMA,EAAEg5K,WAAUnjM,KAAImqB,GAAKA,EAAEvU,QAGjDg/C,EAASrJ,QACLs6I,GAAmBjxI,EAASrJ,OAAQzS,EAAQ/nC,KAAK/Q,KAAImqB,GAAKA,EAAEvU,SAEhEd,EAAOgkC,EAAQnO,UAAU4gB,EAC7B,MACK,GAAI,SAAUqJ,EAGf9/C,EAAO8/C,EAAS9/C,KAIhBgkC,EAAUrB,EAASnD,MAAK3wB,GAAKA,EAAEqnE,GAAGtwE,KAAK5F,KAEnCgkC,IAEAyS,EAASzS,EAAQuZ,MAAMv9C,GACvBc,EAAOkjC,EAAQwrJ,OAAO1uL,UAIzB,CAKD,GAHAkjC,EAAU0kJ,EAAgB5nL,KACpB8uL,EAAWjmM,IAAI++L,EAAgB5nL,MAC/B6hC,EAASnD,MAAK3wB,GAAKA,EAAEqnE,GAAGtwE,KAAK8iL,EAAgB1oL,SAC9CgkC,EACD,MAAMypJ,EAAkB,EAAsC,CAC1D3tI,WACA4oI,oBAER5nL,EAAOkjC,EAAQwrJ,OAAO1uL,KAGtB21C,EAASrjC,EAAO,CAAC,EAAGs1K,EAAgBjyI,OAAQqJ,EAASrJ,QACrDz2C,EAAOgkC,EAAQnO,UAAU4gB,EAC7B,CACA,MAAM+yB,EAAU,GAChB,IAAIwnH,EAAgBhtJ,EACpB,MAAOgtJ,EAEHxnH,EAAQ3iE,QAAQmqL,EAAcxB,QAC9BwB,EAAgBA,EAAc9qM,OAElC,MAAO,CACH4a,OACAd,OACAy2C,SACA+yB,UACAn3C,KAAM4+J,GAAgBznH,GAE9B,CAGA,OAzNAmmH,EAAgB7gL,GAAa,CAAEs1F,QAAQ,EAAOluG,KAAK,EAAM23L,WAAW,GAAS8B,GAwN7E/zD,EAAOpxI,SAAQu+K,GAAS+mB,EAAS/mB,KAC1B,CAAE+mB,WAAUr6L,UAASi7L,cAAaG,YAAWhB,mBACxD,CACA,SAASkB,GAAmBt6I,EAAQx6C,GAChC,MAAMosL,EAAY,CAAC,EACnB,IAAK,MAAM5+L,KAAOwS,EACVxS,KAAOgtD,IACP4xI,EAAU5+L,GAAOgtD,EAAOhtD,IAEhC,OAAO4+L,CACX,CAOA,SAAS6H,GAAqBV,GAC1B,MAAO,CACHxvL,KAAMwvL,EAAOxvL,KACbkxL,SAAU1B,EAAO0B,SACjBpwL,KAAM0uL,EAAO1uL,KACbuxB,KAAMm9J,EAAOn9J,MAAQ,CAAC,EACtBm3J,aAAS3gM,EACTsb,YAAaqrL,EAAOrrL,YACpBpM,MAAOo5L,GAAqB3B,GAC5B3yL,SAAU2yL,EAAO3yL,UAAY,GAC7ByvI,UAAW,CAAC,EACZ8kD,YAAa,IAAI5pM,IACjB6pM,aAAc,IAAI7pM,IAClB8pM,eAAgB,CAAC,EACjBhkL,WAAY,eAAgBkiL,EACtBA,EAAOliL,YAAc,KACrBkiL,EAAOzyL,WAAa,CAAEoF,QAASqtL,EAAOzyL,WAEpD,CAMA,SAASo0L,GAAqB3B,GAC1B,MAAM+B,EAAc,CAAC,EAEfx5L,EAAQy3L,EAAOz3L,QAAS,EAC9B,GAAI,cAAey3L,EACf+B,EAAYpvL,QAAUpK,OAKtB,IAAK,MAAM+I,KAAQ0uL,EAAOliL,WACtBikL,EAAYzwL,GAAyB,mBAAV/I,EAAsBA,EAAQA,EAAM+I,GAEvE,OAAOywL,CACX,CAKA,SAASd,GAAcjB,GACnB,MAAOA,EAAQ,CACX,GAAIA,EAAOA,OAAOhG,QACd,OAAO,EACXgG,EAASA,EAAOtpM,MACpB,CACA,OAAO,CACX,CAMA,SAAS+qM,GAAgBznH,GACrB,OAAOA,EAAQvzC,QAAO,CAAC5D,EAAMm9J,IAAWp8K,EAAOif,EAAMm9J,EAAOn9J,OAAO,CAAC,EACxE,CACA,SAASvjB,GAAawpC,EAAUk5I,GAC5B,MAAM/3L,EAAU,CAAC,EACjB,IAAK,MAAMhQ,KAAO6uD,EACd7+C,EAAQhQ,GAAOA,KAAO+nM,EAAiBA,EAAe/nM,GAAO6uD,EAAS7uD,GAE1E,OAAOgQ,CACX,CA0CA,SAASq3L,GAAgBtB,EAAQtpM,GAC7B,OAAOA,EAAO2W,SAASX,MAAKmG,GAASA,IAAUmtL,GAAUsB,GAAgBtB,EAAQntL,IACrF,CAmBA,MAAMovL,GAAU,KACVC,GAAe,KACfC,GAAW,MACXC,GAAW,KACXC,GAAQ,MACRC,GAAU,MAeVC,GAAsB,OACtBC,GAAuB,OACvBC,GAAe,OACfC,GAAkB,OAClBC,GAAoB,OACpBC,GAAc,OACdC,GAAqB,OACrBC,GAAe,OASrB,SAASC,GAAapvK,GAClB,OAAOqvK,UAAU,GAAKrvK,GACjBzpB,QAAQ04L,GAAa,KACrB14L,QAAQq4L,GAAqB,KAC7Br4L,QAAQs4L,GAAsB,IACvC,CAOA,SAASS,GAAWtvK,GAChB,OAAOovK,GAAapvK,GACfzpB,QAAQy4L,GAAmB,KAC3Bz4L,QAAQ24L,GAAoB,KAC5B34L,QAAQu4L,GAAc,IAC/B,CAQA,SAASS,GAAiBvvK,GACtB,OAAQovK,GAAapvK,GAEhBzpB,QAAQo4L,GAAS,OACjBp4L,QAAQ44L,GAAc,KACtB54L,QAAQ+3L,GAAS,OACjB/3L,QAAQg4L,GAAc,OACtBh4L,QAAQw4L,GAAiB,KACzBx4L,QAAQy4L,GAAmB,KAC3Bz4L,QAAQ24L,GAAoB,KAC5B34L,QAAQu4L,GAAc,IAC/B,CAMA,SAASU,GAAexvK,GACpB,OAAOuvK,GAAiBvvK,GAAMzpB,QAAQk4L,GAAU,MACpD,CAOA,SAASgB,GAAWzvK,GAChB,OAAOovK,GAAapvK,GAAMzpB,QAAQ+3L,GAAS,OAAO/3L,QAAQm4L,GAAO,MACrE,CAUA,SAASgB,GAAY1vK,GACjB,OAAe,MAARA,EAAe,GAAKyvK,GAAWzvK,GAAMzpB,QAAQi4L,GAAU,MAClE,CAQA,SAASmB,GAAO3vK,GACZ,IACI,OAAO67B,mBAAmB,GAAK77B,EAInC,CAFA,MAAOtvB,GAEP,CACA,MAAO,GAAKsvB,CAChB,CAWA,SAASslK,GAAWhpI,GAChB,MAAMkpI,EAAQ,CAAC,EAGf,GAAe,KAAXlpI,GAA4B,MAAXA,EACjB,OAAOkpI,EACX,MAAMoK,EAA6B,MAAdtzI,EAAO,GACtBuzI,GAAgBD,EAAetzI,EAAOtnD,MAAM,GAAKsnD,GAAQv/C,MAAM,KACrE,IAAK,IAAIrZ,EAAI,EAAGA,EAAImsM,EAAajsM,SAAUF,EAAG,CAE1C,MAAMosM,EAAcD,EAAansM,GAAG6S,QAAQo4L,GAAS,KAE/CoB,EAAQD,EAAYp8L,QAAQ,KAC5BpN,EAAMqpM,GAAOI,EAAQ,EAAID,EAAcA,EAAY96L,MAAM,EAAG+6L,IAC5D1mM,EAAQ0mM,EAAQ,EAAI,KAAOJ,GAAOG,EAAY96L,MAAM+6L,EAAQ,IAClE,GAAIzpM,KAAOk/L,EAAO,CAEd,IAAI1zE,EAAe0zE,EAAMl/L,GACpB0qC,EAAQ8gF,KACTA,EAAe0zE,EAAMl/L,GAAO,CAACwrH,IAEjCA,EAAa5uH,KAAKmG,EACtB,MAEIm8L,EAAMl/L,GAAO+C,CAErB,CACA,OAAOm8L,CACX,CAUA,SAASM,GAAeN,GACpB,IAAIlpI,EAAS,GACb,IAAK,IAAIh2D,KAAOk/L,EAAO,CACnB,MAAMn8L,EAAQm8L,EAAMl/L,GAEpB,GADAA,EAAMkpM,GAAelpM,GACR,MAAT+C,EAAe,MAED3D,IAAV2D,IACAizD,IAAWA,EAAO14D,OAAS,IAAM,IAAM0C,GAE3C,QACJ,CAEA,MAAMc,EAAS4pC,EAAQ3nC,GACjBA,EAAMtB,KAAIsC,GAAKA,GAAKklM,GAAiBllM,KACrC,CAAChB,GAASkmM,GAAiBlmM,IACjCjC,EAAOC,SAAQgC,SAGG3D,IAAV2D,IAEAizD,IAAWA,EAAO14D,OAAS,IAAM,IAAM0C,EAC1B,MAAT+C,IACAizD,GAAU,IAAMjzD,GACxB,GAER,CACA,OAAOizD,CACX,CASA,SAAS0zI,GAAexK,GACpB,MAAMyK,EAAkB,CAAC,EACzB,IAAK,MAAM3pM,KAAOk/L,EAAO,CACrB,MAAMn8L,EAAQm8L,EAAMl/L,QACNZ,IAAV2D,IACA4mM,EAAgB3pM,GAAO0qC,EAAQ3nC,GACzBA,EAAMtB,KAAIsC,GAAW,MAALA,EAAY,KAAO,GAAKA,IAC/B,MAAThB,EACIA,EACA,GAAKA,EAEvB,CACA,OAAO4mM,CACX,CASA,MAAMC,GAAkB5qM,OAAkF,IAOpG6qM,GAAe7qM,OAAuE,IAOtF8qM,GAAY9qM,OAA4D,IAOxE+qM,GAAmB/qM,OAAoE,IAOvFgrM,GAAwBhrM,OAA0E,IAKxG,SAASirM,KACL,IAAIv4I,EAAW,GACf,SAASjxD,EAAIsO,GAET,OADA2iD,EAAS90D,KAAKmS,GACP,KACH,MAAM3R,EAAIs0D,EAAStkD,QAAQ2B,GACvB3R,GAAK,GACLs0D,EAAS1kD,OAAO5P,EAAG,EAAE,CAEjC,CACA,SAAS6iC,IACLyxB,EAAW,EACf,CACA,MAAO,CACHjxD,MACA0pC,KAAM,IAAMunB,EACZzxB,QAER,CAyDA,SAASiqK,GAAiB/gK,EAAO7jB,EAAI9F,EAAMumL,EAAQ1uL,GAE/C,MAAM8yL,EAAqBpE,IAEtBA,EAAO8B,eAAexwL,GAAQ0uL,EAAO8B,eAAexwL,IAAS,IAClE,MAAO,IAAM,IAAItL,SAAQ,CAACC,EAASm/C,KAC/B,MAAMzlD,EAAQq0C,KACI,IAAVA,EACAoR,EAAO64I,EAAkB,EAAuC,CAC5DxkL,OACA8F,QAGCy0B,aAAiBD,MACtBqR,EAAOpR,GAEF2pJ,EAAgB3pJ,GACrBoR,EAAO64I,EAAkB,EAA8C,CACnExkL,KAAM8F,EACNA,GAAIy0B,MAIJowJ,GAEApE,EAAO8B,eAAexwL,KAAU8yL,GACf,oBAAVpwJ,GACPowJ,EAAmBvtM,KAAKm9C,GAE5B/tC,IACJ,EAGEo+L,EAAcjhK,EAAM5kC,KAAKwhM,GAAUA,EAAOljD,UAAUxrI,GAAOiO,EAAI9F,EAAsF9Z,GAC3J,IAAI2kM,EAAYt+L,QAAQC,QAAQo+L,GAC5BjhK,EAAM7rC,OAAS,IACf+sM,EAAYA,EAAUj+L,KAAK1G,IAsB/B2kM,EAAU9/L,OAAMH,GAAO+gD,EAAO/gD,IAAK,GAE3C,CAYA,SAASkgM,GAAwBvqH,EAASwqH,EAAWjlL,EAAI9F,GACrD,MAAMgrL,EAAS,GACf,IAAK,MAAMzE,KAAUhmH,EAAS,CACtB,EAIJ,IAAK,MAAM1oE,KAAQ0uL,EAAOliL,WAAY,CAClC,IAAI4mL,EAAe1E,EAAOliL,WAAWxM,GAiCrC,GAAkB,qBAAdkzL,GAAqCxE,EAAOljD,UAAUxrI,GAE1D,GAAIqzL,GAAiBD,GAAe,CAEhC,MAAMz6L,EAAUy6L,EAAavxK,WAAauxK,EACpCthK,EAAQn5B,EAAQu6L,GACtBphK,GAASqhK,EAAO5tM,KAAKstM,GAAiB/gK,EAAO7jB,EAAI9F,EAAMumL,EAAQ1uL,GACnE,KACK,CAED,IAAIszL,EAAmBF,IACnB,EAIJD,EAAO5tM,MAAK,IAAM+tM,EAAiBv+L,MAAK+Y,IACpC,IAAKA,EACD,OAAOpZ,QAAQo/C,OAAO,IAAIrR,MAAM,+BAA+BziC,UAAa0uL,EAAOxvL,UACvF,MAAMq0L,EAAoBlM,EAAWv5K,GAC/BA,EAASzM,QACTyM,EAGN4gL,EAAOliL,WAAWxM,GAAQuzL,EAE1B,MAAM56L,EAAU46L,EAAkB1xK,WAAa0xK,EACzCzhK,EAAQn5B,EAAQu6L,GACtB,OAAOphK,GAAS+gK,GAAiB/gK,EAAO7jB,EAAI9F,EAAMumL,EAAQ1uL,EAA1C6yL,EAAiD,KAEzE,CACJ,CACJ,CACA,OAAOM,CACX,CAOA,SAASE,GAAiBp3L,GACtB,MAA6B,kBAAdA,GACX,gBAAiBA,GACjB,UAAWA,GACX,cAAeA,CACvB,CAgCA,SAASu3L,GAAQv8L,GACb,MAAMw8L,GAAS,QAAOhB,IAChBiB,GAAe,QAAOhB,IACtBzqB,GAAQ,SAAS,IAAMwrB,EAAO9+L,SAAQ,QAAMsC,EAAMgX,OAClD0lL,GAAoB,SAAS,KAC/B,MAAM,QAAEjrH,GAAYu/F,EAAMv8K,OACpB,OAAEzF,GAAWyiF,EACbkrH,EAAelrH,EAAQziF,EAAS,GAChC4tM,EAAiBH,EAAahrH,QACpC,IAAKkrH,IAAiBC,EAAe5tM,OACjC,OAAQ,EACZ,MAAMZ,EAAQwuM,EAAehjL,UAAU23K,EAAkBxzL,KAAK,KAAM4+L,IACpE,GAAIvuM,GAAS,EACT,OAAOA,EAEX,MAAMyuM,EAAmBC,GAAgBrrH,EAAQziF,EAAS,IAC1D,OAEAA,EAAS,GAIL8tM,GAAgBH,KAAkBE,GAElCD,EAAeA,EAAe5tM,OAAS,GAAGiZ,OAAS40L,EACjDD,EAAehjL,UAAU23K,EAAkBxzL,KAAK,KAAM0zE,EAAQziF,EAAS,KACvEZ,CAAM,IAEV2uM,GAAW,SAAS,IAAML,EAAkBjoM,OAAS,GACvDuoM,GAAeP,EAAa/9I,OAAQsyH,EAAMv8K,MAAMiqD,UAC9Cu+I,GAAgB,SAAS,IAAMP,EAAkBjoM,OAAS,GAC5DioM,EAAkBjoM,QAAUgoM,EAAahrH,QAAQziF,OAAS,GAC1DwiM,EAA0BiL,EAAa/9I,OAAQsyH,EAAMv8K,MAAMiqD,UAC/D,SAASw+I,EAASlwK,EAAI,CAAC,GACnB,OAAImwK,GAAWnwK,GACJwvK,GAAO,QAAMx8L,EAAM2B,SAAW,UAAY,SAAQ,QAAM3B,EAAMgX,KAEnE/a,MAAM4/J,GAELp+J,QAAQC,SACnB,CAqBA,MAAO,CACHszK,QACAzpH,MAAM,SAAS,IAAMypH,EAAMv8K,MAAM8yD,OACjCw1I,WACAE,gBACAC,WAER,CACA,MAAME,IAA+B,QAAgB,CACjDr0L,KAAM,aACNs0L,aAAc,CAAEC,KAAM,GACtBt9L,MAAO,CACHgX,GAAI,CACAvlB,KAAM,CAACwX,OAAQjW,QACf66E,UAAU,GAEdlsE,QAASwH,QACTo0L,YAAat0L,OAEbu0L,iBAAkBv0L,OAClB41F,OAAQ11F,QACRs0L,iBAAkB,CACdhsM,KAAMwX,OACNmB,QAAS,SAGjBmyL,WACAtyL,MAAMjK,GAAO,MAAEiD,IACX,MAAMy6L,GAAO,QAASnB,GAAQv8L,KACxB,QAAE0B,IAAY,QAAO85L,IACrBmC,GAAU,SAAS,KAAM,CAC3B,CAACC,GAAa59L,EAAMu9L,YAAa77L,EAAQm8L,gBAAiB,uBAAwBH,EAAKX,SAMvF,CAACa,GAAa59L,EAAMw9L,iBAAkB97L,EAAQo8L,qBAAsB,6BAA8BJ,EAAKT,kBAE3G,MAAO,KACH,MAAMn4L,EAAW7B,EAAMmH,SAAWnH,EAAMmH,QAAQszL,GAChD,OAAO19L,EAAM6+F,OACP/5F,GACA,IAAAyR,GAAE,IAAK,CACL,eAAgBmnL,EAAKT,cACfj9L,EAAMy9L,iBACN,KACNl2I,KAAMm2I,EAAKn2I,KAGXg9B,QAASm5G,EAAKR,SACdr7K,MAAO87K,EAAQlpM,OAChBqQ,EAAS,CAExB,IAOEi5L,GAAaX,GACnB,SAASD,GAAWnwK,GAEhB,KAAIA,EAAEuN,SAAWvN,EAAEqN,QAAUrN,EAAEiN,SAAWjN,EAAEmN,YAGxCnN,EAAEgxK,wBAGWltM,IAAbk8B,EAAEyN,QAAqC,IAAbzN,EAAEyN,QAAhC,CAIA,GAAIzN,EAAE+M,eAAiB/M,EAAE+M,cAAcizG,aAAc,CAEjD,MAAMx7I,EAASw7B,EAAE+M,cAAcizG,aAAa,UAC5C,GAAI,cAAcn/H,KAAKrc,GACnB,MACR,CAIA,OAFIw7B,EAAE8M,gBACF9M,EAAE8M,kBACC,CAZG,CAad,CACA,SAASkjK,GAAex7C,EAAOrE,GAC3B,IAAK,MAAMzrJ,KAAOyrJ,EAAO,CACrB,MAAM8gD,EAAa9gD,EAAMzrJ,GACnBwsM,EAAa18C,EAAM9vJ,GACzB,GAA0B,kBAAfusM,GACP,GAAIA,IAAeC,EACf,OAAO,OAGX,IAAK9hK,EAAQ8hK,IACTA,EAAWlvM,SAAWivM,EAAWjvM,QACjCivM,EAAW95L,MAAK,CAAC1P,EAAO3F,IAAM2F,IAAUypM,EAAWpvM,KACnD,OAAO,CAEnB,CACA,OAAO,CACX,CAKA,SAASguM,GAAgBrF,GACrB,OAAOA,EAAUA,EAAOhG,QAAUgG,EAAOhG,QAAQxpL,KAAOwvL,EAAOxvL,KAAQ,EAC3E,CAOA,MAAM21L,GAAe,CAACO,EAAWC,EAAaC,IAA8B,MAAbF,EACzDA,EACe,MAAfC,EACIA,EACAC,EAEJC,IAA+B,QAAgB,CACjDv1L,KAAM,aAENvF,cAAc,EACdxD,MAAO,CACH+I,KAAM,CACFtX,KAAMwX,OACNmB,QAAS,WAEb4mK,MAAOh+K,QAIXqqM,aAAc,CAAEC,KAAM,GACtBrzL,MAAMjK,GAAO,MAAEkD,EAAK,MAAED,IAElB,MAAMs7L,GAAgB,QAAO7C,IACvB8C,GAAiB,SAAS,IAAMx+L,EAAMgxK,OAASutB,EAAc9pM,QAC7DgqM,GAAgB,QAAOlD,GAAc,GAGrCmD,GAAQ,SAAS,KACnB,IAAIC,GAAe,QAAMF,GACzB,MAAM,QAAEhtH,GAAY+sH,EAAe/pM,MACnC,IAAImqM,EACJ,OAAQA,EAAentH,EAAQktH,MAC1BC,EAAarpL,WACdopL,IAEJ,OAAOA,CAAY,IAEjBE,GAAkB,SAAS,IAAML,EAAe/pM,MAAMg9E,QAAQitH,EAAMjqM,UAC1E,QAAQ8mM,IAAc,SAAS,IAAMmD,EAAMjqM,MAAQ,MACnD,QAAQ6mM,GAAiBuD,IACzB,QAAQnD,GAAuB8C,GAC/B,MAAMM,GAAU,UAiChB,OA9BA,SAAM,IAAM,CAACA,EAAQrqM,MAAOoqM,EAAgBpqM,MAAOuL,EAAM+I,QAAO,EAAElN,EAAUmb,EAAIjO,IAAQg2L,EAAa7tL,EAAM8tL,MAEnGhoL,IAGAA,EAAGu9H,UAAUxrI,GAAQlN,EAOjBqV,GAAQA,IAAS8F,GAAMnb,GAAYA,IAAakjM,IAC3C/nL,EAAGqiL,YAAYljM,OAChB6gB,EAAGqiL,YAAcnoL,EAAKmoL,aAErBriL,EAAGsiL,aAAanjM,OACjB6gB,EAAGsiL,aAAepoL,EAAKooL,iBAK/Bz9L,IACAmb,GAGE9F,GAASqgL,EAAkBv6K,EAAI9F,IAAU6tL,IAC1C/nL,EAAGuiL,eAAexwL,IAAS,IAAItW,SAAQiE,GAAYA,EAASmF,IACjE,GACD,CAAEkL,MAAO,SACL,KACH,MAAMiqK,EAAQwtB,EAAe/pM,MAGvBwqM,EAAcj/L,EAAM+I,KACpB61L,EAAeC,EAAgBpqM,MAC/ByqM,EAAgBN,GAAgBA,EAAarpL,WAAW0pL,GAC9D,IAAKC,EACD,OAAOllL,GAAc/W,EAAMmH,QAAS,CAAEtH,UAAWo8L,EAAeluB,UAGpE,MAAMmuB,EAAmBP,EAAa5+L,MAAMi/L,GACtCG,EAAaD,GACQ,IAArBA,EACInuB,EAAMtyH,OACsB,oBAArBygJ,EACHA,EAAiBnuB,GACjBmuB,EACR,KACA14K,EAAmBrqB,IAEjBA,EAAM4I,UAAUjF,cAChB6+L,EAAarqD,UAAU0qD,GAAe,KAC1C,EAEEj6L,GAAY,IAAAuR,GAAE2oL,EAAe7jL,EAAO,CAAC,EAAG+jL,EAAYl8L,EAAO,CAC7DujB,mBACAttB,IAAK2lM,KAoBT,OAGA9kL,GAAc/W,EAAMmH,QAAS,CAAEtH,UAAWkC,EAAWgsK,WACjDhsK,CAAU,CAEtB,IAEJ,SAASgV,GAAcxI,EAAMlO,GACzB,IAAKkO,EACD,OAAO,KACX,MAAM6tL,EAAc7tL,EAAKlO,GACzB,OAA8B,IAAvB+7L,EAAYrwM,OAAeqwM,EAAY,GAAKA,CACvD,CAMA,MAAMC,GAAahB,GAodnB,SAASiB,GAAa79L,GAClB,MAAMuqC,EAAU0rJ,GAAoBj2L,EAAQmiI,OAAQniI,GAC9C89L,EAAe99L,EAAQgvL,YAAcA,GACrC+O,EAAmB/9L,EAAQwvL,gBAAkBA,GAC7CiE,EAAgBzzL,EAAQwxL,QAI9B,MAAMwM,EAAe/D,KACfgE,EAAsBhE,KACtBiE,EAAcjE,KACdc,GAAe,QAAWnH,GAChC,IAAIuK,EAAkBvK,EAElBnF,GAAazuL,EAAQo+L,gBAAkB,sBAAuB5M,UAC9DA,QAAQ6M,kBAAoB,UAEhC,MAAMC,EAAkB3P,EAActyL,KAAK,MAAMkiM,GAAc,GAAKA,IAC9DC,EAAe7P,EAActyL,KAAK,KAAM+8L,IACxCqF,EAEN9P,EAActyL,KAAK,KAAMg9L,IACzB,SAAShD,EAASqI,EAAepvB,GAC7B,IAAI7iL,EACAspM,EAQJ,OAPIpC,EAAY+K,IACZjyM,EAAS89C,EAAQ6rJ,iBAAiBsI,GAClC3I,EAASzmB,GAGTymB,EAAS2I,EAENn0J,EAAQ8rJ,SAASN,EAAQtpM,EACpC,CACA,SAASwqM,EAAY5vL,GACjB,MAAMs3L,EAAgBp0J,EAAQ6rJ,iBAAiB/uL,GAC3Cs3L,GACAp0J,EAAQ0sJ,YAAY0H,EAK5B,CACA,SAASvH,IACL,OAAO7sJ,EAAQ6sJ,YAAY3lM,KAAImtM,GAAgBA,EAAa7I,QAChE,CACA,SAAS8I,EAASx3L,GACd,QAASkjC,EAAQ6rJ,iBAAiB/uL,EACtC,CACA,SAASrL,EAAQ8iM,EAAa7P,GAI1B,GADAA,EAAkBt1K,EAAO,CAAC,EAAGs1K,GAAmB8L,EAAahoM,OAClC,kBAAhB+rM,EAA0B,CACjC,MAAMC,EAAqBhQ,EAAS+O,EAAcgB,EAAa7P,EAAgB1oL,MACzE22L,EAAe3yJ,EAAQvuC,QAAQ,CAAEuK,KAAMw4L,EAAmBx4L,MAAQ0oL,GAClEppI,EAAO4tI,EAAc/C,WAAWqO,EAAmB1iJ,UASzD,OAAO1iC,EAAOolL,EAAoB7B,EAAc,CAC5ClgJ,OAAQyhJ,EAAavB,EAAalgJ,QAClCiJ,KAAMozI,GAAO0F,EAAmB94I,MAChC4tI,oBAAgBzkM,EAChBy2D,QAER,CACA,IAAIm5I,EAEJ,GAAI,SAAUF,EAUVE,EAAkBrlL,EAAO,CAAC,EAAGmlL,EAAa,CACtCv4L,KAAMwoL,EAAS+O,EAAcgB,EAAYv4L,KAAM0oL,EAAgB1oL,MAAMA,WAGxE,CAED,MAAM04L,EAAetlL,EAAO,CAAC,EAAGmlL,EAAY9hJ,QAC5C,IAAK,MAAMhtD,KAAOivM,EACW,MAArBA,EAAajvM,WACNivM,EAAajvM,GAI5BgvM,EAAkBrlL,EAAO,CAAC,EAAGmlL,EAAa,CACtC9hJ,OAAQwhJ,EAAaM,EAAY9hJ,UAIrCiyI,EAAgBjyI,OAASwhJ,EAAavP,EAAgBjyI,OAC1D,CACA,MAAMkgJ,EAAe3yJ,EAAQvuC,QAAQgjM,EAAiB/P,GAChDhpI,EAAO64I,EAAY74I,MAAQ,GAMjCi3I,EAAalgJ,OAASshJ,EAAgBG,EAAavB,EAAalgJ,SAChE,MAAMX,EAAWkzI,EAAawO,EAAkBpkL,EAAO,CAAC,EAAGmlL,EAAa,CACpE74I,KAAM+yI,GAAW/yI,GACjB1/C,KAAM22L,EAAa32L,QAEjBs/C,EAAO4tI,EAAc/C,WAAWr0I,GAStC,OAAO1iC,EAAO,CACV0iC,WAGA4J,OACAipI,MAMA6O,IAAqBvO,GACfkK,GAAeoF,EAAY5P,OAC1B4P,EAAY5P,OAAS,CAAC,GAC9BgO,EAAc,CACbrJ,oBAAgBzkM,EAChBy2D,QAER,CACA,SAASq5I,EAAiB5pL,GACtB,MAAqB,kBAAPA,EACRy5K,EAAS+O,EAAcxoL,EAAIylL,EAAahoM,MAAMwT,MAC9CoT,EAAO,CAAC,EAAGrE,EACrB,CACA,SAAS6pL,EAAwB7pL,EAAI9F,GACjC,GAAI2uL,IAAoB7oL,EACpB,OAAO0+K,EAAkB,EAAyC,CAC9DxkL,OACA8F,MAGZ,CACA,SAAS1oB,EAAK0oB,GACV,OAAO8pL,EAAiB9pL,EAC5B,CACA,SAASrV,EAAQqV,GACb,OAAO1oB,EAAK+sB,EAAOulL,EAAiB5pL,GAAK,CAAErV,SAAS,IACxD,CACA,SAASo/L,EAAqB/pL,GAC1B,MAAMgqL,EAAchqL,EAAGy6D,QAAQz6D,EAAGy6D,QAAQziF,OAAS,GACnD,GAAIgyM,GAAeA,EAAY7H,SAAU,CACrC,MAAM,SAAEA,GAAa6H,EACrB,IAAIC,EAAwC,oBAAb9H,EAA0BA,EAASniL,GAAMmiL,EAiBxE,MAhBiC,kBAAtB8H,IACPA,EACIA,EAAkBxiM,SAAS,MAAQwiM,EAAkBxiM,SAAS,KACvDwiM,EAAoBL,EAAiBK,GAEpC,CAAEh5L,KAAMg5L,GAGpBA,EAAkBviJ,OAAS,CAAC,GAQzBrjC,EAAO,CACVu1K,MAAO55K,EAAG45K,MACVjpI,KAAM3wC,EAAG2wC,KAETjJ,OAAQ,SAAUuiJ,EAAoB,CAAC,EAAIjqL,EAAG0nC,QAC/CuiJ,EACP,CACJ,CACA,SAASH,EAAiB9pL,EAAIu+K,GAC1B,MAAM2L,EAAkBrB,EAAkBniM,EAAQsZ,GAC5C9F,EAAOurL,EAAahoM,MACpB6O,EAAO0T,EAAG3O,MACV84L,EAAQnqL,EAAGmqL,MAEXx/L,GAAyB,IAAfqV,EAAGrV,QACby/L,EAAiBL,EAAqBG,GAC5C,GAAIE,EACA,OAAON,EAAiBzlL,EAAOulL,EAAiBQ,GAAiB,CAC7D/4L,MAAiC,kBAAnB+4L,EACR/lL,EAAO,CAAC,EAAG/X,EAAM89L,EAAe/4L,OAChC/E,EACN69L,QACAx/L,YAGJ4zL,GAAkB2L,GAEtB,MAAMG,EAAaH,EAEnB,IAAII,EAYJ,OAbAD,EAAW9L,eAAiBA,GAEvB4L,GAAS/P,EAAoBqO,EAAkBvuL,EAAMgwL,KACtDI,EAAU5L,EAAkB,GAA2C,CAAE1+K,GAAIqqL,EAAYnwL,SAEzFqwL,GAAarwL,EAAMA,GAGnB,GAGA,KAEIowL,EAAU7jM,QAAQC,QAAQ4jM,GAAWpE,EAASmE,EAAYnwL,IAC7DjV,OAAOe,GAAU24L,EAAoB34L,GAElC24L,EAAoB34L,EAAO,GACrBA,EACAwkM,GAAYxkM,GAElBykM,EAAazkM,EAAOqkM,EAAYnwL,KACnCpT,MAAMwjM,IACP,GAAIA,GACA,GAAI3L,EAAoB2L,EAAS,GAc7B,OAAOR,EAEPzlL,EAAO,CAEH1Z,WACDi/L,EAAiBU,EAAQtqL,IAAK,CAC7B3O,MAA6B,kBAAfi5L,EAAQtqL,GAChBqE,EAAO,CAAC,EAAG/X,EAAMg+L,EAAQtqL,GAAG3O,OAC5B/E,EACN69L,UAGJ5L,GAAkB8L,QAKtBC,EAAUI,EAAmBL,EAAYnwL,GAAM,EAAMvP,EAAS2B,GAGlE,OADAq+L,EAAiBN,EAAYnwL,EAAMowL,GAC5BA,CAAO,GAEtB,CAMA,SAASM,EAAiC5qL,EAAI9F,GAC1C,MAAMlU,EAAQ6jM,EAAwB7pL,EAAI9F,GAC1C,OAAOlU,EAAQS,QAAQo/C,OAAO7/C,GAASS,QAAQC,SACnD,CAEA,SAASw/L,EAASlmL,EAAI9F,GAClB,IAAIgrL,EACJ,MAAO2F,EAAgBC,EAAiBC,GAAmBC,GAAuBhrL,EAAI9F,GAEtFgrL,EAASF,GAAwB6F,EAAer8J,UAAW,mBAAoBxuB,EAAI9F,GAEnF,IAAK,MAAMumL,KAAUoK,EACjBpK,EAAO4B,YAAY5mM,SAAQooC,IACvBqhK,EAAO5tM,KAAKstM,GAAiB/gK,EAAO7jB,EAAI9F,GAAM,IAGtD,MAAM+wL,EAA0BL,EAAiC7jM,KAAK,KAAMiZ,EAAI9F,GAGhF,OAFAgrL,EAAO5tM,KAAK2zM,GAEJC,GAAchG,GACjBp+L,MAAK,KAENo+L,EAAS,GACT,IAAK,MAAMrhK,KAAS6kK,EAAa7jK,OAC7BqgK,EAAO5tM,KAAKstM,GAAiB/gK,EAAO7jB,EAAI9F,IAG5C,OADAgrL,EAAO5tM,KAAK2zM,GACLC,GAAchG,EAAO,IAE3Bp+L,MAAK,KAENo+L,EAASF,GAAwB8F,EAAiB,oBAAqB9qL,EAAI9F,GAC3E,IAAK,MAAMumL,KAAUqK,EACjBrK,EAAO6B,aAAa7mM,SAAQooC,IACxBqhK,EAAO5tM,KAAKstM,GAAiB/gK,EAAO7jB,EAAI9F,GAAM,IAKtD,OAFAgrL,EAAO5tM,KAAK2zM,GAELC,GAAchG,EAAO,IAE3Bp+L,MAAK,KAENo+L,EAAS,GACT,IAAK,MAAMzE,KAAUzgL,EAAGy6D,QAEpB,GAAIgmH,EAAOrrL,cAAgB8E,EAAKugE,QAAQhzE,SAASg5L,GAC7C,GAAIr7J,EAAQq7J,EAAOrrL,aACf,IAAK,MAAMA,KAAeqrL,EAAOrrL,YAC7B8vL,EAAO5tM,KAAKstM,GAAiBxvL,EAAa4K,EAAI9F,SAGlDgrL,EAAO5tM,KAAKstM,GAAiBnE,EAAOrrL,YAAa4K,EAAI9F,IAMjE,OAFAgrL,EAAO5tM,KAAK2zM,GAELC,GAAchG,EAAO,IAE3Bp+L,MAAK,KAGNkZ,EAAGy6D,QAAQh/E,SAAQglM,GAAWA,EAAO8B,eAAiB,CAAC,IAEvD2C,EAASF,GAAwB+F,EAAiB,mBAAoB/qL,EAAI9F,GAC1EgrL,EAAO5tM,KAAK2zM,GAELC,GAAchG,MAEpBp+L,MAAK,KAENo+L,EAAS,GACT,IAAK,MAAMrhK,KAAS8kK,EAAoB9jK,OACpCqgK,EAAO5tM,KAAKstM,GAAiB/gK,EAAO7jB,EAAI9F,IAG5C,OADAgrL,EAAO5tM,KAAK2zM,GACLC,GAAchG,EAAO,IAG3BjgM,OAAMH,GAAO65L,EAAoB75L,EAAK,GACrCA,EACA2B,QAAQo/C,OAAO/gD,IACzB,CACA,SAAS6lM,EAAiB3qL,EAAI9F,EAAMowL,GAGhC,IAAK,MAAMzmK,KAAS+kK,EAAY/jK,OAC5BhB,EAAM7jB,EAAI9F,EAAMowL,EACxB,CAMA,SAASI,EAAmBL,EAAYnwL,EAAMixL,EAAQxgM,EAAS2B,GAE3D,MAAMtG,EAAQ6jM,EAAwBQ,EAAYnwL,GAClD,GAAIlU,EACA,OAAOA,EAEX,MAAMolM,EAAoBlxL,IAASokL,EAC7BjtL,EAAS8nL,EAAiB+C,QAAQ7qL,MAAb,CAAC,EAGxB85L,IAGIxgM,GAAWygM,EACXjN,EAAcxzL,QAAQ0/L,EAAWtjJ,SAAU1iC,EAAO,CAC9Ck4K,OAAQ6O,GAAqB/5L,GAASA,EAAMkrL,QAC7CjwL,IAEH6xL,EAAc7mM,KAAK+yM,EAAWtjJ,SAAUz6C,IAGhDm5L,EAAahoM,MAAQ4sM,EACrBE,GAAaF,EAAYnwL,EAAMixL,EAAQC,GACvCZ,IACJ,CACA,IAAIa,EAEJ,SAASC,IAEDD,IAEJA,EAAwBlN,EAAc54E,QAAO,CAACvlG,EAAI2mG,EAAOzxE,KACrD,IAAKswJ,GAAO+F,UACR,OAEJ,MAAMlB,EAAa3jM,EAAQsZ,GAIrBoqL,EAAiBL,EAAqBM,GAC5C,GAAID,EAEA,YADAN,EAAiBzlL,EAAO+lL,EAAgB,CAAEz/L,SAAS,IAAS0/L,GAAYplM,MAAM4/J,GAGlFgkC,EAAkBwB,EAClB,MAAMnwL,EAAOurL,EAAahoM,MAEtB07L,GACAiD,EAAmBH,EAAa/hL,EAAK6sC,SAAU7R,EAAKsL,OAAQi7I,KAEhEyK,EAASmE,EAAYnwL,GAChBjV,OAAOe,GACJ24L,EAAoB34L,EAAO,IACpBA,EAEP24L,EAAoB34L,EAAO,IAU3B8jM,EAAiB9jM,EAAMga,GAAIqqL,GAGtBvjM,MAAKwjM,IAIF3L,EAAoB2L,EAAS,MAE5Bp1J,EAAKsL,OACNtL,EAAKz6C,OAASsgM,EAAe7iM,KAC7BimM,EAAcF,IAAI,GAAG,EACzB,IAECh5L,MAAM4/J,GAEJp+J,QAAQo/C,WAGf3Q,EAAKsL,OACL29I,EAAcF,IAAI/oJ,EAAKsL,OAAO,GAG3BiqJ,EAAazkM,EAAOqkM,EAAYnwL,MAEtCpT,MAAMwjM,IACPA,EACIA,GACII,EAEAL,EAAYnwL,GAAM,GAEtBowL,IACIp1J,EAAKsL,QAGJm+I,EAAoB2L,EAAS,GAC9BnM,EAAcF,IAAI/oJ,EAAKsL,OAAO,GAEzBtL,EAAKz6C,OAASsgM,EAAe7iM,KAClCymM,EAAoB2L,EAAS,KAG7BnM,EAAcF,IAAI,GAAG,IAG7B0M,EAAiBN,EAAYnwL,EAAMowL,EAAQ,IAE1CrlM,MAAM4/J,EAAK,IAExB,CAEA,IAEI7/E,EAFAwmH,EAAgB7G,KAChB8G,EAAgB9G,KAUpB,SAAS8F,EAAazkM,EAAOga,EAAI9F,GAC7BswL,GAAYxkM,GACZ,MAAM6+B,EAAO4mK,EAAc5mK,OAU3B,OATIA,EAAK7sC,OACL6sC,EAAKppC,SAAQgO,GAAWA,EAAQzD,EAAOga,EAAI9F,KAM3CnU,QAAQC,MAAMA,GAEXS,QAAQo/C,OAAO7/C,EAC1B,CACA,SAAS0lM,KACL,OAAI1mH,GAASygH,EAAahoM,QAAU6gM,EACzB73L,QAAQC,UACZ,IAAID,SAAQ,CAACC,EAASm/C,KACzB2lJ,EAAcrwM,IAAI,CAACuL,EAASm/C,GAAQ,GAE5C,CACA,SAAS2kJ,GAAY1lM,GAUjB,OATKkgF,IAEDA,GAASlgF,EACTwmM,IACAE,EACK3mK,OACAppC,SAAQ,EAAEiL,EAASm/C,KAAa/gD,EAAM+gD,EAAO/gD,GAAO4B,MACzD8kM,EAAc7wK,SAEX71B,CACX,CAEA,SAASylM,GAAavqL,EAAI9F,EAAMixL,EAAQC,GACpC,MAAM,eAAEtC,GAAmBp+L,EAC3B,IAAKyuL,IAAc2P,EACf,OAAOriM,QAAQC,UACnB,MAAM21L,GAAmB8O,GAAU7O,EAAuBL,EAAaj8K,EAAG+mC,SAAU,MAC9EqkJ,IAAsBD,IACpBjP,QAAQ7qL,OACR6qL,QAAQ7qL,MAAMkrL,QAClB,KACJ,OAAO,UACFz1L,MAAK,IAAMgiM,EAAe9oL,EAAI9F,EAAMmiL,KACpCv1L,MAAKsmF,GAAYA,GAAYwuG,EAAiBxuG,KAC9CnoF,OAAMH,GAAO2lM,EAAa3lM,EAAKkb,EAAI9F,IAC5C,CACA,MAAM+jL,GAAMz9I,GAAU29I,EAAcF,GAAGz9I,GACvC,IAAImrJ,GACJ,MAAMC,GAAgB,IAAInzM,IACpB+sM,GAAS,CACXC,eACA8F,WAAW,EACXxK,WACAY,cACA4H,WACAzH,YACAp7L,UACAgE,UACApT,OACAqT,UACAszL,MACAd,KAAM,IAAMc,IAAI,GAChBf,QAAS,IAAMe,GAAG,GAClB4N,WAAYnD,EAAavtM,IACzB2wM,cAAenD,EAAoBxtM,IACnC4wM,UAAWnD,EAAYztM,IACvBo4F,QAASk4G,EAActwM,IACvBuwM,WACAzmL,QAAQtB,GACJ,MAAM6hL,EAASzuM,KACf4sB,EAAI3V,UAAU,aAAc+4L,IAC5BpjL,EAAI3V,UAAU,aAAcs6L,IAC5B3kL,EAAI/d,OAAOiX,iBAAiBmvL,QAAUxG,EACtCxpM,OAAO+gB,eAAe4G,EAAI/d,OAAOiX,iBAAkB,SAAU,CACzDiC,YAAY,EACZlkB,IAAK,KAAM,QAAM6qM,KAKjBtM,IAGCwS,IACDlG,EAAahoM,QAAU6gM,IAEvBqN,IAAU,EACVr0M,EAAK6mM,EAAcptI,UAAU9rD,OAAMH,IAC3B,CACA,KAGZ,MAAMmnM,EAAgB,CAAC,EACvB,IAAK,MAAMvxM,KAAO4jM,EAEd2N,EAAcvxM,IAAO,SAAS,IAAM+qM,EAAahoM,MAAM/C,KAE3DipB,EAAI1U,QAAQu1L,GAAWgB,GACvB7hL,EAAI1U,QAAQw1L,IAAkB,QAASwH,IACvCtoL,EAAI1U,QAAQy1L,GAAuBe,GACnC,MAAM70F,EAAajtF,EAAI8B,QACvBmmL,GAAczwM,IAAIwoB,GAClBA,EAAI8B,QAAU,WACVmmL,GAAczyM,OAAOwqB,GAEjBioL,GAAczsM,KAAO,IAErB0pM,EAAkBvK,EAClB+M,GAAyBA,IACzBA,EAAwB,KACxB5F,EAAahoM,MAAQ6gM,EACrBqN,IAAU,EACV3mH,GAAQ,GAEZ4rB,GACJ,CAKJ,GAEJ,OAAO40F,EACX,CACA,SAAS0F,GAAchG,GACnB,OAAOA,EAAOh+J,QAAO,CAACojB,EAASzmB,IAAUymB,EAAQxjD,MAAK,IAAM+8B,OAAUp9B,QAAQC,UAClF,CACA,SAASskM,GAAuBhrL,EAAI9F,GAChC,MAAM2wL,EAAiB,GACjBC,EAAkB,GAClBC,EAAkB,GAClBr6K,EAAMjD,KAAKqS,IAAI5lB,EAAKugE,QAAQziF,OAAQgoB,EAAGy6D,QAAQziF,QACrD,IAAK,IAAIF,EAAI,EAAGA,EAAI44B,EAAK54B,IAAK,CAC1B,MAAMo0M,EAAahyL,EAAKugE,QAAQ3iF,GAC5Bo0M,IACIlsL,EAAGy6D,QAAQhqC,MAAKgwJ,GAAUlG,EAAkBkG,EAAQyL,KACpDpB,EAAgBxzM,KAAK40M,GAErBrB,EAAevzM,KAAK40M,IAE5B,MAAMC,EAAWnsL,EAAGy6D,QAAQ3iF,GACxBq0M,IAEKjyL,EAAKugE,QAAQhqC,MAAKgwJ,GAAUlG,EAAkBkG,EAAQ0L,MACvDpB,EAAgBzzM,KAAK60M,GAGjC,CACA,MAAO,CAACtB,EAAgBC,EAAiBC,EAC7C,CAMA,SAASqB,KACL,OAAO,QAAO5H,GAClB,CAKA,SAAS6H,KACL,OAAO,QAAO5H,GAClB,C","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-all.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