From a3c912aafc6f759652c401f69f6cb69cf8a350bf Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 18 Sep 2024 16:43:14 +0000
Subject: [PATCH] fix(deps): update angular monorepo to v18

---
 package-lock.json | 473 ++++++++++++++++++++++++++++++++++++++--------
 package.json      |  18 +-
 2 files changed, 406 insertions(+), 85 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index ff108b1..3dd268b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -483,11 +483,11 @@
       }
     },
     "@angular/animations": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.11.tgz",
-      "integrity": "sha512-J6tXNCEgI3SYPfFy9F0QDQNx0g4F8gfJA05iaf6scpZvqziQ80g0vwrBQdV6JqkFvSPQqLJDxyIxDQJSrCt8YA==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-18.2.5.tgz",
+      "integrity": "sha512-IlXtW/Nj48ZzjHUzH1TykZcSR64ScJx39T3IHnjV2z/bVATzZ36JGoadQHdqpJNKBodYJNgtJCGLCbgAvGWY2g==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/cli": {
@@ -548,43 +548,284 @@
       }
     },
     "@angular/common": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.11.tgz",
-      "integrity": "sha512-/3QS5YaHfm2taJYUVes076ZMpL2GRYVW3HDbHXiRNjoC9EMqQ7ahRD9RPFC8XUk709JuqzonE3bB+N5Ld3mzIA==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-18.2.5.tgz",
+      "integrity": "sha512-m+KJrtbFXTE36jP/po6UAMeUR/enQxRHpVGLCRcIcE7VWVH1ZcOvoW1yqh2A6k+KxWXeajlq/Z04nnMhcoxMRw==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/compiler": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.11.tgz",
-      "integrity": "sha512-78b5Uf+79gOKEyF/ixFAGJANNHnhueofSxgToBmJkTTpqTX6Xzdfzw8W+ehpJADp52eBjmZ+rv7b9sgBsiJ1tg==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-18.2.5.tgz",
+      "integrity": "sha512-vcqe9x4dGGAnMfPhEpcZyiSVgAiqJeK80LqP1vWoAmBR+HeOqAilSv6SflcLAtuTzwgzMMAvD2T+SMCgUvaqww==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/compiler-cli": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.11.tgz",
-      "integrity": "sha512-mOEyAQQS28omIGOw71jXnAI+GLxLVHhsa5vcS9Cy+HLfgJzysTngwdKNO7iJvalsyAsb9EjJ3R82XRKKJspV0g==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-18.2.5.tgz",
+      "integrity": "sha512-CCCtZobUTUfId/RTYtuDCw5R1oK0w65hdAUMRP1MdGmd8bb8DKJA86u1QCWwozL3rbXlIIX4ognQ6urQ43k/Gw==",
       "dev": true,
       "requires": {
-        "@babel/core": "^7.8.6",
-        "@babel/types": "^7.8.6",
-        "canonical-path": "1.0.0",
+        "@babel/core": "7.25.2",
+        "@jridgewell/sourcemap-codec": "^1.4.14",
         "chokidar": "^3.0.0",
         "convert-source-map": "^1.5.1",
-        "dependency-graph": "^0.11.0",
-        "magic-string": "^0.25.0",
-        "minimist": "^1.2.0",
-        "reflect-metadata": "^0.1.2",
+        "reflect-metadata": "^0.2.0",
         "semver": "^7.0.0",
-        "source-map": "^0.6.1",
-        "sourcemap-codec": "^1.4.8",
-        "tslib": "^2.2.0",
-        "yargs": "^17.0.0"
+        "tslib": "^2.3.0",
+        "yargs": "^17.2.1"
       },
       "dependencies": {
+        "@ampproject/remapping": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+          "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/gen-mapping": "^0.3.5",
+            "@jridgewell/trace-mapping": "^0.3.24"
+          }
+        },
+        "@babel/code-frame": {
+          "version": "7.24.7",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+          "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.24.7",
+            "picocolors": "^1.0.0"
+          }
+        },
+        "@babel/compat-data": {
+          "version": "7.25.4",
+          "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz",
+          "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==",
+          "dev": true
+        },
+        "@babel/core": {
+          "version": "7.25.2",
+          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
+          "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
+          "dev": true,
+          "requires": {
+            "@ampproject/remapping": "^2.2.0",
+            "@babel/code-frame": "^7.24.7",
+            "@babel/generator": "^7.25.0",
+            "@babel/helper-compilation-targets": "^7.25.2",
+            "@babel/helper-module-transforms": "^7.25.2",
+            "@babel/helpers": "^7.25.0",
+            "@babel/parser": "^7.25.0",
+            "@babel/template": "^7.25.0",
+            "@babel/traverse": "^7.25.2",
+            "@babel/types": "^7.25.2",
+            "convert-source-map": "^2.0.0",
+            "debug": "^4.1.0",
+            "gensync": "^1.0.0-beta.2",
+            "json5": "^2.2.3",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "convert-source-map": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+              "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+              "dev": true
+            },
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@babel/generator": {
+          "version": "7.25.6",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
+          "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.25.6",
+            "@jridgewell/gen-mapping": "^0.3.5",
+            "@jridgewell/trace-mapping": "^0.3.25",
+            "jsesc": "^2.5.1"
+          }
+        },
+        "@babel/helper-compilation-targets": {
+          "version": "7.25.2",
+          "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
+          "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
+          "dev": true,
+          "requires": {
+            "@babel/compat-data": "^7.25.2",
+            "@babel/helper-validator-option": "^7.24.8",
+            "browserslist": "^4.23.1",
+            "lru-cache": "^5.1.1",
+            "semver": "^6.3.1"
+          },
+          "dependencies": {
+            "semver": {
+              "version": "6.3.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+              "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+              "dev": true
+            }
+          }
+        },
+        "@babel/helper-module-imports": {
+          "version": "7.24.7",
+          "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
+          "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+          "dev": true,
+          "requires": {
+            "@babel/traverse": "^7.24.7",
+            "@babel/types": "^7.24.7"
+          }
+        },
+        "@babel/helper-module-transforms": {
+          "version": "7.25.2",
+          "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
+          "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-module-imports": "^7.24.7",
+            "@babel/helper-simple-access": "^7.24.7",
+            "@babel/helper-validator-identifier": "^7.24.7",
+            "@babel/traverse": "^7.25.2"
+          }
+        },
+        "@babel/helper-simple-access": {
+          "version": "7.24.7",
+          "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
+          "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+          "dev": true,
+          "requires": {
+            "@babel/traverse": "^7.24.7",
+            "@babel/types": "^7.24.7"
+          }
+        },
+        "@babel/helper-string-parser": {
+          "version": "7.24.8",
+          "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
+          "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+          "dev": true
+        },
+        "@babel/helper-validator-identifier": {
+          "version": "7.24.7",
+          "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+          "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+          "dev": true
+        },
+        "@babel/helper-validator-option": {
+          "version": "7.24.8",
+          "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
+          "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+          "dev": true
+        },
+        "@babel/helpers": {
+          "version": "7.25.6",
+          "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz",
+          "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==",
+          "dev": true,
+          "requires": {
+            "@babel/template": "^7.25.0",
+            "@babel/types": "^7.25.6"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.24.7",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+          "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-validator-identifier": "^7.24.7",
+            "chalk": "^2.4.2",
+            "js-tokens": "^4.0.0",
+            "picocolors": "^1.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.25.6",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
+          "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.25.6"
+          }
+        },
+        "@babel/template": {
+          "version": "7.25.0",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
+          "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.24.7",
+            "@babel/parser": "^7.25.0",
+            "@babel/types": "^7.25.0"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.25.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
+          "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.24.7",
+            "@babel/generator": "^7.25.6",
+            "@babel/parser": "^7.25.6",
+            "@babel/template": "^7.25.0",
+            "@babel/types": "^7.25.6",
+            "debug": "^4.3.1",
+            "globals": "^11.1.0"
+          }
+        },
+        "@babel/types": {
+          "version": "7.25.6",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
+          "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-string-parser": "^7.24.8",
+            "@babel/helper-validator-identifier": "^7.24.7",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "@jridgewell/gen-mapping": {
+          "version": "0.3.5",
+          "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+          "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/set-array": "^1.2.1",
+            "@jridgewell/sourcemap-codec": "^1.4.10",
+            "@jridgewell/trace-mapping": "^0.3.24"
+          }
+        },
+        "@jridgewell/resolve-uri": {
+          "version": "3.1.2",
+          "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+          "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+          "dev": true
+        },
+        "@jridgewell/set-array": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+          "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+          "dev": true
+        },
+        "@jridgewell/trace-mapping": {
+          "version": "0.3.25",
+          "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+          "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+          "dev": true,
+          "requires": {
+            "@jridgewell/resolve-uri": "^3.1.0",
+            "@jridgewell/sourcemap-codec": "^1.4.14"
+          }
+        },
         "ansi-styles": {
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -594,14 +835,32 @@
             "color-convert": "^2.0.1"
           }
         },
+        "browserslist": {
+          "version": "4.23.3",
+          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
+          "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
+          "dev": true,
+          "requires": {
+            "caniuse-lite": "^1.0.30001646",
+            "electron-to-chromium": "^1.5.4",
+            "node-releases": "^2.0.18",
+            "update-browserslist-db": "^1.1.0"
+          }
+        },
+        "caniuse-lite": {
+          "version": "1.0.30001660",
+          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz",
+          "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==",
+          "dev": true
+        },
         "cliui": {
-          "version": "7.0.4",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
-          "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+          "version": "8.0.1",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+          "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
           "dev": true,
           "requires": {
             "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
+            "strip-ansi": "^6.0.1",
             "wrap-ansi": "^7.0.0"
           }
         },
@@ -620,21 +879,83 @@
           "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
           "dev": true
         },
-        "semver": {
-          "version": "7.3.5",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
-          "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+        "electron-to-chromium": {
+          "version": "1.5.25",
+          "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.25.tgz",
+          "integrity": "sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==",
+          "dev": true
+        },
+        "escalade": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+          "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+          "dev": true
+        },
+        "json5": {
+          "version": "2.2.3",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+          "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+          "dev": true
+        },
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
           "dev": true,
           "requires": {
-            "lru-cache": "^6.0.0"
+            "yallist": "^3.0.2"
           }
         },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+        "node-releases": {
+          "version": "2.0.18",
+          "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
+          "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
+          "dev": true
+        },
+        "semver": {
+          "version": "7.6.3",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+          "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
           "dev": true
         },
+        "string-width": {
+          "version": "4.2.3",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+          "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^8.0.0",
+            "is-fullwidth-code-point": "^3.0.0",
+            "strip-ansi": "^6.0.1"
+          }
+        },
+        "strip-ansi": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+          "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^5.0.1"
+          }
+        },
+        "update-browserslist-db": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
+          "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+          "dev": true,
+          "requires": {
+            "escalade": "^3.1.2",
+            "picocolors": "^1.0.1"
+          },
+          "dependencies": {
+            "picocolors": {
+              "version": "1.1.0",
+              "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
+              "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
+              "dev": true
+            }
+          }
+        },
         "wrap-ansi": {
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -652,25 +973,31 @@
           "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
           "dev": true
         },
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
+        },
         "yargs": {
-          "version": "17.2.1",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz",
-          "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==",
+          "version": "17.7.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+          "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
           "dev": true,
           "requires": {
-            "cliui": "^7.0.2",
+            "cliui": "^8.0.1",
             "escalade": "^3.1.1",
             "get-caller-file": "^2.0.5",
             "require-directory": "^2.1.1",
-            "string-width": "^4.2.0",
+            "string-width": "^4.2.3",
             "y18n": "^5.0.5",
-            "yargs-parser": "^20.2.2"
+            "yargs-parser": "^21.1.1"
           }
         },
         "yargs-parser": {
-          "version": "20.2.9",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
-          "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+          "version": "21.1.1",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+          "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
           "dev": true
         }
       }
@@ -684,41 +1011,41 @@
       }
     },
     "@angular/forms": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.11.tgz",
-      "integrity": "sha512-mylti7rtz2FcM3hwPSj2JnX8y8BrXmzrjEWjcLlXmwoMzv/M3vY5HlgKzOmPN03bVgxC7b7EFfGMXfJ3YoPWpg==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.5.tgz",
+      "integrity": "sha512-ohKeH+EZCCIyGSiFYlraWLzssGAZc13P92cuYpXB62322PkcA5u0IT72mML9JWGKRqF2zteVsw4koWHVxXM5mA==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/language-service": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.11.tgz",
-      "integrity": "sha512-ag0YlWvVmNQWKGB14SFgaPcWuYQJpr8OrD2JoY91P+WWpv6oawemHRVF1rvFjmPf9byXv4mnPK1h36qI7EJSpw==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-18.2.5.tgz",
+      "integrity": "sha512-JE6ck4UWXayiG8ptJJtkrKCjy+5Ftktgsoj4QGdQzMhbpia7Wge5XDj28o+bwEFndRnP6ihRtud63IvOz9aKFQ==",
       "dev": true
     },
     "@angular/platform-browser": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.11.tgz",
-      "integrity": "sha512-uJEnVOK3M1SrCWJoW2jFx5F8pUCbSISai7dbTBVc+/Gx6e9ZuNzBVOooLvSzV96DurhTV7xGSXR5Ry75UNZ48A==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-18.2.5.tgz",
+      "integrity": "sha512-PoX9idwnOpTJBlujzZ2nFGOsmCnZzOH7uNSWIR7trdoq0b1AFXfrxlCQ36qWamk7bbhJI4H28L8YTmKew/nXDA==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/platform-browser-dynamic": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.11.tgz",
-      "integrity": "sha512-TF80norTsBbJiUsqo6IUNALV2W1YkEa5QAB6RkTrb1K/V6oGcWcGfqSyCMbjRHPEZTwiAzz4cYEmip5kFtE+oQ==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-18.2.5.tgz",
+      "integrity": "sha512-5u0IuAt1r5e2u2vSKhp3phnaf6hH89B/q7GErfPse1sdDfNI6wHVppxai28PAfAj9gwooJun6MjFWhJFLzS44A==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@angular/router": {
-      "version": "12.2.11",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.11.tgz",
-      "integrity": "sha512-iqQujHKLDpE+xJwXqRY1U83xfDnmb7LIQ0UL6ORSw6mqDTxIeMXfVKRqux1dIlWX+ysU0uTHuug49R8T9q0fhg==",
+      "version": "18.2.5",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-18.2.5.tgz",
+      "integrity": "sha512-OjZV1PTiSwT0ytmR0ykveLYzs4uQWf0EuIclZmWqM/bb8Q4P+gJl7/sya05nGnZsj6nHGOL0e/LhSZ3N+5p6qg==",
       "requires": {
-        "tslib": "^2.2.0"
+        "tslib": "^2.3.0"
       }
     },
     "@assemblyscript/loader": {
@@ -5153,12 +5480,6 @@
       "integrity": "sha512-1uoSZ1Pq1VpH0WerIMqwptXHNNGfdl7d1cJUFs80CwQ/lVzdhTvsFZCeNFslze7AjsQnb4C85tzclPa1VShbeQ==",
       "dev": true
     },
-    "canonical-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz",
-      "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==",
-      "dev": true
-    },
     "chalk": {
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@@ -12799,9 +13120,9 @@
       }
     },
     "reflect-metadata": {
-      "version": "0.1.13",
-      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
-      "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
+      "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
       "dev": true
     },
     "regenerate": {
diff --git a/package.json b/package.json
index 23901c4..12b05a0 100644
--- a/package.json
+++ b/package.json
@@ -23,14 +23,14 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "12.2.11",
-    "@angular/common": "12.2.11",
-    "@angular/compiler": "12.2.11",
+    "@angular/animations": "18.2.5",
+    "@angular/common": "18.2.5",
+    "@angular/compiler": "18.2.5",
     "@angular/core": "12.2.11",
-    "@angular/forms": "12.2.11",
-    "@angular/platform-browser": "12.2.11",
-    "@angular/platform-browser-dynamic": "12.2.11",
-    "@angular/router": "12.2.11",
+    "@angular/forms": "18.2.5",
+    "@angular/platform-browser": "18.2.5",
+    "@angular/platform-browser-dynamic": "18.2.5",
+    "@angular/router": "18.2.5",
     "rxjs": "6.6.7",
     "tslib": "2.3.1",
     "zone.js": "0.11.4"
@@ -39,8 +39,8 @@
     "@angular-devkit/build-angular": "12.2.18",
     "@angular-devkit/core": "12.2.18",
     "@angular/cli": "12.2.18",
-    "@angular/compiler-cli": "12.2.11",
-    "@angular/language-service": "12.2.11",
+    "@angular/compiler-cli": "18.2.5",
+    "@angular/language-service": "18.2.5",
     "@types/jasmine": "3.10.1",
     "@types/jasminewd2": "2.0.10",
     "@types/node": "14.18.48",