diff --git a/package-lock.json b/package-lock.json
index dc3ae64..12913c0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,10 +21,12 @@
"vue-class-component": "^8.0.0-0",
"vue-matomo": "^4.1.0",
"vue-property-decorator": "^9.1.2",
- "vue-router": "^4.0.12"
+ "vue-router": "^4.0.12",
+ "xml2js": "^0.4.23"
},
"devDependencies": {
"@types/leaflet": "^1.7.9",
+ "@types/xml2js": "^0.4.9",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"@vue/cli-plugin-babel": "~4.5.0",
@@ -66,9 +68,9 @@
}
},
"node_modules/@babel/core": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz",
- "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==",
+ "version": "7.16.12",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz",
+ "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==",
"dev": true,
"dependencies": {
"@babel/code-frame": "^7.16.7",
@@ -76,7 +78,7 @@
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helpers": "^7.16.7",
- "@babel/parser": "^7.16.10",
+ "@babel/parser": "^7.16.12",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.10",
"@babel/types": "^7.16.8",
@@ -489,9 +491,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz",
- "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ==",
+ "version": "7.16.12",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz",
+ "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -2033,9 +2035,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "17.0.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz",
- "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==",
+ "version": "17.0.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz",
+ "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==",
"dev": true
},
"node_modules/@types/normalize-package-data": {
@@ -2171,6 +2173,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/@types/xml2js": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.9.tgz",
+ "integrity": "sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "4.33.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz",
@@ -3101,12 +3112,12 @@
}
},
"node_modules/@vue/compiler-core": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.27.tgz",
- "integrity": "sha512-JyxAglSM/pb9paG5ZNuKrf5IUpzLzQA3khjWGF9oESELCLQlt6O3YyPMR2A69wIpYWrf5mScZ8YY8TJKOI/1kQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.29.tgz",
+ "integrity": "sha512-RePZ/J4Ub3sb7atQw6V6Rez+/5LCRHGFlSetT3N4VMrejqJnNPXKUt5AVm/9F5MJriy2w/VudEIvgscCfCWqxw==",
"dependencies": {
"@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.27",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
@@ -3120,25 +3131,25 @@
}
},
"node_modules/@vue/compiler-dom": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.27.tgz",
- "integrity": "sha512-NyQ7nEbopUBPUMHM4c3FPCbFbnQwptoPjW5Y5qfJ7hfiCNhOuhQsDNqi5JYKBxfpxiFNwjcN9F8t1AsnLrDloQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.29.tgz",
+ "integrity": "sha512-y26vK5khdNS9L3ckvkqJk/78qXwWb75Ci8iYLb67AkJuIgyKhIOcR1E8RIt4mswlVCIeI9gQ+fmtdhaiTAtrBQ==",
"dependencies": {
- "@vue/compiler-core": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-core": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"node_modules/@vue/compiler-sfc": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.27.tgz",
- "integrity": "sha512-WyecUhLN5UAQAr2QlmG2nA56OEnhZJaBnSw0G1tazb9rwDuK0V9tnbIXbQgmQlx+x4sJxgg61yWGcIXfilTl3A==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.29.tgz",
+ "integrity": "sha512-X9+0dwsag2u6hSOP/XsMYqFti/edvYvxamgBgCcbSYuXx1xLZN+dS/GvQKM4AgGS4djqo0jQvWfIXdfZ2ET68g==",
"dependencies": {
"@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.27",
- "@vue/compiler-dom": "3.2.27",
- "@vue/compiler-ssr": "3.2.27",
- "@vue/reactivity-transform": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/compiler-core": "3.2.29",
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/compiler-ssr": "3.2.29",
+ "@vue/reactivity-transform": "3.2.29",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
@@ -3176,12 +3187,12 @@
}
},
"node_modules/@vue/compiler-ssr": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.27.tgz",
- "integrity": "sha512-+l09t319iV7HVSrXfBw9OLwMZIPOFTXmHjZ61Bc5ZcwKqOYAR4uTurKpoXAfcSc5qs/q6WdE9jY3nrP0LUEMQQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.29.tgz",
+ "integrity": "sha512-LrvQwXlx66uWsB9/VydaaqEpae9xtmlUkeSKF6aPDbzx8M1h7ukxaPjNCAXuFd3fUHblcri8k42lfimHfzMICA==",
"dependencies": {
- "@vue/compiler-dom": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"node_modules/@vue/component-compiler-utils": {
@@ -3285,60 +3296,60 @@
}
},
"node_modules/@vue/reactivity": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.27.tgz",
- "integrity": "sha512-QPfIQEJidRGIu/mPexhcB4csp1LEg2Nr+/QE72MnXs/OYDtFErhC9FxIyymkxp/xvAgL5wsnSOuDD6zWF42vRQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.29.tgz",
+ "integrity": "sha512-Ryhb6Gy62YolKXH1gv42pEqwx7zs3n8gacRVZICSgjQz8Qr8QeCcFygBKYfJm3o1SccR7U+bVBQDWZGOyG1k4g==",
"dependencies": {
- "@vue/shared": "3.2.27"
+ "@vue/shared": "3.2.29"
}
},
"node_modules/@vue/reactivity-transform": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.27.tgz",
- "integrity": "sha512-67//61ObGxGnVrPhjygocb24eYUh+TFMhkm7szm8v5XdKXjkNl7qgIOflwGvUnwuIRJmr9nZ7+PvY0fL+H2upA==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.29.tgz",
+ "integrity": "sha512-YF6HdOuhdOw6KyRm59+3rML8USb9o8mYM1q+SH0G41K3/q/G7uhPnHGKvspzceD7h9J3VR1waOQ93CUZj7J7OA==",
"dependencies": {
"@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/compiler-core": "3.2.29",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.27.tgz",
- "integrity": "sha512-NJrjuViHJyrT4bwIocbE4XDaDlA1Pj61pQlneZZdFEvgdMLlhzCCiJ4WZnWcohYQeisUAZjEFKK8GjQieDPFbw==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.29.tgz",
+ "integrity": "sha512-VMvQuLdzoTGmCwIKTKVwKmIL0qcODIqe74JtK1pVr5lnaE0l25hopodmPag3RcnIcIXe+Ye3B2olRCn7fTCgig==",
"dependencies": {
- "@vue/reactivity": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/reactivity": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"node_modules/@vue/runtime-dom": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.27.tgz",
- "integrity": "sha512-tlnKkvBSkV7MPUp/wRFsYcv67U1rUeZTPfpPzq5Kpmw5NNGkY6J075fFBH2k0MNxDucXS+qfStNrxAyGTUMkSA==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.29.tgz",
+ "integrity": "sha512-YJgLQLwr+SQyORzTsBQLL5TT/5UiV83tEotqjL7F9aFDIQdFBTCwpkCFvX9jqwHoyi9sJqM9XtTrMcc8z/OjPA==",
"dependencies": {
- "@vue/runtime-core": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/runtime-core": "3.2.29",
+ "@vue/shared": "3.2.29",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.27.tgz",
- "integrity": "sha512-dZnzkFCDe6A/GIe/F1LcG6lWpprHVh62DjTv8wubtkHwfJWOmOeHp+KvPDRrswL/L3ghsm+E31xY+pvkgM3pbQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.29.tgz",
+ "integrity": "sha512-lpiYx7ciV7rWfJ0tPkoSOlLmwqBZ9FTmQm33S+T4g0j1fO/LmhJ9b9Ctl1o5xvIFVDk9QkSUWANZn7H2pXuxVw==",
"dependencies": {
- "@vue/compiler-ssr": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-ssr": "3.2.29",
+ "@vue/shared": "3.2.29"
},
"peerDependencies": {
- "vue": "3.2.27"
+ "vue": "3.2.29"
}
},
"node_modules/@vue/shared": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.27.tgz",
- "integrity": "sha512-rpAn9k6O08Lvo7ekBIAnkOukX/4EsEQLPrRJBKhIEasMsOI5eX0f6mq1sDUSY7cgAqWw2d7QtP74CWxdXoyKxA=="
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.29.tgz",
+ "integrity": "sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw=="
},
"node_modules/@vue/web-component-wrapper": {
"version": "1.3.0",
@@ -4704,9 +4715,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001301",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz",
- "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==",
+ "version": "1.0.30001303",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz",
+ "integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==",
"dev": true,
"funding": {
"type": "opencollective",
@@ -6645,9 +6656,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.49",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz",
- "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==",
+ "version": "1.4.56",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.56.tgz",
+ "integrity": "sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g==",
"dev": true
},
"node_modules/elliptic": {
@@ -13109,12 +13120,12 @@
"dev": true
},
"node_modules/resolve": {
- "version": "1.21.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz",
- "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"dependencies": {
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -13367,8 +13378,7 @@
"node_modules/sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"node_modules/schema-utils": {
"version": "2.7.1",
@@ -15696,15 +15706,15 @@
"dev": true
},
"node_modules/vue": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.27.tgz",
- "integrity": "sha512-p1cH8Q6eaPwvANCjFQj497a914cxXKKwOG3Lg9USddTOrn4/zFMKjn9dnovkx+L8VtFaNgbVqW8mLJS/eTA6xw==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.29.tgz",
+ "integrity": "sha512-cFIwr7LkbtCRanjNvh6r7wp2yUxfxeM2yPpDQpAfaaLIGZSrUmLbNiSze9nhBJt5MrZ68Iqt0O5scwAMEVxF+Q==",
"dependencies": {
- "@vue/compiler-dom": "3.2.27",
- "@vue/compiler-sfc": "3.2.27",
- "@vue/runtime-dom": "3.2.27",
- "@vue/server-renderer": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/compiler-sfc": "3.2.29",
+ "@vue/runtime-dom": "3.2.29",
+ "@vue/server-renderer": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"node_modules/vue-class-component": {
@@ -16036,7 +16046,7 @@
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
+ "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
"dev": true,
"optional": true,
"dependencies": {
@@ -16436,7 +16446,7 @@
"version": "2.1.8",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
"integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
- "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.",
+ "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
"dev": true,
"dependencies": {
"anymatch": "^2.0.0",
@@ -17059,6 +17069,26 @@
"async-limiter": "~1.0.0"
}
},
+ "node_modules/xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+ "dependencies": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@@ -17284,9 +17314,9 @@
"dev": true
},
"@babel/core": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz",
- "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==",
+ "version": "7.16.12",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz",
+ "integrity": "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.16.7",
@@ -17294,7 +17324,7 @@
"@babel/helper-compilation-targets": "^7.16.7",
"@babel/helper-module-transforms": "^7.16.7",
"@babel/helpers": "^7.16.7",
- "@babel/parser": "^7.16.10",
+ "@babel/parser": "^7.16.12",
"@babel/template": "^7.16.7",
"@babel/traverse": "^7.16.10",
"@babel/types": "^7.16.8",
@@ -17607,9 +17637,9 @@
}
},
"@babel/parser": {
- "version": "7.16.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.10.tgz",
- "integrity": "sha512-Sm/S9Or6nN8uiFsQU1yodyDW3MWXQhFeqzMPM+t8MJjM+pLsnFVxFZzkpXKvUXh+Gz9cbMoYYs484+Jw/NTEFQ=="
+ "version": "7.16.12",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz",
+ "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A=="
},
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
"version": "7.16.7",
@@ -18707,9 +18737,9 @@
"dev": true
},
"@types/node": {
- "version": "17.0.10",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz",
- "integrity": "sha512-S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==",
+ "version": "17.0.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.13.tgz",
+ "integrity": "sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw==",
"dev": true
},
"@types/normalize-package-data": {
@@ -18842,6 +18872,15 @@
}
}
},
+ "@types/xml2js": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@types/xml2js/-/xml2js-0.4.9.tgz",
+ "integrity": "sha512-CHiCKIihl1pychwR2RNX5mAYmJDACgFVCMT5OArMaO3erzwXVcBqPcusr+Vl8yeeXukxZqtF8mZioqX+mpjjdw==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@typescript-eslint/eslint-plugin": {
"version": "4.33.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz",
@@ -19525,12 +19564,12 @@
}
},
"@vue/compiler-core": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.27.tgz",
- "integrity": "sha512-JyxAglSM/pb9paG5ZNuKrf5IUpzLzQA3khjWGF9oESELCLQlt6O3YyPMR2A69wIpYWrf5mScZ8YY8TJKOI/1kQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.29.tgz",
+ "integrity": "sha512-RePZ/J4Ub3sb7atQw6V6Rez+/5LCRHGFlSetT3N4VMrejqJnNPXKUt5AVm/9F5MJriy2w/VudEIvgscCfCWqxw==",
"requires": {
"@babel/parser": "^7.16.4",
- "@vue/shared": "3.2.27",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
},
@@ -19543,25 +19582,25 @@
}
},
"@vue/compiler-dom": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.27.tgz",
- "integrity": "sha512-NyQ7nEbopUBPUMHM4c3FPCbFbnQwptoPjW5Y5qfJ7hfiCNhOuhQsDNqi5JYKBxfpxiFNwjcN9F8t1AsnLrDloQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.29.tgz",
+ "integrity": "sha512-y26vK5khdNS9L3ckvkqJk/78qXwWb75Ci8iYLb67AkJuIgyKhIOcR1E8RIt4mswlVCIeI9gQ+fmtdhaiTAtrBQ==",
"requires": {
- "@vue/compiler-core": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-core": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.27.tgz",
- "integrity": "sha512-WyecUhLN5UAQAr2QlmG2nA56OEnhZJaBnSw0G1tazb9rwDuK0V9tnbIXbQgmQlx+x4sJxgg61yWGcIXfilTl3A==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.29.tgz",
+ "integrity": "sha512-X9+0dwsag2u6hSOP/XsMYqFti/edvYvxamgBgCcbSYuXx1xLZN+dS/GvQKM4AgGS4djqo0jQvWfIXdfZ2ET68g==",
"requires": {
"@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.27",
- "@vue/compiler-dom": "3.2.27",
- "@vue/compiler-ssr": "3.2.27",
- "@vue/reactivity-transform": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/compiler-core": "3.2.29",
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/compiler-ssr": "3.2.29",
+ "@vue/reactivity-transform": "3.2.29",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
@@ -19591,12 +19630,12 @@
}
},
"@vue/compiler-ssr": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.27.tgz",
- "integrity": "sha512-+l09t319iV7HVSrXfBw9OLwMZIPOFTXmHjZ61Bc5ZcwKqOYAR4uTurKpoXAfcSc5qs/q6WdE9jY3nrP0LUEMQQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.29.tgz",
+ "integrity": "sha512-LrvQwXlx66uWsB9/VydaaqEpae9xtmlUkeSKF6aPDbzx8M1h7ukxaPjNCAXuFd3fUHblcri8k42lfimHfzMICA==",
"requires": {
- "@vue/compiler-dom": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"@vue/component-compiler-utils": {
@@ -19677,57 +19716,57 @@
"requires": {}
},
"@vue/reactivity": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.27.tgz",
- "integrity": "sha512-QPfIQEJidRGIu/mPexhcB4csp1LEg2Nr+/QE72MnXs/OYDtFErhC9FxIyymkxp/xvAgL5wsnSOuDD6zWF42vRQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.29.tgz",
+ "integrity": "sha512-Ryhb6Gy62YolKXH1gv42pEqwx7zs3n8gacRVZICSgjQz8Qr8QeCcFygBKYfJm3o1SccR7U+bVBQDWZGOyG1k4g==",
"requires": {
- "@vue/shared": "3.2.27"
+ "@vue/shared": "3.2.29"
}
},
"@vue/reactivity-transform": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.27.tgz",
- "integrity": "sha512-67//61ObGxGnVrPhjygocb24eYUh+TFMhkm7szm8v5XdKXjkNl7qgIOflwGvUnwuIRJmr9nZ7+PvY0fL+H2upA==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.29.tgz",
+ "integrity": "sha512-YF6HdOuhdOw6KyRm59+3rML8USb9o8mYM1q+SH0G41K3/q/G7uhPnHGKvspzceD7h9J3VR1waOQ93CUZj7J7OA==",
"requires": {
"@babel/parser": "^7.16.4",
- "@vue/compiler-core": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/compiler-core": "3.2.29",
+ "@vue/shared": "3.2.29",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.27.tgz",
- "integrity": "sha512-NJrjuViHJyrT4bwIocbE4XDaDlA1Pj61pQlneZZdFEvgdMLlhzCCiJ4WZnWcohYQeisUAZjEFKK8GjQieDPFbw==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.29.tgz",
+ "integrity": "sha512-VMvQuLdzoTGmCwIKTKVwKmIL0qcODIqe74JtK1pVr5lnaE0l25hopodmPag3RcnIcIXe+Ye3B2olRCn7fTCgig==",
"requires": {
- "@vue/reactivity": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/reactivity": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"@vue/runtime-dom": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.27.tgz",
- "integrity": "sha512-tlnKkvBSkV7MPUp/wRFsYcv67U1rUeZTPfpPzq5Kpmw5NNGkY6J075fFBH2k0MNxDucXS+qfStNrxAyGTUMkSA==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.29.tgz",
+ "integrity": "sha512-YJgLQLwr+SQyORzTsBQLL5TT/5UiV83tEotqjL7F9aFDIQdFBTCwpkCFvX9jqwHoyi9sJqM9XtTrMcc8z/OjPA==",
"requires": {
- "@vue/runtime-core": "3.2.27",
- "@vue/shared": "3.2.27",
+ "@vue/runtime-core": "3.2.29",
+ "@vue/shared": "3.2.29",
"csstype": "^2.6.8"
}
},
"@vue/server-renderer": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.27.tgz",
- "integrity": "sha512-dZnzkFCDe6A/GIe/F1LcG6lWpprHVh62DjTv8wubtkHwfJWOmOeHp+KvPDRrswL/L3ghsm+E31xY+pvkgM3pbQ==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.29.tgz",
+ "integrity": "sha512-lpiYx7ciV7rWfJ0tPkoSOlLmwqBZ9FTmQm33S+T4g0j1fO/LmhJ9b9Ctl1o5xvIFVDk9QkSUWANZn7H2pXuxVw==",
"requires": {
- "@vue/compiler-ssr": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-ssr": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"@vue/shared": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.27.tgz",
- "integrity": "sha512-rpAn9k6O08Lvo7ekBIAnkOukX/4EsEQLPrRJBKhIEasMsOI5eX0f6mq1sDUSY7cgAqWw2d7QtP74CWxdXoyKxA=="
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.29.tgz",
+ "integrity": "sha512-BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw=="
},
"@vue/web-component-wrapper": {
"version": "1.3.0",
@@ -20869,9 +20908,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30001301",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz",
- "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==",
+ "version": "1.0.30001303",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001303.tgz",
+ "integrity": "sha512-/Mqc1oESndUNszJP0kx0UaQU9kEv9nNtJ7Kn8AdA0mNnH8eR1cj0kG+NbNuC1Wq/b21eA8prhKRA3bbkjONegQ==",
"dev": true
},
"case-sensitive-paths-webpack-plugin": {
@@ -22408,9 +22447,9 @@
"dev": true
},
"electron-to-chromium": {
- "version": "1.4.49",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.49.tgz",
- "integrity": "sha512-k/0t1TRfonHIp8TJKfjBu2cKj8MqYTiEpOhci+q7CVEE5xnCQnx1pTa+V8b/sdhe4S3PR4p4iceEQWhGrKQORQ==",
+ "version": "1.4.56",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.56.tgz",
+ "integrity": "sha512-0k/S0FQqRRpJbX7YUjwCcLZ8D42RqGKtaiq90adXBOYgTIWwLA/g3toO8k9yEpqU8iC4QyaWYYWSTBIna8WV4g==",
"dev": true
},
"elliptic": {
@@ -27538,12 +27577,12 @@
"dev": true
},
"resolve": {
- "version": "1.21.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.1.tgz",
- "integrity": "sha512-lfEImVbnolPuaSZuLQ52cAxPBHeI77sPwCOWRdy12UG/CNa8an7oBHH1R+Fp1/mUqSJi4c8TIP6FOIPSZAUrEQ==",
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"dev": true,
"requires": {
- "is-core-module": "^2.8.0",
+ "is-core-module": "^2.8.1",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@@ -27716,8 +27755,7 @@
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
- "dev": true
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"schema-utils": {
"version": "2.7.1",
@@ -29632,15 +29670,15 @@
"dev": true
},
"vue": {
- "version": "3.2.27",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.27.tgz",
- "integrity": "sha512-p1cH8Q6eaPwvANCjFQj497a914cxXKKwOG3Lg9USddTOrn4/zFMKjn9dnovkx+L8VtFaNgbVqW8mLJS/eTA6xw==",
+ "version": "3.2.29",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.29.tgz",
+ "integrity": "sha512-cFIwr7LkbtCRanjNvh6r7wp2yUxfxeM2yPpDQpAfaaLIGZSrUmLbNiSze9nhBJt5MrZ68Iqt0O5scwAMEVxF+Q==",
"requires": {
- "@vue/compiler-dom": "3.2.27",
- "@vue/compiler-sfc": "3.2.27",
- "@vue/runtime-dom": "3.2.27",
- "@vue/server-renderer": "3.2.27",
- "@vue/shared": "3.2.27"
+ "@vue/compiler-dom": "3.2.29",
+ "@vue/compiler-sfc": "3.2.29",
+ "@vue/runtime-dom": "3.2.29",
+ "@vue/server-renderer": "3.2.29",
+ "@vue/shared": "3.2.29"
}
},
"vue-class-component": {
@@ -30723,6 +30761,20 @@
"async-limiter": "~1.0.0"
}
},
+ "xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+ "requires": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
+ },
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
diff --git a/package.json b/package.json
index 8e145d1..ff4a1d1 100644
--- a/package.json
+++ b/package.json
@@ -22,10 +22,12 @@
"vue-class-component": "^8.0.0-0",
"vue-matomo": "^4.1.0",
"vue-property-decorator": "^9.1.2",
- "vue-router": "^4.0.12"
+ "vue-router": "^4.0.12",
+ "xml2js": "^0.4.23"
},
"devDependencies": {
"@types/leaflet": "^1.7.9",
+ "@types/xml2js": "^0.4.9",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"@vue/cli-plugin-babel": "~4.5.0",
diff --git a/src/App.vue b/src/App.vue
index 494e6ea..224dc15 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -38,7 +38,7 @@