Repository: IBM/diem (language: python)

Issue:
Gh/latest
# Pull Request Template

## Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

- [ ] Test A
- [ ] Test B

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have checked my code and corrected any misspellings



Discussion / hints:

Fix patch:
diff --git a/applications/diem-core/package-lock.json b/applications/diem-core/package-lock.json
index cee8ca57..db62ce20 100644
--- a/applications/diem-core/package-lock.json
+++ b/applications/diem-core/package-lock.json
@@ -31,10 +31,10 @@
                 "kubernetes-client": "^9.0.0",
                 "moment": "^2.29.1",
                 "mongoose": "^6.1.7",
-                "nats": "^2.4.0",
+                "nats": "^2.5.0",
                 "nocache": "^3.0.1",
+                "openid-client": "^5.1.2",
                 "passport": "^0.5.2",
-                "passport-ci-oidc": "^2.0.4",
                 "print-hrtime": "^2.0.0",
                 "pug": "^3.0.2",
                 "serve-favicon": "^2.5.0",
@@ -45,24 +45,24 @@
                 "yaml": "^1.10.2"
             },
             "devDependencies": {
-                "@angular-devkit/build-optimizer": "^0.1301.3",
+                "@angular-devkit/build-optimizer": "^0.1301.4",
                 "@angular-eslint/eslint-plugin": "^13.0.1",
                 "@angular-eslint/eslint-plugin-template": "^13.0.1",
                 "@angular-eslint/template-parser": "^13.0.1",
-                "@angular/animations": "^13.1.2",
-                "@angular/cdk": "^13.1.2",
-                "@angular/cli": "^13.1.3",
-                "@angular/common": "^13.1.2",
-                "@angular/compiler": "^13.1.2",
-                "@angular/compiler-cli": "^13.1.2",
-                "@angular/core": "^13.1.2",
-                "@angular/forms": "^13.1.2",
-                "@angular/platform-browser": "^13.1.2",
-                "@angular/platform-browser-dynamic": "^13.1.2",
-                "@angular/router": "^13.1.2",
+                "@angular/animations": "^13.1.3",
+                "@angular/cdk": "^13.1.3",
+                "@angular/cli": "^13.1.4",
+                "@angular/common": "^13.1.3",
+                "@angular/compiler": "^13.1.3",
+                "@angular/compiler-cli": "^13.1.3",
+                "@angular/core": "^13.1.3",
+                "@angular/forms": "^13.1.3",
+                "@angular/platform-browser": "^13.1.3",
+                "@angular/platform-browser-dynamic": "^13.1.3",
+                "@angular/router": "^13.1.3",
                 "@auth0/angular-jwt": "^5.0.2",
-                "@babel/core": "^7.16.7",
-                "@babel/preset-env": "^7.16.8",
+                "@babel/core": "^7.16.10",
+                "@babel/preset-env": "^7.16.11",
                 "@carbon/grid": "^10.40.0",
                 "@carbon/icons": "^10.45.0",
                 "@carbon/icons-angular": "^11.2.2",
@@ -72,7 +72,7 @@
                 "@mydiem/diem-angular-util": "^2.10.0",
                 "@mydiem/diem-forms": "^5.3.0",
                 "@ngrx/store": "^13.0.2",
-                "@ngtools/webpack": "^13.1.3",
+                "@ngtools/webpack": "^13.1.4",
                 "@types/body-parser": "^1.19.2",
                 "@types/busboy": "^1.3.0",
                 "@types/cookie-parser": "^1.4.2",
@@ -86,15 +86,16 @@
                 "@types/jsonwebtoken": "^8.5.8",
                 "@types/lodash-es": "^4.17.5",
                 "@types/mermaid": "^8.2.7",
-                "@types/mini-css-extract-plugin": "^2.4.0",
+                "@types/mini-css-extract-plugin": "^2.5.1",
                 "@types/node": "^17.0.10",
+                "@types/openid-client": "^3.7.0",
                 "@types/passport": "^1.0.7",
                 "@types/pug": "^2.0.6",
                 "@types/request": "^2.48.8",
                 "@types/serve-favicon": "^2.5.3",
                 "@types/tapable": "^2.2.2",
                 "@types/webpack": "^5.28.0",
-                "@types/webpack-assets-manifest": "^5.0.2",
+                "@types/webpack-assets-manifest": "^5.1.0",
                 "@types/webpack-env": "^1.16.3",
                 "@types/workbox-webpack-plugin": "^5.1.8",
                 "@typescript-eslint/eslint-plugin": "^5.10.0",
@@ -107,7 +108,7 @@
                 "carbon-components": "^10.51.0",
                 "carbon-components-angular": "^4.57.6",
                 "codelyzer": "^6.0.2",
-                "copy-webpack-plugin": "^10.2.0",
+                "copy-webpack-plugin": "^10.2.1",
                 "core.js": "^0.4.2",
                 "cross-env": "^7.0.3",
                 "css-loader": "^6.5.1",
@@ -117,7 +118,7 @@
                 "eslint": "^8.7.0",
                 "eslint-config-prettier": "^8.3.0",
                 "eslint-plugin-import": "^2.25.4",
-                "eslint-plugin-jsdoc": "^37.6.1",
+                "eslint-plugin-jsdoc": "^37.6.2",
                 "eslint-plugin-prettier": "^4.0.0",
                 "eslint-plugin-rxjs": "^5.0.1",
                 "eslint-plugin-sonarjs": "^0.11.0",
@@ -146,7 +147,7 @@
                 "svg-inline-loader": "^0.8.2",
                 "terser-webpack-plugin": "^5.3.0",
                 "ts-loader": "^9.2.6",
-                "typescript": "^4.5.4",
+                "typescript": "^4.5.5",
                 "url-loader": "^4.1.1",
                 "webpack": "^5.66.0",
                 "webpack-assets-manifest": "^5.1.0",
@@ -157,12 +158,12 @@
             }
         },
         "node_modules/@angular-devkit/architect": {
-            "version": "0.1301.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.3.tgz",
-            "integrity": "sha512-fFSevgYGZHCybYoyTkZ9b1YCSthBmoi77alwWjqMhYXUNXx7yx50zJZ6Ur2v3YpctVjU6eoGc5FDFyVHwXT0Iw==",
+            "version": "0.1301.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz",
+            "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==",
             "dev": true,
             "dependencies": {
-                "@angular-devkit/core": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
                 "rxjs": "6.6.7"
             },
             "engines": {
@@ -190,10 +191,9 @@
             "dev": true
         },
         "node_modules/@angular-devkit/build-optimizer": {
-            "version": "0.1301.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.3.tgz",
-            "integrity": "sha512-ZLPPXDUUQWUxYeNR7NGnuMdi2IKJU4WMMg4LmwSlEJzulKO6MbjreXQsQtG1ILxXmVe/eL1v2XVaX0/AyTr9Zw==",
-            "deprecated": "This package has been folded in @angular-devkit/build-angular and should no longer be needed. This package has always been experimental and never hit 1.0.0, meaning it should not be used directly outside of Angular.",
+            "version": "0.1301.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.4.tgz",
+            "integrity": "sha512-w09qgZ6oZ8TmLln4IvQuSe/664UITs+pW2PKA4Ya3N4bmnja+Sz7McoH5ifNnBw8QWUgJy9rSDj13bOoe1t7WA==",
             "dev": true,
             "dependencies": {
                 "source-map": "0.7.3",
@@ -231,9 +231,9 @@
             }
         },
         "node_modules/@angular-devkit/core": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.3.tgz",
-            "integrity": "sha512-o14jGDk4h14dVYYQafOn+2rq9CDmDMbDV6logqKYCLzTDRlK8gccDnqJM/QKAlfWCzbllZqcHDmg6FyoRLO9RQ==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz",
+            "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==",
             "dev": true,
             "dependencies": {
                 "ajv": "8.8.2",
@@ -276,12 +276,12 @@
             "dev": true
         },
         "node_modules/@angular-devkit/schematics": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.3.tgz",
-            "integrity": "sha512-TvjThB/pFXNFM0j0WX5yg0L2/3xNsqawQuWhkDJ05MBDEnSxbgv5hmOzNL8SNIEMgP0VbSTHtSg5kZvmNiH7vg==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.4.tgz",
+            "integrity": "sha512-yBa7IeC4cLZ7s137NAQD+sMB5c6SI6UJ6xYxl6J/CvV2RLGOZZA93i4GuRALi5s82eLi1fH+HEL/gvf3JQynzQ==",
             "dev": true,
             "dependencies": {
-                "@angular-devkit/core": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
                 "jsonc-parser": "3.0.0",
                 "magic-string": "0.25.7",
                 "ora": "5.4.1",
@@ -376,9 +376,9 @@
             }
         },
         "node_modules/@angular/animations": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.1.2.tgz",
-            "integrity": "sha512-k1eQ8YZq3eelLhJDQjkRCt/4MXxwK2TFeGdtcYJF0G7vFOppE8hlI4PT7Bvmk08lTqvgiqtTI3ZaYmIINLfUMg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.1.3.tgz",
+            "integrity": "sha512-OwsVQsNHubIgRcxnjti4CU3QJnqd7Z2b+2iu3M349Oxyqxz4DNCqKXalDuJZt/b0yNfirvYO3kCgBfj4PF43QQ==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -387,13 +387,13 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/core": "13.1.2"
+                "@angular/core": "13.1.3"
             }
         },
         "node_modules/@angular/cdk": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.1.2.tgz",
-            "integrity": "sha512-xORyqvfM0MueJpxHxVi3CR/X/f1RPKr45vt7NV6/x91OTnh2ukwxg++dAGuA6M5gUAHcVAcaBrfju4GQlU9hmg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.1.3.tgz",
+            "integrity": "sha512-Psuri2mc6W+xKtZr39FHL+cDz7Le9kKTo8ziCtUiydikBBdqfOu6AnWUrEMEGFxS2wt8nolFXDAGUaMUAE3Ekg==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -408,16 +408,16 @@
             }
         },
         "node_modules/@angular/cli": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.1.3.tgz",
-            "integrity": "sha512-Ju/A8LFnfcv1PC665a5FiIQx9SXqB+3yWYFXPIiVkkRcye95gpfsbV48WW7QV35gzIwbR1m3H907Zg6ptiNv0A==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.1.4.tgz",
+            "integrity": "sha512-PP9xpvDDCHhLTIZjewQQzzf+JbpF2s5mXTW2AgIL/E53ukaVvXwwjFMt9dQvECwut/LDpThoc3OfqcGrmwtqnA==",
             "dev": true,
             "hasInstallScript": true,
             "dependencies": {
-                "@angular-devkit/architect": "0.1301.3",
-                "@angular-devkit/core": "13.1.3",
-                "@angular-devkit/schematics": "13.1.3",
-                "@schematics/angular": "13.1.3",
+                "@angular-devkit/architect": "0.1301.4",
+                "@angular-devkit/core": "13.1.4",
+                "@angular-devkit/schematics": "13.1.4",
+                "@schematics/angular": "13.1.4",
                 "@yarnpkg/lockfile": "1.1.0",
                 "ansi-colors": "4.1.1",
                 "debug": "4.3.3",
@@ -444,9 +444,9 @@
             }
         },
         "node_modules/@angular/common": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.1.2.tgz",
-            "integrity": "sha512-/8RWYQkZ1KPNvu2FANJM44wXlOMjMyxZVOEIn3llMRgxV2iiYtmluAOJNafTAbKedAuD6wiSpbi++QbioqCyyA==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.1.3.tgz",
+            "integrity": "sha512-8qf5syeXUogf3+GSu6IRJjrk46UKh9L0QuLx+OSIl/df0y1ewx7e28q3BAUEEnOnKrLzpPNxWs2iwModc4KYfg==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -455,14 +455,14 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/core": "13.1.2",
+                "@angular/core": "13.1.3",
                 "rxjs": "^6.5.3 || ^7.4.0"
             }
         },
         "node_modules/@angular/compiler": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.1.2.tgz",
-            "integrity": "sha512-xbM3eClhUIHEFR0Et1bVC18Q7+kJx+hNNWWQl63RNYYBxTZnZpXA3mYi6IcEasy7BHkobVW+5teqlibFQY4gfQ==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.1.3.tgz",
+            "integrity": "sha512-dbHs/Oa+Dn+7i0jKtlVDE0lD0DaUC+lVzAcTK/zS37LrckrTMn1CA+z9bZ4gpHig9RU0wgV3YORxv0wokyiB8A==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -472,9 +472,9 @@
             }
         },
         "node_modules/@angular/compiler-cli": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.1.2.tgz",
-            "integrity": "sha512-yqM6RLcYtfwIuqBQ7eS7WdksBYY7Dh9sP4rElgLiEhDGIPQf6YE5zeuRThGq5pQ2fvHbNflw8QmTHu/18Y1u/g==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.1.3.tgz",
+            "integrity": "sha512-ALURaJATc54DzPuiZBvALf/alEp1wr7Hjmw4FuMn2cU7p8lwKkra1Dz5dAZOxh7jAcD1GJfrK/+Sb7A3cuuKjQ==",
             "dev": true,
             "dependencies": {
                 "@babel/core": "^7.8.6",
@@ -498,14 +498,14 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/compiler": "13.1.2",
+                "@angular/compiler": "13.1.3",
                 "typescript": ">=4.4.2 <4.6"
             }
         },
         "node_modules/@angular/core": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.1.2.tgz",
-            "integrity": "sha512-dsb90lUf8BELzdg7MgSMfPc36xzZKsDggOimfXhIvmctgc+H71Zo07KYTy5JVqsscLdT+A/KBvtU1bKk4P+Rfg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.1.3.tgz",
+            "integrity": "sha512-rvCnIAonRx7VnH2Mv9lQR+UYdlFQQetZCjPw8QOswOspEpHpEPDrp1HxDIqJnHxNqW0n8J3Zev/VgQYr0481UA==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -519,9 +519,9 @@
             }
         },
         "node_modules/@angular/forms": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.1.2.tgz",
-            "integrity": "sha512-r5I5cPngk2Erxe/OEL9Hl1j1VcNSAAyVzh7KmtOP8z7RZYCd0MeRISKrmA5CGn5Dh7A5POFLoOpBatmvnc4Z/A==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.1.3.tgz",
+            "integrity": "sha512-c4N9zZSILyEbomY2CJo1WAMxiHu/qlycvzxKH5NFS2P2+fieORlbKUJ2p1CbYqcIxVnLYRSdWH8f1JpoaG0ETw==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -530,16 +530,16 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/common": "13.1.2",
-                "@angular/core": "13.1.2",
-                "@angular/platform-browser": "13.1.2",
+                "@angular/common": "13.1.3",
+                "@angular/core": "13.1.3",
+                "@angular/platform-browser": "13.1.3",
                 "rxjs": "^6.5.3 || ^7.4.0"
             }
         },
         "node_modules/@angular/platform-browser": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.1.2.tgz",
-            "integrity": "sha512-yBUWtYJHr/1LuK3/YRRav2O82i6RHVPtRoAlZHoeTlh2CYA4u1m3JHq9XBrxIxSXexBX69pMrZENW1xskwKRTQ==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.1.3.tgz",
+            "integrity": "sha512-mnWjdr9UTNZvGk8jPI6O9FIhun8Q/0ghy3dg3I9AfRzEG4vPiIZW1ICksTiB+jV9etzhKpidtmg71bwgeXax1A==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -548,9 +548,9 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/animations": "13.1.2",
-                "@angular/common": "13.1.2",
-                "@angular/core": "13.1.2"
+                "@angular/animations": "13.1.3",
+                "@angular/common": "13.1.3",
+                "@angular/core": "13.1.3"
             },
             "peerDependenciesMeta": {
                 "@angular/animations": {
@@ -559,9 +559,9 @@
             }
         },
         "node_modules/@angular/platform-browser-dynamic": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.2.tgz",
-            "integrity": "sha512-gABOn8DxGai56WmIt5o+eXtduabiq4Mlprg+6+dv+2PvWV871pLvswV9EGUSgwKXvbhBlDZDuNFU5LgvNDuGFg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.3.tgz",
+            "integrity": "sha512-vEWyJ+2gkwh2N6KOJfxUNSdSO51ROlzCqqzCfHrPYQrlOFUfKsYKA1uoiB5UGfFEU0HBtIRWn6xoUy3wzVOZbw==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -570,16 +570,16 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/common": "13.1.2",
-                "@angular/compiler": "13.1.2",
-                "@angular/core": "13.1.2",
-                "@angular/platform-browser": "13.1.2"
+                "@angular/common": "13.1.3",
+                "@angular/compiler": "13.1.3",
+                "@angular/core": "13.1.3",
+                "@angular/platform-browser": "13.1.3"
             }
         },
         "node_modules/@angular/router": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.1.2.tgz",
-            "integrity": "sha512-5S0De6SdlbERoX9FwOBiTWxINchW7nTPUIH/tdanOqq12cqp6/7NigOr3BZDSvUNIh/6Is+pSQTKGAbhxejN2w==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.1.3.tgz",
+            "integrity": "sha512-L86kARlc5UNi5KeI0O8PO7wFbTzjEI8ouz+z+aNmCnMUUNX0rbvbuXiPdDvLc71nKZznsPCl2IuO8ojyHrSPsQ==",
             "dev": true,
             "dependencies": {
                 "tslib": "^2.3.0"
@@ -588,9 +588,9 @@
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0"
             },
             "peerDependencies": {
-                "@angular/common": "13.1.2",
-                "@angular/core": "13.1.2",
-                "@angular/platform-browser": "13.1.2",
+                "@angular/common": "13.1.3",
+                "@angular/core": "13.1.3",
+                "@angular/platform-browser": "13.1.3",
                 "rxjs": "^6.5.3 || ^7.4.0"
             }
         },
@@ -645,20 +645,20 @@
             }
         },
         "node_modules/@babel/core": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
-            "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz",
+            "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==",
             "dev": true,
             "dependencies": {
                 "@babel/code-frame": "^7.16.7",
-                "@babel/generator": "^7.16.7",
+                "@babel/generator": "^7.16.8",
                 "@babel/helper-compilation-targets": "^7.16.7",
                 "@babel/helper-module-transforms": "^7.16.7",
                 "@babel/helpers": "^7.16.7",
-                "@babel/parser": "^7.16.7",
+                "@babel/parser": "^7.16.10",
                 "@babel/template": "^7.16.7",
-                "@babel/traverse": "^7.16.7",
-                "@babel/types": "^7.16.7",
+                "@babel/traverse": "^7.16.10",
+                "@babel/types": "^7.16.8",
                 "convert-source-map": "^1.7.0",
                 "debug": "^4.1.0",
                 "gensync": "^1.0.0-beta.2",
@@ -768,9 +768,9 @@
             }
         },
         "node_modules/@babel/helper-create-class-features-plugin": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
-            "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz",
+            "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==",
             "dev": true,
             "dependencies": {
                 "@babel/helper-annotate-as-pure": "^7.16.7",
@@ -1129,9 +1129,9 @@
             }
         },
         "node_modules/@babel/parser": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-            "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+            "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==",
             "bin": {
                 "parser": "bin/babel-parser.js"
             },
@@ -1370,12 +1370,12 @@
             }
         },
         "node_modules/@babel/plugin-proposal-private-methods": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
-            "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
+            "version": "7.16.11",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
+            "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-create-class-features-plugin": "^7.16.7",
+                "@babel/helper-create-class-features-plugin": "^7.16.10",
                 "@babel/helper-plugin-utils": "^7.16.7"
             },
             "engines": {
@@ -2103,9 +2103,9 @@
             }
         },
         "node_modules/@babel/preset-env": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz",
-            "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==",
+            "version": "7.16.11",
+            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
+            "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
             "dev": true,
             "dependencies": {
                 "@babel/compat-data": "^7.16.8",
@@ -2126,7 +2126,7 @@
                 "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
                 "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
                 "@babel/plugin-proposal-optional-chaining": "^7.16.7",
-                "@babel/plugin-proposal-private-methods": "^7.16.7",
+                "@babel/plugin-proposal-private-methods": "^7.16.11",
                 "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
                 "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
                 "@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -2255,9 +2255,9 @@
             }
         },
         "node_modules/@babel/traverse": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-            "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz",
+            "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==",
             "dev": true,
             "dependencies": {
                 "@babel/code-frame": "^7.16.7",
@@ -2266,7 +2266,7 @@
                 "@babel/helper-function-name": "^7.16.7",
                 "@babel/helper-hoist-variables": "^7.16.7",
                 "@babel/helper-split-export-declaration": "^7.16.7",
-                "@babel/parser": "^7.16.8",
+                "@babel/parser": "^7.16.10",
                 "@babel/types": "^7.16.8",
                 "debug": "^4.1.0",
                 "globals": "^11.1.0"
@@ -2597,6 +2597,40 @@
                 "@types/node": "*"
             }
         },
+        "node_modules/@kubernetes/client-node/node_modules/jose": {
+            "version": "2.0.5",
+            "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz",
+            "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==",
+            "dependencies": {
+                "@panva/asn1.js": "^1.0.0"
+            },
+            "engines": {
+                "node": ">=10.13.0 < 13 || >=13.7.0"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/panva"
+            }
+        },
+        "node_modules/@kubernetes/client-node/node_modules/openid-client": {
+            "version": "4.9.1",
+            "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz",
+            "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==",
+            "dependencies": {
+                "aggregate-error": "^3.1.0",
+                "got": "^11.8.0",
+                "jose": "^2.0.5",
+                "lru-cache": "^6.0.0",
+                "make-error": "^1.3.6",
+                "object-hash": "^2.0.1",
+                "oidc-token-hash": "^5.0.1"
+            },
+            "engines": {
+                "node": "^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/panva"
+            }
+        },
         "node_modules/@kubernetes/client-node/node_modules/tslib": {
             "version": "1.14.1",
             "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
@@ -2668,9 +2702,9 @@
             }
         },
         "node_modules/@ngtools/webpack": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.1.3.tgz",
-            "integrity": "sha512-6Pf52IbChm/dFuegfv0smeBTW2moi0Gdkyjgk/7VWqE6hN35m+YGrCh+XnPp1POJwOKxhAByhV9zs6NWxrK1vA==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.1.4.tgz",
+            "integrity": "sha512-s8gzjG2nYHawFhlkHMkQWYrocHkBI1nF6T9K/oCSTIsq6kvTv//Ahno2VdBSgVq8uMnpv1TymvX0nFC4Dgn1HA==",
             "dev": true,
             "engines": {
                 "node": "^12.20.0 || ^14.15.0 || >=16.10.0",
@@ -2897,13 +2931,13 @@
             "dev": true
         },
         "node_modules/@schematics/angular": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.3.tgz",
-            "integrity": "sha512-IixVWAEtN97N74PCxg3T03Ar/ECjGyJBWKAjKTTCrgNSWhm2mKgIc4RyI6cVCnltfJWIo48fcFhlOx/elShaCg==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.4.tgz",
+            "integrity": "sha512-P1YsHn1LLAmdpB9X2TBuUgrvEW/KaoBbHr8ifYO8/uQEXyeiIF+So8h/dnegkYkdsr3OwQ2X/j3UF6/+HS0odg==",
             "dev": true,
             "dependencies": {
-                "@angular-devkit/core": "13.1.3",
-                "@angular-devkit/schematics": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
+                "@angular-devkit/schematics": "13.1.4",
                 "jsonc-parser": "3.0.0"
             },
             "engines": {
@@ -3248,14 +3282,13 @@
             "dev": true
         },
         "node_modules/@types/mini-css-extract-plugin": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.0.tgz",
-            "integrity": "sha512-1Pq4i+2+c8jncxfX5k7BzPIEoyrq+n7L319zMxiLUH4RlWTGcQJjemtMftLQnoTt21oHhZE0PjXd2W1xM1m4Hg==",
+            "version": "2.5.1",
+            "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.1.tgz",
+            "integrity": "sha512-evjjtJttaUexgg3au9ZJFy76tV9mySwX3a4Jl82BuormBYluWLRt0xk2urWrhOdPgDWzulRFyotwYOJTmkSgKw==",
+            "deprecated": "This is a stub types definition. mini-css-extract-plugin provides its own type definitions, so you do not need this installed.",
             "dev": true,
             "dependencies": {
-                "@types/node": "*",
-                "tapable": "^2.2.0",
-                "webpack": "^5"
+                "mini-css-extract-plugin": "*"
             }
         },
         "node_modules/@types/minipass": {
@@ -3280,6 +3313,16 @@
                 "@types/node": "*"
             }
         },
+        "node_modules/@types/openid-client": {
+            "version": "3.7.0",
+            "resolved": "https://registry.npmjs.org/@types/openid-client/-/openid-client-3.7.0.tgz",
+            "integrity": "sha512-hW+QbAeUyfUHABwUjUECOcv56Mf5tN29xK3GPN7wy3R3XfIQdkm37XELA4wbe2RNG9GYUpN8l2ytfoW05XmpgQ==",
+            "deprecated": "This is a stub types definition. openid-client provides its own type definitions, so you do not need this installed.",
+            "dev": true,
+            "dependencies": {
+                "openid-client": "*"
+            }
+        },
         "node_modules/@types/parse-json": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
@@ -3419,9 +3462,9 @@
             }
         },
         "node_modules/@types/webpack-assets-manifest": {
-            "version": "5.0.2",
-            "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.0.2.tgz",
-            "integrity": "sha512-nsngGEwuwg/zXnFgCDOQCdeLAVZHVcnxcu2PJgCp4XYj1z7F6XzesEaJi8d/JE1KmHAW1Uihv/aI0MX80Rr4ZA==",
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.1.0.tgz",
+            "integrity": "sha512-XfqZOVP6n220SXYAVyFdPX+6DCGdejVQ/mj2l+eI5D0QL6+GaRTo4rBcmePDDQmVefpKq5Q7Gd4jiYQEjUwntA==",
             "dev": true,
             "dependencies": {
                 "@types/node": "*",
@@ -5830,9 +5873,9 @@
             "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
         },
         "node_modules/copy-webpack-plugin": {
-            "version": "10.2.0",
-            "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz",
-            "integrity": "sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==",
+            "version": "10.2.1",
+            "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz",
+            "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==",
             "dev": true,
             "dependencies": {
                 "fast-glob": "^3.2.7",
@@ -7830,11 +7873,6 @@
                 "url": "https://github.com/sponsors/ljharb"
             }
         },
-        "node_modules/es6-promise": {
-            "version": "4.2.8",
-            "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
-            "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
-        },
         "node_modules/escalade": {
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -8045,9 +8083,9 @@
             "dev": true
         },
         "node_modules/eslint-plugin-jsdoc": {
-            "version": "37.6.1",
-            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.6.1.tgz",
-            "integrity": "sha512-Y9UhH9BQD40A9P1NOxj59KrSLZb9qzsqYkLCZv30bNeJ7C9eaumTWhh9beiGqvK7m821Hj1dTsZ5LOaFIUTeTg==",
+            "version": "37.6.2",
+            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.6.2.tgz",
+            "integrity": "sha512-yYvCkaq+7A+kWBi2fxJFgWErdGOth5W+h1XqVnJg4qWonWo99K8i7Hmow6HWaiixHShNobtvq66f9HG/dJZ+WA==",
             "dev": true,
             "dependencies": {
                 "@es-joy/jsdoccomment": "~0.17.0",
@@ -10792,15 +10830,9 @@
             }
         },
         "node_modules/jose": {
-            "version": "2.0.5",
-            "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz",
-            "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==",
-            "dependencies": {
-                "@panva/asn1.js": "^1.0.0"
-            },
-            "engines": {
-                "node": ">=10.13.0 < 13 || >=13.7.0"
-            },
+            "version": "4.3.8",
+            "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.8.tgz",
+            "integrity": "sha512-dFiqN5FPLNWa/v+J3ShFjV/9sRGickxMbGUbqBrYr+BkrqLOieACaavSi9XmLJXe0Uzd7Cgs1oYtDvDrOyWLgw==",
             "funding": {
                 "url": "https://github.com/sponsors/panva"
             }
@@ -11551,7 +11583,8 @@
         "node_modules/lodash": {
             "version": "4.17.21",
             "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+            "dev": true
         },
         "node_modules/lodash-es": {
             "version": "4.17.21",
@@ -11726,11 +11759,6 @@
                 "triple-beam": "^1.3.0"
             }
         },
-        "node_modules/long": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
-            "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
-        },
         "node_modules/loose-envify": {
             "version": "1.4.0",
             "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -12314,9 +12342,9 @@
             }
         },
         "node_modules/nats": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/nats/-/nats-2.4.0.tgz",
-            "integrity": "sha512-58RwwuHNbFPNQK0qao2VdWaD9DSxmCcfqfflN0F9xI9WxGWC7TCHSwejUploq8xKQ9yLEVXf6HQeS6tISlCtBg==",
+            "version": "2.5.0",
+            "resolved": "https://registry.npmjs.org/nats/-/nats-2.5.0.tgz",
+            "integrity": "sha512-2kx4Aud9l6iDhIkBBxcZIDizDy58jaEnNPnVLkRNNx8CPxX00BXbjUpa2n/U0/DOwmo5mTY30sg3s/67O7IJvg==",
             "dependencies": {
                 "nkeys.js": "^1.0.0-9"
             },
@@ -12399,62 +12427,6 @@
                 "node": ">= 10.12.0"
             }
         },
-        "node_modules/node-jose": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-2.0.0.tgz",
-            "integrity": "sha512-j8zoFze1gijl8+DK/dSXXqX7+o2lMYv1XS+ptnXgGV/eloQaqq1YjNtieepbKs9jBS4WTnMOqyKSaQuunJzx0A==",
-            "dependencies": {
-                "base64url": "^3.0.1",
-                "buffer": "^5.5.0",
-                "es6-promise": "^4.2.8",
-                "lodash": "^4.17.15",
-                "long": "^4.0.0",
-                "node-forge": "^0.10.0",
-                "pako": "^1.0.11",
-                "process": "^0.11.10",
-                "uuid": "^3.3.3"
-            }
-        },
-        "node_modules/node-jose/node_modules/buffer": {
-            "version": "5.7.1",
-            "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-            "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-            "funding": [
-                {
-                    "type": "github",
-                    "url": "https://github.com/sponsors/feross"
-                },
-                {
-                    "type": "patreon",
-                    "url": "https://www.patreon.com/feross"
-                },
-                {
-                    "type": "consulting",
-                    "url": "https://feross.org/support"
-                }
-            ],
-            "dependencies": {
-                "base64-js": "^1.3.1",
-                "ieee754": "^1.1.13"
-            }
-        },
-        "node_modules/node-jose/node_modules/node-forge": {
-            "version": "0.10.0",
-            "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-            "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==",
-            "engines": {
-                "node": ">= 6.0.0"
-            }
-        },
-        "node_modules/node-jose/node_modules/uuid": {
-            "version": "3.4.0",
-            "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-            "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
-            "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
-            "bin": {
-                "uuid": "bin/uuid"
-            }
-        },
         "node_modules/node-releases": {
             "version": "2.0.1",
             "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
@@ -12878,11 +12850,6 @@
                 "url": "https://github.com/fb55/nth-check?sponsor=1"
             }
         },
-        "node_modules/oauth": {
-            "version": "0.9.15",
-            "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
-            "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE="
-        },
         "node_modules/oauth-sign": {
             "version": "0.9.0",
             "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -13058,20 +13025,17 @@
             }
         },
         "node_modules/openid-client": {
-            "version": "4.9.1",
-            "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz",
-            "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==",
+            "version": "5.1.2",
+            "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.2.tgz",
+            "integrity": "sha512-AV5wCy011lrZZvzQa4HGhItTb64+D8V50vEtS/HhaFjiM8jDItUyDu4C73nMr6zrlEvgprFdbyGGwkGiQ4ggJg==",
             "dependencies": {
-                "aggregate-error": "^3.1.0",
-                "got": "^11.8.0",
-                "jose": "^2.0.5",
+                "jose": "^4.1.4",
                 "lru-cache": "^6.0.0",
-                "make-error": "^1.3.6",
                 "object-hash": "^2.0.1",
                 "oidc-token-hash": "^5.0.1"
             },
             "engines": {
-                "node": "^10.19.0 || >=12.0.0 < 13 || >=13.7.0 < 14 || >= 14.2.0"
+                "node": "^12.19.0 || ^14.15.0 || ^16.13.0"
             },
             "funding": {
                 "url": "https://github.com/sponsors/panva"
@@ -13496,11 +13460,6 @@
                 "node": "^12.13.0 || ^14.15.0 || >=16"
             }
         },
-        "node_modules/pako": {
-            "version": "1.0.11",
-            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-            "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
-        },
         "node_modules/parent-module": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -13574,21 +13533,6 @@
                 "url": "https://github.com/sponsors/jaredhanson"
             }
         },
-        "node_modules/passport-ci-oidc": {
-            "version": "2.0.4",
-            "resolved": "https://registry.npmjs.org/passport-ci-oidc/-/passport-ci-oidc-2.0.4.tgz",
-            "integrity": "sha512-KkbLacg+5Gs0sTHkgRx1iAqXIilrlyGDWP1K3GwqFFitiyPXN3hw2F6kwlxco1EDbJTqBjbrqKV3bhv0q2pQTg==",
-            "dependencies": {
-                "base64url": "^3.0.1",
-                "jws": "^3.1.5",
-                "node-jose": "^2.0.0",
-                "oauth": "^0.9.13",
-                "passport-strategy": "^1.0.0"
-            },
-            "engines": {
-                "node": ">= 6.0.0"
-            }
-        },
         "node_modules/passport-strategy": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
@@ -14337,6 +14281,7 @@
             "version": "0.11.10",
             "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
             "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+            "dev": true,
             "engines": {
                 "node": ">= 0.6.0"
             }
@@ -16916,9 +16861,9 @@
             }
         },
         "node_modules/typescript": {
-            "version": "4.5.4",
-            "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
-            "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
+            "version": "4.5.5",
+            "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
+            "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
             "dev": true,
             "bin": {
                 "tsc": "bin/tsc",
@@ -18428,12 +18373,12 @@
     },
     "dependencies": {
         "@angular-devkit/architect": {
-            "version": "0.1301.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.3.tgz",
-            "integrity": "sha512-fFSevgYGZHCybYoyTkZ9b1YCSthBmoi77alwWjqMhYXUNXx7yx50zJZ6Ur2v3YpctVjU6eoGc5FDFyVHwXT0Iw==",
+            "version": "0.1301.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz",
+            "integrity": "sha512-p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==",
             "dev": true,
             "requires": {
-                "@angular-devkit/core": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
                 "rxjs": "6.6.7"
             },
             "dependencies": {
@@ -18455,9 +18400,9 @@
             }
         },
         "@angular-devkit/build-optimizer": {
-            "version": "0.1301.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.3.tgz",
-            "integrity": "sha512-ZLPPXDUUQWUxYeNR7NGnuMdi2IKJU4WMMg4LmwSlEJzulKO6MbjreXQsQtG1ILxXmVe/eL1v2XVaX0/AyTr9Zw==",
+            "version": "0.1301.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1301.4.tgz",
+            "integrity": "sha512-w09qgZ6oZ8TmLln4IvQuSe/664UITs+pW2PKA4Ya3N4bmnja+Sz7McoH5ifNnBw8QWUgJy9rSDj13bOoe1t7WA==",
             "dev": true,
             "requires": {
                 "source-map": "0.7.3",
@@ -18474,9 +18419,9 @@
             }
         },
         "@angular-devkit/core": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.3.tgz",
-            "integrity": "sha512-o14jGDk4h14dVYYQafOn+2rq9CDmDMbDV6logqKYCLzTDRlK8gccDnqJM/QKAlfWCzbllZqcHDmg6FyoRLO9RQ==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz",
+            "integrity": "sha512-225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==",
             "dev": true,
             "requires": {
                 "ajv": "8.8.2",
@@ -18505,12 +18450,12 @@
             }
         },
         "@angular-devkit/schematics": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.3.tgz",
-            "integrity": "sha512-TvjThB/pFXNFM0j0WX5yg0L2/3xNsqawQuWhkDJ05MBDEnSxbgv5hmOzNL8SNIEMgP0VbSTHtSg5kZvmNiH7vg==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.4.tgz",
+            "integrity": "sha512-yBa7IeC4cLZ7s137NAQD+sMB5c6SI6UJ6xYxl6J/CvV2RLGOZZA93i4GuRALi5s82eLi1fH+HEL/gvf3JQynzQ==",
             "dev": true,
             "requires": {
-                "@angular-devkit/core": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
                 "jsonc-parser": "3.0.0",
                 "magic-string": "0.25.7",
                 "ora": "5.4.1",
@@ -18583,18 +18528,18 @@
             }
         },
         "@angular/animations": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.1.2.tgz",
-            "integrity": "sha512-k1eQ8YZq3eelLhJDQjkRCt/4MXxwK2TFeGdtcYJF0G7vFOppE8hlI4PT7Bvmk08lTqvgiqtTI3ZaYmIINLfUMg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.1.3.tgz",
+            "integrity": "sha512-OwsVQsNHubIgRcxnjti4CU3QJnqd7Z2b+2iu3M349Oxyqxz4DNCqKXalDuJZt/b0yNfirvYO3kCgBfj4PF43QQ==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/cdk": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.1.2.tgz",
-            "integrity": "sha512-xORyqvfM0MueJpxHxVi3CR/X/f1RPKr45vt7NV6/x91OTnh2ukwxg++dAGuA6M5gUAHcVAcaBrfju4GQlU9hmg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-13.1.3.tgz",
+            "integrity": "sha512-Psuri2mc6W+xKtZr39FHL+cDz7Le9kKTo8ziCtUiydikBBdqfOu6AnWUrEMEGFxS2wt8nolFXDAGUaMUAE3Ekg==",
             "dev": true,
             "requires": {
                 "parse5": "^5.0.0",
@@ -18602,15 +18547,15 @@
             }
         },
         "@angular/cli": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.1.3.tgz",
-            "integrity": "sha512-Ju/A8LFnfcv1PC665a5FiIQx9SXqB+3yWYFXPIiVkkRcye95gpfsbV48WW7QV35gzIwbR1m3H907Zg6ptiNv0A==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-13.1.4.tgz",
+            "integrity": "sha512-PP9xpvDDCHhLTIZjewQQzzf+JbpF2s5mXTW2AgIL/E53ukaVvXwwjFMt9dQvECwut/LDpThoc3OfqcGrmwtqnA==",
             "dev": true,
             "requires": {
-                "@angular-devkit/architect": "0.1301.3",
-                "@angular-devkit/core": "13.1.3",
-                "@angular-devkit/schematics": "13.1.3",
-                "@schematics/angular": "13.1.3",
+                "@angular-devkit/architect": "0.1301.4",
+                "@angular-devkit/core": "13.1.4",
+                "@angular-devkit/schematics": "13.1.4",
+                "@schematics/angular": "13.1.4",
                 "@yarnpkg/lockfile": "1.1.0",
                 "ansi-colors": "4.1.1",
                 "debug": "4.3.3",
@@ -18629,27 +18574,27 @@
             }
         },
         "@angular/common": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.1.2.tgz",
-            "integrity": "sha512-/8RWYQkZ1KPNvu2FANJM44wXlOMjMyxZVOEIn3llMRgxV2iiYtmluAOJNafTAbKedAuD6wiSpbi++QbioqCyyA==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/common/-/common-13.1.3.tgz",
+            "integrity": "sha512-8qf5syeXUogf3+GSu6IRJjrk46UKh9L0QuLx+OSIl/df0y1ewx7e28q3BAUEEnOnKrLzpPNxWs2iwModc4KYfg==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/compiler": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.1.2.tgz",
-            "integrity": "sha512-xbM3eClhUIHEFR0Et1bVC18Q7+kJx+hNNWWQl63RNYYBxTZnZpXA3mYi6IcEasy7BHkobVW+5teqlibFQY4gfQ==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-13.1.3.tgz",
+            "integrity": "sha512-dbHs/Oa+Dn+7i0jKtlVDE0lD0DaUC+lVzAcTK/zS37LrckrTMn1CA+z9bZ4gpHig9RU0wgV3YORxv0wokyiB8A==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/compiler-cli": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.1.2.tgz",
-            "integrity": "sha512-yqM6RLcYtfwIuqBQ7eS7WdksBYY7Dh9sP4rElgLiEhDGIPQf6YE5zeuRThGq5pQ2fvHbNflw8QmTHu/18Y1u/g==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-13.1.3.tgz",
+            "integrity": "sha512-ALURaJATc54DzPuiZBvALf/alEp1wr7Hjmw4FuMn2cU7p8lwKkra1Dz5dAZOxh7jAcD1GJfrK/+Sb7A3cuuKjQ==",
             "dev": true,
             "requires": {
                 "@babel/core": "^7.8.6",
@@ -18666,45 +18611,45 @@
             }
         },
         "@angular/core": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.1.2.tgz",
-            "integrity": "sha512-dsb90lUf8BELzdg7MgSMfPc36xzZKsDggOimfXhIvmctgc+H71Zo07KYTy5JVqsscLdT+A/KBvtU1bKk4P+Rfg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/core/-/core-13.1.3.tgz",
+            "integrity": "sha512-rvCnIAonRx7VnH2Mv9lQR+UYdlFQQetZCjPw8QOswOspEpHpEPDrp1HxDIqJnHxNqW0n8J3Zev/VgQYr0481UA==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/forms": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.1.2.tgz",
-            "integrity": "sha512-r5I5cPngk2Erxe/OEL9Hl1j1VcNSAAyVzh7KmtOP8z7RZYCd0MeRISKrmA5CGn5Dh7A5POFLoOpBatmvnc4Z/A==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-13.1.3.tgz",
+            "integrity": "sha512-c4N9zZSILyEbomY2CJo1WAMxiHu/qlycvzxKH5NFS2P2+fieORlbKUJ2p1CbYqcIxVnLYRSdWH8f1JpoaG0ETw==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/platform-browser": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.1.2.tgz",
-            "integrity": "sha512-yBUWtYJHr/1LuK3/YRRav2O82i6RHVPtRoAlZHoeTlh2CYA4u1m3JHq9XBrxIxSXexBX69pMrZENW1xskwKRTQ==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-13.1.3.tgz",
+            "integrity": "sha512-mnWjdr9UTNZvGk8jPI6O9FIhun8Q/0ghy3dg3I9AfRzEG4vPiIZW1ICksTiB+jV9etzhKpidtmg71bwgeXax1A==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/platform-browser-dynamic": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.2.tgz",
-            "integrity": "sha512-gABOn8DxGai56WmIt5o+eXtduabiq4Mlprg+6+dv+2PvWV871pLvswV9EGUSgwKXvbhBlDZDuNFU5LgvNDuGFg==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.3.tgz",
+            "integrity": "sha512-vEWyJ+2gkwh2N6KOJfxUNSdSO51ROlzCqqzCfHrPYQrlOFUfKsYKA1uoiB5UGfFEU0HBtIRWn6xoUy3wzVOZbw==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
             }
         },
         "@angular/router": {
-            "version": "13.1.2",
-            "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.1.2.tgz",
-            "integrity": "sha512-5S0De6SdlbERoX9FwOBiTWxINchW7nTPUIH/tdanOqq12cqp6/7NigOr3BZDSvUNIh/6Is+pSQTKGAbhxejN2w==",
+            "version": "13.1.3",
+            "resolved": "https://registry.npmjs.org/@angular/router/-/router-13.1.3.tgz",
+            "integrity": "sha512-L86kARlc5UNi5KeI0O8PO7wFbTzjEI8ouz+z+aNmCnMUUNX0rbvbuXiPdDvLc71nKZznsPCl2IuO8ojyHrSPsQ==",
             "dev": true,
             "requires": {
                 "tslib": "^2.3.0"
@@ -18746,20 +18691,20 @@
             "dev": true
         },
         "@babel/core": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz",
-            "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.10.tgz",
+            "integrity": "sha512-pbiIdZbCiMx/MM6toR+OfXarYix3uz0oVsnNtfdAGTcCTu3w/JGF8JhirevXLBJUu0WguSZI12qpKnx7EeMyLA==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.16.7",
-                "@babel/generator": "^7.16.7",
+                "@babel/generator": "^7.16.8",
                 "@babel/helper-compilation-targets": "^7.16.7",
                 "@babel/helper-module-transforms": "^7.16.7",
                 "@babel/helpers": "^7.16.7",
-                "@babel/parser": "^7.16.7",
+                "@babel/parser": "^7.16.10",
                 "@babel/template": "^7.16.7",
-                "@babel/traverse": "^7.16.7",
-                "@babel/types": "^7.16.7",
+                "@babel/traverse": "^7.16.10",
+                "@babel/types": "^7.16.8",
                 "convert-source-map": "^1.7.0",
                 "debug": "^4.1.0",
                 "gensync": "^1.0.0-beta.2",
@@ -18841,9 +18786,9 @@
             }
         },
         "@babel/helper-create-class-features-plugin": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz",
-            "integrity": "sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz",
+            "integrity": "sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.16.7",
@@ -19116,9 +19061,9 @@
             }
         },
         "@babel/parser": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-            "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
+            "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=="
         },
         "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
             "version": "7.16.7",
@@ -19267,12 +19212,12 @@
             }
         },
         "@babel/plugin-proposal-private-methods": {
-            "version": "7.16.7",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz",
-            "integrity": "sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw==",
+            "version": "7.16.11",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
+            "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
             "dev": true,
             "requires": {
-                "@babel/helper-create-class-features-plugin": "^7.16.7",
+                "@babel/helper-create-class-features-plugin": "^7.16.10",
                 "@babel/helper-plugin-utils": "^7.16.7"
             }
         },
@@ -19739,9 +19684,9 @@
             }
         },
         "@babel/preset-env": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.8.tgz",
-            "integrity": "sha512-9rNKgVCdwHb3z1IlbMyft6yIXIeP3xz6vWvGaLHrJThuEIqWfHb0DNBH9VuTgnDfdbUDhkmkvMZS/YMCtP7Elg==",
+            "version": "7.16.11",
+            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz",
+            "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==",
             "dev": true,
             "requires": {
                 "@babel/compat-data": "^7.16.8",
@@ -19762,7 +19707,7 @@
                 "@babel/plugin-proposal-object-rest-spread": "^7.16.7",
                 "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
                 "@babel/plugin-proposal-optional-chaining": "^7.16.7",
-                "@babel/plugin-proposal-private-methods": "^7.16.7",
+                "@babel/plugin-proposal-private-methods": "^7.16.11",
                 "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
                 "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
                 "@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -19872,9 +19817,9 @@
             }
         },
         "@babel/traverse": {
-            "version": "7.16.8",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-            "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+            "version": "7.16.10",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz",
+            "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.16.7",
@@ -19883,7 +19828,7 @@
                 "@babel/helper-function-name": "^7.16.7",
                 "@babel/helper-hoist-variables": "^7.16.7",
                 "@babel/helper-split-export-declaration": "^7.16.7",
-                "@babel/parser": "^7.16.8",
+                "@babel/parser": "^7.16.10",
                 "@babel/types": "^7.16.8",
                 "debug": "^4.1.0",
                 "globals": "^11.1.0"
@@ -20164,6 +20109,28 @@
                         "@types/node": "*"
                     }
                 },
+                "jose": {
+                    "version": "2.0.5",
+                    "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz",
+                    "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==",
+                    "requires": {
+                        "@panva/asn1.js": "^1.0.0"
+                    }
+                },
+                "openid-client": {
+                    "version": "4.9.1",
+                    "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz",
+                    "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==",
+                    "requires": {
+                        "aggregate-error": "^3.1.0",
+                        "got": "^11.8.0",
+                        "jose": "^2.0.5",
+                        "lru-cache": "^6.0.0",
+                        "make-error": "^1.3.6",
+                        "object-hash": "^2.0.1",
+                        "oidc-token-hash": "^5.0.1"
+                    }
+                },
                 "tslib": {
                     "version": "1.14.1",
                     "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
@@ -20215,9 +20182,9 @@
             }
         },
         "@ngtools/webpack": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.1.3.tgz",
-            "integrity": "sha512-6Pf52IbChm/dFuegfv0smeBTW2moi0Gdkyjgk/7VWqE6hN35m+YGrCh+XnPp1POJwOKxhAByhV9zs6NWxrK1vA==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-13.1.4.tgz",
+            "integrity": "sha512-s8gzjG2nYHawFhlkHMkQWYrocHkBI1nF6T9K/oCSTIsq6kvTv//Ahno2VdBSgVq8uMnpv1TymvX0nFC4Dgn1HA==",
             "dev": true
         },
         "@nodelib/fs.scandir": {
@@ -20384,13 +20351,13 @@
             }
         },
         "@schematics/angular": {
-            "version": "13.1.3",
-            "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.3.tgz",
-            "integrity": "sha512-IixVWAEtN97N74PCxg3T03Ar/ECjGyJBWKAjKTTCrgNSWhm2mKgIc4RyI6cVCnltfJWIo48fcFhlOx/elShaCg==",
+            "version": "13.1.4",
+            "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.4.tgz",
+            "integrity": "sha512-P1YsHn1LLAmdpB9X2TBuUgrvEW/KaoBbHr8ifYO8/uQEXyeiIF+So8h/dnegkYkdsr3OwQ2X/j3UF6/+HS0odg==",
             "dev": true,
             "requires": {
-                "@angular-devkit/core": "13.1.3",
-                "@angular-devkit/schematics": "13.1.3",
+                "@angular-devkit/core": "13.1.4",
+                "@angular-devkit/schematics": "13.1.4",
                 "jsonc-parser": "3.0.0"
             }
         },
@@ -20706,14 +20673,12 @@
             "dev": true
         },
         "@types/mini-css-extract-plugin": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.0.tgz",
-            "integrity": "sha512-1Pq4i+2+c8jncxfX5k7BzPIEoyrq+n7L319zMxiLUH4RlWTGcQJjemtMftLQnoTt21oHhZE0PjXd2W1xM1m4Hg==",
+            "version": "2.5.1",
+            "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.1.tgz",
+            "integrity": "sha512-evjjtJttaUexgg3au9ZJFy76tV9mySwX3a4Jl82BuormBYluWLRt0xk2urWrhOdPgDWzulRFyotwYOJTmkSgKw==",
             "dev": true,
             "requires": {
-                "@types/node": "*",
-                "tapable": "^2.2.0",
-                "webpack": "^5"
+                "mini-css-extract-plugin": "*"
             }
         },
         "@types/minipass": {
@@ -20738,6 +20703,15 @@
                 "@types/node": "*"
             }
         },
+        "@types/openid-client": {
+            "version": "3.7.0",
+            "resolved": "https://registry.npmjs.org/@types/openid-client/-/openid-client-3.7.0.tgz",
+            "integrity": "sha512-hW+QbAeUyfUHABwUjUECOcv56Mf5tN29xK3GPN7wy3R3XfIQdkm37XELA4wbe2RNG9GYUpN8l2ytfoW05XmpgQ==",
+            "dev": true,
+            "requires": {
+                "openid-client": "*"
+            }
+        },
         "@types/parse-json": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
@@ -20877,9 +20851,9 @@
             }
         },
         "@types/webpack-assets-manifest": {
-            "version": "5.0.2",
-            "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.0.2.tgz",
-            "integrity": "sha512-nsngGEwuwg/zXnFgCDOQCdeLAVZHVcnxcu2PJgCp4XYj1z7F6XzesEaJi8d/JE1KmHAW1Uihv/aI0MX80Rr4ZA==",
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/@types/webpack-assets-manifest/-/webpack-assets-manifest-5.1.0.tgz",
+            "integrity": "sha512-XfqZOVP6n220SXYAVyFdPX+6DCGdejVQ/mj2l+eI5D0QL6+GaRTo4rBcmePDDQmVefpKq5Q7Gd4jiYQEjUwntA==",
             "dev": true,
             "requires": {
                 "@types/node": "*",
@@ -22709,9 +22683,9 @@
             "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
         },
         "copy-webpack-plugin": {
-            "version": "10.2.0",
-            "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.0.tgz",
-            "integrity": "sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==",
+            "version": "10.2.1",
+            "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz",
+            "integrity": "sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==",
             "dev": true,
             "requires": {
                 "fast-glob": "^3.2.7",
@@ -24279,11 +24253,6 @@
                 "is-symbol": "^1.0.2"
             }
         },
-        "es6-promise": {
-            "version": "4.2.8",
-            "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
-            "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
-        },
         "escalade": {
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -24560,9 +24529,9 @@
             }
         },
         "eslint-plugin-jsdoc": {
-            "version": "37.6.1",
-            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.6.1.tgz",
-            "integrity": "sha512-Y9UhH9BQD40A9P1NOxj59KrSLZb9qzsqYkLCZv30bNeJ7C9eaumTWhh9beiGqvK7m821Hj1dTsZ5LOaFIUTeTg==",
+            "version": "37.6.2",
+            "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.6.2.tgz",
+            "integrity": "sha512-yYvCkaq+7A+kWBi2fxJFgWErdGOth5W+h1XqVnJg4qWonWo99K8i7Hmow6HWaiixHShNobtvq66f9HG/dJZ+WA==",
             "dev": true,
             "requires": {
                 "@es-joy/jsdoccomment": "~0.17.0",
@@ -26453,12 +26422,9 @@
             "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc="
         },
         "jose": {
-            "version": "2.0.5",
-            "resolved": "https://registry.npmjs.org/jose/-/jose-2.0.5.tgz",
-            "integrity": "sha512-BAiDNeDKTMgk4tvD0BbxJ8xHEHBZgpeRZ1zGPPsitSyMgjoMWiLGYAE7H7NpP5h0lPppQajQs871E8NHUrzVPA==",
-            "requires": {
-                "@panva/asn1.js": "^1.0.0"
-            }
+            "version": "4.3.8",
+            "resolved": "https://registry.npmjs.org/jose/-/jose-4.3.8.tgz",
+            "integrity": "sha512-dFiqN5FPLNWa/v+J3ShFjV/9sRGickxMbGUbqBrYr+BkrqLOieACaavSi9XmLJXe0Uzd7Cgs1oYtDvDrOyWLgw=="
         },
         "js-stringify": {
             "version": "1.0.2",
@@ -27069,7 +27035,8 @@
         "lodash": {
             "version": "4.17.21",
             "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+            "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+            "dev": true
         },
         "lodash-es": {
             "version": "4.17.21",
@@ -27222,11 +27189,6 @@
                 "triple-beam": "^1.3.0"
             }
         },
-        "long": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
-            "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
-        },
         "loose-envify": {
             "version": "1.4.0",
             "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -27673,9 +27635,9 @@
             "dev": true
         },
         "nats": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/nats/-/nats-2.4.0.tgz",
-            "integrity": "sha512-58RwwuHNbFPNQK0qao2VdWaD9DSxmCcfqfflN0F9xI9WxGWC7TCHSwejUploq8xKQ9yLEVXf6HQeS6tISlCtBg==",
+            "version": "2.5.0",
+            "resolved": "https://registry.npmjs.org/nats/-/nats-2.5.0.tgz",
+            "integrity": "sha512-2kx4Aud9l6iDhIkBBxcZIDizDy58jaEnNPnVLkRNNx8CPxX00BXbjUpa2n/U0/DOwmo5mTY30sg3s/67O7IJvg==",
             "requires": {
                 "nkeys.js": "^1.0.0-9"
             }
@@ -27742,43 +27704,6 @@
                 "which": "^2.0.2"
             }
         },
-        "node-jose": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/node-jose/-/node-jose-2.0.0.tgz",
-            "integrity": "sha512-j8zoFze1gijl8+DK/dSXXqX7+o2lMYv1XS+ptnXgGV/eloQaqq1YjNtieepbKs9jBS4WTnMOqyKSaQuunJzx0A==",
-            "requires": {
-                "base64url": "^3.0.1",
-                "buffer": "^5.5.0",
-                "es6-promise": "^4.2.8",
-                "lodash": "^4.17.15",
-                "long": "^4.0.0",
-                "node-forge": "^0.10.0",
-                "pako": "^1.0.11",
-                "process": "^0.11.10",
-                "uuid": "^3.3.3"
-            },
-            "dependencies": {
-                "buffer": {
-                    "version": "5.7.1",
-                    "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
-                    "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-                    "requires": {
-                        "base64-js": "^1.3.1",
-                        "ieee754": "^1.1.13"
-                    }
-                },
-                "node-forge": {
-                    "version": "0.10.0",
-                    "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
-                    "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA=="
-                },
-                "uuid": {
-                    "version": "3.4.0",
-                    "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
-                    "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
-                }
-            }
-        },
         "node-releases": {
             "version": "2.0.1",
             "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
@@ -28099,11 +28024,6 @@
                 "boolbase": "^1.0.0"
             }
         },
-        "oauth": {
-            "version": "0.9.15",
-            "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
-            "integrity": "sha1-vR/vr2hslrdUda7VGWQS/2DPucE="
-        },
         "oauth-sign": {
             "version": "0.9.0",
             "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -28225,15 +28145,12 @@
             "dev": true
         },
         "openid-client": {
-            "version": "4.9.1",
-            "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-4.9.1.tgz",
-            "integrity": "sha512-DYUF07AHjI3QDKqKbn2F7RqozT4hyi4JvmpodLrq0HHoNP7t/AjeG/uqiBK1/N2PZSAQEThVjDLHSmJN4iqu/w==",
+            "version": "5.1.2",
+            "resolved": "https://registry.npmjs.org/openid-client/-/openid-client-5.1.2.tgz",
+            "integrity": "sha512-AV5wCy011lrZZvzQa4HGhItTb64+D8V50vEtS/HhaFjiM8jDItUyDu4C73nMr6zrlEvgprFdbyGGwkGiQ4ggJg==",
             "requires": {
-                "aggregate-error": "^3.1.0",
-                "got": "^11.8.0",
-                "jose": "^2.0.5",
+                "jose": "^4.1.4",
                 "lru-cache": "^6.0.0",
-                "make-error": "^1.3.6",
                 "object-hash": "^2.0.1",
                 "oidc-token-hash": "^5.0.1"
             }
@@ -28559,11 +28476,6 @@
                 "tar": "^6.1.0"
             }
         },
-        "pako": {
-            "version": "1.0.11",
-            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
-            "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
-        },
         "parent-module": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -28618,18 +28530,6 @@
                 "pause": "0.0.1"
             }
         },
-        "passport-ci-oidc": {
-            "version": "2.0.4",
-            "resolved": "https://registry.npmjs.org/passport-ci-oidc/-/passport-ci-oidc-2.0.4.tgz",
-            "integrity": "sha512-KkbLacg+5Gs0sTHkgRx1iAqXIilrlyGDWP1K3GwqFFitiyPXN3hw2F6kwlxco1EDbJTqBjbrqKV3bhv0q2pQTg==",
-            "requires": {
-                "base64url": "^3.0.1",
-                "jws": "^3.1.5",
-                "node-jose": "^2.0.0",
-                "oauth": "^0.9.13",
-                "passport-strategy": "^1.0.0"
-            }
-        },
         "passport-strategy": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
@@ -29108,7 +29008,8 @@
         "process": {
             "version": "0.11.10",
             "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
-            "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+            "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+            "dev": true
         },
         "promise": {
             "version": "7.3.1",
@@ -31121,9 +31022,9 @@
             }
         },
         "typescript": {
-            "version": "4.5.4",
-            "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
-            "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
+            "version": "4.5.5",
+            "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
+            "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
             "dev": true
         },
         "uid-safe": {
diff --git a/applications/diem-core/package.json b/applications/diem-core/package.json
index 303ee60b..8ad2bd21 100644
--- a/applications/diem-core/package.json
+++ b/applications/diem-core/package.json
@@ -35,10 +35,10 @@
         "kubernetes-client": "^9.0.0",
         "moment": "^2.29.1",
         "mongoose": "^6.1.7",
-        "nats": "^2.4.0",
+        "nats": "^2.5.0",
         "nocache": "^3.0.1",
+        "openid-client": "^5.1.2",
         "passport": "^0.5.2",
-        "passport-ci-oidc": "^2.0.4",
         "print-hrtime": "^2.0.0",
         "pug": "^3.0.2",
         "serve-favicon": "^2.5.0",
@@ -49,24 +49,24 @@
         "yaml": "^1.10.2"
     },
     "devDependencies": {
-        "@angular-devkit/build-optimizer": "^0.1301.3",
+        "@angular-devkit/build-optimizer": "^0.1301.4",
         "@angular-eslint/eslint-plugin": "^13.0.1",
         "@angular-eslint/eslint-plugin-template": "^13.0.1",
         "@angular-eslint/template-parser": "^13.0.1",
-        "@angular/animations": "^13.1.2",
-        "@angular/cdk": "^13.1.2",
-        "@angular/cli": "^13.1.3",
-        "@angular/common": "^13.1.2",
-        "@angular/compiler": "^13.1.2",
-        "@angular/compiler-cli": "^13.1.2",
-        "@angular/core": "^13.1.2",
-        "@angular/forms": "^13.1.2",
-        "@angular/platform-browser": "^13.1.2",
-        "@angular/platform-browser-dynamic": "^13.1.2",
-        "@angular/router": "^13.1.2",
+        "@angular/animations": "^13.1.3",
+        "@angular/cdk": "^13.1.3",
+        "@angular/cli": "^13.1.4",
+        "@angular/common": "^13.1.3",
+        "@angular/compiler": "^13.1.3",
+        "@angular/compiler-cli": "^13.1.3",
+        "@angular/core": "^13.1.3",
+        "@angular/forms": "^13.1.3",
+        "@angular/platform-browser": "^13.1.3",
+        "@angular/platform-browser-dynamic": "^13.1.3",
+        "@angular/router": "^13.1.3",
         "@auth0/angular-jwt": "^5.0.2",
-        "@babel/core": "^7.16.7",
-        "@babel/preset-env": "^7.16.8",
+        "@babel/core": "^7.16.10",
+        "@babel/preset-env": "^7.16.11",
         "@carbon/grid": "^10.40.0",
         "@carbon/icons": "^10.45.0",
         "@carbon/icons-angular": "^11.2.2",
@@ -76,7 +76,7 @@
         "@mydiem/diem-angular-util": "^2.10.0",
         "@mydiem/diem-forms": "^5.3.0",
         "@ngrx/store": "^13.0.2",
-        "@ngtools/webpack": "^13.1.3",
+        "@ngtools/webpack": "^13.1.4",
         "@types/body-parser": "^1.19.2",
         "@types/busboy": "^1.3.0",
         "@types/cookie-parser": "^1.4.2",
@@ -90,15 +90,16 @@
         "@types/jsonwebtoken": "^8.5.8",
         "@types/lodash-es": "^4.17.5",
         "@types/mermaid": "^8.2.7",
-        "@types/mini-css-extract-plugin": "^2.4.0",
+        "@types/mini-css-extract-plugin": "^2.5.1",
         "@types/node": "^17.0.10",
+        "@types/openid-client": "^3.7.0",
         "@types/passport": "^1.0.7",
         "@types/pug": "^2.0.6",
         "@types/request": "^2.48.8",
         "@types/serve-favicon": "^2.5.3",
         "@types/tapable": "^2.2.2",
         "@types/webpack": "^5.28.0",
-        "@types/webpack-assets-manifest": "^5.0.2",
+        "@types/webpack-assets-manifest": "^5.1.0",
         "@types/webpack-env": "^1.16.3",
         "@types/workbox-webpack-plugin": "^5.1.8",
         "@typescript-eslint/eslint-plugin": "^5.10.0",
@@ -111,7 +112,7 @@
         "carbon-components": "^10.51.0",
         "carbon-components-angular": "^4.57.6",
         "codelyzer": "^6.0.2",
-        "copy-webpack-plugin": "^10.2.0",
+        "copy-webpack-plugin": "^10.2.1",
         "core.js": "^0.4.2",
         "cross-env": "^7.0.3",
         "css-loader": "^6.5.1",
@@ -121,7 +122,7 @@
         "eslint": "^8.7.0",
         "eslint-config-prettier": "^8.3.0",
         "eslint-plugin-import": "^2.25.4",
-        "eslint-plugin-jsdoc": "^37.6.1",
+        "eslint-plugin-jsdoc": "^37.6.2",
         "eslint-plugin-prettier": "^4.0.0",
         "eslint-plugin-rxjs": "^5.0.1",
         "eslint-plugin-sonarjs": "^0.11.0",
@@ -150,7 +151,7 @@
         "svg-inline-loader": "^0.8.2",
         "terser-webpack-plugin": "^5.3.0",
         "ts-loader": "^9.2.6",
-        "typescript": "^4.5.4",
+        "typescript": "^4.5.5",
         "url-loader": "^4.1.1",
         "webpack": "^5.66.0",
         "webpack-assets-manifest": "^5.1.0",
diff --git a/applications/diem-core/src/server/common/authentication.ts b/applications/diem-core/src/server/common/authentication.ts
index 1fa21c65..1e4280ef 100644
--- a/applications/diem-core/src/server/common/authentication.ts
+++ b/applications/diem-core/src/server/common/authentication.ts
@@ -1,26 +1,54 @@
-/* eslint-disable @typescript-eslint/no-var-requires */
+import { OICUser } from '@interfaces';
+import { Issuer, Strategy as OpenIdStrategy, BaseClient } from 'openid-client';
+import { Credentials } from './cfenv';
+
+interface ISSO {
+    issuer: string;
+    authorization_endpoint: string;
+    token_endpoint: string;
+    userinfo_endpoint: string;
+    jwks_uri: string;
+}
+
 const clientId = process.env.CLIENT_ID;
 const clientSecret = process.env.CLIENT_SECRET;
-const discoveryUrl = process.env.DISCOVERY_URL;
 const callbackUrl = process.env.CALLBACK_URL;
 
-const OpenIDConnectStrategy = require('passport-ci-oidc').IDaaSOIDCStrategy;
+const sso_credentials: ISSO = Credentials('sso');
+
+let discovery_endpoint = process.env.DISCOVERY_URL;
+if (discovery_endpoint?.includes('/.well-known/')) {
+    discovery_endpoint = discovery_endpoint.split('/.well-known/')[0];
+}
+
+let baseClient: Issuer<BaseClient>;
+
+if (discovery_endpoint) {
+    baseClient = await Issuer.discover(discovery_endpoint);
+} else {
+    baseClient = new Issuer({
+        issuer: sso_credentials.issuer,
+        authorization_endpoint: sso_credentials.authorization_endpoint,
+        token_endpoint: sso_credentials.token_endpoint,
+        userinfo_endpoint: sso_credentials.userinfo_endpoint,
+        jwks_uri: sso_credentials.jwks_uri,
+    });
+}
+
+const client = new baseClient.Client({
+    client_id: clientId || 'na',
+    client_secret: clientSecret,
+    redirect_uris: [callbackUrl || 'na'],
+    response_types: ['code'],
+});
 
-export const Strategy = new OpenIDConnectStrategy(
+export const Strategy = new OpenIdStrategy(
     {
-        callbackURL: callbackUrl,
-        clientID: clientId,
-        clientSecret,
-        discoveryURL: discoveryUrl,
-        response_type: 'code',
-        scope: 'openid email profile',
-        skipUserProfile: true,
+        client,
     },
-    (_iss: any, _sub: any, profile: any, accessToken: any, refreshToken: any, _params: any, done: any) => {
+    (_tokenSet: any, profile: unknown, done: any) => {
         process.nextTick(() => {
-            profile.accessToken = accessToken;
-            profile.refreshToken = refreshToken;
-            done(null, profile);
+            done(null, profile as OICUser);
         });
     }
 );
diff --git a/applications/diem-core/src/server/common/express.ts b/applications/diem-core/src/server/common/express.ts
index 86733a74..550e007d 100644
--- a/applications/diem-core/src/server/common/express.ts
+++ b/applications/diem-core/src/server/common/express.ts
@@ -118,7 +118,7 @@ export class Express {
 
     public constructor(assets: IAsserts, config?: IExpressConfig) {
         this.assets = assets;
-        passport.use(Strategy);
+        passport.use('oidc', Strategy);
         this.config = { ...this.config, ...config };
 
         utils.ev.on('internal', async (internal: IntInternal) => {
@@ -161,11 +161,11 @@ export class Express {
                 .use(session(sess))
                 .use(passport.initialize())
                 .use(passport.session())
-                .get('/login', limiter, passport.authenticate('openidconnect', {}))
+                .get('/login', limiter, passport.authenticate('oidc', { scope: 'openid email' }))
                 .get(
                     '/sso/callback',
                     limiter,
-                    passport.authenticate('openidconnect'),
+                    passport.authenticate('oidc', { scope: 'openid email' }),
                     (req: IRequest, res: IResponse) => {
                         if (req.session) {
                             return res.redirect(req.session.originalUrl || '/');
diff --git a/applications/diem-core/src/server/config/server.ts b/applications/diem-core/src/server/config/server.ts
index a3841fa4..780f7432 100644
--- a/applications/diem-core/src/server/config/server.ts
+++ b/applications/diem-core/src/server/config/server.ts
@@ -363,8 +363,8 @@ export class Server {
 
         /* Continue with verification */
 
-        req.user.email = (req.user?._json?.email || req.user.id).toLowerCase();
-        req.user.name = req.user.displayName || req.user?._json?.name;
+        req.user.email = (req.user.email || req.user.id || 'na').toLowerCase();
+        req.user.name = req.user.displayName || req.user.name;
 
         const email: string = req.user.email;
         const name: string = req.user.name;
@@ -477,7 +477,7 @@ export class Server {
         if (req.token?.email) {
             err.email = req.token.email;
         } else if (req.user.email) {
-            err.email = req.user.email;
+            err.email = req.user?.email;
         }
         err.endpoint = req.params ? req.params.function : 'n/a';
         err.time = utils.time();
diff --git a/applications/diem-core/src/server/tsconfig.json b/applications/diem-core/src/server/tsconfig.json
index 53e91cf5..fcd421b8 100644
--- a/applications/diem-core/src/server/tsconfig.json
+++ b/applications/diem-core/src/server/tsconfig.json
@@ -1,6 +1,7 @@
 {
     "extends": "../webpack/tsconfig.base.json",
     "compilerOptions": {
+        "module": "esnext",
         "outDir": "../../server",
         "resolveJsonModule": true,
         "baseUrl": "./",
diff --git a/applications/diem-core/src/webpack/src/webpack.node-local.ts b/applications/diem-core/src/webpack/src/webpack.node-local.ts
deleted file mode 100644
index c4b2f264..00000000
--- a/applications/diem-core/src/webpack/src/webpack.node-local.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-/* eslint-disable no-underscore-dangle */
-/* jshint esversion: 6 */
-/*  eslint-disable @typescript-eslint/no-var-requires */
-
-export {};
-const fs: any = require('fs');
-const path: any = require('path');
-const webpack: any = require('webpack');
-const NodeMonPlugin: any = require('nodemon-webpack-plugin');
-const nodeModules: { [index: string]: any } = {};
-const ForkTsCheckerWebpackPlugin: any = require('fork-ts-checker-webpack-plugin');
-
-const debugport: number = Number(process.env.DEBUGPORT) || 9194;
-
-console.info(`$webpack.node-local: environment: ${process.env.webpackenv} - debug port: ${debugport}`);
-
-const pack: any = require(`${(global as any).__basedir}/package.json`);
-
-const env: any = {
-    APPCOOKIE: pack.config.appcookie,
-    APPNAME: pack.config.appname,
-    DESCRIPTION: pack.description,
-    NAME: pack.name,
-    VERSION: pack.version,
-};
-
-fs.readdirSync('node_modules')
-    .filter((x: any) => ['.bin'].indexOf(x) === -1)
-    .forEach((mod: any) => {
-        nodeModules[mod] = `commonjs ${mod}`;
-    });
-
-module.exports = {
-    context: `${(global as any).__basedir}/src/server`,
-
-    cache: false,
-
-    devtool: 'inline-source-map',
-
-    entry: './config/server.ts',
-
-    target: 'node',
-
-    output: {
-        filename: 'server/server.js',
-        path: `${(global as any).__basedir}/`,
-    },
-
-    externals: nodeModules,
-
-    module: {
-        rules: [
-            {
-                use: [
-                    {
-                        loader: 'ts-loader',
-                    },
-                ],
-                test: /\.ts$/,
-            },
-            {
-                loader: ['pug-loader'],
-                test: /\.pug$/,
-            },
-        ],
-    },
-
-    plugins: [
-        new ForkTsCheckerWebpackPlugin(),
-
-        new webpack.EnvironmentPlugin(env),
-
-        new NodeMonPlugin({
-            nodeArgs: [`--inspect=0.0.0.0:${debugport}`],
-            watch: path.resolve('./server'),
-        }),
-
-        new webpack.HashedModuleIdsPlugin({
-            hashDigest: 'hex',
-            hashDigestLength: 20,
-            hashFunction: 'sha256',
-        }),
-    ],
-
-    resolve: {
-        alias: {
-            '@common': `${(global as any).__basedir}/src/server/common`,
-            '@interfaces': `${(global as any).__basedir}/src/server/interfaces`,
-            '@config': `${(global as any).__basedir}/src/server/config`,
-            '@models': `${(global as any).__basedir}/src/server/routes/models`,
-        },
-        extensions: ['.ts', '.js'],
-        modules: [path.join(__dirname, 'src/server'), 'node_modules'],
-    },
-
-    performance: {
-        hints: false,
-    },
-};
diff --git a/applications/diem-core/src/webpack/src/webpack.node.ts b/applications/diem-core/src/webpack/src/webpack.node.ts
index 440aa9ef..52aac23d 100644
--- a/applications/diem-core/src/webpack/src/webpack.node.ts
+++ b/applications/diem-core/src/webpack/src/webpack.node.ts
@@ -104,4 +104,8 @@ module.exports = {
     performance: {
         hints: false,
     },
+
+    experiments: {
+        topLevelAwait: true,
+    },
 };
diff --git a/applications/diem-core/src/webpack/src/webpack.server-local.ts b/applications/diem-core/src/webpack/src/webpack.server-local.ts
deleted file mode 100644
index 42e5eaf0..00000000
--- a/applications/diem-core/src/webpack/src/webpack.server-local.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-/* eslint-disable no-underscore-dangle */
-/* jshint esversion: 6 */
-/*  eslint-disable @typescript-eslint/no-var-requires */
-
-export {};
-const path: any = require('path');
-const webpack: any = require('webpack');
-const TerserPlugin: any = require('terser-webpack-plugin');
-const nodeModules: any = {};
-
-console.info(`$webpack.server: environment: ${process.env.webpackenv}`);
-
-module.exports = {
-    context: `${(global as any).__basedir}/src/server`,
-
-    cache: false,
-
-    devtool: false,
-
-    entry: './src/server/config/server.ts',
-
-    target: 'node',
-
-    output: {
-        filename: 'server/app.js',
-        path: `${(global as any).__basedir}/`,
-        sourceMapFilename: 'server/app.map',
-    },
-
-    externals: nodeModules,
-
-    module: {
-        rules: [
-            {
-                use: [
-                    {
-                        loader: 'ts-loader',
-                        options: {
-                            configFile: './src/server/tsconfig.json',
-                        },
-                    },
-                ],
-                test: /\.ts$/,
-            },
-        ],
-    },
-
-    plugins: [
-        new TerserPlugin({
-            parallel: true,
-            sourceMap: false,
-        }),
-
-        new webpack.HashedModuleIdsPlugin({
-            hashDigest: 'hex',
-            hashDigestLength: 20,
-            hashFunction: 'sha256',
-        }),
-    ],
-
-    resolve: {
-        extensions: ['.ts', '.js'],
-        modules: [path.join(__dirname, 'src/server'), 'node_modules'],
-    },
-
-    performance: {
-        hints: false,
-    },
-};
diff --git a/applications/diem-core/webpack.config.js b/applications/diem-core/webpack.config.js
index d4699b50..0be3478e 100644
--- a/applications/diem-core/webpack.config.js
+++ b/applications/diem-core/webpack.config.js
@@ -15,17 +15,11 @@ switch (process.env.webpackenv.trim()) {
   case 'front-local':
     module.exports = require(`${global.__basedir}/src/webpack/lib/webpack.front-local`);
     break;
-  case 'node-local':
-    module.exports = require(`${global.__basedir}/src/webpack/lib/webpack.node-local`);
-    break;
   case 'node-test':
     module.exports = require(`${global.__basedir}/src/webpack/lib/webpack.node-test`);
     break;
   case 'node':
     module.exports = require(`${global.__basedir}/src/webpack/lib/webpack.node`);
     break;
-  case 'server':
-    module.exports = require(`${global.__basedir}/src/webpack/lib/webpack.server`);
-    break;
   default:
 }
\ No newline at end of file


Test patch:
diff --git a/applications/diem-core/src/webpack/src/webpack.node-test.ts b/applications/diem-core/src/webpack/src/webpack.node-test.ts
index 07e54218..ed5d8c5d 100644
--- a/applications/diem-core/src/webpack/src/webpack.node-test.ts
+++ b/applications/diem-core/src/webpack/src/webpack.node-test.ts
@@ -126,4 +126,8 @@ module.exports = {
     performance: {
         hints: false,
     },
+
+    experiments: {
+        topLevelAwait: true,
+    },
 };